def get_ss_qr(request):
if request.user.is_anonymous():
return JsonResponse({'error': 'unauthorized'})
if not hasattr(request.user, 'ss_user'):
return JsonResponse({'error': 'no linked shadowsocks account'})
ss_user = request.user.ss_user
if request.GET.get('nid'):
try:
node = Node.objects.get(pk=request.GET.get('nid'))
except Node.DoesNotExist:
return JsonResponse({'error': 'node not exist'})
else:
node = Node.objects.all().order_by('-weight')
if node:
node = node[0]
else:
return JsonResponse({'error': 'no node at all'})
password = '{}:{}@{}:{}'.format(node.method, ss_user.password, node.server, ss_user.port)
img = qrcode.make('ss://{}'.format(base64.b64encode(bytes(password, 'utf8')).decode('ascii')))
response = HttpResponse(content_type="image/png")
img.save(response)
return response
评论列表
文章目录