找回密码
 立即注册

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
广告位出租   
查看: 9|回复: 0

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

[复制链接]

129

主题

238

广告币

333

积分

初级会员

888888888888888

积分
333
发表于 半小时前 来自手机 | 显示全部楼层 |阅读模式
Influxtec
# Pixel 自带 Linux 终端(Debian)全局代理:sing-box TUN + VLESS Reality 直连
: ]4 o& h: i. n/ e7 F
7 z! g* T6 A+ ?- p% \本文记录一套已在一台 Pixel(AVF Debian,aarch64)上实测成功的配置:Debian 内 sing-box 1.14.4 建 TUN,直接连自己的 VLESS+REALITY 节点,不再依赖 Android 上的 Nekobox。$ G& b% a5 A7 B, t, x& g+ f  c
**本包不含任何真实节点信息**;节点通过 `import-node.py` 在本机用隐藏输入导入。
9 `3 L2 F1 ^' o' e# o- x
6 D  Z. g9 b+ ^2 C: k## 0. 适用条件与限制(先读)
1 H1 y; F* l$ h( ?4 ~2 S- 需要: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/机型都能照搬。9 P1 t! b+ b5 r! M% l) J9 L, C
- 只验证过:IPv4(该机 Debian 无 IPv6 默认路由)、TCP。**UDP 全部被拒绝**(含 QUIC/HTTP3,浏览器会回落 TCP);ping(ICMP) 不经代理。不是"全协议"代理。
! }* \0 ^  }$ u8 O' Z- 只有一个节点,无备用;节点掉线即断网(私网直连除外)。
& c& `' Z( k0 g3 w- `auto_detect_interface` 官方含义是"出站自动绑定当前默认网卡防环路";网络切换时已有连接可能中断,不保证无缝。0 V% A9 o8 }: P2 N; Z& ]& s+ I
- Android 端若开启"始终开启 富强 / 屏蔽未使用 富强 的连接",可能影响 Debian 虚拟机网络(社区报告,非官方结论)。+ H: v% X8 K1 D  c0 n, L. t  F
- `sing-box check` 只验证语法和字段,不代表真实能联网。. A1 t$ m& N5 ~! Y/ F+ V. v
- 版本固定为 1.14.4,便于复现;不是"永远最新"。2 f" ], Q* U9 C* w

