Shadowsocks流量管理脚本
- 目前只支持python版Shadowsocks
- 目前只支持统计ipv4流量
Shadowsocks流量管理脚本
License: MIT License
拿来上网半小时,查看还是0(0.00kb)
还是直接按照你的说明安装后,shadowsocks server也就安装上了?那另一个问题是,如果ss python版本更新了,能否同步更新?
发现sslib.sh里get_traffic_from_iptables()里获取流量的格式与CentOS 6不匹配
看了下wiki是利用了iptables来统计流量,我想请问下centos7能用吗(centos7已经把iptables干掉换成firewall了)?
服务器上会有ipv4和ipv6的访问,安装了ss-bash后管理ipv4流量非常方便,但ipv6直接就无法访问了。请问该如何解决?
都已经把刷新时间改到1秒了,但是依然无论怎么使用,流量都不会被记录。
感觉这个脚本还是挺好用的,可惜作者不更新了,可惜了!
参数输入错误!
查看帮助:ssadmin.sh -h
直接输入会报错
os cent 7
我把/home/Bob/ss-bash用`rm -fr ss-bash``删除后一直报错
/home/Bob/ss-bash/sslib.sh: line 304: /home/Bob/ss-bash/tmp/ipt_tra.log.tmp: No such file or directory
/home/Bob/ss-bash/sslib.sh: line 328: /home/Bob/ss-bash/tmp/min_tra.log: No such file or directory
mv: cannot stat ‘/home/Bob/ss-bash/tmp/ipt_tra.log.tmp’: No such file or directory
touch: cannot touch ‘/home/Bob/ss-bash/traffic.log.lock’: No such file or directory
/home/Bob/ss-bash/sslib.sh: line 358: /home/Bob/ss-bash/traffic.log.tmp: No such file or directory
mv: cannot stat ‘/home/Bob/ss-bash/traffic.log.tmp’: No such file or directory
rm: cannot remove ‘/home/Bob/ss-bash/traffic.log.lock’: No such file or directory
touch: cannot touch ‘/home/Bob/ss-bash/sstraffic.lock’: No such file or directory
/home/Bob/ss-bash/sslib.sh: line 239: /home/Bob/ss-bash/sstraffic.tmp: No such file or directory
mv: cannot stat ‘/home/Bob/ss-bash/sstraffic.tmp’: No such file or directory
rm: cannot remove ‘/home/Bob/ss-bash/sstraffic.lock’: No such file or directory
awk: cmd. line:3: fatal: cannot open file `/home/Bob/ss-bash/ssusers' for reading (No such file or directory)
[root@vultr ~]# cd /home/Bob/ss-bash
bash: cd: /home/Bob/ss-bash: No such file or directory
完全没写过shell 只是shell还好,基本也能看懂,但是awk 看的头大。。。。不知道怎么改。。。
我目前用脚本实现远程ssh执行命令,添加用户,但是针对的是原版ss
原版在无用户的情况下可以启动
用户流量使用量置零
ssadmin.sh rused limit
rused和limit分别代表什么意思呢?
另外删除用户后,再显示当前用户流量信息时,该用户仍然存在?且删除语句运行后,必须使用ctrl+c才能停止,否则一直在等待~~
希望各位能给予指导?谢谢~~
shadowsocks版本有点儿多。。。
每当尝试添加/删除用户都提醒 :ss-bash/ssadmin.sh: line 269: kill: (20272) - No such process
我是使用的config启动是shadowsocks不知是否影响(ssserver -c /etc/shadowsocks.json -d start)
pip安装的shadowsocks,不知道是否还需要更改路径否
每次添加新用户需要重新启动ss bash吗
正常安装后~修改配置文件vim ss-bash/ssmlt.template
实测保持“aes-256-cfb”或修改成“aes-128-cfb”均正常,但修改成“chacha20”或“rc4-md5”保存后不论start还是soft_restart均提示ssserver启动失败。这是服务器个案还是普遍现象?
我每次把 加密方式改成chacha20 运行 软重启命令 sudo ss-bash/ssadmin.sh soft_restart 回去看ssmlt.json 发现会改回原来的 aes 加密 我加fast-open 也是一样被改回原来的
您好,请问使用这个流量统计脚本后,原先输出到 /var/log/shadowsocks.log 的日志不再输出了,有办法让 shadowsocks 继续输出日志吗?谢谢~
你好,请问下Ds 0:24 [ssserver]什么情况。
有时会连不上,然后./ssadmin.sh status后就会显示pid Ds 0:24 [ssserver],正常情况是显示ssserver的启动命令,如果把ssserver kill掉显示的是ssserver未启动。
已解决 ~(^__^)
现有的版本是通过ssadmin.sh维护ssserver配置文件的,但是我需要用自己的ssserver配置文件,否则其他依赖ssserver的程序没法运行。
建议将ssserver配置文件的维护工作还给ssserver,ss-bash只需要做好限制某些端口流量的工作就好,独立起来开发也更好维护,我们使用起来也更加有条理。
为什么sscounter能启动ssserver启动失败? 有解决方案吗 我执行cd ss-bash
./ssadmin.sh restart 也没有用
root@vultr:~/ss-bash# ./ssadmin.sh start sscounter.sh启动中... 26683 pts/0 S+ 0:00 /bin/bash /root/ss-bash/sscounter.sh sscounter.sh已启动 ssserver启动中... ssserver启动失败
但是我单独使用ssserver -c /root/ss-bash/ssmlt.json -d start
可以启动
然后我在 ss-bash目录下 ./ssadmin.sh add 添加用户 会告诉我./ssadmin.sh: line 242: kill: (26581) - No such process
本人入门没多久,请问如何设置可以每月自动重置流量信息呢?
Starting sscounter.sh...
ss-bash/ssadmin.sh: line 118: /root/ss-bash/sscounter.sh: Permission denied
sscounter.sh failed to start
line
117 echo 'Starting sscounter.sh...'
118 ( $DIR/sscounter.sh ) &
119 echo $! > $SSCOUNTER_PID
解压出来后是一些.sh文件,用谷歌查了很多方法。发现都不行,用你那个新建用户的方法会报错:
-bash: sudo: command not found
限制用户最大速度,避免过于占用网速,不限制流量
ubuntu 1710:./ssadmin.sh: line 195: bc: command not found
请问,是否兼容高版本Ubuntu?
安装好ss-bash之后统计流量功能使用一天之后就不继续统计,同时无法重置端口流量使用量,输入重置命令的时候出现卡死,无法进行下一步操作,用Ctrl+c退出之后信息也没有进行更新。
已经安装bc。
请问脚本可以卸载重装或者重置吗,如果可以相关命令可不可以帮忙告诉一下,刚开始接触不是很了解,多谢。
在用 python-manyuser,用openwrt连接过来,发现流量超了,网页还是可以继续上,我怀疑是openwrt的tcp链接是持续的,现在ss-bash是不会踢掉tcp链接的吗?在流量超过以后,但是单纯拒绝新的链接到该端口?
I can run it in ssh, but when I put "sudo /etc/ss-bash/ssadmin.sh start" in /etc/rc.local, I always receive an error message saying "sscounter.sh启动失败"
The below is the error log, any idea?
rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled)
Drop-In: /lib/systemd/system/rc-local.service.d
└─debian.conf
Active: failed (Result: exit-code) since Thu 2017-07-13 03:18:37 UTC; 11min ago
Process: 1150 ExecStart=/etc/rc.local start (code=exited, status=1/FAILURE)
Jul 13 03:18:33 ubuntu-16-04-LTS-SG systemd[1]: Starting /etc/rc.local Compatibility...
Jul 13 03:18:35 ubuntu-16-04-LTS-SG sudo[1152]: root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/etc/ss-bash/ssadmin.sh start
Jul 13 03:18:35 ubuntu-16-04-LTS-SG sudo[1152]: pam_unix(sudo:session): session opened for user root by (uid=0)
Jul 13 03:18:37 ubuntu-16-04-LTS-SG rc.local[1150]: sscounter.sh启动中...
Jul 13 03:18:37 ubuntu-16-04-LTS-SG rc.local[1150]: sscounter.sh启动失败
Jul 13 03:18:37 ubuntu-16-04-LTS-SG systemd[1]: rc-local.service: Control process exited, code=exited status=1
Jul 13 03:18:37 ubuntu-16-04-LTS-SG systemd[1]: Failed to start /etc/rc.local Compatibility.
Jul 13 03:18:37 ubuntu-16-04-LTS-SG systemd[1]: rc-local.service: Unit entered failed state.
Jul 13 03:18:37 ubuntu-16-04-LTS-SG systemd[1]: rc-local.service: Failed with result 'exit-code'.
怎么办呢
.
我把run_ssserver () 改成
run_ssserver () {
$SSSERVER -d start -c $JSON_FILE 2>/dev/null >/dev/null &
echo $! > $SSSERVER_PID
}
发现不能启动ssserver。。。。
想定时每月1号1点执行清空流量
0 1 1 * * /etc/ss-bash.sh >/dev/null 2>&1
ss-bash.sh内容
#!/usr/bin/env bash
cd /root/ss-bash && ./ssadmin.sh reset_all_used
使用半小时来测试
*/30 * * * * /etc/ss-bash.sh >/dev/null 2>&1
所有sh可运行的文件都设置了755权限
手动执行 /etc/ss-bash.sh 可清空流量,但是使用crontab却一直不成功
不知道哪里错了?
Chain ssinput (1 references)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1
2 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:1
3 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:2
4 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:2
5 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3
6 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:3
7 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:4
8 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:4
9 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5 reject-with icmp-port-unreachable
10 0 0 REJECT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:5 reject-with icmp-port-unreachable
11 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5
12 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:5
13 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1
14 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:1
Chain ssoutput (1 references)
num pkts bytes target prot opt in out source destination
1 581 210K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:1
2 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:1
3 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:2
4 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:2
5 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:3
6 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:3
7 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:4
8 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:4
9 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:5 reject-with icmp-port-unreachable
10 0 0 REJECT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:5 reject-with icmp-port-unreachable
11 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:5
12 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:5
13 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:1
14 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:1
我最近重启vps后 ss-bash没有自动启动。需要ssh连上使用 ssadmin.sh start 这个命令才可以使用ss服务 请问这个该如何解决呢? 谢谢您的帮助
问题症状:ssserver启动失败
ps -axu|grep ssserver
kill -9 上一步查到的进程号
ss-bash/ssadmin.sh start
您好,我遇到了两个小问题。 目前系统是Debian 7,vps为DigitalOcean的。安装时为重装系统后pip安装的shadowsocks
第一个问题:新建用户时使用 sudo ss-bash/ssadmin.sh add 8388 passwd 10G 时报错,报错位置在ssadmin.sh的第195行,内容为./ssadmin.sh: line 195: bc: command not found
我大概理解那一行是把流量单位换算成字节,比如1kb = 1024字节这种。执行后新端口出现在ssusers里,但流量那里是空白。。可以通过编辑ssusers修改流量。。在ssadmin.sh 里面搜索bc只找到这一处用到的情况。。查看那个旧版本也是类似的情况、
我试着谷歌了一下看有没有类似的脚本用到这种单位转换,但是并没有找到。。我对shell不是很熟。。目前就会一点Python。。毕竟专业差的有点多。。
第二个问题比较麻烦,脚本正常运行,通过脚本添加的端口可以正常使用(手动ssusers修改流量)。但是没有监控流量。在traffic.log中已用流量为0,只有ssadmin.sh show一样没有。修改统计时间间隔为15s也不行。 如果重置用户流量 (使用ssadmin.sh reset_all_limit)之后重启ss-bash,所有端口无法使用。因此怀疑是监控流量没有正常运行。。执行iptables是正常。
谷歌发现有人有类似的问题,提在https://www.v2ex.com/t/221247 但是他似乎又解决了。。
主要是第二个问题,没办法统计流量有点麻烦。。现在只能用iftop凑合。。。希望解决一下。如果需要的话可以发给你vps的登录密码,在上面进行尝试。多谢啦
如题,
或者ss-bash会自动优化呢?
目前,用户流量超限被禁止后,即使重置流量使用量也不能重新启用对应端口。
Another app is currently holding the xtables lock. Perhaps you want to use the -w option?
mv: cannot move ‘/home/ss-bash/tmp/ipt_tra.log.tmp’ to ‘/home/ss-bash/tmp/ipt_tra.log’: No such file or directory
mv: cannot stat ‘/home/ss-bash/traffic.log.tmp’: No such file or directory
rm: cannot remove ‘/home/ss-bash/traffic.log.lock’: No such file or directory
awk: fatal: cannot open file `/home/ss-bash/tmp/ipt_tra.log.tmp' for reading (No such file or directory)
mv: cannot stat ‘/home/ss-bash/tmp/ipt_tra.log.tmp’: No such file or directory
mv: cannot stat ‘/home/ss-bash/tmp/ipt_tra.log.tmp’: No such file or directory
rm: cannot remove ‘/home/ss-bash/traffic.log.lock’: No such file or directory
awk: fatal: cannot open file `/home/ss-bash/tmp/ipt_tra.log.tmp' for reading (No such file or directory)
mv: cannot stat ‘/home/ss-bash/tmp/ipt_tra.log.tmp’: No such file or directory
awk: fatal: cannot open file `/home/ss-bash/tmp/ipt_tra.log.tmp' for reading (No such file or directory)
mv: cannot stat ‘/home/ss-bash/tmp/ipt_tra.log.tmp’: No such file or directory
awk: fatal: cannot open file `/home/ss-bash/tmp/ipt_tra.log.tmp' for reading (No such file or directory)
mv: cannot stat ‘/home/ss-bash/tmp/ipt_tra.log.tmp’: No such file or directory
咱们有使用说明么? 一头雾水
有时候偶尔修改一下用户参数或者什么也不动,偶尔就ss连接不上了,restart可以解决,您还会继续完善它吗
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.