mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-19 18:50:42 +00:00
琚帶绔?- 淇 MTU 闂锛氬す MSS + 璺緞 MTU 鎺㈡祴锛堝叕缃戝彲鐢ㄧ巼 48% -> 100%锛?- 澶嶇敤 HTTP 杩炴帴锛堝厤鎺夋瘡娆℃柊寤?TLS 鐨?30% 鎻℃墜澶辫触锛?- 姣忓垎閽熷洖澶存壘灞€鍩熺綉锛岃嚜鍔ㄥ垏鍥炲揩 400 鍊嶇殑璺緞 - 鐢婚潰蹇冭烦甯э細闈欐鏃剁渷娴侀噺锛屽鎴风浠嶇煡閬撴祦鏄椿鐨?- 閿佸睆鏃剁粰鍑哄彲鎿嶄綔鐨勬彁绀? 鎵嬭〃绔?- 鍐呯疆 GTS Root R4 / GlobalSign Root CA锛屼慨 SSLHandshakeException - 杩炴帴閿欒缈昏瘧鎴愪汉璇濓紙璇佷功/鏃堕棿/瑙f瀽/瓒呮椂鍒嗗埆鎻愮ず锛?- 缁忎腑杞繛涓婂悗鐢ㄦ湇鍔″櫒鎶ョ殑鍦板潃鍒锋柊宸查厤瀵硅褰?- 鏂板灞€鍩熺綉杩炴帴椤甸潰銆佹湇鍔″櫒寤惰繜妫€娴? 鏈嶅姟鍣ㄧ - 鏀寔 chunked 璇锋眰浣擄紙淇瘡 16 绉掍竴娆$殑杩炴帴閿欎贡涓庡ぇ闈㈢Н 502锛?- 缃戠粶璋冧紭鑴氭湰 net-tune.sh锛堝紑鏈鸿嚜鍔ㄥ簲鐢級 - 绠$悊椤碉細鎵归噺鍒犻櫎銆佺綉缁滀綋妫€銆佷笅杞藉尯 - 闅ч亾鏀?HTTP/2 + 鍙岃繛鎺? 鏂囨。 - 璁稿彲鍗忚 / 瀹夎鍓嶅繀璇?/ 瀹夎鍚庨』鐭ワ紙浣滆€咃細灏忛害瀛愶級
111 lines
4.0 KiB
Plaintext
111 lines
4.0 KiB
Plaintext
========================================================
|
||
服务器端(随身 WiFi / Linux) 版本 1.4.0
|
||
========================================================
|
||
|
||
作用:让**不在同一个网络**的电脑和手表连上。
|
||
|
||
手表 ──HTTPS──┐
|
||
├──> Cloudflare ──> 本机 :8080
|
||
电脑 ──HTTPS──┘
|
||
|
||
本程序是**纯标准库**的 Python,不装任何第三方包。
|
||
内存占用约 20MB,加 cloudflared 共约 60MB —— 512MB 的小机器跑得动。
|
||
|
||
|
||
【装】
|
||
|
||
把本文件夹拷到设备上,然后:
|
||
|
||
bash install.sh
|
||
|
||
它会:
|
||
1. 检查 python3 / cloudflared(没有就下载)
|
||
2. 装两个 systemd 服务并设为开机自启:
|
||
lanremote-relay 中转服务
|
||
lanremote-tunnel Cloudflare 隧道
|
||
3. 打印公网地址和管理页地址
|
||
|
||
|
||
【常用命令】
|
||
|
||
lanremote-url 打印当前公网地址
|
||
lanremote-key 打印管理钥匙
|
||
systemctl status lanremote-relay
|
||
systemctl status lanremote-tunnel
|
||
journalctl -u lanremote-relay -f
|
||
|
||
|
||
【地址老变怎么办?记住一个局域网地址就行】
|
||
|
||
匿名隧道的公网地址每次重启都会变。查当前地址:
|
||
|
||
浏览器打开 http://<随身WiFi的IP>:8080/url
|
||
|
||
比如 http://192.168.2.156:8080/url
|
||
它会直接返回当前的公网地址,纯文本,不用登录。
|
||
|
||
下面还有两个命令(SSH 上去用):
|
||
lanremote-url 打印当前公网地址
|
||
systemctl restart lanremote-tunnel 换个地址(超时的时候用)
|
||
|
||
|
||
【管理】
|
||
|
||
管理页: <公网地址>/?key=<lanremote-key 的输出>
|
||
管理页顶部也会大字显示"当前公网地址"。
|
||
管理密码:120830(存在 data/admin_password.txt,可改)
|
||
|
||
能看到:设备列表、在线状态、配对码、流量、会话数
|
||
能操作:踢会话、抹掉配对码绑定
|
||
|
||
|
||
【重要:这几个参数都是实测调出来的】
|
||
|
||
install.sh 里给 cloudflared 加了:
|
||
--edge-ip-version 4 只走 IPv4
|
||
--ha-connections 1 并发连接数
|
||
--retries 5 连边缘失败时多重试
|
||
|
||
为什么(都是踩出来的,不是拍脑袋):
|
||
|
||
① IPv6:这条线路**分配了 IPv6 地址但实际不通**,
|
||
而 Cloudflare 边缘默认优先 IPv6,会导致建隧道一直超时
|
||
(日志里是 context deadline exceeded)。
|
||
|
||
② 协议:**用默认的 QUIC,不要写 --protocol http2**。
|
||
实测这条线路把 HTTP/2 用的 TCP 7844 挡了:
|
||
TLS handshake with edge error: read tcp ...:7844: i/o timeout
|
||
而 QUIC 走 UDP 7844 是通的。
|
||
(早期版本这里误写成 --protocol http2,隧道完全起不来。)
|
||
|
||
③ 连接数:用 1(默认是 4)。这条线路对并发 UDP 很敏感:
|
||
链路好时 ha=4 只成功注册 1 条(9/10),ha=2 是 10/10;
|
||
链路退化时 ha=2 掉到 0/10(一条失败重试把另一条也拖下水),
|
||
而 ha=1 是 15/15 + 10/10(100%)。
|
||
多一条连接不是多一份冗余,而是多一份争抢。
|
||
冗余交给看门狗(每 30 秒查一次,断了就重启)更靠谱。
|
||
|
||
换了网络环境可以试着去掉这些参数用默认值。
|
||
|
||
|
||
【关于隧道地址会变】
|
||
|
||
默认用的是 Cloudflare **匿名快速隧道**,地址每次重启会变。
|
||
想固定地址要用**具名隧道**(需要你自己的域名):
|
||
|
||
cloudflared tunnel login # 浏览器点授权
|
||
cloudflared tunnel create lanremote
|
||
cloudflared tunnel route dns lanremote relay.你的域名
|
||
# 然后把 lanremote-tunnel.service 的 ExecStart 换成:
|
||
# cloudflared tunnel --no-autoupdate run lanremote
|
||
|
||
具名隧道不受匿名隧道限流,稳定性完全不是一个级别。
|
||
|
||
|
||
【省内存】
|
||
|
||
默认给两个服务各设了 MemoryMax=128M。
|
||
要再省就把用不上的服务停掉:
|
||
systemctl stop mariadb php8.2-fpm apache2
|
||
systemctl disable mariadb php8.2-fpm apache2
|