refactoring needed; add plex (DBus) support
This commit is contained in:
76
catbox.py
Normal file
76
catbox.py
Normal file
@@ -0,0 +1,76 @@
|
||||
#!/usr/bin/env python3.11
|
||||
|
||||
# Catbox Uploader
|
||||
|
||||
import requests
|
||||
import traceback
|
||||
import random
|
||||
import os
|
||||
import json
|
||||
|
||||
CATBOX_API_PATH = "https://catbox.moe/user/api.php"
|
||||
HEADERS = {
|
||||
'accept': '*/*',
|
||||
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.53',
|
||||
'Accept-Language': 'en-US,en;q=0.9,it;q=0.8,es;q=0.7',
|
||||
'referer': 'https://www.google.com/',
|
||||
'cookie': 'DSID=AAO-7r4OSkS76zbHUkiOpnI0kk-X19BLDFF53G8gbnd21VZV2iehu-w_2v14cxvRvrkd_NjIdBWX7wUiQ66f-D8kOkTKD1BhLVlqrFAaqDP3LodRK2I0NfrObmhV9HsedGE7-mQeJpwJifSxdchqf524IMh9piBflGqP0Lg0_xjGmLKEQ0F4Na6THgC06VhtUG5infEdqMQ9otlJENe3PmOQTC_UeTH5DnENYwWC8KXs-M4fWmDADmG414V0_X0TfjrYu01nDH2Dcf3TIOFbRDb993g8nOCswLMi92LwjoqhYnFdf1jzgK0'
|
||||
}
|
||||
|
||||
|
||||
|
||||
class Catbox():
|
||||
|
||||
def generateRandomFileName(self, fileExt=''):
|
||||
|
||||
if len(fileExt) < 1:
|
||||
fileExt = 'db'
|
||||
|
||||
return f"{random.getrandbits(32)}.{fileExt}"
|
||||
|
||||
def __init__(self):
|
||||
self.PROXIES = None
|
||||
|
||||
try:
|
||||
with open(os.path.join(os.path.expanduser("~"), ".catprox"), 'r') as proxfile:
|
||||
self.PROXIES = json.loads("".join(str(x) for x in proxfile.readlines()))
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
def upload(self, filePath=''):
|
||||
global CATBOX_API_PATH
|
||||
global HEADERS
|
||||
try:
|
||||
if len(filePath) == 0:
|
||||
return False
|
||||
|
||||
if not(os.path.exists(filePath)):
|
||||
print(f"Could not find {filePath}")
|
||||
|
||||
fileExt = ''
|
||||
|
||||
if filePath.find(".") > 0:
|
||||
fileExt = "".join(filePath.split(".")[-1:])
|
||||
|
||||
with open(filePath, 'rb') as fileContents:
|
||||
postData = {
|
||||
'reqtype': 'fileupload',
|
||||
'userhash': ''
|
||||
}
|
||||
|
||||
r = requests.post(CATBOX_API_PATH, headers=HEADERS, proxies=self.PROXIES, data=postData, timeout=10, files={'fileToUpload': (self.generateRandomFileName(fileExt), fileContents)})
|
||||
|
||||
if r.status_code in [200, 301, 302]:
|
||||
return r.text.strip()
|
||||
else:
|
||||
print(f"FAILED - Status Code: {r.status_code}")
|
||||
return False
|
||||
except:
|
||||
print(traceback.format_exc())
|
||||
return False
|
||||
finally:
|
||||
try:
|
||||
fileContents.close()
|
||||
except:
|
||||
pass
|
Reference in New Issue
Block a user