Example #1
0
def searchMeetPeople(name,
                     auth,
                     maxage=99,
                     sex='b',
                     miniumage=13,
                     range=9999,
                     to=20,
                     _from=0,
                     url='http://chatango.com/search',
                     mobile=False,
                     **kwargs):
    if to - _from > 20:
        raise ValueError(
            'Paramater "to" cannot be larger than 20 from the paramater "_from" '
        )
    if not sex.lower() in ['f', 'm', 'b']:
        raise ValueError('Sex must be the string of \'f\', \'m\', or \'b\'')

    kw = {
        'data': {
            'ami': miniumage,
            'f': _from,
            'ama': maxage,
            's': sex.lower(),
            't': to,
            'r': range
        }
    }

    if not mobile:
        kwargs['headers'][
            "Referer"] = 'http://st.chatango.com/flash/sellers_external.swf'
        kwargs['cookies'] = make_cookie(name, auth)
    else:
        kw['data']['token'] = auth
        kw['data']['imc'] = 0
        kw['data']['app'] = 1
        url = 'https:' + url.split(':', 1)[1]

    kw.update(**kwargs)
    resp = requests.post(url, **kw)

    if resp.content.lower() == 'none': raise ValueError('Bad configuration')
    if resp.content.lower().startswith('unauth'):
        raise chexceptions.ExpiredAuth('Auth key has expired')

    for p2 in [
            p1 for p1 in resp.content.split('=')[1].split(':') if len(p1) > 0
    ]:
        name, status = p2.split(';')
        yield (name, bool(int(status)))
Example #2
0
def login(request):
    if request.method == "POST":
        email = str(request.POST.get('email'))
        password = str(request.POST.get('password'))
        user_id = user.is_valid_login(email, password)
        if user_id:
            response = HttpResponse('{\"Result\":\"Success\", \"user_id\":\"' + user_id +'\"}')
            response.set_signed_cookie(key="uID", value=utils.make_cookie(user_id), salt=production.uID_salt)
            return response
        response = HttpResponse('False')
        return response
    response = HttpResponse()
    response.status_code = 403
    return response
Example #3
0
def show_login():
    page_name = 'login'

    if request.method.lower() == 'get':
        page_content = render_template("login.html")
        return render_page(page_content, "login")

    username = request.form.get("username") or ""
    password = request.form.get("password") or ""
    verification_code = request.form.get("verification_code") or ""

    if not (username and password and verification_code):
        page_content = render_template("login.html", message='Missing field')
        return render_page(page_content, page_name)

    if not utils.auth_user(username, password):
        page_content = render_template("login.html",
                                       message='Invalid credentials')
        return render_page(page_content, page_name)

    user = utils.check_username(username)
    seed = utils.generate_seed(username, user["user_ip"])
    totp_key = utils.get_totp_key(seed)
    totp = pyotp.TOTP(totp_key)

    if verification_code != totp.now():
        page_content = render_template("login.html",
                                       message='Invalid verification code')
        return render_page(page_content, page_name)

    # user/pass/totp all valid by now
    session_cookie = utils.make_cookie(app.config["COOKIE_SECRET"], username,
                                       request.remote_addr)
    response = app.make_response(redirect("/"))
    response.set_cookie('session', session_cookie)
    return response

    page_content = render_template("login.html")
    return render_page(page_content, page_name)
Example #4
0
def signup(request):
    if request.method == "POST":
        email = request.POST.get('email')
        password = request.POST.get('password')
        if user.is_valid_email(email):
            if not user.is_email_already_used(email):
                user_id = user.insert_user(email, password)
                if user_id:
                    response = HttpResponse('{\"Result\":\"Success\", \"user_id\":\"' + user_id +'\"}')
                    response.set_signed_cookie(key="uID", value=utils.make_cookie(user_id), salt=production.uID_salt)
                    return response
                else:
                    response = HttpResponse('{\"Result\":\"Failure\",\"Reason\":\"Invalid User\"')
            else:
                response = HttpResponse('{\"Result\":\"Failure\",\"Reason\":\"Email Already Used\"}')
                return response
        else:
            response = HttpResponse('{\"Result\":\"Failure\",\"Reason\":\"Invalid Email\"}')
            return response
    response = HttpResponse()
    response.status_code = 403
    return response
