找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5GMediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】
FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线
【官方】❤️搜索套利买量投流开户独立站⚡️开户投放Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️
BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理
全球虚拟卡, 支持U充值【15 年团队 - 广告自动化系统、定制开发】【ActionKey】Meta API 桥接令牌尤里改 - FB 稳定投放
【神盾 AI】Meta 广告资产防护 永久免费FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)IPCola原生住宅IP⚡️$1.8/条双ISP
FB资源,账单户,分享户,国内一手TK加白户/二解户/FB海外户/GG老户最大欧洲Nutra网盟BA找量 FB高权重耐操个号⚡️稳定过审
FB企业户海外户,授信户,TK加白户联盟收款/海外资金下发/服贸结汇✔Taboola海外户源头全球效果广告投放平台|Vertoz IngeniousPlex
广告位出租   
查看: 54|回复: 0

[讨论] Pixel 自带 Linux 终端(Debian)全局代理:sing-box TUN + VLESS Reality 直连

[复制链接]

129

主题

238

广告币

333

积分

初级会员

888888888888888

积分
333
发表于 6 小时前 来自手机 | 显示全部楼层 |阅读模式
Influxtec
# Pixel 自带 Linux 终端(Debian)全局代理:sing-box TUN + VLESS Reality 直连
1 o4 p; v, h8 @) A+ s  U- t, r  h1 B; k$ A+ X! v
本文记录一套已在一台 Pixel(AVF Debian,aarch64)上实测成功的配置:Debian 内 sing-box 1.14.4 建 TUN,直接连自己的 VLESS+REALITY 节点,不再依赖 Android 上的 Nekobox。
4 O. [0 N5 _* d**本包不含任何真实节点信息**;节点通过 `import-node.py` 在本机用隐藏输入导入。
1 U. `3 y- Z" e8 t9 z' n  v
* D6 i4 U) q: U/ o2 r8 {9 Z## 0. 适用条件与限制(先读)5 @8 a$ E! D0 w5 z+ {* v# e$ F6 m
- 需要:Android Linux 终端(AVF Debian)、`uname -m` = `aarch64`、`ps -p1 -o comm=` = `systemd`、有 sudo、`sudo ip tuntap add dev t0 mode tun && sudo ip tuntap del dev t0 mode tun` 不报错。并非所有 Android/机型都能照搬。* [8 G! h* R& x2 C% _6 {( R3 k
- 只验证过:IPv4(该机 Debian 无 IPv6 默认路由)、TCP。**UDP 全部被拒绝**(含 QUIC/HTTP3,浏览器会回落 TCP);ping(ICMP) 不经代理。不是"全协议"代理。$ I1 M6 i4 e9 v$ n( }+ G
- 只有一个节点,无备用;节点掉线即断网(私网直连除外)。9 r9 M, {" `1 _# `- ?4 h
- `auto_detect_interface` 官方含义是"出站自动绑定当前默认网卡防环路";网络切换时已有连接可能中断,不保证无缝。, M  r. k; o5 R& ~! h, I
- Android 端若开启"始终开启 富强 / 屏蔽未使用 富强 的连接",可能影响 Debian 虚拟机网络(社区报告,非官方结论)。
) W0 i, o2 P$ x8 y5 j6 j4 g- `sing-box check` 只验证语法和字段,不代表真实能联网。
5 f3 ]  K( Z& {& j$ T# C5 E- 版本固定为 1.14.4,便于复现;不是"永远最新"。
- t  X3 `, i# C, G+ M1 G$ l2 [" F* y! q$ Z/ a. e
## 1. 文件& V9 q" K; R8 ~5 W8 p
| 文件 | 作用 |
: N* J1 c% v/ a2 F+ o|---|---|0 L- T* N3 M" z: C
| `config.template.json` | 已验证的最终配置结构,节点字段为假占位(192.0.2.1 / 全零 UUID / 随机假公钥) |
& A3 z& j* F& M$ Q: E* u; m| `import-node.py` | 隐藏输入粘贴 `vless://` URI,只接受 tcp + reality + IPv4 server,生成 0600 配置,`sing-box check` 通过才落地(旧文件改名 `.prev`),不重启 |* k2 e) a5 q0 v  d
| `backup.sh` | 本地 gpg 对称加密备份(口令交互输入) |" j$ C* |3 Y5 y) H1 n; V; e
| `restore.py` | 从加密备份安全恢复,支持 `--dry-run` 和 `--root 测试目录` |
- E7 C, J, [% i2 @: E! i* B, _' O0 @) {6 y% U0 ~. p+ ?$ i- M
## 2. 配置要点(与原机实际生效配置一致)+ \# f) a+ }! [6 ?
- TUN:`sbtun0`,`172.19.0.1/30`,`auto_route` + `strict_route`,stack `system`,排除 `10/8 172.16/12 192.168/16 127/8`(虚拟机网关在私网段内,故不单独写网关 IP)。
+ y; i& U7 z/ h) U* D  a1 [) P- DNS:路由规则把**识别为 DNS 协议**的流量交给 sing-box,经 `proxy` 出站用 TCP 查询 1.1.1.1,`ipv4_only`。前提是系统/应用照常发出 DNS 请求(`/etc/resolv.conf` 等仍需正常);不是"所有 53 端口字节"都被接管,DoH 等加密 DNS 不在此规则内(会按普通 TCP 走代理)。1 `, i' v: C( X' s
- 路由:sniff → hijack-dns → 私网 direct → 拒绝 UDP → 其余走 `proxy`;`auto_detect_interface: true`,不写 `default_interface`、不写网关 IP。% \2 S7 C' ~1 p! l
- 出站:VLESS,flow `xtls-rprx-vision`,REALITY,uTLS 指纹按 URI(原机为 `random`,官方支持该值)。6 @$ W# D8 l' H9 o

: s8 T  v0 `7 z! V. Z## 3. 新手机从零复现. s) t" e& z1 E8 s6 d
3.0 **把本包传进 Debian**(Debian 不能访问我们这边的文件):把 `pixel-debian-proxy.zip` 下载到手机,再用 Linux 终端的文件共享/下载目录拷入 Debian(或在 Debian 里用 curl 从你自己的网盘直链下载),然后:
2 B. m5 n6 q* t' W3 _3 h, @1 a```sh( K% n0 s4 ^' k5 z- h* C# S
sudo apt update && sudo apt install -y python3 unzip curl gnupg* [- {' V' C; Z5 `- k* D( v$ t( [
cd ~ && unzip -o /path/to/pixel-debian-proxy.zip   # 把 /path/to 换成 zip 实际位置
( w- x6 I* V: X: I+ b, r4 S5 KKIT="$HOME/pixel-debian-proxy"; ls "$KIT"
# g$ M* _+ C+ X- m6 G```
0 y( N/ }( p$ H: P后续命令都用 `$KIT` 绝对路径;新开终端需重新执行 `KIT="$HOME/pixel-debian-proxy"`。
5 W" h. }$ T1 n1 m: ~. [3 q6 d7 S: y- c6 G, }* f" q
```sh- {1 ?% X% C& ^2 H' G/ a3 W1 ], E4 ^
# 3.1 预检
" Q0 Q' u' R2 @, t7 Luname -m; ps -p1 -o comm=; sudo ip tuntap add dev t0 mode tun && sudo ip tuntap del dev t0 mode tun && echo TUN_OK
: I4 g! n& Y" d# 3.2 安装官方 1.14.4(下载可用当前网络、已有代理,或手动把 deb 传进来)/ b0 u9 @& H: i- _
curl -fL -o /tmp/sing-box_1.14.4_linux_arm64.deb https://github.com/SagerNet/sing-box/releases/download/v1.14.4/sing-box_1.14.4_linux_arm64.deb
- k. s, z9 w8 v6 \+ k8 w! nsudo apt install /tmp/sing-box_1.14.4_linux_arm64.deb && sing-box version
# L4 N" ~) t. ~# J; P+ B# 3.3 导入节点(屏幕不回显)& W# G0 H: y; Q  T
sudo mkdir -p /etc/sing-box && sudo python3 "$KIT/import-node.py" "$KIT/config.template.json" /etc/sing-box/dmit.json% [5 }+ T' X+ x) U
```6 T0 G5 g! C% N: |
3.4 建服务(新机简化写法:直接静态 ExecStart;与原机"原服务 + drop-in"效果等价):" o' W2 T2 e" Z* E
```sh( L) g2 x. e+ e4 ]
printf '%s\n' '[Unit]' 'After=network-online.target' 'Wants=network-online.target' '[Service]' 'ExecStart=/usr/bin/sing-box run -c /etc/sing-box/dmit.json' 'Restart=on-failure' 'RestartSec=5' '[Install]' 'WantedBy=multi-user.target' | sudo tee /etc/systemd/system/pixel-tun.service! o; o* v6 n* K" @
sudo systemctl daemon-reload# a1 H# f; C- D8 g" _# }
sudo systemctl start pixel-tun                                  # 先手动试' [+ M, ~/ p/ V5 n* w( P  j5 U$ h+ M
curl -I --proxy '' https://cli-chat-proxy.grok.com              # 不读代理环境变量,确认走 TUN
6 V* G! s# X4 g/ {sudo systemctl enable pixel-tun                                  # 确认没问题再开机自启
' w+ u7 }" k; E  q```* P$ g' j% B: X* B, G7 n$ \' [
`curl` 返回 403/404 等状态行只说明**基本连通**;真正验证以 `grok` 能正常聊天为准。/ u, D# M* [* V2 e/ j( x
> 原 Pixel 的实际历史:`pixel-tun.service` 原本 `ExecStart=/usr/local/sbin/pixel-proxy-start`(旧 Nekobox 方案),现由 drop-in `/etc/systemd/system/pixel-tun.service.d/dmit.conf` 清空并改为 `/usr/bin/sing-box run -c /etc/sing-box/dmit.json`。7 Z8 F# H( g- O) c/ K/ C' k! ]

# c! p, Y2 [- n, @3 u* [* M## 4. 日常:"一键重启" ≠ "恢复"0 P! I$ M; S+ a* L/ Y
- `sudo systemctl restart pixel-tun`:**只是重启**当前配置。适用于网络切换后卡住、sing-box 异常。它**不会**修复被改坏的配置、失效的节点,也不是永久联网保障。
* d; h2 ]8 Z5 F9 h$ e- 配置被改坏/想回到已知正确状态:用第 6 节"从加密备份恢复",或重新运行 `import-node.py`。
$ [2 v! `, M4 m& L, K) O- 换节点:`sudo python3 "$KIT/import-node.py" "$KIT/config.template.json" /etc/sing-box/dmit.json` 后 `sudo systemctl restart pixel-tun`。7 W/ S4 T3 P4 p" E. t
- @3 r2 H, ?! g$ c# V3 r/ A
## 5. 诊断(贴出前请自己逐行审阅、遮掉敏感内容)8 x+ y: H; W) w" J! ~0 e; r
```sh# h: \4 M: c; z  Q% \
systemctl is-active pixel-tun; sudo sing-box check -c /etc/sing-box/dmit.json && echo CHECK_OK
5 I# w7 a1 a( X0 y3 oip -4 route show default; ip -6 route show default
* @; ?! F* e, ]- E5 h6 g& Djournalctl -u pixel-tun -n 30 --no-pager | sed -E 's/[0-9a-f]{8}-[0-9a-f-]{27}/<uuid>/g; s/([0-9]{1,3}\.){3}[0-9]{1,3}/<ip>/g'
* t1 ~- S3 S8 C% z! t```
5 }. L- z+ e2 e- f  s`sed` 只粗略替换 UUID 和 IPv4,**不保证**遮住域名、公钥、short_id 等;贴出前务必本地检查。常见:`reality verification failed`=sni/pbk/sid 不对;超时=节点端口不通或 Android 富强 锁定;`check` 报错=配置结构问题。**不要贴 `/etc/sing-box/dmit.json` 原文**。
6 ~0 V3 N- C$ m& Q: h% [
6 u5 [: U" G; E$ y7 E. M## 6. 备份与恢复(本地加密)4 f( @* ^  G) Z' X; O* k$ X: x
```sh
/ u' W4 C3 v+ j* K+ k1 j# `* asudo sh "$KIT/backup.sh"     # 交互输入口令;产物 /root/pixel-proxy-backups/*.tar.gz.gpg
8 P2 m# C  o" }1 W* K0 n7 Rsudo ls /root/pixel-proxy-backups
* o3 B! c3 N) v0 ~) C+ Q+ b2 Lsudo python3 "$KIT/restore.py" /root/pixel-proxy-backups/pixel-proxy-XXXX.tar.gz.gpg --dry-run   # 只验证- H; G1 r/ T9 L& W  E- Q7 \
sudo python3 "$KIT/restore.py" /root/pixel-proxy-backups/pixel-proxy-XXXX.tar.gz.gpg             # 真正恢复/ G" V; M+ x! I$ q3 Y9 v2 l1 {# W
sudo systemctl restart pixel-tun
$ Q. f; M/ E! X. s7 r9 Q' h```
4 l9 Z- g% v7 k+ }) T- 备份内容:`/etc/sing-box`、`/usr/local/sbin/pixel-proxy-start`、`pixel-tun.service` 及 drop-in(存在的才打包)。含节点凭据,所以加密;口令另行保管,不要写进命令行或环境变量。明文 tar 只在 0700 临时目录短暂存在,结束即删。2 E6 B$ {$ X; W- l
- `restore.py` 流程(前置验证通过后才开始覆盖;覆盖阶段若失败可能已改动部分文件,需用备份恢复):gpg 解密到内存 → 限制总大小 10MB、条目 200 → 逐条校验:路径规范、无绝对路径/`..`、必须在白名单、**只允许普通文件和目录**(拒绝符号链接、硬链接、设备、FIFO)→ 对 `etc/sing-box/dmit.json` 跑 `sing-box check`(其他 `.prev`/`.candidate` 不检查也不阻止)→ 检查本机目标路径及父目录无符号链接 → 先调用同目录 `backup.sh` 把当前状态**加密**备份(需要再输一次口令),成功才继续 → 逐个文件原子替换(`/etc/sing-box` 下文件 0600)→ `systemctl daemon-reload`,**不启动/重启服务**。  W( k6 g' w4 A: }
- 可用 `python3 "$KIT/restore.py" 备份.gpg --root /tmp/testroot` 在临时目录演练(不备份、不 reload)。4 u4 j7 H3 w  ~# ^
- 只有在手机上真正执行过 `backup.sh` 才算有备份。0 ~% J7 i7 q6 k1 \: R
- 资料包验证范围:模板和假节点导入通过 sing-box 1.14.4 检查,恢复校验及写入仅在临时测试目录验证;未在你的手机上执行备份或完整恢复,建议先做备份与 dry-run。% e3 {! _  r3 _7 O
) u8 i! C: x7 Q
## 7. 自动云备份(尚未实现,需你先选目的地)
. u/ b" o' H3 m6 w1 ]建议:选定 SFTP / WebDAV / S3 等后,用 `restic`(自带加密)+ systemd timer(`Persistent=true`);WebDAV 通常还需 rclone 等适配层。
4 b/ }* P1 h# n" G- 只在 Debian 虚拟机运行时执行;关机期间不会跑,开机后补跑一次;云端不能远程唤醒。
" `% V) m, H, p, G9 ~- 无人值守需要本地保存 0600 的仓库密码/云凭据;**恢复密钥另外离线保存**,不要放进云端归档本身。3 W! ], x3 `1 z
- 目前可先用第 6 节手动加密备份,再自行把 `.gpg` 文件复制到云盘。
; w& m  F. d! f8 U8 E: p1 ^( F4 r/ t+ K& b" K, m. H7 V5 d
## 8. 回退到旧 Nekobox 依赖方案(原 Pixel 适用)" y5 {6 f, [! Z. O: G( B" B; F. @
```sh: G( R( m$ ?! D# y  H" }( |
sudo rm /etc/systemd/system/pixel-tun.service.d/dmit.conf && sudo systemctl daemon-reload && sudo systemctl restart pixel-tun
  O6 w  t% M. j! q! n```7 E0 W$ T; T% k
旧方案依赖 Android 上 Nekobox 开着"允许局域网"、mixed 端口 2080;启动脚本每次从默认路由读网关 IP(如 `10.x.x.x`,会变)代入模板。新方案不需要这些。局域网监听只应在可信网络开启。
2 d7 |! O. x0 N1 n, ?0 J8 G# R
6 {& Z+ y4 U6 V5 G7 ]' ^## 来源
) B/ T) W6 Y6 c2 W/ H- https://github.com/SagerNet/sing-box/releases/tag/v1.14.4
# t* b* k1 H1 A* U$ R& i& m, j$ |3 r- https://sing-box.sagernet.org/configuration/inbound/tun/; S- S4 g, J9 M- z% e+ v# {  z# u
- https://sing-box.sagernet.org/configuration/route/
' I  o& f4 k) z) {: p$ S; Q- https://sing-box.sagernet.org/configuration/shared/tls/
相关帖子
vpsjq.com   
surveypayoutwatch.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2026-11-7 17:21 , Processed in 0.063039 second(s), 22 queries , Gzip On.

Copyright © 2001-2026, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表