(email, client, out)
| 3 | |
| 4 | |
| 5 | async def github(email, client, out): |
| 6 | name = "github" |
| 7 | domain = "github.com" |
| 8 | method = "register" |
| 9 | frequent_rate_limit=False |
| 10 | |
| 11 | freq = await client.get("https://github.com/join") |
| 12 | token_regex = re.compile( |
| 13 | r'<auto-check src="/signup_check/username[\s\S]*?value="([\S]+)"[\s\S]*<auto-check src="/signup_check/email[\s\S]*?value="([\S]+)"') |
| 14 | token = re.findall(token_regex, freq.text) |
| 15 | data = {"value": email, "authenticity_token": token[0]} |
| 16 | req = await client.post("https://github.com/signup_check/email", data=data) |
| 17 | if "Your browser did something unexpected." in req.text: |
| 18 | out.append({"name": name,"domain":domain,"method":method,"frequent_rate_limit":frequent_rate_limit, |
| 19 | "rateLimit": True, |
| 20 | "exists": None, |
| 21 | "emailrecovery": None, |
| 22 | "phoneNumber": None, |
| 23 | "others": None}) |
| 24 | elif req.status_code == 422: |
| 25 | out.append({"name": name,"domain":domain,"method":method,"frequent_rate_limit":frequent_rate_limit, |
| 26 | "rateLimit": False, |
| 27 | "exists": True, |
| 28 | "emailrecovery": None, |
| 29 | "phoneNumber": None, |
| 30 | "others": None}) |
| 31 | elif req.status_code == 200: |
| 32 | out.append({"name": name,"domain":domain,"method":method,"frequent_rate_limit":frequent_rate_limit, |
| 33 | "rateLimit": False, |
| 34 | "exists": False, |
| 35 | "emailrecovery": None, |
| 36 | "phoneNumber": None, |
| 37 | "others": None}) |
| 38 | else: |
| 39 | out.append({"name": name,"domain":domain,"method":method,"frequent_rate_limit":frequent_rate_limit, |
| 40 | "rateLimit": True, |
| 41 | "exists": None, |
| 42 | "emailrecovery": None, |
| 43 | "phoneNumber": None, |
| 44 | "others": None}) |
nothing calls this directly
no outgoing calls
no test coverage detected