SOCKS5代理和HTTP代理属于两类不同的代理协议。HTTP代理只能转发网页流量,SOCKS5层级更低,TCP、UDP流量都支持转发,游戏、邮件、P2P类应用都可以适配。拿到SOCKS5代理资源,一般会获得服务器地址、端口,部分代理还需要账号密码。拿到信息之后,配置方式取决于使用场景。
Windows可以配置系统级代理。打开设置,进入网络和Internet板块,找到代理选项,开启使用代理服务器,填入地址端口,保存设置。但Windows系统代理仅对部分应用生效,大量软件不会读取这个配置,所以更多直接在对应软件内部单独配置。

浏览器配置有差异。Chrome本身没有SOCKS5设置项,依赖系统代理或者插件。安装SwitchyOmega,新建情景模式,协议选择SOCKS5,填写地址端口,需要身份验证就补充账号密码,保存并启用。Firefox在设置页面搜索网络设置,选择手动配置代理,填写SOCKS5主机地址与端口,勾选使用SOCKS v5时代理DNS,防止DNS信息泄露。
手机端配置门槛不高。安卓连接WiFi后长按对应网络,选择修改网络,展开高级选项,代理切换为手动,填入主机地址和端口,保存。iPhone打开WiFi详情页,找到代理配置,选择手动,填写服务器地址和端口,开启鉴定选项输入账号密码。手机系统代理只作用于浏览器和少量应用,很多App不会跟随系统代理线路。
软件内单独配置的场景更常见。Telegram自带代理功能,进入设置的数据和存储页面,找到代理板块,新增代理,协议选SOCKS5,填写地址端口与认证信息,保存启用。curl命令行使用--socks5 地址:端口,带账号密码认证格式为--socks5 用户名:密码@地址:端口。Python requests库写法proxies={'http': 'socks5://地址:端口', 'https': 'socks5://地址:端口'},需要提前安装requests[socks]依赖包。
获取代理之后,先要验证连通性。浏览器打开IP查询站点,核对页面显示IP是否和代理地址一致。无法访问的时候,检查地址端口输入是否有误,确认代理节点是否存活,排查防火墙拦截情况。DNS泄漏问题不能忽视,部分配置下DNS解析依旧走本地线路,会暴露真实位置,尽量开启远程DNS解析。
自行搭建SOCKS5服务器,Linux平台常用Dante或者3proxy。Dante安装完成后,修改配置文件,设置内外网接口、认证规则,开放端口,启动服务。3proxy配置更简洁,写socks -p1080加上账号密码,一行配置就能启用。部署在公网必须开启身份认证,不然短时间就会被扫描器探测,沦为开放代理。
网上免费公开SOCKS5代理列表,大多速度差、稳定性弱,还存在流量记录风险。只能临时简单测试,账号登录、敏感文件传输不要使用。自建节点或者购买付费服务,远比寻找免费节点靠谱。