2 `* j1 d2 g% ^2 p6 m## 1. 文件3 v( I, @/ }8 c1 y3 M/ e2 V
| 文件 | 作用 |2 Q1 T' c4 `$ ~; P2 W" L5 _6 l
|---|---|. c5 F7 L. o, k
| `config.template.json` | 已验证的最终配置结构,节点字段为假占位(192.0.2.1 / 全零 UUID / 随机假公钥) |" \# s9 T! X+ H5 V: ]5 T4 g
| `import-node.py` | 隐藏输入粘贴 `vless://` URI,只接受 tcp + reality + IPv4 server,生成 0600 配置,`sing-box check` 通过才落地(旧文件改名 `.prev`),不重启 |1 C* V$ W0 K0 E+ n8 @& f
| `backup.sh` | 本地 gpg 对称加密备份(口令交互输入) |
9 p! r7 _: T3 L8 m8 r| `restore.py` | 从加密备份安全恢复,支持 `--dry-run` 和 `--root 测试目录` |0 S5 R  f5 W3 `. m! ]4 k* Y& j5 Y+ r
6 Z5 P9 U" V  ]$ ~2 K% s$ m" n- `
## 2. 配置要点(与原机实际生效配置一致)* d) \% J* J# ?- Y/ a
- TUN:`sbtun0`,`172.19.0.1/30`,`auto_route` + `strict_route`,stack `system`,排除 `10/8 172.16/12 192.168/16 127/8`(虚拟机网关在私网段内,故不单独写网关 IP)。
( v' j" {5 G7 G. J, L2 N- DNS:路由规则把**识别为 DNS 协议**的流量交给 sing-box,经 `proxy` 出站用 TCP 查询 1.1.1.1,`ipv4_only`。前提是系统/应用照常发出 DNS 请求(`/etc/resolv.conf` 等仍需正常);不是"所有 53 端口字节"都被接管,DoH 等加密 DNS 不在此规则内(会按普通 TCP 走代理)。2 O4 v7 }/ [7 j( ^3 y$ J) S1 D
- 路由:sniff → hijack-dns → 私网 direct → 拒绝 UDP → 其余走 `proxy`;`auto_detect_interface: true`,不写 `default_interface`、不写网关 IP。4 U5 c, ?2 f8 `. z& j
- 出站:VLESS,flow `xtls-rprx-vision`,REALITY,uTLS 指纹按 URI(原机为 `random`,官方支持该值)。% a4 q7 R/ ]) w/ ~

4 x0 H# x: c3 E3 v, ]$ }3 u## 3. 新手机从零复现
9 W9 f0 J  L0 @: i3.0 **把本包传进 Debian**(Debian 不能访问我们这边的文件):把 `pixel-debian-proxy.zip` 下载到手机,再用 Linux 终端的文件共享/下载目录拷入 Debian(或在 Debian 里用 curl 从你自己的网盘直链下载),然后:0 L8 O1 f! J3 P+ D, ?3 ]0 w
```sh
) k7 M) c) b# \# C2 E5 p; hsudo apt update && sudo apt install -y python3 unzip curl gnupg
4 e7 x8 y* _1 S: T& v' pcd ~ && unzip -o /path/to/pixel-debian-proxy.zip   # 把 /path/to 换成 zip 实际位置* ~5 s6 o3 Y# z  b* h% B. Y
KIT="$HOME/pixel-debian-proxy"; ls "$KIT"
* u  K1 Z  F7 C6 ~! v) ````
0 L9 [6 B7 J; n) v9 ~7 ^" X后续命令都用 `$KIT` 绝对路径;新开终端需重新执行 `KIT="$HOME/pixel-debian-proxy"`。9 J. ~" D! N. q& n; G0 \
& U* ]2 N- V- O( w; H
```sh8 B/ m9 K& y) [' k2 P# P4 F: X
# 3.1 预检
  f' m" T8 C* d& guname -m; ps -p1 -o comm=; sudo ip tuntap add dev t0 mode tun && sudo ip tuntap del dev t0 mode tun && echo TUN_OK2 J9 T7 I* s0 s1 E0 u
# 3.2 安装官方 1.14.4(下载可用当前网络、已有代理,或手动把 deb 传进来)
( a6 I4 r& k* s/ e/ acurl -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+ X" F+ \) x: `- Y3 u
sudo apt install /tmp/sing-box_1.14.4_linux_arm64.deb && sing-box version
+ \5 s" Z' w: T, ~4 u( _$ i' C# 3.3 导入节点(屏幕不回显)$ j2 Z1 v0 v$ K$ k
sudo mkdir -p /etc/sing-box && sudo python3 "$KIT/import-node.py" "$KIT/config.template.json" /etc/sing-box/dmit.json- _+ X4 [/ a# k
```: m. @5 S$ H% H! t; |& |
3.4 建服务(新机简化写法:直接静态 ExecStart;与原机"原服务 + drop-in"效果等价):  u- u0 w3 C8 G! B) d) d7 ?8 F- u& W
```sh3 S! X# o. @% Q5 I: b+ O
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; N- K8 V8 H8 z6 D
sudo systemctl daemon-reload) r. z# O5 H" a5 [- X- v7 X
sudo systemctl start pixel-tun                                  # 先手动试
5 a0 g8 _* m4 D" m6 Bcurl -I --proxy '' https://cli-chat-proxy.grok.com              # 不读代理环境变量,确认走 TUN$ C! M: m& _  h0 o* A  `
sudo systemctl enable pixel-tun                                  # 确认没问题再开机自启5 r( V* l9 f4 N4 N, w% {& ~) }7 v
```* G! ?) s7 f, F- ~, i8 X
`curl` 返回 403/404 等状态行只说明**基本连通**;真正验证以 `grok` 能正常聊天为准。" |; f  o5 c8 Z! o0 M0 J# j9 Z( n' L
> 原 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`。
+ |! J: `- e+ D8 p( I" I) S3 b0 D. s
0 f" `* Q; `6 X0 R- e## 4. 日常:"一键重启" ≠ "恢复"
% J9 J2 V+ N' [- `sudo systemctl restart pixel-tun`:**只是重启**当前配置。适用于网络切换后卡住、sing-box 异常。它**不会**修复被改坏的配置、失效的节点,也不是永久联网保障。
3 a. Z1 S' Y3 \4 n/ x- 配置被改坏/想回到已知正确状态:用第 6 节"从加密备份恢复",或重新运行 `import-node.py`。
+ b1 s- I4 D3 Q, z0 u5 f6 [- 换节点:`sudo python3 "$KIT/import-node.py" "$KIT/config.template.json" /etc/sing-box/dmit.json` 后 `sudo systemctl restart pixel-tun`。
& i% {3 B& J' z4 A+ i  {( V0 e. T: T1 ?) W
## 5. 诊断(贴出前请自己逐行审阅、遮掉敏感内容)$ ^9 n* m6 g, [( H# q: N2 ^. j8 B2 f
```sh
. I1 K, S. e, s9 F$ isystemctl is-active pixel-tun; sudo sing-box check -c /etc/sing-box/dmit.json && echo CHECK_OK
7 a2 c; c9 C$ A2 ]; {0 k6 dip -4 route show default; ip -6 route show default* p1 N7 E  F) N: ^  k
journalctl -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'0 h1 i+ q6 K" @  m% v! r! [
```
. E6 C9 R* |, J5 J`sed` 只粗略替换 UUID 和 IPv4,**不保证**遮住域名、公钥、short_id 等;贴出前务必本地检查。常见:`reality verification failed`=sni/pbk/sid 不对;超时=节点端口不通或 Android 富强 锁定;`check` 报错=配置结构问题。**不要贴 `/etc/sing-box/dmit.json` 原文**。
/ B  R' K$ }7 S) O  V
9 R# |5 ~2 h+ o; T/ Y## 6. 备份与恢复(本地加密)
5 u+ w  v3 _$ P' N3 o2 U8 ^```sh: d1 D% q9 F4 k- `+ }3 M; [
sudo sh "$KIT/backup.sh"     # 交互输入口令;产物 /root/pixel-proxy-backups/*.tar.gz.gpg
' i& y; v8 e% v, c8 g6 Q4 I8 p) Hsudo ls /root/pixel-proxy-backups
1 J2 i  ?2 m- ^3 k. T% `# K# ^sudo python3 "$KIT/restore.py" /root/pixel-proxy-backups/pixel-proxy-XXXX.tar.gz.gpg --dry-run   # 只验证
, Y2 }# ]$ ^3 j4 ]1 ^sudo python3 "$KIT/restore.py" /root/pixel-proxy-backups/pixel-proxy-XXXX.tar.gz.gpg             # 真正恢复, m+ W$ H* {2 U6 g; R- n6 k
sudo systemctl restart pixel-tun
% v- ~& w" A+ J: u- L```
$ e# }% G, F6 a% S) D' }" m- 备份内容:`/etc/sing-box`、`/usr/local/sbin/pixel-proxy-start`、`pixel-tun.service` 及 drop-in(存在的才打包)。含节点凭据,所以加密;口令另行保管,不要写进命令行或环境变量。明文 tar 只在 0700 临时目录短暂存在,结束即删。
* Q: K' b( d; Q+ f6 y6 U/ x! K( Y0 A- `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`,**不启动/重启服务**。" L0 i6 u/ |) P. g
- 可用 `python3 "$KIT/restore.py" 备份.gpg --root /tmp/testroot` 在临时目录演练(不备份、不 reload)。4 ?& ~& C: L# h/ x2 G
- 只有在手机上真正执行过 `backup.sh` 才算有备份。' k: K- V: ^- E* _; X4 `6 z  a
- 资料包验证范围:模板和假节点导入通过 sing-box 1.14.4 检查,恢复校验及写入仅在临时测试目录验证;未在你的手机上执行备份或完整恢复,建议先做备份与 dry-run。- F) f% S5 j5 `  D9 T$ `# @2 m9 d

