scripts/share/add_wx_share_url.py

126 lines
4.2 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)