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

流氓凡 技术分享 2019-10-09 4.21 K 0

通过shell脚本实现,脚本如下:

 #! /bin/bash
    #更改FTP的IP 用户名 密码
    ftp_ip=Your_IP
    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>


评论