mirror of
https://github.com/KingJin-web/zy.git
synced 2025-12-16 23:19:32 +08:00
193 lines
57 KiB
Python
193 lines
57 KiB
Python
# --------------------------------注释区--------------------------------
|
||
# 入口: http://i53yftcexa72wmajqwgyaerb.1ba0tfr5tc8bwz.nxrz693.xin/ttz/wechat/HkScanCode?userShowId=12cbae398d015f6f758faf7c23a6851c
|
||
# 阅读入口大全:https://www.kdocs.cn/l/cpDd0NdRaAaX
|
||
# 需抓取数据:
|
||
# * 填写自动过检的api接口 本地 内网ip:5000 非本地自行进行穿透
|
||
# * 登录多少个账号就跑多少个账号
|
||
# * 部分地区不能跑
|
||
# * 不想跑的号可以填wxid到 yuanshen_smlmapi_notrun 多个#分割 注意是原始id
|
||
# * 提示 获取阅读任务失败 阅读暂时无效,请明天试,详细说明请看问题解答 等需要手动进入平台点击获取阅读任务后再运行脚本即可恢复正常
|
||
#
|
||
# 变量名:yuanshen_api
|
||
# 抓取请求头中的user-agent填入yuanshen_useragent 无论多少个号都只填一个即可!!!! 要且只要手机微信端user-agent其余user-agent = 封号
|
||
#
|
||
# 下面是自定义变量设置(注意是修改对应的环境变量而不是改文件内容):
|
||
# huaji_smyd_max_threads 默认1 最大线程数
|
||
# huaji_smyd_IsRun_ReadTask 默认开启 是否执行阅读任务 开启1 关闭0
|
||
# huaji_smyd_IsRun_GzhTask 默认关闭 是否执行公众号任务 不会进行真实关注 开启1 关闭0
|
||
# huaji_smyd_IsRun_SphTask 默认关闭 是否执行视频号任务 开启1 关闭0
|
||
# --------------------------------祈求区--------------------------------
|
||
# _ooOoo_
|
||
# o8888888o
|
||
# 88" . "88
|
||
# (| -_- |)
|
||
# O\ = /O
|
||
# ____/`---'\____
|
||
# . ' \\| |// `.
|
||
# / \\||| : |||// \
|
||
# / _||||| -:- |||||- \
|
||
# | | \\\ - /// | |
|
||
# | \_| ''\---/'' | |
|
||
# \ .-\__ `-` ___/-. /
|
||
# ___`. .' /--.--\ `. . __
|
||
# ."" '< `.___\_<|>_/___.' >'"".
|
||
# | | : `- \`.;`\ _ /`;.`/ - ` : | |
|
||
# \ \ `-. \_ __\ /__ _/ .-` / /
|
||
# ======`-.____`-.___\_____/___.-`____.-'======
|
||
# `=---='
|
||
#
|
||
# .............................................
|
||
# 佛祖保佑 永无BUG
|
||
# 佛祖镇楼 BUG辟邪
|
||
# --------------------------------代码区--------------------------------
|
||
|
||
'''
|
||
Create at [2025-05-08 16:39:41]
|
||
'''
|
||
import requests
|
||
import os
|
||
import sys
|
||
import platform
|
||
import subprocess
|
||
import importlib
|
||
import datetime
|
||
from urllib.parse import urlparse
|
||
import logging
|
||
import socket
|
||
logging.basicConfig(level=logging.INFO, format='[%(levelname)s] ===> %(message)s')
|
||
log = logging.getLogger(__name__)
|
||
|
||
THIS_Proxies = 'https://github.huaji.asia/' # 网络不行就填Github代理 这里只给出一个要是不行就自己找 https://github.huaji.asia/
|
||
|
||
data = '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'
|
||
func = 'mian'
|
||
|
||
GithubUrl = f"{THIS_Proxies.rstrip('/')}/https://raw.githubusercontent.com/huaji8/So_common/master/so" if THIS_Proxies else 'https://raw.githubusercontent.com/huaji8/So_common/master/so'
|
||
THIS_MODE = 'Huaji_SoLoader'
|
||
So_name = f'{THIS_MODE}.so'
|
||
|
||
|
||
|
||
|
||
def get_system_info() -> None:
|
||
global Download_name
|
||
python_version = f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}"
|
||
download_pyver = f'{sys.version_info.major}.{sys.version_info.minor}'
|
||
processor_arch = platform.machine().replace('AMD64', 'x86_64').replace('x64', 'x86_64')
|
||
system_name = platform.system()
|
||
system_ver = platform.release() + " " + platform.version()
|
||
system_arch = platform.architecture()[0]
|
||
if system_name == "Darwin":
|
||
system_name = "macOS"
|
||
system_ver = platform.mac_ver()[0]
|
||
elif system_name == "Windows":
|
||
system_ver = f"{platform.release()} (Build {platform.win32_ver()[1]})"
|
||
|
||
log.info(f"系统信息 [Python/{python_version}] [系统架构 {processor_arch}] [{system_name}/{system_ver} {system_arch}]")
|
||
if download_pyver not in ['3.10','3.11','3.12']:
|
||
log.error(f'当前Python版本不支持运行此脚本,请使用Python3.10或3.11或3.12运行此脚本,什么??你不重装,简单,删除本脚本然后睡觉觉就行了..')
|
||
|
||
if processor_arch == 'x86_64' and system_name == 'Linux':
|
||
Download_name = f'{THIS_MODE}_{download_pyver}_x64.so'
|
||
elif processor_arch == 'aarch64' and system_name == 'Linux':
|
||
Download_name = f'{THIS_MODE}_{download_pyver}_aarch64.so'
|
||
else:
|
||
Download_name = f'{THIS_MODE}_{download_pyver}_x64.so'
|
||
|
||
if processor_arch not in ['x86_64', 'aarch64']:
|
||
log.warning(f'当前系统架构大概率不支持运行此脚本...')
|
||
return
|
||
elif 'Linux' not in system_name:
|
||
log.error(f'当前系统不支持运行此脚本,请使用Linux运行此脚本')
|
||
else:
|
||
log.info('系统检测通过,开始运行脚本')
|
||
return
|
||
|
||
|
||
|
||
exit()
|
||
|
||
|
||
|
||
def download_file(save_path: str = None) -> bool:
|
||
url = GithubUrl + '/' + Download_name
|
||
|
||
try:
|
||
try:
|
||
socket.create_connection(("www.github.com", 80), timeout=5)
|
||
socket.create_connection(("www.github.com", 443), timeout=5)
|
||
except (socket.timeout, socket.gaierror):
|
||
log.warning("无法连接到Github,大概率下载是失败的,请检查网络或使用代理")
|
||
|
||
if not save_path:
|
||
file_name = os.path.basename(urlparse(url).path) or "downloaded_file"
|
||
save_path = os.path.join(os.getcwd(), file_name)
|
||
if os.path.exists(save_path) and os.path.getsize(save_path) == 0:
|
||
os.remove(save_path)
|
||
save_dir = os.path.dirname(save_path)
|
||
os.makedirs(save_dir, exist_ok=True)
|
||
curl_cmd = "curl.exe" if platform.system() == "Windows" else "curl"
|
||
cmd = [
|
||
curl_cmd,
|
||
"-L",
|
||
"-f",
|
||
"--silent",
|
||
"--show-error",
|
||
"-o", save_path,
|
||
"-m","180",
|
||
url
|
||
]
|
||
|
||
result = subprocess.run(
|
||
cmd,
|
||
check=True,
|
||
stdout=subprocess.PIPE,
|
||
stderr=subprocess.PIPE,
|
||
text=True
|
||
)
|
||
|
||
|
||
if not os.path.exists(save_path):
|
||
log.error(f"下载文件不存在: {save_path}")
|
||
return False
|
||
if os.path.getsize(save_path) == 0:
|
||
os.remove(save_path)
|
||
log.error(f"下载文件为空: {save_path}")
|
||
return False
|
||
if result.returncode != 0:
|
||
log.error(f"下载失败: {result.stderr.strip()}")
|
||
return False
|
||
log.info(f"文件下载成功: {save_path}")
|
||
os.rename(Download_name, So_name)
|
||
return True
|
||
|
||
except subprocess.CalledProcessError as e:
|
||
error_msg = f"下载失败: {e.stderr.strip()}" if e.stderr else "未知curl错误"
|
||
log.error(error_msg)
|
||
return False
|
||
except Exception as e:
|
||
log.error(f"下载异常: {str(e)}")
|
||
return False
|
||
|
||
def dynamic_import(module_name: str) -> object:
|
||
return importlib.import_module(module_name)
|
||
|
||
|
||
def Run() -> None:
|
||
if os.path.exists(So_name):
|
||
log.info('so文件存在,开始运行')
|
||
print('='*30)
|
||
obj = dynamic_import(THIS_MODE)
|
||
obj.run(func, data)
|
||
else:
|
||
log.info('so文件不存在,开始下载')
|
||
if download_file():
|
||
Run()
|
||
else:
|
||
log.error('下载失败,请检查网络或使用代理')
|
||
|
||
|
||
if __name__ == '__main__':
|
||
get_system_info()
|
||
Run()
|