安装 ShadowsocksR 服务器端(Python多用户版)

  • A+
所属分类:IT技术

前言

ShadowsocksR 使用 Socks5 代理方式,分为服务器端和客户端。在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并建立本地代理。本文详细介绍如何在服务器端安装ShadowsocksR (Python多用户版)安装 ShadowsocksR 服务器端(Python多用户版)

  • 友情提示:ShadowsocksR作者已经被喝茶,请谨慎使用网络上的一键安装脚本,为什么不试试跟着自己一步一步来手动安装配置呢!!也不是那么难嘛

前期准备

  • 国外(或香港地区)VPS 一台
  • 已顺利通过 SSH 连接到服务器

服务端安装

1.获取源代码

  1. yum -y install git
  2. cd /usr/local
  3. git clone -b manyuser https://github.com/shadowsocksr-backup/shadowsocksr.git

执行完毕后此目录会新建一个shadowsocksr目录,其中根目录的是多用户版(即数据库版,个人用户请忽略这个),子目录中的是单用户版(即shadowsocksr/shadowsocks)。

  • 根目录即 ./shadowsocksr
  • 子目录即 ./shadowsocksr/shadowsocks

2.服务端配置

  1. cd /usr/local/shadowsocksr
  2. bash initcfg.sh
  3. rm -r user-config.json
  4. vi user-config.json

直接复制以下代码,一般只需更改"port_password"字段,"port"表示端口"password"表示密码

  1. {
  2.     "server":"0.0.0.0",
  3.     "server_ipv6""::",
  4.     "local_address":"127.0.0.1",
  5.     "local_port":1080,
  6.     "port_password":{
  7.         "1234":"******",
  8.         "5678":"******"
  9.     },
  10.     "method":"aes-128-ctr",
  11.     "protocol""auth_aes128_md5",
  12.     "protocol_param""",
  13.     "obfs""tls1.2_ticket_auth_compatible",
  14.     "obfs_param""",
  15.     "timeout"120,
  16.     "udp_timeout"60,
  17.     "dns_ipv6"false,
  18.     "connect_verbose_info"0,
  19.     "redirect""",
  20.     "fast_open"false
  21. }

3.开机自启及管理脚本

新建脚本保存为/etc/init.d/shadowsocks

  1. vi /etc/init.d/shadowsocks

填入以下内容

  1. #!/bin/sh
  2. # chkconfig: 2345 90 10
  3. # description: Start or stop the Shadowsocks R server
  4. #
  5. ### BEGIN INIT INFO
  6. # Provides: Shadowsocks-R
  7. # Required-Start: $network $syslog
  8. # Required-Stop: $network
  9. # Default-Start: 2 3 4 5
  10. # Default-Stop: 0 1 6
  11. # Description: Start or stop the Shadowsocks R server
  12. ### END INIT INFO
  13. name=shadowsocks
  14. PY=/usr/bin/python
  15. SS=/usr/local/shadowsocksr/shadowsocks/server.py
  16. SSPY=server.py
  17. conf=/usr/local/shadowsocksr/user-config.json
  18. start(){
  19.     $PY $SS -c $conf -d start
  20.     RETVAL=$?
  21.     if [ "$RETVAL" = "0" ]; then
  22.         echo "$name start success"
  23.     else
  24.         echo "$name start failed"
  25.     fi
  26. }
  27. stop(){
  28.     pid=`ps -ef | grep -v grep | grep -v ps | grep -i "${SSPY}" | awk '{print $2}'`
  29.     if [ ! -z "$pid" ]; then
  30.         $PY $SS -c $conf -d stop
  31.         RETVAL=$?
  32.         if [ "$RETVAL" = "0" ]; then
  33.             echo "$name stop success"
  34.         else
  35.             echo "$name stop failed"
  36.         fi
  37.     else
  38.         echo "$name is not running"
  39.         RETVAL=1
  40.     fi
  41. }
  42. status(){
  43.     pid=`ps -ef | grep -v grep | grep -v ps | grep -i "${SSPY}" | awk '{print $2}'`
  44.     if [ -z "$pid" ]; then
  45.         echo "$name is not running"
  46.         RETVAL=1
  47.     else
  48.         echo "$name is running with PID $pid"
  49.         RETVAL=0
  50.     fi
  51. }
  52. case "$1" in
  53. 'start')
  54.     start
  55.     ;;
  56. 'stop')
  57.     stop
  58.     ;;
  59. 'status')
  60.     status
  61.     ;;
  62. 'restart')
  63.     stop
  64.     start
  65.     RETVAL=$?
  66.     ;;
  67. *)
  68.     echo "Usage: $0 { start | stop | restart | status }"
  69.     RETVAL=1
  70.     ;;
  71. esac
  72. exit $RETVAL

执行命令,赋予脚本权限,执行脚本

  1. chmod 755 /etc/init.d/shadowsocks && chkconfig --add shadowsocks && service shadowsocks start

即可此时ShadowsR服务端安装完成!!

4.ShadowsocksR服务器维护指令

在今后的服务器维护中,可以使用以下命令查看和停启服务。

  1. service shadowsocks restart|重启SSR服务端
  2. service shadowsocks status |SSR服务器状态
  3. service shadowsocks start   |启动SSR服务端
  4. service shadowsocks stop   |停止SSR服务端

5.可能出现的问题

如果你像这样在 VPS 上准确配置好 SSR 服务器端,接着又在自己电脑上准确配置好 SSR 客户端,但还是无法使用,一个可能的原因是相应的端口没有打开

这种情况最可能的一个原因是: 你配置 ShadowsocksR 的服务器不是纯净的。之前已经装了像 OneinStack、LNMP 这样的一键安装包,而这些脚本的防火墙规则默认关闭我们配置的 8001、8002、8003 这样的端口

下面以 8080 端口为例,来看下如何手动打开端口:

# 打开 8080 端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8080/udp --permanent
# 如果要删除防火墙规则,关闭 8080 端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
firewall-cmd --zone=public --remove-port=8080/udp --permanent

这样一来,我们就可以自由地在国际互联网上冲浪了。Enjoy !

客户端

搭建完成后,选择你的客户端平台,填入配置文件即可(以下是原链接,部分因为XX原因已经凉凉)

安装 ShadowsocksR 服务器端(Python多用户版)

  • 我的微信
  • 微信扫一扫添加我
  • weinxin
  • 小镇标志
  • 欢迎前往诗语小镇
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: