文章目录
一、配置:
需要一台linux云服务器(我的是浙江的),CentOS 7.2 64位
我使用本地的windows系统操作的,下载一个putty即可链接。
*(先说下哈,我第一次使用的是centos 8的版本64位,结果参考了无数的文章,就是使用make报错,改为7.2的centos版本就测试成功了,但是弄账号和密码的时候,怎么弄就不成功,搞了一上午了,就先放置吧,反正自己改下默认的端口号也是可以使用的。强烈建议换成centos7的,其他的想研究自己可以研究研究也可以,如果有大佬懂这个的也可以把自己成功的博客让我参考参考哈)
设置用户的问题已经解决了哈
二、搭建步骤:
找到的一些资料:
链接:
http://sourceforge.net/projects/ss5/files/
http://ss5.sourceforge.net/
官方实例
http://ss5.sourceforge.net/examples.htm
1、通过yum安装ss5 依赖包
yum install gcc openldap-devel pam-devel openssl-devel
2、安装ss5
①、首先下载ss5
# 这个是一个日本大学的sourceforge镜像
wget http://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
也可以使用这个下载:
wget http://downloads.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
②、解压安装:
# 解压,"ss5-3.8.9-8.tar.gz"是刚才下载的压缩包
# -v过程显示文件 -z解压/压缩gzip -x解压操作 -f 后面加要操作的文件
tar -vzx -f ss5-3.8.9-8.tar.gz
然后进入:
ss5-3.8.9目录:
cd ss5-3.8.9/
运行’./configure’
# configure是一个shell脚本
# 主要的作用是对即将安装的程序进行配置,
# 检查当前的环境是否满足要安装程序的依赖关系.
# 如果系统环境合适,就会生成makefile,否则会报错。
./configure
下面这个就是配置成功。我当时centos8的时候,这个和后面的make、make install都报错。
然后make && make install,也可以一个一个执行
# make是一个命令工具
# 解释 Makefile 中的规则。
# Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。
# 实际上make是执行Makefile中的第一条命令
make
# 执行Makefile中的install
# 这些都可以在Makefile文件中看到
# 可以使用vim Makefile查看文件
make install
3、启动:
service ss5 start
如果报错/etc/init.d/ss5
被拒绝
修改一下文件权限即可:
# a+x 给所有人加上可执行权限(所有者,所属组,其他)
chmod a+x /etc/init.d/ss5
然后再启动就可以了。
4、修改配置:
把文件中下面俩行的注销#
号取消即可(俩行不在一起)。
#auth 0.0.0.0/0 - -
#permit - 0.0.0.0/0 - 0.0.0.0/0 - - - - -
vi /etc/opt/ss5/ss5.conf
然后保存退出即可:
5、修改端口号(默认1080,但是容易被人家扫描盗用)
vi /etc/sysconfig/ss5
默认情况下只有俩个注解行,可以使用-b加上后面的16666就是设置的端口号。保持使用即可。
6、重启ss5服务:
service ss5 restart
7、我在谷歌浏览器中使用代理:
使用插件:SwitchyOmega
设置代理:
百度搜索ip
8、python代码中的使用代理测试:
import json
import requests
def demo_ip():
url = "https://ai.taobao.com/"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36'
}
ip_one = '47.111.229.49:16666'
proxies = {
# "http": "socks5://zhao:zhao2020@" + ip_one,
# "https": "socks5://zhao:zhao2020@" + ip_one,
"http": "socks5://" + ip_one,
"https": "socks5://" + ip_one,
}
try:
resp = requests.get(url=url, headers=headers, proxies=proxies, timeout=2)
print(resp.status_code)
print(resp.text)
print(resp.cookies)
except:
print('异常')
pass
else:
pass
if __name__ == '__main__':
demo_ip()
使用代理成功。
三、经过不懈的努力,总算找到了设定用户和密码的方法:
当然,你看到我的时候,肯定我的代理不能用了(博文只提供步骤哈,密码端口号我肯定改滴),比较我是去年双十一时买的小服务器,经不起经不起,想弄的话自己弄台服务器玩玩。
原来我之前尝试的方法是对的,我使用python代码测试是可以的,是因为我这个插件不支持socks5的账号和密码的验证,直接代理+端口号的,以后就知道了。
下面直接进入主题,设置账号密码的步骤:
1、修改配置文件:
第一次我们不设置用户名和密码的时候,只是把俩句注销的地方取消注销,这次只是修改俩行的一个常熟,把对应得-
换成u
。
vi /etc/opt/ss5/ss5.conf
#auth 0.0.0.0/0 - -
auth 0.0.0.0/0 - u
#auth 0.0.0.0/0 - -
auth 0.0.0.0/0 - u
就是上面来个地方进行了小修改,第一次修改这个配置文件的时候。
2、添加账号和密码:
vi /etc/opt/ss5/ss5.passwd
添加格式:用户名 密码(中间为空格)
zhao zhao
3、重启ss5即可:
service ss5 restart
4、使用python代码测试:
为更好的测试代理,这次我使用httpbin网站测试:
import json
import requests
def demo_ip():
url = "http://httpbin.org/ip" # 如果返回的ip里面有本机ip,则证明不是匿名代理
# url = "http://httpbin.org/get?show_env=1" # "X-Real-Ip"对应的value如果是你的本机ip,则不是匿名代理
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36'
}
ip_one = '47.111.229.49:16666'
proxies = {
"http": "socks5://zhao:zhao@" + ip_one,
"https": "socks5://zhao:zhao@" + ip_one,
# "http": "socks5://" + ip_one,
# "https": "socks5://" + ip_one,
}
try:
resp = requests.get(url=url, headers=headers, proxies=proxies, timeout=2)
# resp = requests.get(url=url, headers=headers, timeout=2)
print(resp.text)
ip_str = json.loads(resp.text)["origin"]
print("ip_str", ip_str)
except:
print('异常')
pass
else:
pass
if __name__ == '__main__':
demo_ip()
这个是我跑的结果,记得把带来中的代理改为你自己的,我的肯定不能用了。
5、设置开机启动:
方法1:
这个我设置之后,重启服务器不行,没有弄成这个方法。
chkconfig --add ss5 //可选加入开机启动
chkconfig --level 345 ss5 on //可选启用开机启动
systemctl restart ss5.services #centos7是用systemctl来启动服务的
# 我的没有弄通:使用下面我的重启成功
service ss5 restart
方法2:
失败之后找到第二个方法:
# 开机自启动(3.8.9-8的一个bug,重启会删掉/var/run/ss5/,导致开机自启动时无法创建pid文件)
echo 'mkdir /var/run/ss5/' >> /etc/rc.d/rc.local ;\
chmod +x /etc/rc.d/rc.local ;\
/sbin/chkconfig ss5 on
#查看日志
tail -100f /var/log/ss5/ss5.log
我这里使用第二个方法,然后重启自己的阿里云服务器之后,sockes5代理还能使用,虽说测试第一个方法之后,然后又重新搭建了一遍,不过第二次成功了还是值得的,只不过又耽误了一个小时。