一个用python写的科学上网小脚本(下)

现在来填坑,把整个脚本的流程写出来。在上一部分已经得到了ss的账号密码,服务器地址,端口号和加密方式,接下来就是把这些信息转换成json然后运行即可

生成json文件

这个转换json对于python来说是很方便的,因为,python的字典这个结构就和json是类似的。可以直接通过json.dumps(dic)进行转换。
首先我们要确定json文件中有哪些内容。

1
2
3
4
5
6
7
8
{
"server":"US1.SSSERVER.PW",
"server_port":8989,
"local_port":1080,
"password":"01916771",
"timeout":600,
"method":"aes-256-cfb"
}

这是它所有的信息。我们需要自己固定的是本地端口号和超时。其他的都通过python的字典创建进去。
还是直接上代码清楚:

1
2
3
4
5
6
7
8
dic = {}
dic['server'] = eval(repr(ip)[1:])
dic['server_port'] = string.atoi(eval(repr(port)[1:]))
dic['local_port'] = 1080
dic['password'] = eval(repr(pwd)[1:])
dic['timeout'] = 600
dic['method'] = eval(repr(met)[1:])
shadow = json.dumps(dic)

然后将得到的json保存:

1
2
3
f = open('xxx.json','w')
f.write(shadow)
f.close()

这样我们就得到了json文件。

开启ss连接

得到json文件后,我们就可以手动在终端进行ss连接了,但是人懒嘛,生成后直接连接多好。
所以就在python中执行终端命令咯。如下:

1
os.system('sslocal -c xxx.json > log')

基本上到这里就结束了。算是边学边练吧。