From d9a66c8b86c057d35a051e2ea700f659387fddc8 Mon Sep 17 00:00:00 2001 From: RRRosmontis Date: Thu, 27 Aug 2026 21:33:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20systemd=20=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=96=87=E4=BB=B6=E4=B8=8E=E9=83=A8=E7=BD=B2=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=EF=BC=88=E5=90=AB=20cookie=20=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E5=AE=88=E6=8A=A4=E8=B0=83=E5=BA=A6=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 9 ++++++++- systemd/bilibili-refresh.service | 18 ++++++++++++++++++ systemd/bilibili.service | 17 +++++++++++++++++ systemd/openapi.service | 17 +++++++++++++++++ systemd/pixiv.service | 18 ++++++++++++++++++ 5 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 systemd/bilibili-refresh.service create mode 100644 systemd/bilibili.service create mode 100644 systemd/openapi.service create mode 100644 systemd/pixiv.service diff --git a/README.md b/README.md index 04c2c98..0414abf 100644 --- a/README.md +++ b/README.md @@ -17,10 +17,17 @@ source/ └── qr_login_fast.py nginx/ └── openapi.rrrosmontis.icu.conf # nginx 统一入口(/pixiv/ /bilibili/ /img-master/ 图片反代) +systemd/ +├── openapi.service # 聚合层 +├── pixiv.service # Pixiv 图片服务 +├── bilibili.service # bilibili 视频服务 +└── bilibili-refresh.service # cookie 刷新守护(每 50–70 分钟随机刷新) ``` ## 部署 1. token:复制 `source/pixiv/tokens.template.json` 为 `source/pixiv/tokens.json`,填入实际 pixiv token 2. bilibili cookie:放置 `source/bilibili/cookies.txt`(`name=value` 格式),或运行 `qr_login.py` 扫码生成 -3. 服务:openapi / pixiv / bilibili / bilibili-refresh 四个 systemd 服务 +3. 服务:将 `systemd/*.service` 安装到 `/etc/systemd/system/`,启用并启动 openapi / pixiv / bilibili / bilibili-refresh(`systemctl enable --now`) +4. nginx:将 `nginx/openapi.rrrosmontis.icu.conf` 放入 `/etc/nginx/conf.d/`,`nginx -t && systemctl reload nginx` +5. 定时任务:无 cron/timer——bilibili-refresh 为常驻守护,内部循环每 50–70 分钟刷新 cookie,systemd `Restart=always` 兜底 diff --git a/systemd/bilibili-refresh.service b/systemd/bilibili-refresh.service new file mode 100644 index 0000000..bfb9444 --- /dev/null +++ b/systemd/bilibili-refresh.service @@ -0,0 +1,18 @@ +[Unit] +Description=Bilibili Cookie Refresh Daemon +After=network-online.target +Wants=network-online.target + +[Service] +Environment=PATH=/home/openapi/env/general/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +Environment=SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt +Type=simple +WorkingDirectory=/home/openapi/source/bilibili +ExecStart=/home/openapi/env/general/bin/python /home/openapi/source/bilibili/refresh_cookie.py +Restart=always +RestartSec=30 +StandardOutput=append:/var/log/bilibili_refresh.log +StandardError=append:/var/log/bilibili_refresh.log + +[Install] +WantedBy=multi-user.target diff --git a/systemd/bilibili.service b/systemd/bilibili.service new file mode 100644 index 0000000..8eb8b1b --- /dev/null +++ b/systemd/bilibili.service @@ -0,0 +1,17 @@ +[Unit] +Description=Bilibili Video API Service +After=network-online.target +Wants=network-online.target + +[Service] +Environment=PATH=/home/openapi/env/general/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +Type=simple +WorkingDirectory=/home/openapi/source/bilibili +ExecStart=/home/openapi/env/general/bin/python /home/openapi/source/bilibili/bilibili.py +Restart=always +RestartSec=5 +StandardOutput=append:/var/log/bilibili.log +StandardError=append:/var/log/bilibili.log + +[Install] +WantedBy=multi-user.target diff --git a/systemd/openapi.service b/systemd/openapi.service new file mode 100644 index 0000000..8b9ccec --- /dev/null +++ b/systemd/openapi.service @@ -0,0 +1,17 @@ +[Unit] +Description=OpenAPI Reverse Proxy (pixiv + bilibili) +After=network-online.target +Wants=network-online.target + +[Service] +Environment=PATH=/home/openapi/env/general/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +Type=simple +WorkingDirectory=/home/openapi/source/openapi +ExecStart=/home/openapi/env/general/bin/python /home/openapi/source/openapi/main.py +Restart=always +RestartSec=5 +StandardOutput=append:/var/log/openapi.log +StandardError=append:/var/log/openapi.log + +[Install] +WantedBy=multi-user.target diff --git a/systemd/pixiv.service b/systemd/pixiv.service new file mode 100644 index 0000000..ca19eac --- /dev/null +++ b/systemd/pixiv.service @@ -0,0 +1,18 @@ +[Unit] +Description=Pixiv Image Proxy Service +After=network-online.target +Wants=network-online.target + +[Service] +Type=simple +User=root +WorkingDirectory=/home/openapi/source/pixiv +Environment=PATH=/home/openapi/env/general/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ExecStart=/home/openapi/env/general/bin/python /home/openapi/source/pixiv/pixiv.py +Restart=always +RestartSec=5 +StandardOutput=append:/var/log/pixiv.log +StandardError=append:/var/log/pixiv.log + +[Install] +WantedBy=multi-user.target