-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbypass.html
More file actions
307 lines (305 loc) · 11.1 KB
/
Copy pathbypass.html
File metadata and controls
307 lines (305 loc) · 11.1 KB
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
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name=viewport content="width=device-width, initial-scale=1">
<meta name="author" content="MCEULA Team">
<meta name="description" content="A how-to on how to bypass the Minecraft EULA blacklist for server owners and players alike.">
<style>
body {
font-family: Helvetica, Arial;
overflow-x: hidden;
}
.content {
padding-left: 100px;
padding-right: 100px;
padding-bottom: 25px;
line-height: 1.5;
min-height: calc(100vh - 166px);
}
.InTheContent {
display: none;
}
.sidebar {
padding-top: 20px;
font-size: 14px;
align: center;
text-align: center;
margin-bottom: 0px;
padding-bottom: 0px;
}
.sidebar ul {
display:inline;
list-style-type: none;
}
.sidebar li {
display: inline;
padding-right: 20px;
}
h1, h2 {
margin-bottom: 10px;
}
h1 {
font-size: 40px;
}
.quote {
color: gray;
display: block;
border-left-width: 2px;
border-left-style: solid;
border-left-color: gray;
padding-left: 25px;
font-size: 15px;
}
ul.quote {
padding-left: 42px;
}
ol {
margin-bottom: 3px;
}
li {
padding-bottom: 5px;
}
a:link {
color: #1E90FF;
text-decoration:none;
}
a:hover {
color: #1E90FF;
text-decoration:underline;
}
a:visited {
color: #1E90FF;
text-decoration:none;
}
a.selected {
color: white;
border-radius: 30px;
background: #1E90FF;
padding: 2px 12px 4px 12px;
text-decoration: none;
}
.navheader {
font-size: 20px;
padding-bottom: 10px;
padding-left: 20px;
color:white;
padding-top:17px;
}
header {
height: 50px;
border-bottom-width: 2px;
border-bottom-style: solid;
border-bottom-color: gray;
background: black;
margin: -20px -15px 0px -10px;
padding: 0px;
}
.navbar {
color: white;
float; left;
position: absolute;
padding-left: 50px;
float: center;
margin-top: 14px;
top: 0px;
left: 100px;
display: inline;
list-style-type: none;
text-align: center;
}
.header li {
display: inline;
padding-right: 25px;
}
.header a {
text-decoration: underline;
color: white;
}
.navheader a {
text-decoration: none;
}
.navheader a:hover {
text-decoration: none;
}
.footer {
background-color: purple;
height: 50px;
bottom: 0px;
margin-bottom: 0px;
position: relative;
border-top-style: solid;
border-top-color: #d442f4;
border-top-width: 5px;
}
.footer p {
color: white;
margin: 0 auto;
padding-top: 15px;
}
.container {
position: absolute;
width: 100%;
margin-left: -8px;
padding-top: 5px;
}
.pre {
background-color: #eff0f1;
font-family: monospace;
white-space: pre-wrap;
}
img {
max-width: 80vw;
border-color: black;
border-width: 2px;
border-style: solid;
}
pre {
background-color: #eff0f1;
}
@media (max-width: 520px) {
.content {
font-size: 14px;
padding: 0px 0px 0px 100px;
padding-left: 5px;
}
.quote {
font-size: 14px;
}
.header {
font-size: 16px;
}
.footer {
font-size: 14px;
}
.quote {
font-size: 14px;
}
.sidebar li {
padding-right: 20px;
font-size: 14px;
}
.header li {
padding-right:5px;
}
h1 {
font-size: 30px;
}
.navbar {
padding-left: 15px;
font-size: 13px;
}
}
</style>
<title>The Minecraft EULA | How to Bypass the Blacklist</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-42113163-10', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<div class="header">
<header>
<h1 class="navheader"><a href="">MCEULA:</a></h1>
<ul class="navbar">
<li><a href="">Home</a></li>
<li><a href="statistics">Statistics</a></li>
<li><a href="bypass">Bypass</a></li>
<li><a href="explanation">Explanation</a></li>
</ul>
</header>
</div>
<div class="content">
<h1>Bypassing the Blacklist</h1>
<hr>
<p>With the increasing frequency of Mojang blacklisting servers, it is becoming increasingly important for server owners and players to learn how to circumnavigate the blacklist.</p>
<h2>SquidHQ</h2>
<hr>
<p><a href="https://squidhq.com">SquidHQ</a> is a client that bypasses the EULA blacklist. This client contain no other modifications other than allowing players to join blacklisted servers. The client is open source, the source is available on <a href="https://github.com/SquidHQ">Github</a>. Servers can also reward players for using SquidHQ via the <a href="https://squidhq.com/plugin/">SquidHQ plugin</a>.
<h2>SRV Bypass</h2>
<hr>
<p>Servers can bypass the blacklist by using an SRV record to point their domain to another domain, thus fooling the blacklist. However, Mojang does try to blacklist these domains as well. Servers have to constantly get new domains that aren't blacklisted by Mojang to set in their SRV records</p>
<p>The steps for setting up an SRV record are relatively simple:</p>
<ol>
<li>Get a domain from either <a href="http://ddns.net">DDNS</a> or <a href="https://noip.com">NOIP</a> which are free or by buying one from <a href="https://namecheap.com">Namecheap</a> or another registrar. Using a free subdomain service is recommended due to the fact that they are free and Mojang cannot blacklist the root domain.</li>
<li>Login into your main domain's registrar. For example, if your server IP was <span class="pre">play.example.com</span> you would want to login to <span class="pre">example.com</span> registrar.</li>
<li>Go the "DNS records" section of your domain. If you don't know where this is, contact your domain registrar</li>
<li>Add a new SRV record. If your registrar does not offer SRV records you should <a href="https://support.cloudflare.com/hc/en-us/articles/205195708-Step-3-Change-your-domain-name-servers-to-Cloudflare">switch to Cloudflare</a>.</li>
<li>Set the service to <span class="pre">_minecraft</span>, set the protocol to <span class="pre">_tcp</span>. Don't mess with priority or weight. Set the port to <span class="pre">25565</span> or the port your server is running on. Set the target to the domain you got earlier.
<li>Click the "Done" button or checkmark to submit the SRV record. Mojang may blacklist the target domain within your SRV record, so you may need to change it every few days.</li>
</ol>
Thanks to <a href="https://github.com/EcoCityCraft/MojangBlacklist">EcoCityCraft's EULA Blacklist Guide</a> for the SRV guide and example picture.
<h2>Automating SRV Records</h2>
<hr>
<p>Automating the updating of SRV records allows a server to instantly switch over to a SRV target when Mojang blacklists the current one.</p>
<ol>
<li>First, switch to Cloudflare. The automating program only supports Cloudflare and the Cloudflare API</li>
<li>Second, make an SRV record for the server IP to be pointed to. You can follow the steps in the section above to create one. This program currently only supports the port 25565.</li>
<li>Get your Cloudflare API Keys. Login to Cloudflare and click on "My Profile" on the top right of the page and scroll to "Global API Key." If you do not have any api keys, make sure to generate some. Next to "Global API Key" Select "View API Key." Make sure to copy the set of characters in the box. <br><img src="assets/apikey.png"></li>
<li><a href="https://github.com/DataPools/BlacklistSRVBypass/releases/download/1.0/BlacklistSRVRotator.jar">Download Automatic SRV Rotator</a> and run it. It should generate config.json and domains.txt. Paste your API Key between the quotes to the right of "X-Auth-Key". Type your Cloudflare account email between the quotes beside "X-Auth-Email"</li>
<pre>{
"X-Auth-Email":"youremail@emailprovider.com",
"X-Auth-Key":"[My Cloudflare API Key]",
"zone_id":"",
"record_id":""
}
</pre>
<li>You are going to need your Zone ID. For this using a REST Client is recommended. An example of one is <a href="https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo?hl=en-US">Advanced REST Client</a> for Google Chrome. Other extensions exist on other browsers as well. </li>
<li>Open the REST Client and use it to send a GET Request to <span class="pre">https://api.cloudflare.com/client/v4/zones</span> parameters should look like as follows:
<br><img src="assets/arcclient.png"><br> Make sure to put in information for X-Auth-Email and X-Auth-Key</li>
<li>A response should come back looking something like this: <pre>{
"result": [
{
"id": "132344xjrjjq12344",
"name": "example.com",
"status": "active",
"paused": false,
"type": "full",
"development_mode": 0,
"name_servers": [
"dora.ns.cloudflare.com",
"hank.ns.cloudflare.com"
]
}
</pre>
Copy the ID of the domain you want to have modified into the config.json of the MinecraftSRVRotator. This is the ZoneID and goes between the quotes across from ZoneID.
<pre>{
"X-Auth-Email":"youremail@emailprovider.com",
"X-Auth-Key":"[My Cloudflare API Key]",
"zone_id":"132344xjrjjq12344",
"record_id":""
}
</pre>
</li>
<li>Now the Record ID is needed. Open the REST Client and change the URL to send the request to. Make sure to have the Zone ID handy. Send the request (with the same headers as before) to <span class="pre">https://api.cloudflare.com/client/v4/zones/The ZONE ID/dns_records</span> Replace "THE ZONE ID" with the zone id in the config.json that was retrieved before. All the DNS records should show up as the response. Search for the SRV record inside that response. Once you find it, get the ID for it and put it in the config.json. The config.json is now complete!
<pre>{
"X-Auth-Email":"youremail@emailprovider.com",
"X-Auth-Key":"[My Cloudflare API Key]",
"zone_id":"132344xjrjjq12344",
"record_id":"[My Record ID]"
}
</pre></li>
<li>Get some domains that point to the Server's IP. The sections above explain this. Make a good amount of domains, you might make more or less depending on how often you get blacklisted. Take these domains and put them into domains.txt. Make sure each domain has its own line. Example:
<pre>bypassblacklist1.ddns.net
bypassblacklist2.ddns.net
bypassblacklist3.ddns.net
bypassblacklist4.ddns.net
bypassblacklist5.ddns.net
</pre>
</li>
<li>Add MinecraftSRVRotator.jar to a cron job or automatic program executor of your choice. You can run it every 5 minutes, 15 minutes, or every hour. Shorter intervals are recommended because srv records will be replaced quicker. This program will check if the current SRV target is blacklisted, if it is it will go to domains.txt, find the nearest unblacklisted target, and set the SRV record to that target. </li>
<li>All steps are completed. Be sure to spread the word about how to bypass the EULA!</li>
</ol>
</div>
<div class="container">
<div class="footer">
<center><p>This site is not affiliated with Minecraft or Mojang AB</p></center>
</div>
</div>
</body>
</html>