Github,exe文件在这里
-----2016.05.12-----
- 原理就是抓取网页上密码的位置写入到本地gui-config.json这个配置文件里,现在写得还比较“笨”,可能网页一改密码位置就会出问题,以后改“聪明点”
- 更新密码要重启下ss的程序,所以我一般都是运行下sspw.exe后再开shdow-socks
- ** 既然是自动更新密码,当然前提你已经至少保存过A、B、C服务器中的一个配置咯**
- 我用的是2.5, 3.0也测试过没问题
-
有BUG请反馈_
sspw.exe放在ss程序和配置文件同目录就行
-----2016.04.26已更新-----
首先感谢iShadowsocks提供的免费fq试用.
因为使用Shwdowsocks fq时,每6小时换一次,密码,每次都要上官网,复制密码替换密码比较麻烦,又因为最近在学python所以就尝试做了个自动替换密码的小程序。
各种不足之处已经基本完善!
以后改进方向:尝试模块化、使用正则。
使用方法:
- Python3.5(不晓得其他版本适用不)
- Windows (Linux、Mac可能可以使用)
- 将sspw.py、config.json(若第一次运行程序,初始化配置)放在ss的程序根目录
- 直接运行 sspw.py
#!/usr/bin/env python3
from urllib import request
import json,os
from collections import OrderedDict
def updatePw(pw1,pw2,pw3,j):
length=len(j["configs"])
for x in range(length):
if ((j["configs"][x]["server"]).upper()=="US1.ISS.TF"):
j["configs"][x]["password"]=pw1
if ((j["configs"][x]["server"]).upper()=="HK2.ISS.TF"):
j["configs"][x]["password"]=pw2
if ((j["configs"][x]["server"]).upper()=="JP3.ISS.TF"):
j["configs"][x]["password"]=pw3
# z=抓取网页信息
with request.urlopen('http://www.ishadowsocks.net/') as f:
data = f.read()
# 从转成string格式
data=data.decode()
# 获取密码
ind1=data.find("A密码:")
pw1=data[ind1+4:ind1+12]
ind2=data.find("B密码:")
pw2=data[ind2+4:ind2+12]
ind3=data.find("C密码:")
pw3=data[ind3+4:ind3+12]
try:
# 定位密码
if os.path.exists('./gui-config.json'):
with open('./gui-config.json', 'r') as r:
rcontent=r.read()
#转成json格式
j=json.loads(rcontent,object_pairs_hook=OrderedDict)
updatePw(pw1,pw2,pw3,j)
with open('./gui-config.json', 'w') as r:
r.write(json.dumps(j))
else:
with open('./gui-config.json', 'w') as r:
with open('./config.json', 'r') as r2:
content=r2.read()
jnew=json.loads(content,object_pairs_hook=OrderedDict)
updatePw(pw1,pw2,pw3,jnew)
r.write(json.dumps(jnew))
except Exception as e:
print (e)
附我的ss的配置文件
{
"configs" : [
{
"server" : "US1.ISS.TF",
"server_port" : 443,
"password" : "82798240",
"method" : "aes-256-cfb",
"remarks" : ""}
,
{
"server" : "HK2.ISS.TF",
"server_port" : 8989,
"password" : "11181966",
"method" : "aes-256-cfb",
"remarks" : ""}
,
{
"server" : "jp3.iss.tf",
"server_port" : 443,
"password" : "91958918",
"method" : "aes-256-cfb",
"remarks" : ""}
],
"strategy" : null,
"index" : 0,
"global" : false,
"enabled" : true,
"shareOverLan" : false,
"isDefault" : false,
"localPort" : 1080,
"pacUrl" : null,
"useOnlinePac" : false,
"availabilityStatistics" : false}
网友评论