Top Menu

用BashScript脚本自动修改shadowsocks密码多端口版

上次写了一个单用户的脚本可以修改配置文件的密码并重启服务,这次在上次脚本的基础上做了些改进,对多用户版的配置文件进行修改。

脚本结构依旧和单用户的相同,只是加入了端口的选择和将密码输出到外部API的功能。端口选择可以通过参数修改指定端口的密码,外部API可以放在Web目录让其他外部程序调用,也可以放在内部位置只供本地应用调用。

运行结果

配置文件

API文件

说明

脚本开头三行中的第一行变量config_path是shadowsocks配置文件位置,第三行变量public_api_path是公开的API文件位置,以上两个位置都需要修改成有效的路径,公开API文件如不存在会自动新建。

使用方法

1.在/usr/local/sbin中新建文件ss-password-renew.sh

将最顶上的bash代码黏贴到该文件中

2.修改ss-renew.sh中的配置文件地址和API地址为有效路径

3.在shell中运行命令,例如修改监听8382端口的密码

4.访问之前设定的API地址,查看是否成功生成API文件

5.设定cron定时程序,定时更新密码

打开定时设置

例如添加每天6点更新shadowsocks密码

5.All Done!

应用

配合定时任务,可以创建公开shadowsocks服务,因为密码每天定时更新,所以可以引导用户访问页面

2016-02-16_00-24-36

如何使用公开API

例如公开API地址为:https://blog.minirplus.com/public-api-8382.json(Demo地址,请勿当真)

使用的代码如下

WordPress中配合PHP Code Widget插件可以在Widget中直接插入上方代码,在页面边栏显示公开API内容

, ,

4 comments

  • Hello, guest
  • root@98:/usr/local/sbin# ss-password-renew.sh 4432-bash: /usr/local/sbin/ss-password-renew.sh: /bin/bash^M: bad interpreter: No such file or directory root@98:/usr/local/sbin# 请问我在ubuntu1604里测试怎么不行啊
    • author
      试试用nano新建文件,不要在Windows下新建,参见https://www.phpini.com/linux/shell-script-error-bad-interpreter-no-such-file-or-directory
    • author
      单引号用来包裹纯文本,双引号用来包裹变量,因为sed命令中间没有空格,所以如果不用双引号将变量名单独出来话,解析器就没有办法区分哪些字符串是变量名了

Powered by WordPress. Designed by WooThemes