scripts/share/add_wx_share_url.py

126 lines
4.2 KiB
Python
Raw Normal View History

2024-12-04 18:12:12 +08:00
import json
import random
import string
import subprocess
import time
import requests
from lib.all import *
MiZhiBo_Top_Domain = "mizhibo.live"
MiZhiBo_Cert_Id = 12
2024-12-24 18:08:07 +08:00
MiZhiBo_AK = "LTAI5t9GQLk8D63FPZFKiXMH"
MiZhiBo_Secret = "QPgrEowuYKEYD0vp8fnW0Egri8lu04"
TieFenClub_Top_Domain = "tiefen.club"
TieFenClub_Cert_Id = 15
TieFenClub_AK = "LTAI5tMp5o4u6Twgm6hL9EQV"
TieFenClub_Secret = "O7xAsKMnnWHwrlfvka30v6yr13Qxa3"
2024-12-04 18:12:12 +08:00
service_name = 'add_wx_share_url'
log_dir = '.'
logger = Logger(service_name, log_dir=log_dir)
def add_domain_record(ak, secret, region_id, top_dm, record, typ, value):
# 执行一个shell命令并获取输出
command = "/Users/erwin/Downloads/aliyun_go_sdk/adr {} {} {} {} {} {} {}".format(ak, secret, region_id, top_dm, record, typ, value)
result = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
# 打印输出和错误信息
logger.Info(result.stdout)
logger.Info(result.stderr)
def add_wx_share_url_to_nginx(dm, ip, port, cert_id):
headers = {
'sec-ch-ua-platform': '"macOS"',
'Authorization': 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhcGkiLCJzY29wZSI6WyJ1c2VyIl0sImF0dHJzIjp7ImlkIjoxfSwiZXhwaXJlc0luIjoiMWQiLCJqdGkiOiJsVmxUNWIzbHpVd3FkWnhBIiwiaWF0IjoxNzMzMjkzMDQxLCJleHAiOjE3MzMzNzk0NDF9.gA-fJrBh8P_W5QSMs7XYnZDxVpjTRd_epfbs0b-BkTauXBltXiTMeaViKRU-g_DSp5opy8ZhdnqAAWD_Ry5AWDSCtbfg4W6JV1wz10x2TlUkrIDDWwhoDcv71yM8Giw260627LXV6YF0ag_pDXLdp23QOckXWRdGrfT4cDuafyn6iBG7MxOV8Ms6uZ2MjLsKgA4YDnN_-Zxik2MO5-bN4lXRHFAWf6evNLjBSogfZ1uu8MFLHBtRSrwJzXJSD6IMNesDdpZ39ztwqXwcryHD2hHloHFH5_Xu-xWNhvVhMILXwCG_nXDpHgNWdiDM9Q1fIJIxmYdiYTMpBsKDrQX0Yw',
'Referer': 'https://nginx.wishpal.cn/nginx/proxy',
'sec-ch-ua': '"Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"',
'sec-ch-ua-mobile': '?0',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Content-Type': 'application/json; charset=UTF-8',
}
json_data = {
'domain_names': [
dm,
],
'forward_scheme': 'http',
'forward_host': ip,
'forward_port': port,
'allow_websocket_upgrade': True,
'access_list_id': '0',
'certificate_id': cert_id,
'ssl_forced': True,
'meta': {
'letsencrypt_agree': False,
'dns_challenge': False,
},
'advanced_config': '',
'locations': [],
'block_exploits': False,
'caching_enabled': False,
'http2_support': False,
'hsts_enabled': False,
'hsts_subdomains': False,
}
response = requests.post('https://nginx.wishpal.cn/api/nginx/proxy-hosts', headers=headers, json=json_data)
res = json.loads(response.text)
return res
def generate_random_string(length):
letters = string.ascii_lowercase + string.digits
return ''.join(random.choice(letters) for _ in range(length))
def proc(cnt, top_dm):
col_share_url = MongoDB(
host="mongodb://root:Wishpal2024@dds-bp1da1ddd62bede41.mongodb.rds.aliyuncs.com:3717,dds-bp1da1ddd62bede42.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-77304659",
port=3717,
db="share",
collection="share_url"
)
for i in range(cnt):
2024-12-24 18:08:07 +08:00
l2_host = generate_random_string(random.randint(15, 20))
2024-12-04 18:12:12 +08:00
# 添加域名解析
add_domain_record(
2024-12-24 18:08:07 +08:00
TieFenClub_AK,
TieFenClub_Secret,
2024-12-04 18:12:12 +08:00
"cn-hangzhou",
top_dm,
l2_host,
"A",
"47.98.41.64"
)
# 添加nginx
dm = l2_host + "." + top_dm
2024-12-24 18:08:07 +08:00
res = add_wx_share_url_to_nginx(dm, "172.16.0.183", 3003, TieFenClub_Cert_Id)
2024-12-04 18:12:12 +08:00
logger.Info(res)
# 添加db
doc = {
"_id": dm,
"ct": int(time.time()),
"ut": 0,
"status": "000",
"api_res": "",
"use_cnt": 0
}
mongo_ret = col_share_url.insert_one(doc)
logger.Info(mongo_ret.inserted_id)
logger.Info("{}_add_suc:{}".format(i + 1, dm))
col_share_url.close()
2024-12-24 18:08:07 +08:00
proc(2, TieFenClub_Top_Domain)