; I. ^" z/ s  c- s+ Q3 I( ]## 7. 自动云备份(尚未实现,需你先选目的地)
  w6 a2 R( T' r2 p0 }+ J/ V建议:选定 SFTP / WebDAV / S3 等后,用 `restic`(自带加密)+ systemd timer(`Persistent=true`);WebDAV 通常还需 rclone 等适配层。/ h. D! ^+ ^/ k. D& E( {& [
- 只在 Debian 虚拟机运行时执行;关机期间不会跑,开机后补跑一次;云端不能远程唤醒。+ ?/ k4 `6 Y; y+ n( P. ^* R. }
- 无人值守需要本地保存 0600 的仓库密码/云凭据;**恢复密钥另外离线保存**,不要放进云端归档本身。
8 T% \7 X& h8 ?2 G1 c) {- 目前可先用第 6 节手动加密备份,再自行把 `.gpg` 文件复制到云盘。
7 ?1 p2 U+ J/ ]" _
, X8 s5 k' I0 u& |, ^, V" e## 8. 回退到旧 Nekobox 依赖方案(原 Pixel 适用)
; j& q- E/ d; x8 j( E. C```sh6 z8 x) q* }4 }6 ?0 d5 g' d7 s
sudo rm /etc/systemd/system/pixel-tun.service.d/dmit.conf && sudo systemctl daemon-reload && sudo systemctl restart pixel-tun
, |. W3 ]* D; N* ?4 R```
. D4 }6 R% C$ k4 y旧方案依赖 Android 上 Nekobox 开着"允许局域网"、mixed 端口 2080;启动脚本每次从默认路由读网关 IP(如 `10.x.x.x`,会变)代入模板。新方案不需要这些。局域网监听只应在可信网络开启。% k2 X+ K" N/ v
% t+ y7 s8 G% X( `  P6 U$ y/ M
## 来源
; |2 B; f+ N/ f: ?; v- https://github.com/SagerNet/sing-box/releases/tag/v1.14.4
3 E" C* c/ S) `, X) Q7 ]- https://sing-box.sagernet.org/configuration/inbound/tun/
4 O9 O( x/ ]2 O3 `2 S, r- https://sing-box.sagernet.org/configuration/route/! [+ p* u+ Z5 @! O/ I% Y
- https://sing-box.sagernet.org/configuration/shared/tls/
相关帖子
vpsjq.com   
surveypayoutwatch.com
回复

使用道具 举报

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

本版积分规则

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

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

Copyright © 2001-2026, AdvertCN

Proudly Operating in Hong Kong.

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