惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
有赞技术团队
有赞技术团队
Vercel News
Vercel News
Engineering at Meta
Engineering at Meta
Hugging Face - Blog
Hugging Face - Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
罗磊的独立博客
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
B
Blog RSS Feed
H
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
V
Visual Studio Blog
B
Blog
MongoDB | Blog
MongoDB | Blog
T
The Blog of Author Tim Ferriss
L
LangChain Blog
D
Docker

Dosk 技术站

华为荣耀电视盒子刷 Armbian - Dosk 技术站 记录一个没意义的 usb wifi 驱动编译 - Dosk 技术站 我的 2024 - Dosk 技术站 unRAID 7.0.0-beta.1 - Dosk 技术站 关于 unraider 的开心版 - Dosk 技术站 unRAID 6.12.7-rc2 进展 - Dosk 技术站 每年问自己 40 个问题 - Dosk 技术站 Kubernetes 集群导航页 - Dosk 技术站 2023 年度总结 - Dosk 技术站 N100 万兆软路由最终形态 - Dosk 技术站 N100 软路由改造下散热 - Dosk 技术站 N100 万兆软路由测测速 - Dosk 技术站 整活新玩具,半 DIY 一个万兆软路由 - Dosk 技术站 玩玩 WebAuthn:RP2040 One - Dosk 技术站 关于最近以及后续要做什么 - Dosk 技术站 unRAID 6.12.0-rc7/6.12.0-rc6.13 - Dosk 技术站 unRAID 6.12.0-beta18 试用 - Dosk 技术站 unRAID 6.11.4 如何继续开心 - Dosk 技术站 cert-manager 基于 acme.sh 的 webhook - Dosk 技术站 unRAID 虚拟机运行 unRAID 简单步骤 - Dosk 技术站 解决 Chrome 原生谷歌翻译功能的一个思路:3/3 - Dosk 技术站 解决 Chrome 原生谷歌翻译功能的一个思路:1/3 - Dosk 技术站 unraid 命令行包管理器 - Dosk 技术站 继续,unraid 6.11 happy 的方法 - Dosk 技术站 适用于 k8s 的 frpc ingress 实现 - Dosk 技术站 实现了一个简单的通配 DNS 服务 - Dosk 技术站 代码更新,happy unraid 懒人版 - Dosk 技术站 复盘一次群晖的 btrfs + docker:dind 引发的灾难 - Dosk 技术站 unraid 官方版不修改不用 keymaker 可持续 happy 的方法 - Dosk 技术站 unraid 实现完美硬盘启动 - Dosk 技术站
记录一下 docker 里跑 dsm 迅雷套件的过程 - Dosk 技术站
2022-03-04 · via Dosk 技术站
  • 先是尝试直接拷贝过来跑,linux 下能出来 web 界面,但是不可用

  • 搜索一些关键字,找到这位老哥的项目 xunlei,经过测试完美跑起来,遂想到封装 docker,扣了下关键的 cgi 部分,写了 Dockerfile

  • 发现问题,检测到是 docker 环境后,就按照白金VIP逻辑走,但是我并不是白金VIP,遂功能有 bug,开始调试,发现检测的是 /.dockerenv 文件,修改启动时删掉,还是不行,会检测 /proc/self/mounts,如果 / 挂载的是 overlayfs 就认为是 docker

  • index.cgi 是个静态编译的文件,不方便 hook 逻辑,遂想到 chroot,跑起来完美,但是创建容器需要增加 SYS_ADMIN 权限,强迫症开始了探索

  • 想到可以用 proot 不带 root 权限跑,最后成功跑起来,不过有两个注意点:不能挂载 /proc 因为是完整映射了外面的挂载;创建容器需要带 SYS_PTRACE 因为 proot 基于这个实现

  • 想到其他的方式,比如 qemu 跑,可以结合 proot 一起用,但是感觉性能会受损(我在 rpi4b 上部署)

  • 无奈想干脆就 SYS_PTRACE 算了,但是不能挂 /proc 感觉很心塞,所以开始写一个简单的 ptrace 程序来修改 /proc/self/mounts 的行为,然而最后发现某些场景没跑通,就暂时搁置了

  • 修改二进制,改 mountsstatus 这样就检测不出 overlayfs 了,发现有二进制校验,放弃

  • IDA64 开始逆向,发现其有一部分 debug 逻辑,即运行在 /tmp/go-build 文件夹下会不走二进制校验逻辑,开熏,现在的线上版就是这个