mirror of
https://github.com/honmashironeko/ProxyCat.git
synced 2025-05-08 19:46:35 +00:00
48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
from modules.modules import get_message, load_config
|
|
import requests
|
|
import time
|
|
|
|
def newip():
|
|
config = load_config()
|
|
language = config.get('language', 'cn')
|
|
|
|
def handle_error(error_type, details=None):
|
|
error_msg = 'whitelist_error' if error_type == 'whitelist' else 'proxy_file_not_found'
|
|
print(get_message(error_msg, language, str(details)))
|
|
raise ValueError(f"{error_type}: {details}")
|
|
|
|
try:
|
|
url = config.get('getip_url', '')
|
|
username = config.get('proxy_username', '')
|
|
password = config.get('proxy_password', '')
|
|
|
|
if not url:
|
|
raise ValueError('getip_url')
|
|
|
|
def get_proxy():
|
|
response = requests.get(url)
|
|
response.raise_for_status()
|
|
return response.text.split("\r\n")[0]
|
|
|
|
proxy = get_proxy()
|
|
if proxy == "error000x-13":
|
|
appKey = ""
|
|
anquanma = ""
|
|
whitelist_url = f"https://sch.shanchendaili.com/api.html?action=addWhiteList&appKey={appKey}&anquanma={anquanma}"
|
|
requests.get(whitelist_url).raise_for_status()
|
|
time.sleep(1)
|
|
proxy = get_proxy()
|
|
|
|
if username and password:
|
|
return f"socks5://{username}:{password}@{proxy}"
|
|
return f"socks5://{proxy}"
|
|
|
|
except requests.RequestException as e:
|
|
handle_error('request', e)
|
|
except ValueError as e:
|
|
handle_error('config', e)
|
|
except Exception as e:
|
|
handle_error('unknown', e)
|
|
|
|
|