99543c9935d1dfe551e2308ebe52cc4f37ccc7aa
- main.py: source/openapi/main.py -> source/main.py - 端口: 聚合层 9888->9008, pixiv 后端 9088->9007, bilibili 后端 19990->9006 - nginx/openapi.rrrosmontis.icu.conf: 三处 proxy_pass 指向 127.0.0.1:9008 - systemd/openapi.service: WorkingDirectory/ExecStart 同步为 source/
OpenAPI
统一接口服务。线上入口:https://openapi.rrrosmontis.icu
结构
source/
├── openapi/main.py # 聚合层 (127.0.0.1:9888) /pixiv/get_image /bilibili/get_video
├── pixiv/
│ ├── pixiv.py # Pixiv 图片服务 (9088)
│ ├── refresh_token.py # Pixiv OAuth token 刷新守护
│ └── tokens.template.json # Pixiv token 模板
└── bilibili/
├── bilibili.py # bilibili 视频服务 (19990)
├── refresh_cookie.py # cookie 定时刷新守护
├── qr_login.py # 扫码登录获取 cookie
└── qr_login_fast.py
nginx/
└── openapi.rrrosmontis.icu.conf # nginx 统一入口(/pixiv/ /bilibili/ /img-master/ /img-original/ 图片反代)
systemd/
├── openapi.service # 聚合层
├── pixiv.service # Pixiv 图片服务
├── bilibili.service # bilibili 视频服务
├── bilibili-refresh.service # cookie 刷新守护(每 50–70 分钟随机刷新)
└── pixiv-token-refresh.service # Pixiv token 刷新守护(每 30–60 分钟随机刷新)
部署
- token:复制
source/pixiv/tokens.template.json为source/pixiv/tokens.json,填入实际 pixiv token - bilibili cookie:放置
source/bilibili/cookies.txt(name=value格式),或运行qr_login.py扫码生成 - 服务:将
systemd/*.service安装到/etc/systemd/system/,启用并启动 openapi / pixiv / bilibili / bilibili-refresh / pixiv-token-refresh(systemctl enable --now) - nginx:将
nginx/openapi.rrrosmontis.icu.conf放入/etc/nginx/conf.d/,nginx -t && systemctl reload nginx - 定时任务:无 cron/timer——bilibili-refresh(每 50–70 分钟刷 cookie)与 pixiv-token-refresh(每 30–60 分钟刷 Pixiv OAuth token,轮换后的 refresh_token 原子落盘)均为常驻守护,内部循环随机间隔,systemd
Restart=always兜底
Languages
Python
100%