本站承诺永不接任何虚假欺骗、联盟广告、弹窗广告、病毒广告、诱导充值等影响用户体验的广告,广告屏蔽插件会影响本站部分功能,还请不要屏蔽本站广告,感谢支持!

当前位置:首页 / 正文

2019-10-29 | 编程技术 | 2048 次阅读 | 等你评论 | 0 次点赞 | 繁体

安装 pip (一般安装了 python 就有 pip,无需手动安装直接跳过此步骤即可)

pip 是 python 的包管理工具。在本文中将使用 python 版本的 shadowsocks,此版本的 shadowsocks 已发布到 pip 上,因此我们需要通过 pip 命令来快速安装。

在控制台执行以下命令安装 pip:

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py

安装配置 shadowsocks

在控制台执行以下命令安装 shadowsocks:

pip install --upgrade pip
pip install shadowsocks

安装完成后,需要创建配置文件 /etc/shadowsocks.json,内容如下:

{
    "server": "0.0.0.0",
    "server_port": 8388,
    "password": "自定义密码",
    "timeout":300,
    "method": "aes-256-cfb",
    "fast_open":false,
    "workers": 1
}

也可以配置多用户, 方式如下:

{
    "server":"your_server_ip",
    "port_password":{
        "8381":"pass1",
        "8382":"pass2",
        "8383":"pass3",
        "8384":"pass4"
    },
    "timeout":300,
    "method": "aes-256-cfb",
    "fast_open":false,
    "workers":1
}

说明:

  • fast_open:true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open以降低延迟。
  • workers:workers数量,默认为 1

以上信息在配置 shadowsocks 客户端时需要配置一致,具体说明可查看 shadowsocks 的帮助文档。

启动方式

运行 ssserver, 并指定配置文件 /etc/shadowsocks.json, 内容如下:

ssserver -c /etc/shadowsocks.json -d start

启动成功后输出内容大致如下:

INFO: loading config from /etc/shadowsocks.json
    2017-01-10 22:38:12 WARNING  warning: your timeout 60 seems too short
    2017-01-10 22:38:12 INFO     loading libcrypto from libcrypto.so.10
    started

配置自启动

新建启动脚本文件 /etc/systemd/system/shadowsocks.service,内容如下:

[Unit]
Description=Shadowsocks

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json

[Install]
WantedBy=multi-user.target

执行以下命令启动 shadowsocks 服务:

systemctl enable shadowsocks
systemctl start shadowsocks

为了检查 shadowsocks 服务是否已成功启动,可以执行以下命令查看服务的状态:

systemctl status shadowsocks -l

如果服务启动成功,则控制台显示的信息可能类似这样:

shadowsocks.service - Shadowsocks
   Loaded: loaded (/etc/systemd/system/shadowsocks.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2015-12-21 23:51:48 CST; 11min ago
 Main PID: 19334 (ssserver)
   CGroup: /system.slice/shadowsocks.service
           └─19334 /usr/bin/python /usr/bin/ssserver -c /etc/shadowsocks.json

Dec 21 23:51:48 morning.work systemd[1]: Started Shadowsocks.
Dec 21 23:51:48 morning.work systemd[1]: Starting Shadowsocks...
Dec 21 23:51:48 morning.work ssserver[19334]: INFO: loading config from /etc/shadowsocks.json
Dec 21 23:51:48 morning.work ssserver[19334]: 2015-12-21 23:51:48 INFO     loading libcrypto from libcrypto.so.10
Dec 21 23:51:48 morning.work ssserver[19334]: 2015-12-21 23:51:48 INFO     starting server at 0.0.0.0:8388

一键安装脚本

新建文件 install-shadowsocks.sh,内容如下:

#!/bin/bash
# Install Shadowsocks on CentOS 7

echo "Installing Shadowsocks..."

random-string()
{
    cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1
}

CONFIG_FILE=/etc/shadowsocks.json
SERVICE_FILE=/etc/systemd/system/shadowsocks.service
SS_PASSWORD=$(random-string 32)
SS_PORT=8388
SS_METHOD=aes-256-cfb
SS_IP=`ip route get 1 | awk '{print $NF;exit}'`
GET_PIP_FILE=/tmp/get-pip.py

# install pip
curl "https://bootstrap.pypa.io/get-pip.py" -o "${GET_PIP_FILE}"
python ${GET_PIP_FILE}

# install shadowsocks
pip install --upgrade pip
pip install shadowsocks

# create shadowsocls config
cat <<EOF | sudo tee ${CONFIG_FILE}
{
  "server": "0.0.0.0",
  "server_port": ${SS_PORT},
  "password": "${SS_PASSWORD}",
  "method": "${SS_METHOD}"
}
EOF

# create service
cat <<EOF | sudo tee ${SERVICE_FILE}
[Unit]
Description=Shadowsocks

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c ${CONFIG_FILE}

[Install]
WantedBy=multi-user.target
EOF

# start service
systemctl enable shadowsocks
systemctl start shadowsocks

# view service status
sleep 5
systemctl status shadowsocks -l

echo "================================"
echo ""
echo "Congratulations! Shadowsocks has been installed on your system."
echo "You shadowsocks connection info:"
echo "--------------------------------"
echo "server:      ${SS_IP}"
echo "server_port: ${SS_PORT}"
echo "password:    ${SS_PASSWORD}"
echo "method:      ${SS_METHOD}"
echo "--------------------------------"

执行以下命令一键安装:

chmod +x install-shadowsocks.sh && ./install-shadowsocks.sh

安装完成后会自动打印出 Shadowsocks 的连接配置信息。比如:

Congratulations! Shadowsocks has been installed on your system.
You shadowsocks connection info:
--------------------------------
server:      10.0.2.15
server_port: 8388
password:    J0iheIRbzCEphhng7K4YcW2psA3FdBos
method:      aes-256-cfb
--------------------------------

via:https://blog.csdn.net/weixin_37444276/article/details/85944926

标签: centosShadowsocks

猜你喜欢
核弹级教程:手把手教你白嫖上百个订阅节点
名词解释爱折腾的小伙伴,对节点、Clash、Surge 之类的词都再熟悉不过了吧?梯子的工具随手可见,但是节点——如果不(yi)想(mao)破(bu)费(ba)的话——找起来并不是那么顺利。因为...
部署 Monit 来监控服务
Monit 是一个轻量的监控工具,大小不到 2M,可运行于 linux 之上。它提供的功能很丰富,它可以监控本机的 CPU、文件、目录、进程等基本信息,例如 Mysql,PostgreSQL,R...
ssh 连接 Linux 速度缓慢?一个配置解决
# 背景介绍 最近在写一个服务器监控服务,发现使用 Python 连接 Linux 时非常慢,总是要停顿等待一会儿才能连接上,主要是因为 OpenSSH 服务器有一个 DNS 查找选项 UseD
Navicat Premium 15.0.21 破解 Windows64位
Navicat 是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的图形用户界面
(首次提交评论需审核通过才会显示,请勿重复提交)