请问用 shell 脚本怎么设置 window 系统代理?就像 clash 那样

2022-08-07 20:48:10 +08:00
 MEIerer

目的是为了处理所有走代理的请求

1465 次点击
所在节点    程序员
4 条回复
AoEiuV020CN
2022-08-08 10:31:19 +08:00
不一定有效,毕竟 linux 情况比 windows 复杂,
以下代码 export 变量针对的是命令行,dconf 针对的是类 gnome 桌面里的“系统代理”,

proxy() {
echo setup system proxy...
export http_proxy_host='proxyhost'
export socks_proxy_host=$http_proxy_host
export http_proxy_port='1082'
export socks_proxy_port='1081'
export ALL_PROXY="socks5://$socks_proxy_host:$socks_proxy_port/"
# ftp 代理会导致 wget 无法下载 ftp 文件,
unset FTP_PROXY
export HTTPS_PROXY="http://$http_proxy_host:$http_proxy_port/"
export HTTP_PROXY="http://$http_proxy_host:$http_proxy_port/"
# 写死 127.0.0.1 因为 flutter 的 websocket 需要,
export NO_PROXY="localhost,127.0.0.1,127.0.0.0/8,::1"
export all_proxy=$ALL_PROXY
unset ftp_proxy
export http_proxy=$HTTP_PROXY
export https_proxy=$HTTPS_PROXY
export no_proxy=$NO_PROXY
which dconf &>/dev/null && (
dconf write /system/proxy/http/host "'$http_proxy_host'"
dconf write /system/proxy/http/port "$http_proxy_port"
dconf write /system/proxy/https/host "'$http_proxy_host'"
dconf write /system/proxy/https/port "$http_proxy_port"
dconf reset /system/proxy/ftp/host
dconf reset /system/proxy/ftp/port
dconf write /system/proxy/socks/host "'$socks_proxy_host'"
dconf write /system/proxy/socks/port "$socks_proxy_port"
dconf write /system/proxy/ignore-hosts "['localhost', '127.0.0.1', '127.0.0.0/8', '::1']"
dconf write /system/proxy/mode "'manual'"
) || true
}
noproxy() {
unset ALL_PROXY
unset FTP_PROXY
unset HTTPS_PROXY
unset HTTP_PROXY
unset NO_PROXY
unset all_proxy
unset ftp_proxy
unset http_proxy
unset https_proxy
unset no_proxy
which dconf &>/dev/null && (
dconf write /system/proxy/mode "'none'"
) || true
}
AoEiuV020CN
2022-08-08 10:35:32 +08:00
等等,你一会儿 shell 一会儿 windows 的,到底是什么环境,
我这里还有个 cmd 设置 windows 系统代理的代码,
用到第三方工具 sysproxy.exe ,否则无法立即生效,

set sysproxy=%pwd%../sysproxy/sysproxy.exe
echo 设置 ie 代理,
%sysproxy% global 127.0.0.1:1081 "<local>"

echo 关闭 ie 代理,
%sysproxy% set 1 - - -
MEIerer
2022-08-08 18:29:43 +08:00
@AoEiuV020CN 我是想通过用 shell 命令来控制 window 系统代理,网上找了一些法子都没效果
MEIerer
2022-08-08 18:30:39 +08:00
通过 IE 吗,我回去试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/871284

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX