Skip to content

Repository files navigation

苯苯存图(服务端)

将前端中与 UI 无关的代码分离,单独部署,目前只支持通过 Docker 部署。

📝 计划在未来增加无服务器(Serverless)的部署方式,简化流程。

🚀 快速开始

🐳 Docker 部署

sudo docker run -p 3080:3080 -e TOKEN=your_token ghcr.io/ibenzene/image-downloader_server

或者

name: image-downloaderservices:
server:
image: ghcr.io/ibenzene/image-downloader_servercontainer_name: image-downloader_serverports:
- 3080:3080environment:
- TZ=Asia/Shanghai
- TOKEN=your_tokenhealthcheck:
test: - CMD
- curl
- -f
- http://localhost:3080/healthzinterval: 30stimeout: 10sretries: 3start_period: 30s

然后在客户端的「设置」👉「服务端地址」中填入 http://your_server_ip:3080/apihttps://your_domain/api,并填入正确的 TOKEN

⚙️ 环境变量

变量名说明默认值
PORT监听的端口号3080
TOKEN服务端令牌,用于鉴权,需要自己设置default_token
XHS_COOKIE极少数笔记需要 Cookie(含游客 Cookie)才能访问,请自行通过浏览器抓包获取「小红书」Cookie(必须包含 web_session-
BILIBILI_COOKIE如需下载大会员专属清晰度的视频,请自行通过浏览器抓包获取哔哩哔哩 Cookie-
PIXIV_COOKIE如需使用 Pixiv 下载器,请自行通过浏览器抓包获取 Pixiv Cookie-
TWITTER_COOKIE如需使用 Twitter (X) 下载器,请自行通过浏览器抓包获取 Twitter (X) Cookie-
S3_ENDPOINT符合 S3 规范的对象存储服务器,包括 Amazon S3、Cloudflare R2、MinIO 等,例如 https://<accountid>.r2.cloudflarestorage.com-
S3_BUCKETS3 存储桶的名称-
S3_ACCESS_KEY_IDS3 服务的访问凭证-
S3_SECRET_ACCESS_KEYS3 服务的访问密钥-
S3_PUBLIC_BASE可选,S3 存储桶的访问路径,允许使用 CDN 或自定义域名,支持 virtual-hosted-style 的访问方式,例如 https://<accountid>.r2.cloudflarestorage.com/{bucket}https://cdn.example.com-
ENABLE_CACHE_REUSE是否复用已有缓存,仅在 useProxy=true 的代理路径下生效,true 表示启用 extract 请求缓存并复用已存在的 S3 对象,false 表示忽略已有的 S3 缓存并重新下载资源false
EXTRACT_CACHE_TTL_SECONDSextract 请求的缓存时间(秒),例如 86400 表示 1 天2592000

🔄 代理下载

目前服务端可代理资源的下载,并缓存到 S3 对象存储服务中,以解决网络不畅、资源失效等问题。

‼️ 如需使用代理下载功能,请配置好 S3 对象存储服务的相关环境变量。其中,「Pixiv 下载器」、「哔哩哔哩视频下载器」目前仅支持服务端代理下载。

About

《苯苯存图》软件的服务端部分。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages