文档章节

ubuntu16下搭建ss服务(VPN)

墨染青衫
 墨染青衫
发布于 2018/03/21 21:11
字数 922
阅读 4164
收藏 3

基本设置

0、更新软件源

sudo apt-get update

1、安装pip3

sudo apt-get install python3-pip

2、先用python3安装shadowsocks:

sudo pip3 install shadowsocks

3、编辑配置文件

sudo vim /etc/shadowsocks.json

配置文件按照以下设置:

{
    "server":"你的主机的IP地址。 好像0.0.0.0 也可以",
    "server_port": 9999,
    "password":"password",
    "timeout":600,
    "method":"aes-256-cfb",
    "port_password":
	{
		"5200":"password",
		"5201":"password",
		"5202":"password",
		"5203":"password",
		"5204":"password",
		"5205":"password",
		"1314":"password"
	}
}

4、启动服务(以后台方式启动)

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

-----  高级进阶设置

通过ss-bash流量管理脚本来管理各个端口的流量使用情况

0、如果shadowsocks正在运行,请先停止服务

sudo ssserver -c /etc/shadowsocks.json -d stop

 1、安装必要的软件

sudo apt-get install bc git

2、下载ssbash流量管理脚本

sudo git clone https://github.com/hellofwy/ss-bash.git

3、配置相关规则

#进入ssbash的目录
cd ss-bash/

#首次运行时,先新建用户
#例如新用户端口为8388,密码为passwd,流量限制为10GB,执行:
sudo ./ssadmin.sh add 8388 passwd 10G

#如果想继续添加端口,按照上面的规则来就行了

ssadmin.sh用法说明 和 ss-bash目录下的相关文件说明:

  1. ssadmin.sh用法说明
    用法:
      显示版本:
      ssadmin.sh -v|v|version
      显示帮助:
      ssadmin.sh [-h|h|help]
      启动ss:
      ssadmin.sh start
      停止ss:
      ssadmin.sh stop
      查看ss状态:
      ssadmin.sh status
      重启ss:
      ssadmin.sh restart
      软重启ss:
      ssadmin.sh soft_restart
      在不影响现有连接的情况下重启ss服务。用于ss服务参数修改,
      和手动直接修改配置文件后,重启ss服务。
      添加用户:
      ssadmin.sh add port passwd limit
      port:端口号, 0<port<=65535
      passwd:密码, 不能有空格,引号等字符
      limit:流量限制,可以用K/M/G/T、KB/MB/GB/TB等(不区
      分大小写)。支持小数。比如10.5G、10.5GB等。
      1KB=1024 bytes,以此类推。
      示例: ssadmin.sh add 3333 abcde 10.5G
      显示用户流量信息:
      ssadmin.sh show port
      显示所有用户流量信息:
      ssadmin.sh show
      显示用户密码信息:
      ssadmin.sh showpw port
      显示所有用户密码信息:
      ssadmin.sh showpw
      删除用户:
      ssadmin.sh del port
      修改用户:
      ssadmin.sh change port passwd limit
      修改用户密码:
      ssadmin.sh cpw port passwd
      修改用户流量限制:
      ssadmin.sh clim port limit
      修改所有用户流量限制:
      ssadmin.sh change_all_limit limit
      用户流量使用量置零:
      ssadmin.sh rused limit
      所有用户流量使用量置零:
      ssadmin.sh reset_all_used
      用户流量限制置零:
      ssadmin.sh rlim port
      全部用户流量限制置零:
      ssadmin.sh reset_all_limit
      显示已添加的iptables规则:
      ssadmin.sh lrules
    --------
    --------
  2. ss-bash目录下的相关文件说明
  • ssadmin.sh - 管理程序,所有命令通过该程序执行

  • sscounter.sh - 流量统计程序。由ssadmin.sh自动调用执行,注意:不要手动运行该程序

  • sslib.sh - 包含一些参数配置和流量统计函数。由ssadmin.sh自动调用执行,注意:不要手动运行该程序

  • ssmlt.template - ssserver的配置文件

程序运行后,会产生以下文件:

  • ssmlt.json - 根据用户列表和ssmlt.template生成的ssserver实际使用的配置文件

  • ssusers - 用户列表,包括端口、密码、流量限制参数。ssadmin.sh showpw 命令,显示该文件内容。

  • sstraffic - 用户流量使用情况,包括流量限制,已用流量,剩余流量等。ssadmin.sh show 命令,显示该文件内容。

  • traffic.log - 用户流量记录,供程序内部使用。

  • 其它文件 - .tmp、.lock、.pid等文件、文件夹tmp及其中文件为程序内部使用文件,请不要手动删除。

 4、启动ssserver

sudo ./ssadmin.sh start

5、设置每月初流量自动清零

#设置ubuntu定时任务
sudo vim /etc/crontab

#添加如下任务:
0  0    1 * *   root    echo date MONTHLY_RESET >> ss_log && /root/ss-bash/ssadmin.sh reset_all_used

ps:注意修改目录,根据自己的实际情况而定

© 著作权归作者所有

墨染青衫
粉丝 0
博文 9
码字总数 4561
作品 0
杭州
程序员
私信 提问
记录线上与本地docker镜像一致,但Dockerfile却构建失败的问题

背景 公司新开了某个项目,我在新的服务器部署了docker环境,本着ctrl+c 和ctrl+v的惯例,直接把以前的php环境的Dockerfile文件直接复制到新项目服务器那里,结果构建失败,失败的原因是某个...

{-)大傻逼
2018/08/02
0
0
用Brook部署一个简单稳定傻瓜的科学上网工具

Brook是一个github开源项目, 项目地址https://github.com/txthinking/brook. Brook是一个跨平台的代理/ VPN软件, 软件的目标是保持简单,傻瓜, 无感知. Brook部署和使用比ss更简单, 如果ss某天...

木子昭
01/12
0
0
在 Debian 上搭建 SS 服务及优化

之前的文章中讲了如何在 CentOS 7 上搭建 SS 及 VPN 服务,但是在使用了一段时间以后决定由 CentOS 转移到 Debian 上,原因是因为 Debian 占用的系统内存更少对于小内存的 VPS 来说更加的合适...

骑摩托马斯
2017/03/28
0
0
如何在 VPS 上搭建梯子

迫于在国内上网困难的压力,拥有自己的 VPS 在其搭建自己的 VPN 就显得很有必要了。但在实际的搭建过程中走了很多的弯路掉进了很多的坑,所以写了这篇博文为了以后 VPS 重装系统的时候可以少...

骑摩托马斯
2017/03/27
0
0
使用安装shadowsocks通过IPV6上网

相比vpn和shadowsocks,各有优缺点: Shadowsocks 类似于socks5 代理,稳定性好,抗干扰能力强。是应用层代理。 shadowsocks 优点:有丰富的客户端 简单易用,连接方便,可以自定义编辑pac文...

cassia_
2016/11/04
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux使用源码包安装软件

前言: 最近整理一些以前的学习笔记。 过去都是存储在本地,此次传到网络留待备用。 源码包 Linux软件多数免费、开源,是开发人员编写的,具有很强可读性的一组相关代码文本。 源码包 --> 编...

迷失De挣扎
今天
2
0
IPv4如何转换为IPv6?

ipv6已经逐渐在应用,现在已经有很多的运营商支持ipv6,前天我们也发布了如何让电脑使用ipv6地址?有很多朋友在问?ipv6有什么作用,它的表示方式是什么,今天我们来一起来详细了解下ipv6相关计...

xiangyunyan
今天
3
0
小白讲网络安全系列

注入攻击防护 XSS注入 SQL注入 命令注入 文件上传 文件解压缩 CSRF防护 对称加密 非对称加密 数字证书 数字签名 完整性校验 消息验证码 单向散列Hash函数 口令单向加密算法 审计日志 认证鉴权...

一刀
今天
2
0
MYSQL 嵌套事务(SAVEPOINT) 与Spring 事务传播

摘要 savepoint 关键字可以实现嵌套事务。结合savepoint关键字,更方便理解spring的事务传播。 事务嵌套 初始化表脚本 drop table t;create table t(a int, primary key(a)); 开启事务 my...

liangxiao
今天
4
0
Chrome OS 更新新版本可让Linux访问USB连接的Android设备

谷歌再次为Chrome OS带来了重大版本更新,使版本号达到了75。本次更新的一大亮点就是允许在Chrome OS上运行的Linux能够识别通过USB方式连接的Android设备,能够让用户使用Linux进行调试等等。...

linuxCool
昨天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部