-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathindex.html
183 lines (182 loc) · 6.88 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" type="image/x-icon" href="logo.png">
<title>Blobwifi</title>
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
margin: 0;
padding: 0;
background-color: #f4f4f4;
}
.container {
max-width: 800px;
margin: 20px auto;
padding: 20px;
background-color: #fff;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.header {
display: flex;
align-items: center; /* Align items vertically */
justify-content: center; /* Align items horizontally */
margin-bottom: 20px;
}
.logo {
margin-right: 10px;
vertical-align: middle; /* Align the logo vertically */
}
h1 {
margin: 0;
vertical-align: middle; /* Align the heading vertically */
}
hr {
border: none;
border-top: 1px solid #ccc;
margin: 20px 0;
}
button {
padding: 10px 20px;
background-color: #007bff;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.3s ease;
}
button:hover {
background-color: #0056b3;
}
input {
width: calc(100% - 110px); /* Adjusted width */
padding: 10px;
margin-bottom: 10px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
display: inline-block; /* Added */
vertical-align: top; /* Added */
}
.button-container {
text-align: right; /* Align button to the right */
}
p {
margin-bottom: 10px;
}
b {
font-weight: bold;
}
ul {
list-style-type: none;
padding: 0;
}
ul li {
margin-bottom: 10px;
}
.image-wrapper {
text-align: center;
}
.image-wrapper img {
max-width: 100%;
height: auto;
display: inline-block;
margin: 0 auto;
}
img.logo {
outline: 3px solid gray; /* Adding outline specifically to the logo */
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<img width="75" height="75" src="https://blobby-boi.github.io/Blobwifi/logo.png" class="logo">
<h1>Blobwifi</h1>
</div>
<hr>
<p><h2>What is a managed Wi-Fi network?</h2></p>
<p>A <b>managed Wi-Fi network</b> is a network that your administrator or school pre-installed into your Chromebook. To know if a Wi-Fi network is managed, go to the menu with all of your networks in it, and check if that network has a symbol that looks like this next to it:</p>
<div class="image-wrapper">
<img src="https://blobby-boi.github.io/Blobwifi/managed.png">
</div>
<p>Managed networks tend to connect you to a DNS server that contains restrictions that block certain things. This means that <b>even in a game site that is unblocked</b>, some of the features may not work when using a managed Wi-Fi network.</p>
<p><h2>What is Blobwifi?</h2></p>
<p>Blobwifi is an exploit that allows Chromebook users to remove all of the restrictions from a managed Wi-Fi network. It works similarly to another exploit, <b>CAUB.</b></p>
<p><h2>How does it work?</h2></p>
<p>As mentioned earlier, managed networks connect you to a specific DNS server that contains restrictions in it. So can't you just change that DNS server to one without those restrictions? The answer is no. <b>Networks that are pre-installed don't let you change the DNS servers.</b> So what is the solution to this problem? When you download a network using a .onc file that has the same GUID that a managed network has, the Chromebook replaces the original network with the new network. It will only do this if it's not the exact same as the original network with that name, though. Since the new Wi-Fi was added by you, it does not force you to use the DNS server with all of those restrictions in it. This means that if you import a .onc file that contains a slightly modified version of a managed network, it will completely remove all of those restrictions. Chrome happens to have a very convenient way to get all of the network data that you need in order to create that .onc file with the modified DNS servers. Blobwifi automatically creates a .onc file with the unrestricted DNS servers.</p>
<p><h5>I am NOT responsible for any trouble that this might get you into.</h5></p>
<hr>
<p><h2>How to use Blobwifi:</h2></p>
<ul>
<li>Go to chrome://network#state and scroll to the bottom of the page.</li>
<li>You should see a section titled "Favorite Networks".</li>
<li>Find the managed Wi-Fi network that you want to use Blobwifi in and click the + sign next to it.</li>
<li>You should see some text pop up.</li>
<li>Copy the entire text that showed up. If you want, you can copy the text of multiple Wi-Fi networks at the same time to use Blobwifi in all of them.</li>
<li>Paste the copied text into the textbox below.</li>
<li>Press the "Download" button to download the Blobwifi file.</li>
</ul>
<hr>
<div class="button-container"> <!-- Added container -->
<input placeholder="Paste copied text here">
<button onclick="gen()"><b>Download</b></button>
</div>
<hr>
<p>Once you have downloaded the file, go to chrome://network#general</p>
<p>Scroll down and click on the "Import ONC" button and import the newly downloaded file.</p>
<p>Congratulations, you have set up Blobwifi!</p>
<hr>
</div>
<script>
function gen() {
try {
var networks = document.querySelector("input").value;
networks = networks.replace(/(?<=[+-]..){/g, "");
networks = networks.replace(/(?<=})[^{\]}]*(?={.."C)/g, ",");
networks = networks.substring(networks.indexOf("{"));
networks = networks.substring(0, networks.lastIndexOf("}") + 1);
networks = JSON.parse("[" + networks + "]");
var onc = {
Type: "UnencryptedConfiguration",
NetworkConfigurations: [],
};
networks.forEach(function (network) {
if (!network.WiFi || !network.Connectable) return;
onc.NetworkConfigurations.push({
GUID: network.GUID,
Metered: true,
Name: network.Name,
Type: "WiFi",
WiFi: {
AutoConnect: true,
SSID: network.Name,
Security: "None",
},
NameServersConfigType: "Static",
StaticIPConfig: {
NameServers: ["8.8.8.8", "8.8.4.4", "8.8.8.8", "8.8.4.4"]
},
ProxySettings:{
Type:"Direct"
}
});
});
if (!onc.NetworkConfigurations[0]) return;
var link = document.createElement("a");
link.href = URL.createObjectURL(new Blob([JSON.stringify(onc)]));
link.download = "blobwifi.onc";
link.click();
link.remove();
} catch (error) {
console.error(error);
alert("An error occurred, check console logs");
}
}
</script>
</body>
</html>