首页/新闻资讯/正文详情

AssppWeb安全模型分析:主机名白名单、账户哈希与浏览器安全边界的设计哲学

发布时间:2026/9/25 18:05:26 来源:云帆数科 栏目:资讯中心
AssppWeb安全模型分析:主机名白名单、账户哈希与浏览器安全边界的设计哲学
AssppWeb安全模型分析主机名白名单、账户哈希与浏览器安全边界的设计哲学【免费下载链接】AssppWeb项目地址: https://gitcode.com/gh_mirrors/as/AssppWebAssppWeb 是一款基于 Web 的 iOS 应用获取与安装工具让你无需 Mac 电脑直接用浏览器登录 Apple ID、搜索应用并安装 IPA 到 iPhone。它采用零信任架构服务器永远接触不到你的 Apple 凭据所有与 Apple 服务器的通信都在浏览器内通过 WebAssembly 完成后端只是一个盲传的 TCP 中继。本文将从主机名白名单、账户哈希与浏览器安全边界三个维度剖析这套安全模型背后的设计哲学。一、零信任架构服务器为什么看不见你的账户传统 Web 应用的常规做法是把 Apple ID 和密码提交给后端由后端代为登录、购买、下载。这要求用户完全信任服务器运营者——而 AssppWeb 选择了一条更极端的路服务器从头到尾只看到加密后的流量字节流看不到任何明文凭据。它的核心机制是浏览器端通过 WebAssemblylibcurl.js 配合 Mbed TLS 1.3直接与 Apple 服务器建立加密连接后端运行一个名为 Wisp 的 TCP 中继服务只负责转发字节不解密、不解析IPA 编译与缓存由服务器从公开 CDN 下载后完成这部分数据本身不含任何凭据。⚠️ 官方提醒不存在官方 AssppWeb 公共实例。恶意托管者虽然读不懂你的加密流量却可能替换前端页面来窃取凭据。因此强烈建议自建实例并始终核验 SSL 证书。这个设计的哲学是把信任从架构中移除而不是靠代码注释承诺我们不会看你的密码。二、主机名白名单TCP 中继的单一出口闸门盲传中继最大的风险是如果中继不限制目标地址恶意前端可以借道你的服务器发起任意 TCP 连接扫描内网、连接任意第三方服务器。AssppWeb 在 backend/src/services/wsProxy.ts 中用一组白名单把风险锁死主机名白名单——只允许 5 类 Apple 官方域名auth.itunes.apple.com、buy.itunes.apple.com、init.itunes.apple.com、p*-buy.itunes.apple.com各地区商店节点、downloaddispatch.itunes.apple.com端口白名单——只放行 443即强制 HTTPS禁止直连 IPallow_direct_ip false——杜绝绕过域名校验直接打 IP禁止回环地址——中继无法被用来探测服务器本机服务。一个值得注意的细节是allow_private_ips true。源码注释解释了原因Docker/容器环境中的 DNS 可能把白名单域名解析为保留网段 IP如 OrbStack 的 198.18.x.x因此安全控制的重心放在主机名匹配上而非 IP 段。这是白名单锚定在域名语义上的典型取舍。三、账户哈希服务器只知道谁来了不知道是谁当你发起下载任务时服务器需要区分任务属于哪个账户但 AssppWeb 不传递 Apple ID 或邮箱明文。frontend/src/utils/account.ts 中的accountHash函数会对账户标识directoryServicesIdentifier缺失时回退到appleId或email计算SHA-256 哈希只有这串十六进制摘要会随 DownloadTask 和 PackageInfo 传到后端。这套设计带来三个好处最小暴露面服务器存储与日志中永远只有哈希值无法反推出真实邮箱不可逆性SHA-256 是单向函数拿到哈希也无法还原账户身份降级容错若环境不支持crypto.subtle还会退回到 FNV-1a 64 位哈希保证功能可用。对比账号哈希IPA 包缓存、下载进度、manifest 生成等服务端功能完全不受影响——身份被匿名化但业务照常运转。四、浏览器安全边界Apple ID 凭据究竟存在哪里在 AssppWeb 中你的 Apple ID、会话 Cookie、passwordToken等敏感数据见 Account 类型定义只存放在浏览器的 IndexedDB 里对应 frontend/src/store/accounts.ts 中的asspp-accounts数据库。更关键的是落盘前会经过完整加密由访问密码经PBKDF2SHA-25610 万次迭代派生出 AES 密钥用AES-GCM-256加密每次随机生成 16 字节盐与 12 字节 IV最终格式为salt IV 密文的 Base64 串见 frontend/src/utils/crypto.ts。同时与 Apple 服务器会话的 Cookie 处理也有讲究frontend/src/apple/cookies.ts 严格校验 Cookie 的域名、路径、有效期与 Secure 标志SecureCookie 只会在 HTTPS 下发送。凭据的生命周期被完全圈定在浏览器这个安全边界之内服务器端连数据库里都没有一张用户表。五、访问密码公共实例的最后一道门零信任解决的是服务器不能看但如果实例本身被人共享使用呢AssppWeb 提供可选的ACCESS_PASSWORD环境变量见 compose.yml 中的环境变量表设置了密码后Web 界面与 API 需要先通过 PasswordGate 获取访问令牌backend/src/middleware/accessAuth.ts 会校验每个请求的x-access-tokenWebSocket 中继/wisp/端点同样要求令牌wsProxy.ts且只放行/auth/与/install/路径的免检访问。密码在服务器侧以哈希形式存储accessPasswordHash配合反向代理的 TLS 终结与 CDN 防护构成自托管场景下的纵深防御。六、小结把信任当作成本来花AssppWeb 的安全模型可以浓缩为三条原则机制位置效果主机名 端口白名单后端 Wisp 中继盲传通道只通向 Apple 官方域名账户 SHA-256 哈希前端生成、后端消费服务器无法还原用户身份凭据浏览器内加密存储IndexedDB AES-GCM密钥与凭据从不离开客户端它的哲学不是我保证不滥用你的数据而是让架构本身使滥用变得不可能——这正值得每一个处理用户敏感信息的开源项目参考。【免费下载链接】AssppWeb项目地址: https://gitcode.com/gh_mirrors/as/AssppWeb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

