Socks简介:
详情可以百度,不过我猜你对那一大堆术语也会像我一样觉得无语,
所以我觉得你可以简单理解为它可以比较完美代理http/ftp/smtp等多种协议的代理工具就行了。
其中最具有典型例子的就是QQ的登录、foxmail的邮件、火狐的网页浏览都可以直接设置使用Socks代理,火狐的比较纠结,填不了对socks的用户验证。
例1:QQ代理
在qq登录框点击右上角的向下箭头,会瞬间反过来切换到网络设置界面,也就是选择使用代理。
如上图,选择类型为Socks5代理,然后正确填入Socks代理服务器的ip、端口、用户和密码后即可实现。
点击测试可测试出能不能成功连接到代理服务器。
例2:Foxmail邮件代理
foxmail可以很方便在系统设置-网络里对不同账号自定义设置,下方自定义代理设置中可看到邮件代理服务器的各项。
例3:firefox代理
火狐浏览器连接设置中可以配置走Socks5代理,纠结的是它没有提供填入用户和验证密码项。
例4:proxfier代理
所以使用proxifier去做连接Socks5代理的方式也是可以使火狐实际上是使用代理上网:
在profile菜单下可以对ProxyServer进行设置,添加Socks代理服务器,还可以设置通过认证
SOCKS5代理需要在本地安装客户端,Windows推荐使用Proxifier,非常好用,可以指定应用程序上网。
如上图,客户端默认规则是所有应用都走socks代理,这也是前面为什么火狐不用做任何代理设置就会透明使用Socks代理的缘故。
----------以下引用自百度百科------------------
1、添加代理:
运行软件,打开软件主界面。选择option–>proxy setting,点击右侧的Add添加代理,在弹出的窗口中添加你的代理。
如果你的代理需要验证,在setting部分填入用户名和密码。添加完成后可以检查代理的可用性。
2、设置代理规则
运行软件,打开软件主界面。选择option–>proxification Rules,在打开的窗口中选择哪些软件使用该代理访问网络,
默认是全部软件都通过该代理访问网络,对于本机localhost的访问除外。
Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。
有许多网络应用程序不支持通过代理服务器工作,因此不能用于局域网或防火墙后面。这些会损害公司的隐私和导致很多限制。Proxifier解决了这些问题和所有限制。
------------引用结束---------------------
安装配置Socks5
系统环境:以CentOS7为例
提前准备:官网下载Socks5 tar包
版本:ss5-3.8.9-8.tar.gz
链接:
http://sourceforge.net/projects/ss5/files/
官方实例
http://ss5.sourceforge.net/examples.htm
wget http://downloads.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
1、安装依赖开发库
yum install pam-devel openldap-devel openssl-devel
2、解压tar包并进行编译安装
tar -zxvf ss5-3.8.9-8.tar.gz #注:解压后得到的目录是ss5-3.8.9
cd ss5-3.8.9
./configure
注:默认是1080端口,如果想改端口的话,./configure –with-defaultport=10086
make
make install
典型的默认编译三部曲,没有什么好说的
3、修改配置文件
ss5 默认使用1080端口,并允许任何人使用
在这里主要是修改对ss5开启用户验证
vim /etc/opt/ss5/ss5.conf
auth 0.0.0.0/0 – -
改为
auth 0.0.0.0/0 – u
permit – 0.0.0.0/0 – 0.0.0.0/0 – – – – -
改成为
permit u 0.0.0.0/0 – 0.0.0.0/0 – – – – -
开启用户验证
要有用户验证的才通过
其它还有许多细致和更严瑾的配置,这里就不多作研究了。
大致上看conf文件上的注释也能理解。
4、添加认证用户
vim /etc/opt/ss5/ss5.passwd
##用户 密码
test 123456
5、启动Socks
默认情况ss5文件没有执行权限,所以有两种方法可以做到启动效果,一种是chmod加上x执行权限:
chmod u+x /etc/rc.d/init.d/ss5
另外一种是
在/etc/sysconfig/ss5中将SS5_OPTS取消注释:
SS5_OPTS=” -u root”
不取消注释的话运行ss5用户的是nobody,后面出于安全考虑,可能这里指定自己新建的用户好些。
还有就是你想运行使用不是默认的1080端口的话还可以这样:
/usr/sbin/ss5 -t $SS5_OPTS -u root -b 0.0.0.0:10086
-u 指定运行的用户(当然后面不建议直接用root)、-b 指定监听网卡和端口
又或者修改环境变量
以 root 身份运行 SS5 并修改端口为 8899 (默认端口 1080)
修改 /etc/init.d/ss5 并在文件顶部的 #!/bin/sh 之后添加下面的代码:
export SS5_SOCKS_PORT=10086
export SS5_SOCKS_USER =root
开机启动ss5
chkconfig --add ss5 //可选加入开机启动
chkconfig --level 345 ss5 on //可选启用开机启动
systemctl restart ss5.services #centos7是用systemctl来启动服务的
至此,SS5就可以使用了。
/usr/sbin/ss5: symbol lookup error: /usr/lib/ss5/mod_proxy.so: undefined symbol: S5UdpResolvHostName
此错误我在登录QQ之后报出来
解决方法:网上说更换低版本……这就没什么意义了,然而其实QQ还是有继续登录在线阿
文:铁乐与猫
2018-2-8
原文地址:https://www.cnblogs.com/tielemao/p/8430780.html