Example #5
0
def show_login():
    page_name = 'login'

    if request.method.lower() == 'get':
        page_content = render_template("login.html")
        return render_page(page_content, "login")

    username = request.form.get("username") or ""
    password = request.form.get("password") or ""
    verification_code = request.form.get("verification_code") or ""

    if not (username and password and verification_code):
        page_content = render_template("login.html", message='Missing field')
        return render_page(page_content, page_name)

    if not utils.auth_user(username, password):
        page_content = render_template("login.html", message='Invalid credentials')
        return render_page(page_content, page_name)

    user = utils.check_username(username)
    seed = utils.generate_seed(username, user["user_ip"])
    totp_key = utils.get_totp_key(seed)
    totp = pyotp.TOTP(totp_key)

    if verification_code != totp.now():
        page_content = render_template("login.html", message='Invalid verification code')
        return render_page(page_content, page_name)

    # user/pass/totp all valid by now
    session_cookie = utils.make_cookie(app.config["COOKIE_SECRET"], username, request.remote_addr)
    response = app.make_response(redirect("/"))
    response.set_cookie('session', session_cookie)
    return response

    page_content = render_template("login.html")
    return render_page(page_content, page_name)
Example #6
0
def show_login():
    page_name = "login"

    if request.method.lower() == "get":
        page_content = render_template('login.html')
        return render_page(page_content, 'login')

    username = request.form.get('username') or ''
    password = request.form.get('password') or ''
    verification_code = request.form.get('verification_code') or ''

    if not (username and password and verification_code):
        page_content = render_template('login.html', message="Missing field")
        return render_page(page_content, page_name)

    if not utils.auth_user(username, password):
        page_content = render_template('login.html', message="Invalid credentials")
        return render_page(page_content, page_name)

    user = utils.check_username(username)
    seed = utils.generate_seed(username, user['user_ip'])
    totp_key = utils.get_totp_key(seed)
    totp = pyotp.TOTP(totp_key)

    if verification_code != totp.now():
        page_content = render_template('login.html', message="Invalid verification code")
        return render_page(page_content, page_name)

    # user/pass/totp all valid by now
    session_cookie = utils.make_cookie(app.config['COOKIE_SECRET'], username, request.remote_addr)
    response = app.make_response(redirect('/'))
    response.set_cookie("session", session_cookie)
    return response

    page_content = render_template('login.html')
    return render_page(page_content, page_name)
Example #7
0
def bump(name, auth, **kwargs):
    return requests.get('http://{}.chatango.com'.format(name),
                        cookies=make_cookie(name, auth),
                        **kwargs)
Example #8
0
 def set_cookie(self, user):
     """Set user cookie in headers."""
     cookie = utils.make_cookie(user)
     self.response.headers.add_header(
         'Set-Cookie',
         'user={}; Path=/'.format(cookie))
Example #9
0
 def load_session(self, session):
     from utils import make_cookie
     self.base_url = '{0}vd{1}/'.format(self.BBS_URL, session.vd)
     self._cj.set_cookie(make_cookie('_U_KEY', session.key))
     self._cj.set_cookie(make_cookie('_U_UID', session.uid))
     self._cj.set_cookie(make_cookie('_U_NUM', session.num))
Example #10
0
 def load_session(self, session):
     from utils import make_cookie
     self.base_url = '{0}vd{1}/'.format(self.BBS_URL, session.vd)
     self._cj.set_cookie(make_cookie('_U_KEY', session.key))
     self._cj.set_cookie(make_cookie('_U_UID', session.uid))
     self._cj.set_cookie(make_cookie('_U_NUM', session.num))