Ubuntu 23.10系统全局配置带账号密码认证的Socks5代理方法咨询
Ubuntu 23.10系统全局配置带账号密码认证的Socks5代理方法咨询
嘿,我完全理解你的需求——在Ubuntu 23.10上给全系统的所有应用都配置带账号密码认证的Socks5代理,而不是像proxychains那样只能给命令行工具用。确实系统设置面板里默认没直接显示代理认证的输入项,这挺容易让人懵的,下面给你几个亲测可行的方案:
方法一:通过系统环境变量全局配置
这种方法对系统服务、大部分桌面应用(包括GTK/Qt类)都能生效,步骤如下:
- 打开终端,编辑系统环境变量文件:
sudo nano /etc/environment - 在文件末尾添加以下内容(务必替换成你的实际代理信息):
其中http_proxy="socks5://你的用户名:你的密码@代理IP:代理端口/" https_proxy="socks5://你的用户名:你的密码@代理IP:代理端口/" ftp_proxy="socks5://你的用户名:你的密码@代理IP:代理端口/" all_proxy="socks5://你的用户名:你的密码@代理IP:代理端口/" no_proxy="localhost,127.0.0.1,::1,192.168.0.0/16"no_proxy里的内容是不需要走代理的本地地址段,你可以根据自己的局域网情况调整 - 保存并退出编辑器:按
Ctrl+O,回车确认保存,再按Ctrl+X退出 - 要让配置立即生效,你可以执行
source /etc/environment,但部分桌面应用可能需要重启才能识别,最稳妥的是重启系统一次
方法二:用gsettings配置GNOME桌面全局代理
Ubuntu 23.10默认使用GNOME桌面,通过gsettings命令可以直接配置带认证的Socks5代理,专门针对桌面应用生效:
- 打开终端,依次执行以下命令(替换命令中的占位符为你的实际信息):
# 切换到手动代理模式 gsettings set org.gnome.system.proxy mode 'manual' # 设置Socks5代理的IP和端口 gsettings set org.gnome.system.proxy.socks host '代理IP' gsettings set org.gnome.system.proxy.socks port 代理端口 # 配置代理的账号和密码 gsettings set org.gnome.system.proxy.socks authentication-user '你的用户名' gsettings set org.gnome.system.proxy.socks authentication-password '你的密码' # 设置忽略代理的地址列表(可选,按需调整) gsettings set org.gnome.system.proxy ignore-hosts "['localhost', '127.0.0.0/8', '::1', '192.168.0.0/16']" - 如果之后需要关闭代理,只需执行这条命令切换回自动模式:
gsettings set org.gnome.system.proxy mode 'none'
方法三:通过Privoxy中转实现全应用兼容(可选)
有些老旧应用可能不直接支持Socks5代理,这时候可以用Privoxy把Socks5代理转换成HTTP代理,再全局配置HTTP代理:
- 先安装Privoxy工具:
sudo apt update && sudo apt install privoxy -y - 编辑Privoxy的配置文件:
sudo nano /etc/privoxy/config - 找到并修改(或添加)以下内容,替换成你的Socks5代理信息:
注意行尾的# 转发所有请求到Socks5代理,带账号密码 forward-socks5 / 你的用户名:你的密码@代理IP:代理端口 . forward-socks5t / 你的用户名:你的密码@代理IP:代理端口 ..是必须的,不要漏掉 - 保存退出后,重启Privoxy服务让配置生效:
sudo systemctl restart privoxy - 最后在系统设置的网络代理里,把HTTP和HTTPS代理都设为
localhost:8118(Privoxy默认监听端口),这样所有走HTTP代理的应用都会自动通过Privoxy中转到你的Socks5代理
备注:内容来源于stack exchange,提问作者Sarowar Hosen
相关产品推荐
相关产品推荐

