File size: 1,584 Bytes
e37348d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import requests

class NetFree:
    def __init__(self):
        self.base_url = "https://netfree2.cc"
        self.video_data_list = []
        self.cookies = ""

    def get_cookies(self):
        cookies = requests.get("https://netmirror.8man.me/api/cookie").json()['cookie'].replace("Asu", "Ani")
        self.cookies = cookies
    
    def get_id(self, title):
        self.get_cookies()
        search_result = requests.get(f"{self.base_url}/mobile/search.php?s={title}", headers={"cookie": self.cookies}).json()['searchResult']
        for result in search_result:
            if result['t'] == title:
                id = result['id']
                return id
            return search_result[0]['id']
        return None

    def get_stream(self, tmdb_id, imdb_id, media_type, title, year, season=None, episode=None):
        self.video_data_list = []
        id = self.get_id(title)
        if not id:
            return self.video_data_list
        final_url = f"{self.base_url}/mobile/playlist.php?id={id}"
        response = requests.get(final_url, headers={"cookie": self.cookies})
        if response.status_code != 200:
            return self.video_data_list
        data = response.json()[0]['sources']
        for stream in data:
            self.video_data_list.append({
                "videoSource": f"NETFREE_{len(self.video_data_list)+1} ({stream['label']}) Multi-Lang",
                "videoUrl": f"{self.base_url}{stream['file']}",
                "videoHeaders": {}
            })
        return self.video_data_list