服务搭建

  1. #!/usr/bin/env bash
  2. # HOW TO BUILD THE SERVER.
  3. # (1) 安装依赖组件;
  4. yum -y install gcc gcc-c++ automake make pam-devel openldap-devel cyrus-sasl-devel openssl openssl-devel
  5. # (2) 下载SS5;
  6. wget "https://jaist.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz"
  7. tar zxvf ./ss5-3.8.9-8.tar.gz
  8. cd ss5-3.8.9
  9. ./configure
  10. make
  11. make install
  12. # (3) SS5自启动;
  13. chmod +x /etc/init.d/ss5
  14. chkconfig --add ss5
  15. chkconfig --level 345 ss5 on
  16. # (4) 用户名密码验证机制;
  17. vi /etc/opt/ss5/ss5.conf
  18. # 修改auth和permit;
  19. auth 0.0.0.0/0 - u
  20. permit u 0.0.0.0/0 - 0.0.0.0/0 - - - - -
  21. # (6) 设置用户名和密码;
  22. vi /etc/opt/ss5/ss5.passwd
  23. # user user
  24. # (7) 设置端口
  25. vi /etc/sysconfig/ss5
  26. # SS5_OPTS=" -u root -b 0.0.0.0:8080"
  27. # (8) 启动
  28. service ss5 start
  29. # IF_ERROR
  30. /etc/init.d/network restart
  31. # 发现报错信息:
  32. # /etc/sysconfig/network: No such file or directory
  33. vi /etc/sysconfig/network
  34. # NETWORKING=yes
  35. # NETWORKING_IPV6=no
  36. # HOSTNAME=
  37. # GATEWAY=192.168.0.1

链接测试

  1. # -*-coding:utf-8-*-
  2. # @auth ivan
  3. # @time 20180706 10:58
  4. # @goal test the socket server.
  5. import requests
  6. print('--1--')
  7. s1 = requests.session()
  8. r = s1.get('http://www.baidu.com')
  9. print(r.text.encode('utf-8'))
  10. s1.close()
  11. print('--2--')
  12. # pip install requests[socks]
  13. proxies = {
  14. 'http': 'socks5://user:user@58.87.77.225:8080',
  15. 'https': 'socks5://user:user@58.87.77.225:8080'
  16. }
  17. s2 = requests.session()
  18. r = s2.get('http://www.baidu.com', proxies=proxies)
  19. print(r.text.encode('utf-8'))
  20. s2.close()
  21. print('--3--')
  22. # pip install requests[socks]
  23. proxies = {
  24. 'http': 'socks5://user:user@47.93.21.40:8088',
  25. 'https': 'socks5://user:user@47.93.21.40:8088'
  26. }
  27. s2 = requests.session()
  28. r = s2.get('http://www.baidu.com', proxies=proxies)
  29. print(r.text.encode('utf-8'))
  30. s2.close()