全球主机交流论坛

标题: ss公共服务器定时更改密码并同步更新到博客 [打印本页]

作者: skywing    时间: 2017-1-4 10:56
标题: ss公共服务器定时更改密码并同步更新到博客
本帖最后由 skywing 于 2017-1-4 11:02 编辑

看到别人是通过php实现的,但楼主php拙计,只懂得一点shell脚本,最终通过shell弄好了,脚本分享出来,有一样需要的朋友可参考。

  1.     #! /bin/bash
  2.     #更改FTP的IP 用户名 密码
  3.     ftp_ip=Your_IP
  4.     ftp_user=ftp
  5.     ftp_passwd=yourpasswd
  6.     #更改部分结束

  7.     passwd=`cat /dev/urandom | head -1 | md5sum | head -c 8`
  8.     cat > /etc/shadowsocks/config.json << EOF
  9.     {
  10.         "server":"0.0.0.0",
  11.         "server_port":8989,
  12.         "local_address":"127.0.0.1",
  13.         "local_port":1080,
  14.         "password":"$passwd",
  15.         "timeout":60,
  16.         "method":"chacha20"
  17.     }
  18.     EOF
  19.     echo $passwd > /home/wwwroot/passwd.txt
  20.     cd /home/wwwroot
  21.     ftp -v -n $ftp_ip << END
  22.     user $ftp_user $ftp_passwd
  23.     passive
  24.     delete passwd.txt
  25.     put passwd.txt
  26.     bye
  27.     END
  28.     /etc/init.d/shadowsocks restart
  29.     exit
复制代码

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

  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实现。

  1.    <iframe name="txt" marginwidth="0" marginheight="0" width="70" height="15" src="passwd.txt" frameborder="0"></iframe>
复制代码

作者: 逗比    时间: 2017-1-4 11:00
不错 收藏了!
作者: etotakeo    时间: 2017-1-4 11:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: fw2you    时间: 2017-1-4 11:27
谢谢分享
作者: bigexiu    时间: 2017-1-4 11:29
不错噻  shell 大婶
作者: kuretru    时间: 2017-1-4 11:53
我觉得改密码可以使用sed编辑config.json,ftp可以改用sftp
作者: 肆无忌惮    时间: 2017-1-4 12:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: dreammes    时间: 2017-1-4 15:35
不错,收藏了
作者: 左手写爱    时间: 2017-1-10 10:54
收藏了,虽然不知道用的什么博客。。。




欢迎光临 全球主机交流论坛 (https://loc.193.gs/) Powered by Discuz! X3.4