AssppWeb高级配置详解:访问密码防护、IPA自动清理与多线程下载调优
【免费下载链接】AssppWeb项目地址: https://gitcode.com/gh_mirrors/as/AssppWeb
AssppWeb 是一款基于 Web 的 iOS 应用获取与安装工具:使用 Apple ID 登录、搜索应用、获取许可证,并将 IPA 直接安装到设备。部署后,通过调整访问密码、IPA 自动清理与多线程下载三组高级配置,可以让你的自建实例更安全、更省磁盘、下载更快。本文带你逐一讲透这些配置项,全部只需用环境变量即可完成,无需改代码。
一键开启访问密码防护(ACCESS_PASSWORD)
实例如果暴露在公网,任何人都能使用它下载、编译 IPA,带宽和磁盘都会被消耗。AssppWeb 内置了访问密码门(Password Gate),一行配置即可启用:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
ACCESS_PASSWORD | (空,不启用) | 设置后,网页 UI 和 API 都需要先输入密码 |
它是怎么保护你的?
- 密码不会以明文存到任何地方:服务端在启动时计算 SHA-256 哈希(见 config.ts),请求携带的令牌通过时间安全比较
timingSafeEqual校验,防止时序侧信道攻击(见 config.ts)。 - 浏览器端同样只传哈希:密码在本地通过 Web Crypto 做 SHA-256 后再提交(见 PasswordGate.tsx),令牌仅存在
sessionStorage,关闭页面即失效。 - 所有
/api请求统一经过鉴权中间件,无合法令牌直接返回 401(见 accessAuth.ts);但登录验证和安装清单接口(/auth/、/install/)放行,保证流程可用。
💡 启用后首次打开页面会看到密码输入框;输入正确后本次会话免重复输入。密码可以随时更换,旧令牌立即失效。
让 IPA 自动清理,磁盘不再爆满(AUTO_CLEANUP)
IPA 文件动辄几百 MB,缓存只增不减很快撑爆磁盘。AssppWeb 提供双保险自动清理策略,均可关闭(设为0):
| 环境变量 | 默认值 | 说明 |
|---|---|---|
AUTO_CLEANUP_DAYS | 0(关闭) | 自动删除超过指定天数的已完成 IPA 缓存 |
AUTO_CLEANUP_MAX_MB | 0(关闭) | 缓存总大小超过该 MB 上限时,从最旧文件开始淘汰 |
清理机制的三个细节值得了解(源码见 downloadManager.ts):
- ⏰每日午夜定时:时间清理在每天 0 点自动触发,且调度器会自动校正漂移,长期运行也不会失准。
- 🧹下载前预清理:每次新下载开始前,会先执行一遍时间清理和空间清理,确保磁盘有余量。
- 🗑️启动时清孤儿文件:服务重启后会扫描数据目录,删除没有任务记录的残留文件(包括中断下载的
.part临时文件)(见 downloadManager.ts)。
推荐新手组合:AUTO_CLEANUP_DAYS=7+AUTO_CLEANUP_MAX_MB=2048,既保留一周内的安装包方便重复安装,又限制磁盘占用在 2 GB 内。
多线程下载调优:DOWNLOAD_THREADS 怎么选
AssppWeb 内置分块多线程下载器:先用HEAD探测服务器是否支持Range分片,支持则将文件切分为 N 段并行下载(每段带 3 次重试、2 秒退避),最后合并为完整 IPA;不支持时自动回退到单流下载(见 chunkedDownloader.ts)。
| 环境变量 | 默认值 | 说明 |
|---|---|---|
DOWNLOAD_THREADS | 8 | 并发下载线程数,有效范围 1–32,越界自动收敛 |
MAX_DOWNLOAD_MB | 0(关闭) | 超过该 MB 大小的下载直接拒绝,防止内存/磁盘被打爆 |
调优建议:
- 🚀带宽充足、目标在苹果 CDN:保持默认
8即可,绝大多数场景已经跑满线路; - 🌐小带宽 VPS 或家宽上行有限:降到
4,减少并发争抢和超时概率; - ⚡大带宽机房(1 Gbps 以上):可以试
16,但注意 CPU 合并分片也有开销,线程数并非越大越好; - 🛡️公网实例强烈建议同时设置
MAX_DOWNLOAD_MB(如2048),把恶意或异常的超大请求挡在门外。
完整环境变量表(含
PORT、DATA_DIR、PUBLIC_BASE_URL等)见 README.md。
验证配置是否生效
启动后无需翻日志,打开网页的Settings页面,或直接查看/api/settings接口,即可确认所有高级配置的实际生效值(密码、清理天数、空间上限、线程数等),实现来自 settings.ts。
用 Docker Compose 部署时,只需在 compose.yml 的environment下按需取消注释并填写:
environment: - DATA_DIR=/data - ACCESS_PASSWORD=your_password_here - AUTO_CLEANUP_DAYS=7 - AUTO_CLEANUP_MAX_MB=2048 - DOWNLOAD_THREADS=8 - MAX_DOWNLOAD_MB=2048总结
| 配置 | 解决的问题 | 新手推荐值 |
|---|---|---|
ACCESS_PASSWORD | 陌生人蹭带宽、滥用 API | 公网实例必设 |
AUTO_CLEANUP_DAYS | 缓存过期堆积 | 7 |
AUTO_CLEANUP_MAX_MB | 磁盘容量不足 | 2048 |
DOWNLOAD_THREADS | 下载速度 | 默认8,小带宽降为4 |
MAX_DOWNLOAD_MB | 超大文件打爆内存/磁盘 | 公网设2048 |
AssppWeb 的高级配置全部走环境变量,改完重启容器即生效。先设好密码和清理策略,再按你的带宽微调线程数,就能拥有一个安全、清爽、快速下载的自建 AssppWeb 实例 🎉
【免费下载链接】AssppWeb项目地址: https://gitcode.com/gh_mirrors/as/AssppWeb
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考