ss公共服务器定时更改密码并同步更新到博客

公共服务器两天前就搭建好了,折腾了一阵,终于实现自动定时更改连接密码再自动在博文中更新它。
看到别人是通过php实现的,但博主我php拙计,只懂得一点shell脚本,最终通过shell弄好了,脚本分享出来,有一样需要的朋友可参考。

#! /bin/bash
#更改FTP的IP 用户名 密码
ftp_ip=glorystar.me
ftp_user=ftp
ftp_passwd=yourpasswd
#更改部分结束
passwd=`cat /dev/urandom | head -1 | md5sum | head -c 8`
cat > /etc/shadowsocks/config.json << EOF
{
    "server":"0.0.0.0",
    "server_port":8989,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"$passwd",
    "timeout":60,
    "method":"chacha20"
}
EOF
echo $passwd > /home/wwwroot/passwd.txt
cd /home/wwwroot
ftp -v -n $ftp_ip << END
user $ftp_user $ftp_passwd
passive
delete passwd.txt
put passwd.txt
bye
END
/etc/init.d/shadowsocks restart
exit

crontab定时执行以上脚本,我设定的是每天1时更改一次。

0 1 * * * sh ~/sh/ss.sh

解释一下脚本的实现过程
1 通过dev/urandom生成随机8位密码
2 用这个随机密码配置ss配置文件。
3 输出这个密码到passwd.txt文本文件,这个文件可供http访问。本来到这一步也就完成了,但因为vps服务器没有上ssl,在博客上直接引用这个txt文件会提示不安全内容而不加载,要手动加载,比较麻烦,所以有了下面的步骤。
4 通过ftp把这个passwd.txt上传到博客所在的服务器,博文上直接引用本地资源就不会有问题了。
PS 如果你的博客没有ssl,可以忽略ftp部分。

在博文上引用这个txt文件可通过iframe实现。

<iframe name="txt" marginwidth="0" marginheight="0" width="70" height="15" src="passwd.txt" frameborder="0"></iframe>

ss公共服务器定时更改密码并同步更新到博客》有4个想法

  1. 刺猬

    感谢提供思路。我以前一直觉得使用一个密码文件来更换,没想到Linux能自动生成随机码,帮了我的大忙。感谢!

    回复
  2. 雨水

    大佬,请教一下:
    #! /bin/bash
    passwd=`cat /dev/urandom | head -1 | md5sum | head -c 8`
    cat > /usr/local/shadowsocksr/mudb.json << EOF [ { "d": 3095072179, "enable": 1, "forbidden_port": "", "method": "aes-256-cfb", "obfs": "plain", "password":"$passwd", "port": 20098, "protocol": "origin", "protocol_param": "", "speed_limit_per_con": 0, "speed_limit_per_user": 0, "transfer_enable": 900727656415232, "u": 67809064, "user": "yushui" } ] EOF echo $passwd >>/home/1.txt
    exit
    我用以上的代码改,改完后mudb.json中paawd那行会变成这样:
    [
    {
    “d”: 3095072179,
    “enable”: 1,
    “forbidden_port”: “”,
    “method”: “aes-256-cfb”,
    “obfs”: “plain”,
    “password”:”ec313d29
    “,
    “port”: 20098,
    “protocol”: “origin”,
    “protocol_param”: “”,
    “speed_limit_per_con”: 0,
    “speed_limit_per_user”: 0,
    “transfer_enable”: 900727656415232,
    “u”: 67809064,
    “user”: “yushui”
    }
    ]
    就算password那里会换行,是什么原因呢?

    回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据