LibreChat:自己动手搭一个多模型AI聊天平台
LibreChat:自己动手搭一个多模型AI聊天平台

LibreChat:自己动手搭一个多模型AI聊天平台最近群里好几个朋友都在折腾LibreChat,问的人多了,我也把自己这几个月的使用经验整理一下。LibreChat是一个开源的AI聊天前端,界面风格接近ChatGPT,但它最大的特点是能同时接… · 2026/9/25 18:05:26

PaddleNLP 千言-问题匹配鲁棒性评测:基于 ERNIE-Gram 与 R-Drop 的基线实战指南
PaddleNLP 千言-问题匹配鲁棒性评测:基于 ERNIE-Gram 与 R-Drop 的基线实战指南

人工智能大模型预训练微调LoRARLHF强化学习分布式训练 【免费下载链接】PaddleNLP Easy-to-use and powerful LLM and SLM library with awesome model zoo. 项目地址: https://gitcode.com/gh_mirrors/pa/PaddleNLP 点击查看 免费下载 本文以 PaddleNLP 仓库中 sl… · 2026/9/25 18:05:13

《动手学深度学习》第二版:可运行的深度学习操作系统
《动手学深度学习》第二版:可运行的深度学习操作系统

1. 这不是一本普通教材:它是一套可运行的深度学习操作系统如果你在搜索引擎里输入“李沐 深度学习”,排在最前面的几乎必然是《动手学深度学习》。但很多人点进去后发现——这根本不是传统意义上“翻着看”的课本,而是一套自带引擎、能直接启… · 2026/9/25 18:04:49

学信奥的孩子有哪些数学优势
学信奥的孩子有哪些数学优势

学信奥的孩子,会在数学能力上形成6项普通校内学习很难练到的差异化优势,完全适配你家四年级孩子的理科成长节奏: 🧩 问题拆解能力远超同龄人 信奥题不会像校内数学那样把知识点直接标出来,而是把多类数学考点揉成复杂现… · 2026/9/25 18:40:22

免费安全的 - 二维码转换工具
免费安全的 - 二维码转换工具

AI编写小工具还是很方便的,做了一个二维码转换器,可以直接生成二维码,也可以安全的扫描二维码,展示二维码嵌入的文本信息。 欢迎大家尝试! 演示地址(多语言版)https://env-00jy6ton3kte-stati… · 2026/9/25 18:40:16

MySQL+Qt医疗预约系统源码解析与数据库设计实战
MySQL+Qt医疗预约系统源码解析与数据库设计实战

简介:这是一份基于MySQL和Qt开发的医疗预约系统完整项目,适合计算机相关专业学生用于课程大作业、毕业设计或初期项目立项演示。压缩包共22个文件,以cpp、h、ui、qrc等Qt工程文件为核心,配合png、jpg图片展示数据库表设计、ER图、… · 2026/9/25 18:40:09

让你的Claude Code从“能用”到“能打”:CLAUDE.md 配置实战
让你的Claude Code从“能用”到“能打”:CLAUDE.md 配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 18:40:09

CPU底层原理:一条指令从取指到多核调度的完整链路
CPU底层原理:一条指令从取指到多核调度的完整链路

CPU 到底是怎么把程序跑起来的,很多人能背出“取指、译码、执行”六个字,但真到 CPU 跑满、缓存未命中、多核调度、天梯图选购的时候,又会开始凭感觉。这篇文章不铺垫背景,直接沿着一条指令从软件到硬件、从启动到完成的主线&… · 2026/9/25 18:40:03

SQL Server课程设计实战包:可部署、可答辩、带排错记录
SQL Server课程设计实战包:可部署、可答辩、带排错记录

简介:本资源是一份面向计算机相关专业学生的SQL Server课程设计实践材料,聚焦学生选课系统数据库的完整实现与教学解析,适用于课程设计、课程作业、项目演示及数据库初学者进阶学习。压缩包共6个文件,含1个核心SQL建库建表脚本&am… · 2026/9/25 18:40:03

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码