用Python制作的SS密码一键更新
admin
2023-07-30 20:46:56
0

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}

Github

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...