手机 Armbian 改为手动网络代理以降低内网穿透延迟
延迟和稳定
为了降低穿透的延迟,通常能降低100ms,这极大的提高了穿透的稳定性。把全局走代理,更改为不走代理,然后通过脚本命令,当需要升级安装软件时,打开代理,至于docker流量,也是通过脚本开启代理,docker应该可以一直开着,也可以手动关闭。习惯用fish所以都在fish下执行,系统代理退出当前shell自动失效,docker方面,退出依然生效。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
nano ~/.config/fish/functions/proxy-shell.fish function proxy-http set -gx http_proxy http://10.0.2.2:10808 set -gx https_proxy http://10.0.2.2:10808 set -ge ALL_PROXY echo "HTTP proxy set" end function proxy-socks5 set -gx http_proxy socks5://10.0.2.2:10808 set -gx https_proxy socks5://10.0.2.2:10808 set -gx ALL_PROXY socks5://10.0.2.2:10808 echo "SOCKS5 proxy set" end function proxy-off set -ge http_proxy set -ge https_proxy set -ge ALL_PROXY echo "Proxy disabled" end source ~/.config/fish/functions/proxy-shell.fish proxy-http # fish 下切到 http 模式,apt 可用 proxy-socks5 # fish 下切到 socks5 模式 proxy-off # 关闭 echo 'function proxy-docker switch $argv[1] case on mkdir -p /etc/systemd/system/docker.service.d echo "[Service] Environment=\"HTTP_PROXY=http://10.0.2.2:10808\" Environment=\"HTTPS_PROXY=http://10.0.2.2:10808\" Environment=\"NO_PROXY=localhost,127.0.0.1\"" > /etc/systemd/system/docker.service.d/proxy.conf systemctl daemon-reexec systemctl daemon-reload systemctl restart docker echo "Docker proxy ON" case off rm -f /etc/systemd/system/docker.service.d/proxy.conf systemctl daemon-reexec systemctl daemon-reload systemctl restart docker echo "Docker proxy OFF" case "*" echo "Usage: proxy-docker [on|off]" end end' > ~/.config/fish/functions/proxy-docker.fish proxy-docker on proxy-docker off nano ~/proxy-shell.sh bash#!/bin/bash case "$1" in http) export http_proxy=http://10.0.2.2:10808 export https_proxy=http://10.0.2.2:10808 unset ALL_PROXY echo "HTTP proxy set" ;; socks5) export http_proxy=socks5://10.0.2.2:10808 export https_proxy=socks5://10.0.2.2:10808 export ALL_PROXY=socks5://10.0.2.2:10808 echo "SOCKS5 proxy set" ;; off) unset http_proxy https_proxy ALL_PROXY echo "Proxy disabled" ;; *) echo "Usage: source ~/proxy-shell.sh [http|socks5|off]" ;; esac source ~/proxy-shell.sh http source ~/proxy-shell.sh socks5 source ~/proxy-shell.sh off nano ~/proxy-docker.sh #!/bin/bash case "$1" in on) mkdir -p /etc/systemd/system/docker.service.d cat > /etc/systemd/system/docker.service.d/proxy.conf <<'EOF' [Service] Environment="HTTP_PROXY=http://10.0.2.2:10808" Environment="HTTPS_PROXY=http://10.0.2.2:10808" Environment="NO_PROXY=localhost,127.0.0.1" EOF systemctl daemon-reexec systemctl daemon-reload systemctl restart docker echo "Docker proxy ON" ;; off) rm -f /etc/systemd/system/docker.service.d/proxy.conf systemctl daemon-reexec systemctl daemon-reload systemctl restart docker echo "Docker proxy OFF" ;; *) echo "Usage: ~/proxy-docker.sh [on|off]" ;; esac ~/proxy-docker.sh on ~/proxy-docker.sh off |
THE END