Scraping piattaforme Mindgeek / Aylo #77

Closed
opened 2024-05-14 19:11:11 +00:00 by lamacchinadesiderante · 1 comment

PORNHUB / YOUPORN / REDTUBE

Dovrebbe funzionare se lo streaming video è fatto server-side:

Esempio:

video URL: https://it.pornhub.com/view_video.php?viewkey=6610ff71dfa13

Nel response cercare la chiave videoUrl con valore contenente get_media:

"videoUrl":"https:\/\/it.pornhub.com\/video\/get_media?s=eyJrIjoiNWMxNzZkMzdhNmQ5OGFmNzkwZDc1YzdkMWZhNDk4N2M2YjcxNjM3MWI2NTM0ODllNDI4OWY0NThjZmJlMjRlNyIsInQiOjE3MTU3MTI5ODR9&v=6610ff71dfa13&e=0&t=p

Rimuovere i /, poi fare una GET sull'url trattato. Il response sarà un'array di oggetti video url fatto così:

[
    {
        "defaultQuality": false,
        "format": "mp4",
        "videoUrl": "https://ev.phncdn.com/videos/202404/06/450709911/240P_1000K_450709911.mp4?validfrom=1715709017&validto=1715716217&rate=500k&burst=1800k&ip=IP_CHIAMANTE&ipa=IP_CHIAMANTE&hash=8wIvuLeiPMUMqNFIhcuLxEcEBmw%3D",
        "quality": "240"
    },
    {
        "defaultQuality": false,
        "format": "mp4",
        "videoUrl": "https://ev.phncdn.com/videos/202404/06/450709911/480P_2000K_450709911.mp4?validfrom=1715709017&validto=1715716217&rate=500k&burst=1800k&ip=IP_CHIAMANTE&ipa=IP_CHIAMANTE&hash=O0oG9%2FL%2Bt90o0XFKmTlDYI1wZFk%3D",
        "quality": "480"
    },
    {
        "defaultQuality": true,
        "format": "mp4",
        "videoUrl": "https://ev.phncdn.com/videos/202404/06/450709911/720P_4000K_450709911.mp4?validfrom=1715709017&validto=1715716217&rate=500k&burst=1800k&ip=IP_CHIAMANTE&ipa=IP_CHIAMANTE&hash=pPINhti4bmtAimoMY8AICfsnHyk%3D",
        "quality": "720"
    },
    {
        "defaultQuality": false,
        "format": "mp4",
        "videoUrl": "https://ev.phncdn.com/videos/202404/06/450709911/1080P_4000K_450709911.mp4?validfrom=1715709017&validto=1715716217&rate=50000k&burst=50000k&ip=IP_CHIAMANTE&ipa=IP_CHIAMANTE&hash=Wy2uD4J3zsh45hoyCRwAOs9MwBY%3D",
        "quality": "1080"
    }
]

Ogni url contiene una variabile IP_CHIAMANTE (redatto) che avrà il valore dell'ip del server che ha effettuato la chiamata. Se quello stesso ip apre uno degli url, il video sarà aperto! Se l'ip è diverso, si riceverà un errore 403 Forbidden.

Quindi: bisogna fare lo streaming lato server. In questo modo gli ip combaceranno e il meccanismo di protezione verrà bypassato.

**PORNHUB / YOUPORN / REDTUBE** Dovrebbe funzionare se lo streaming video è fatto server-side: Esempio: video URL: `https://it.pornhub.com/view_video.php?viewkey=6610ff71dfa13` Nel response cercare la chiave `videoUrl` con valore contenente `get_media`: ``` "videoUrl":"https:\/\/it.pornhub.com\/video\/get_media?s=eyJrIjoiNWMxNzZkMzdhNmQ5OGFmNzkwZDc1YzdkMWZhNDk4N2M2YjcxNjM3MWI2NTM0ODllNDI4OWY0NThjZmJlMjRlNyIsInQiOjE3MTU3MTI5ODR9&v=6610ff71dfa13&e=0&t=p ``` Rimuovere i `/`, poi fare una GET sull'url trattato. Il response sarà un'array di oggetti video url fatto così: ``` [ { "defaultQuality": false, "format": "mp4", "videoUrl": "https://ev.phncdn.com/videos/202404/06/450709911/240P_1000K_450709911.mp4?validfrom=1715709017&validto=1715716217&rate=500k&burst=1800k&ip=IP_CHIAMANTE&ipa=IP_CHIAMANTE&hash=8wIvuLeiPMUMqNFIhcuLxEcEBmw%3D", "quality": "240" }, { "defaultQuality": false, "format": "mp4", "videoUrl": "https://ev.phncdn.com/videos/202404/06/450709911/480P_2000K_450709911.mp4?validfrom=1715709017&validto=1715716217&rate=500k&burst=1800k&ip=IP_CHIAMANTE&ipa=IP_CHIAMANTE&hash=O0oG9%2FL%2Bt90o0XFKmTlDYI1wZFk%3D", "quality": "480" }, { "defaultQuality": true, "format": "mp4", "videoUrl": "https://ev.phncdn.com/videos/202404/06/450709911/720P_4000K_450709911.mp4?validfrom=1715709017&validto=1715716217&rate=500k&burst=1800k&ip=IP_CHIAMANTE&ipa=IP_CHIAMANTE&hash=pPINhti4bmtAimoMY8AICfsnHyk%3D", "quality": "720" }, { "defaultQuality": false, "format": "mp4", "videoUrl": "https://ev.phncdn.com/videos/202404/06/450709911/1080P_4000K_450709911.mp4?validfrom=1715709017&validto=1715716217&rate=50000k&burst=50000k&ip=IP_CHIAMANTE&ipa=IP_CHIAMANTE&hash=Wy2uD4J3zsh45hoyCRwAOs9MwBY%3D", "quality": "1080" } ] ``` Ogni url contiene una variabile `IP_CHIAMANTE` (redatto) che avrà il valore dell'ip del server che ha effettuato la chiamata. Se quello stesso ip apre uno degli url, il video sarà aperto! Se l'ip è diverso, si riceverà un errore `403 Forbidden`. **Quindi: bisogna fare lo streaming lato server. In questo modo gli ip combaceranno e il meccanismo di protezione verrà bypassato.**
lamacchinadesiderante added the
Info
label 2024-05-14 19:11:11 +00:00
Author
Owner

UPDATE: pare che il tutto funzioni anche se la seconda chiamata è fatta da un ip diverso dalla prima.

UPDATE: pare che il tutto funzioni anche se la seconda chiamata è fatta da un ip diverso dalla prima.
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: lamacchinadesiderante/proxyraye-nextjs#77
No description provided.