factorstudios commited on
Commit
35822bc
·
verified ·
1 Parent(s): ca7bf5e

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +79 -0
app.py ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI, Response
2
+ from fastapi.responses import HTMLResponse, RedirectResponse
3
+ import uvicorn
4
+
5
+ app = FastAPI()
6
+
7
+ # Extracted GitHub cookies from the provided file
8
+ GITHUB_COOKIES = [
9
+ {"name": "_octo", "value": "GH1.1.1252590083.1772014032", "domain": ".github.com"},
10
+ {"name": "_device_id", "value": "514b920e5ffb9ea8b55dc91eeb2c7669", "domain": ".github.com"},
11
+ {"name": "logged_in", "value": "yes", "domain": ".github.com"},
12
+ {"name": "dotcom_user", "value": "bosssamson17-source", "domain": ".github.com"},
13
+ {"name": "user_session", "value": "hALKed-Y82YuiqU8AyfTAoipQ607r-cPRcC8h8W8XfF-_fZ8", "domain": ".github.com"},
14
+ {"name": "__Host-user_session_same_site", "value": "hALKed-Y82YuiqU8AyfTAoipQ607r-cPRcC8h8W8XfF-_fZ8", "domain": ".github.com"},
15
+ {"name": "_gh_sess", "value": "NFGr8TPhi3PjC%2FXxaivj%2FXEa2gVXp%2FDfyeu7yocJO8fNgQU1xykc3as%2Br%2BdfwqtQy6I70pZy9TGrS3cvpDkuF%2BYqdEOtkMw0%2Ba0QaPff7tNLNpMTWQl%2FGS1Vn5RfG1WxMlxTb8RBFlh3sjyTXDCKh4w8HyB9PLRWIHuNKzSORsPBdhicIocTYrv2WtlWxbpGlqm2RW12uLCYpjQWRkblvzxPAgTpc1WnErTQgw3ed2kVwV6Wvo1%2BAfs6Pc5tVClWOEe7rD%2FD%2FcLTYYjkBO2OJE3Ehymqtfa%2Bmis2ydm%2Fq1OHNa5iPge2i7SX5rqXzUm%2BnGOuWwPfFEBwEPy4o2lvRR%2BK2t%2FFHuGrz2I5dA28wm68GXV%2BX0BMA0tIONtlm8%2BtjxNDqn2o31vCgEll6PEde%2FPmFok%3D--FTsBrb%2Bu4uFM7AYM--VsfnRGaCUHwdCxN1WHOWyA%3D%3D", "domain": ".github.com"},
16
+ ]
17
+
18
+ TARGET_URL = "https://bug-free-goggles-97p77ppq5vpq2p65v.github.dev/"
19
+
20
+ @app.get("/", response_class=HTMLResponse)
21
+ async def index():
22
+ html_content = f"""
23
+ <!DOCTYPE html>
24
+ <html lang="en">
25
+ <head>
26
+ <meta charset="UTF-8">
27
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
28
+ <title>GitHub Codespace Redirect</title>
29
+ <script src="https://cdn.tailwindcss.com"></script>
30
+ <style>
31
+ body {{
32
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
33
+ }}
34
+ </style>
35
+ </head>
36
+ <body class="h-screen flex items-center justify-center text-white">
37
+ <div class="bg-white/10 backdrop-blur-md p-10 rounded-2xl shadow-2xl border border-white/20 text-center max-w-md w-full">
38
+ <h1 class="text-3xl font-bold mb-6">Welcome Back</h1>
39
+ <p class="mb-8 text-white/80">Click the button below to access your GitHub Codespace instantly without signing in.</p>
40
+ <button onclick="handleRedirect()" class="w-full bg-white text-indigo-600 font-bold py-4 px-6 rounded-xl hover:bg-indigo-50 transition-colors duration-300 shadow-lg flex items-center justify-center gap-2">
41
+ <svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.041-1.412-4.041-1.412-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>
42
+ Open Codespace
43
+ </button>
44
+ <div id="status" class="mt-4 text-sm text-white/60 hidden">
45
+ Redirecting...
46
+ </div>
47
+ </div>
48
+
49
+ <script>
50
+ const cookies = [
51
+ {{"name": "_octo", "value": "GH1.1.1252590083.1772014032"}},
52
+ {{"name": "_device_id", "value": "514b920e5ffb9ea8b55dc91eeb2c7669"}},
53
+ {{"name": "logged_in", "value": "yes"}},
54
+ {{"name": "dotcom_user", "value": "bosssamson17-source"}},
55
+ {{"name": "user_session", "value": "hALKed-Y82YuiqU8AyfTAoipQ607r-cPRcC8h8W8XfF-_fZ8"}},
56
+ {{"name": "__Host-user_session_same_site", "value": "hALKed-Y82YuiqU8AyfTAoipQ607r-cPRcC8h8W8XfF-_fZ8"}},
57
+ {{"name": "_gh_sess", "value": "NFGr8TPhi3PjC%2FXxaivj%2FXEa2gVXp%2FDfyeu7yocJO8fNgQU1xykc3as%2Br%2BdfwqtQy6I70pZy9TGrS3cvpDkuF%2BYqdEOtkMw0%2Ba0QaPff7tNLNpMTWQl%2FGS1Vn5RfG1WxMlxTb8RBFlh3sjyTXDCKh4w8HyB9PLRWIHuNKzSORsPBdhicIocTYrv2WtlWxbpGlqm2RW12uLCYpjQWRkblvzxPAgTpc1WnErTQgw3ed2kVwV6Wvo1%2BAfs6Pc5tVClWOEe7rD%2FD%2FcLTYYjkBO2OJE3Ehymqtfa%2Bmis2ydm%2Fq1OHNa5iPge2i7SX5rqXzUm%2BnGOuWwPfFEBwEPy4o2lvRR%2BK2t%2FFHuGrz2I5dA28wm68GXV%2BX0BMA0tIONtlm8%2BtjxNDqn2o31vCgEll6PEde%2FPmFok%3D--FTsBrb%2Bu4uFM7AYM--VsfnRGaCUHwdCxN1WHOWyA%3D%3D"}}
58
+ ];
59
+
60
+ function handleRedirect() {{
61
+ document.getElementById('status').classList.remove('hidden');
62
+
63
+ // Set cookies for github.com domain
64
+ cookies.forEach(c => {{
65
+ document.cookie = `${{c.name}}=${{c.value}}; path=/; domain=.github.com; Secure; SameSite=Lax`;
66
+ }});
67
+
68
+ setTimeout(() => {{
69
+ window.location.href = "{TARGET_URL}";
70
+ }}, 500);
71
+ }}
72
+ </script>
73
+ </body>
74
+ </html>
75
+ """
76
+ return HTMLResponse(content=html_content)
77
+
78
+ if __name__ == "__main__":
79
+ uvicorn.run(app, host="0.0.0.0", port=8000)