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)
|