使用到了python的qrcode和base64库。
因为shadowsocks二维码使用了base64加密。
shadowsocks解码后不加密的格式为:
*加密方式* + ':' + *密码* + '@' + *服务器地址* + ':' + *服务器端口*
example
aes-256-cfb:123456@45.32.25.214:50000
然后对这个字符串做base64加密
然后最前面加上ss://
example(刚刚的例子加密就是这样)
ss://YWVzLTI1Ni1jZmI6MTIzNDU2QDQ1LjMyLjI1LjIxNDo1MDAwMA==
然后把整个字符生成二维码
示例代码
#生成二维码
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=7, #这里可以设置生成二维码的大小,数字越大生成的二维码越大
border=4,
)
#加密二维码的源码
base64_str = ('aes-256-cfb:' + password + '@' + ip_address +':' + randomnum).encode(encoding="utf-8")
encodestr = base64.b64encode(base64_str) #使用base64加密
shareqrcode_str = 'ss://' + encodestr.decode() #最前面加上`ss://`
filename = 'qrcode.png' #导出的图片名字
#导出二维码
qr.add_data(shareqrcode_str)
qr.make(fit=True)
img = qr.make_image()
img.save(filename)
到这里就大功告成啦!!
我这里分享SS账号的文章就是这样生成的二维码,测试可用~
本站声明:网站内容来源于网络Python生成Shadowsocks/ss的二维码,如有侵权,请联系我们,我们将及时处理。