Example #1
0
 def get(self, request):
     token = request.GET.get("token")
     if not token:
         return HttpResponseNotFound()
     user = User.get_or_none(encoder.string2int(token))
     if not user:
         return HttpResponseNotFound()
     sub_links = user.get_sub_links()
     sub_links = base64.urlsafe_b64encode(sub_links.encode()).decode()
     return HttpResponse(sub_links)
Example #2
0
    def get(self, request):
        token = request.GET.get("token")
        if not token:
            return HttpResponseNotFound()
        user = User.get_or_none(encoder.string2int(token))
        if not user:
            return HttpResponseNotFound()

        sub_type = request.GET.get("sub_type")
        sub_links = user.get_sub_links(sub_type)
        return HttpResponse(sub_links)
Example #3
0
    def get(self, request):
        token = request.GET.get("token")
        if not token:
            return HttpResponseNotFound()
        user = User.get_or_none(encoder.string2int(token))
        if not user:
            return HttpResponseNotFound()

        sub_type = request.GET.get("sub_type")
        sub_links = UserSubManager(user, sub_type, request).get_sub_links()
        return HttpResponse(sub_links, content_type="text/plain; charset=utf-8")
Example #4
0
    def _clean_ref(self):
        ref = self.cleaned_data.get("ref")
        try:
            user_id = encoder.string2int(ref)
        except ValueError:
            raise forms.ValidationError("ref不正确")

        if User.objects.filter(id=user_id).exists():
            return ref
        else:
            raise forms.ValidationError("ref不正确")
Example #5
0
 def add_new_user(cls, cleaned_data):
     user = cls.objects.create_user(cleaned_data["username"],
                                    cleaned_data["email"],
                                    cleaned_data["password1"])
     if "invitecode" in cleaned_data:
         code = InviteCode.objects.get(code=cleaned_data["invitecode"])
         code.consume()
         inviter_id = code.user_id
     elif "ref" in cleaned_data:
         inviter_id = encoder.string2int(cleaned_data["ref"])
     # 绑定邀请人
     UserRefLog.log_ref(inviter_id, pendulum.today())
     user.inviter_id = inviter_id
     # 绑定uuid
     user.vmess_uuid = str(uuid4())
     user.save()
     # 添加SSconfig
     UserSSConfig.create_by_user_id(user.id)
     return user