Github,exe文件在这里
—–2016.05.12—–
—–2016.04.26已更新—–
首先感谢iShadowsocks提供的免费fq试用.
因为使用Shwdowsocks fq时,每6小时换一次,密码,每次都要上官网,复制密码替换密码比较麻烦,又因为最近在学python所以就尝试做了个自动替换密码的小程序。
各种不足之处已经基本完善!
以后改进方向:尝试模块化、使用正则。
#!/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}
Github