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 MiZhiBo_AK = "LTAI5t9GQLk8D63FPZFKiXMH" MiZhiBo_Secret = "QPgrEowuYKEYD0vp8fnW0Egri8lu04" TieFenClub_Top_Domain = "tiefen.club" TieFenClub_Cert_Id = 15 TieFenClub_AK = "LTAI5tMp5o4u6Twgm6hL9EQV" TieFenClub_Secret = "O7xAsKMnnWHwrlfvka30v6yr13Qxa3" 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): l2_host = generate_random_string(random.randint(15, 20)) # 添加域名解析 add_domain_record( TieFenClub_AK, TieFenClub_Secret, "cn-hangzhou", top_dm, l2_host, "A", "47.98.41.64" ) # 添加nginx dm = l2_host + "." + top_dm res = add_wx_share_url_to_nginx(dm, "172.16.0.183", 3003, TieFenClub_Cert_Id) 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() proc(2, TieFenClub_Top_Domain)