tools-pyqt/src/change_url/change_url.py

266 lines
17 KiB
Python
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import re
import requests
from sqlalchemy import create_engine, text as sql_text
import portalocker
from loguru import logger
try:
engine = create_engine("mysql+mysqlconnector://ky_tools:HJQY35seXen8patn@1panel.stupidpz.com:3306/ky_tools")
connection = engine.connect()
logger.debug('链接成功')
except:
logger.debug('连接失败!')
ky_base64 = 'data:image/png;base64,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'
def read_file(filename):
try:
with open(filename, 'r') as file:
return file.read()
except IOError as e:
logger.debug(f"Error reading file {filename}: {e}")
raise
def write_file(filename, content):
try:
with open(filename, 'w') as file:
portalocker.lock(file, portalocker.LOCK_EX) # 获取独占锁
file.write(content)
portalocker.unlock(file) # 释放锁
except IOError as e:
logger.debug(f"Error writing to file {filename}: {e}")
raise
def get_url_mapping(urls_with_context, template_type):
categories = {"WEB": [], "H5": [], "全站": [], "体育": [], "棋牌": [], "电子": [], "web": [], "h5": [],
"全站APP": [], "体育APP": []}
# 遍历URLs及其前文本的元组列表进行分类
for context, url in urls_with_context:
key = context.strip().replace(" ", "")
if key in categories:
categories[key].append(url)
# 构建映射字典,直接返回结果
if template_type == 'hth':
url_mapping = {
"hthApp": categories.get("全站", [""])[0] if categories.get("全站", [""]) else
categories.get("全站APP", [""])[0],
"hthtyApp": categories.get("体育", [""])[0] if categories.get("体育", [""]) else
categories.get("体育APP", [""])[0],
"hthWeb": categories.get("WEB", [""])[0] if categories.get("WEB", [""]) else categories.get("web", [""])[
0],
"hthH5": categories.get("H5", [""])[0] if categories.get("H5", [""]) else categories.get("h5", [""])[0]
}
elif template_type == 'ky': # ky模板
url_mapping = {
"kyWeb": categories.get("WEB", [""])[0],
"kyFljWeb": categories.get("WEB", ["", ""])[1],
"kyH5": categories.get("H5", [""])[0],
"kyFljH5": categories.get("H5", ["", ""])[1],
"kyApp": categories.get("全站", [""])[0],
"kyTyApp": categories.get("体育", [""])[0],
}
elif template_type == 'jy': # jy模板
url_mapping = {
"jyWeb": categories.get("WEB", [""])[0],
"jyH5": categories.get("H5", [""])[0],
"jyApp": categories.get("全站", [""])[0],
"jyQp": categories.get("棋牌", [""])[0],
"jyDz": categories.get("电子", [""])[0],
"jyFljPc": categories.get("WEB", ["", ""])[1],
"jyFljH5": categories.get("H5", ["", ""])[1]
}
elif template_type == 'aty': # aty模板
url_mapping = {
"atyApp": categories.get("全站", [""])[0] if categories.get("全站", [""]) else
categories.get("全站APP", [""])[0],
"atytyApp": categories.get("体育", [""])[0] if categories.get("体育", [""]) else
categories.get("体育APP", [""])[0],
"atyWeb": categories.get("WEB", [""])[0] if categories.get("WEB", [""]) else categories.get("web", [""])[
0],
"atyH5": categories.get("H5", [""])[0] if categories.get("H5", [""]) else categories.get("h5", [""])[0]
}
else:
logger.debug('未知模板')
return
return url_mapping
def extract_urls(text):
pattern = r'(?:\n|^)\s*([^\n]*?)\s*(https?://[^\s]+)'
url_list = re.findall(pattern, text)
url_type, is_agent = get_url_type(text, url_list)
if url_type != 'unknown':
update_agent_url(url_list, url_type)
return [(context.strip(), url) for context, url in url_list], url_type, is_agent
def get_url_type(text, url_list):
keywords = {
'ky': '开云',
'hth': '华体会',
'jy': '九游',
'aty': '爱体育'
}
for url_type, keyword in keywords.items():
if keyword in text:
return url_type, False
return check_urls(url_list)
def check_urls(url_list):
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}
for context, url in url_list:
try:
response = requests.get(url, headers=headers)
if response.status_code == 200:
content = response.text
if '开云' in content or ky_base64 in content:
return 'ky', '马甲包' in content
elif '华体会' in content:
return 'hth', '马甲包' in content
elif '九游' in content:
return 'jy', '马甲包' in content
elif '爱体育' in content:
return 'aty', '马甲包' in content
except requests.RequestException:
logger.debug(f"URL '{url}' 不可用,跳过。")
return 'unknown', False
def update_agent_url(url_list, url_type):
for context, url in url_list:
if "代理web" in context.replace(" ", "").lower():
try:
with engine.connect() as connection:
update_stmt = sql_text("UPDATE ky_tools.ky_account SET url = :url WHERE type = :url_type")
connection.execute(update_stmt, {"url": url, "url_type": url_type})
connection.commit()
logger.debug(f"{url_type}后台链接更新成功")
except Exception as e:
logger.debug(f"执行SQL语句出错: {e}")
break
def update_js_content(url_mapping, url_type):
js_file = 'static/link.js'
# 读取现有的 link.js 文件内容
try:
existing_content = read_file(js_file)
except FileNotFoundError:
# 如果文件不存在,则创建一个新的 JavaScript 文件
existing_content = """
const codes = {
'hth': '3016341',
'ky': '97238304',
'jy': '90413847',
'aty': '123456'
};
const links = {
'hth': {
'hthWeb': 'https://www.3wmnr0.vip:8005/register?i_code='+codes['hth'],
'hthH5': 'https://www.95b8ns.vip:8002/entry/register?i_code='+codes['hth'],
'hthApp': 'https://www.jv4n7s1.com:8000/?i_code='+codes['hth'],
'hthtyApp': 'https://www.cmqd0v.vip:9515/?i_code='+codes['hth'],
},
'ky': {
'kyWeb': 'https://www.2ezmig.com:9501/register?i_code='+codes['ky'],
'kyH5': 'https://www.u3hnhg.com:9970/entry/register?i_code='+codes['ky'],
'kyApp': 'https://www.1wpeq.vip:8663/?i_code='+codes['ky'],
'kyTyApp': 'https://www.3djjf.vip:9512/?i_code='+codes['ky'],
'kyFljWeb': 'https://www.qpiao.vip:9006/register?i_code='+codes['ky'],
'kyFljH5': 'https://www.7ig4jf.com:8443/entry/register?i_code='+codes['ky'],
},
'jy': {
'jyWeb': 'https://www.1wv3jq.com:9008/register/?i_code='+codes['jy'],
'jyH5': 'https://www.1j5voy.vip:9113/entry/register?i_code='+codes['jy'],
'jyApp': 'https://www.shbb1.vip:9511/?i_code='+codes['jy'],
'jyQp': 'https://www.3a10en.vip:9077/?i_code='+codes['jy'],
'jyDz': 'https://www.3z9tsr.vip:9964/?i_code='+codes['jy'],
'jyFljPc': 'https://www.az8z32.vip:8002/register/?i_code='+codes['jy'],
'jyFljH5': 'https://www.c053i2.vip:6004/entry/register?i_code='+codes['jy'],
},
'aty': {
'atyWeb': 'https://www.3wmnr0.vip:8005/register?i_code='+codes['aty'],
'atyH5': 'https://www.95b8ns.vip:8002/entry/register?i_code='+codes['aty'],
'atyApp': 'https://www.jv4n7s1.com:8000/?i_code='+codes['aty'],
'atytyApp': 'https://www.cmqd0v.vip:9515/?i_code='+codes['aty'],
},
};
function visit(platform, key) {
window.open(links[platform][key]);
}
"""
# 使用正则表达式匹配和替换链接的域名部分
for key, value in url_mapping.items():
logger.debug(f"key: {key}, value: {value}")
pattern = re.compile(r"'{}':?\s*'(https?://[^/]+)(/[^']*)'".format(key))
existing_content = pattern.sub(lambda match: "'{0}': '{1}{2}'".format(key, value, match.group(2)),
existing_content)
# 将更新后的内容写回到 combined.js 文件中
write_file(js_file, existing_content)
def change_url(text):
try:
urls_with_context, url_type, is_agent = extract_urls(text)
if url_type == 'unknown':
return False, 'unknown.js'
if not is_agent:
url_mapping = get_url_mapping(urls_with_context, url_type)
update_js_content(url_mapping, url_type)
return True, url_type
return True, '代理更新'
except Exception as e:
logger.debug(f"An error occurred: {e}")
return False, 'unknown.js'
# 主程序入口
if __name__ == '__main__':
try:
text = '''
九游娱乐
SEO 专用域名
WEB https://www.1zsaxz.com:9514
H5 https://www.1l3dee.vip:9192  【新】
全站 https://www.sjieu.vip:9013
棋牌   https://www.2w33ay.vip:8001
电子 https://www.3ku3z2.vip:9443
九游娱乐【SEO防拦截域名】
WEB https://www.as421r.vip:9520
H5 https://www.c0azge.vip:7988  【新】
'''
res = requests.post("http://127.0.0.1:8000/changeurl", json={'text': text})
if res.status_code == 200:
if res.json()['res']:
msg = f'{res.json()["msg"]}修改成功'
else:
msg = f'{res.json()["msg"]}修改失败'
else:
msg = '请求发生错误,请检查服务是否正常'
logger.debug(msg)
except Exception as e:
logger.debug(f"An error occurred in the main program: {e}")