Skip to content
This repository was archived by the owner on Jan 7, 2025. It is now read-only.

Commit 6861022

Browse files
committed
added support for custom proxies also
1 parent 74152df commit 6861022

3 files changed

Lines changed: 43 additions & 14 deletions

File tree

main.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,14 @@ def main():
2828

2929
filename = input("Enter the name or path of file: ")
3030
if os.path.isfile(filename):
31-
src.checker.CrunchyrollChecker.create(filename)
31+
proxy_filename = input("Enter the name or path of proxy(http/https only) file (optional): ")
32+
if not proxy_filename:
33+
proxy_filename = None
34+
elif not os.path.isfile(proxy_filename):
35+
proxy_filename = None
36+
print("Proxy file not found, fetching proxy from internet...")
37+
38+
src.checker.CrunchyrollChecker.create(filename, proxy_filename)
3239
else:
3340
print("File not found.")
3441

src/checker.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@
2626
### Checker Class
2727
class CrunchyrollChecker:
2828

29-
def __init__(self, filename):
29+
def __init__(
30+
self,
31+
filename : str,
32+
proxy_filename : str | None = None
33+
):
34+
3035
self.apiUrl = "https://beta-api.crunchyroll.com/"
3136
self.headers = DEFAULT_HEADER
3237
self.auth = "Basic " + AUTH_TOKEN
@@ -35,15 +40,17 @@ def __init__(self, filename):
3540
"scope": "offline_access"
3641
}
3742
self.filename = filename
38-
self.proxyObj = proxy.Proxy()
39-
self.proxyObj.getProxies()
43+
44+
self.proxyObj = proxy.Proxy(proxy_filename)
4045

4146
@classmethod
4247
def create(
4348
cls,
44-
filename : str
49+
filename : str,
50+
proxy_filename : str | None = None
4551
):
46-
self = CrunchyrollChecker(filename)
52+
53+
self = CrunchyrollChecker(filename, proxy_filename)
4754
self._resultFile()
4855
self._checker()
4956

@@ -293,7 +300,6 @@ def checkingSubscription(
293300

294301
else:
295302
if res['total']:
296-
print(res)
297303
free_trial = res['items'][0]['active_free_trial']
298304
self._resultSaving(
299305
file = 'hit',

src/proxy.py

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,39 @@
55
from src import sendRequest
66

77

8+
### Constant
9+
DEFAULT_FILEPATH = "resources/proxy.txt"
10+
11+
812
### Proxy Class
913
class Proxy:
1014

11-
def __init__(self):
15+
def __init__(
16+
self,
17+
proxy_filename : str | None = None
18+
):
1219
self.proxy_api_url = "https://api.proxyscrape.com/v2/?request=displayproxies&protocol=http&timeout=10000&country=all&ssl=all&anonymity=all"
13-
self.request = sendRequest.Request()
14-
self.filepath = "resources/proxy.txt"
1520
self.proxies : list[str] = list()
1621
self.proxyIndex = 0
1722

23+
if proxy_filename:
24+
self.filepath = proxy_filename
25+
self.openFile()
26+
else:
27+
self.filepath = DEFAULT_FILEPATH
28+
self.getProxies()
29+
1830
def getProxies(self):
19-
self.request.sendRequestWithData(self.proxy_api_url)
20-
self.writeToFile()
31+
request = sendRequest.Request()
32+
request.sendRequestWithData(self.proxy_api_url)
33+
self.writeToFile(request.response)
2134

22-
def writeToFile(self):
35+
def writeToFile(
36+
self,
37+
res : str
38+
):
2339
with open(self.filepath, 'w') as file:
24-
file.write(self.request.response)
40+
file.write(res)
2541
self.openFile()
2642

2743
def openFile(self):

0 commit comments

Comments
 (0)