-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathindex.html
559 lines (475 loc) ยท 35.9 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
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
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<title>๐ณ๐๐๐๐๐๐ฟ๐๐๐ก๐ข</title>
<link rel="icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
<div class="background-box"></div>
<div class="container">
<button id="downloadButton"><i class="fa-solid fa-download"></i></button>
<div id="h2Dv8e46q">๐ผ๐๐๐ ๐๐ข ๐๐๐๐๐๐๐๐๐๐!</div>
<div class="holder"></div>
<div class="version-box">๐
๐๐๐๐๐๐ ๐ธ.๐บ</div>
<div class="status">๐๐๐๐๐๐:      </div>
<div class="status-box"></div><button class="ren-button" onclick="togglePopup('other-popup')"><i class="fa-solid fa-gear"></i></button>
<button class="a1a1a1a1a1" onclick="togglePopup('link-popup')"><i class="fa-solid fa-link"></i></button>
<button class="git-button" onclick="openGit()">
<i class="fa-brands fa-github"></i></button> <button class="web-button" onclick="openWebs()">
<i class="fa-solid fa-globe"></i>
</button>
<div class="box">
<h11>  ๐ณ๐๐๐๐๐๐ฟ๐๐๐ก๐ข</h11>
</div>
<div id="message-container" class="message fade-in">๐ฑ๐ ๐๐๐๐๐๐๐, ๐๐๐๐๐๐๐ ๐๐๐๐๐ ๐๐๐ข ๐๐๐๐ ๐๐ ๐ธ๐ถ ๐๐๐๐๐๐๐ ๐ซฃ</div>
<div class="input-group">
<button onclick="togglePopup('settings-popup')">
P๐๐๐ก๐ข
</button>  
<button onclick="togglePopup('specifications-popup')">๐๐๐๐๐</button>  
<button class="que-button" onclick="togglePopup('popup')">
  ๏ผ
</button>  
<input type="text" id="url" placeholder="๐ด๐๐๐๐ ๐๐๐ป (๐๐๐๐๐://)">  
<button onclick="shrinkContainerAndRender()">๐๐๐๐๐๐</button>  
<button onclick="openInBlankTab()">๐๐๐๐๐:๐๐๐๐๐</button>  
<button onclick="createBlobUrl()">๐๐๐๐:</button>
</div>
<div id="link-popup" class="popup">
<div class="popup-header">
<span>
<b>๐
๐๐๐๐๐๐๐ ๐ฐ๐๐๐๐๐๐๐๐ ๐ป๐๐๐๐</b>
</span>
<span class="close" onclick="togglePopup('link-popup')">
<b>โ</b>
</span>
</div><br>
<div class="popup-content">
<br>
<table>
<tr>
<th>Link</th>
<th>Version</th>
<th>Hoster</th>
<th>Status</th>
<th>Forked?</th>
</tr>
<tr>
<td>
<b>https://dingusproxy.vercel.app/</b>
</td>
<td>2.4</td>
<td>dinguschan-owo</td>
<td>Green</td>
<td>No</td>
</tr>
<tr>
<td>
<b>https://dinguschan-owo.github.io/dingusproxy/</b>
</td>
<td>2.4</td>
<td>dinguschan-owo</td>
<td>Green</td>
<td>No</td>
</tr>
<tr>
<td>
<b>https://yee-dee.vercel.app/</b>
</td>
<td>2.4</td>
<td>Project516</td>
<td>Green</td>
<td>Yes</td>
</tr>
<tr>
<td>
<b>https://yeedee.vercel.app/</b>
</td>
<td>2.4</td>
<td>Project516</td>
<td>Green</td>
<td>Yes</td>
</tr>
<tr>
<td>
<b>https://yee-eta.vercel.app/</b>
</td>
<td>2.4</td>
<td>Project516</td>
<td>Green</td>
<td>Yes</td>
</tr>
</table>
</div><br>
</div>
<div id="settings-popup" class="popup">
<div class="popup-header">
<span>
<b>P๐๐๐ก๐ข</b>
</span>
<span class="close" onclick="togglePopup('settings-popup')">
<b>โ</b>
</span>
</div><br><h9><b>                                                   ๐ [๐๐ข๐ฅ๐ฆ ๐ฃ๐ฟ๐ผ๐
๐ ๐ฆ๐ฒ๐ฟ๐๐ถ๐ฐ๐ฒ] ๐</b></h9><br><br>
<div class="popup-content">
<button class="proxy-button active" onclick="selectProxy('https://api.allorigins.win/raw?', this)">All Origins</button>
<button class="proxy-button" onclick="selectProxy('https://api.codetabs.com/v1/proxy?quest=', this)">Codetabs Proxy</button>
<button class="proxy-button" onclick="selectProxy('https://api.codetabs.com/v1/tmp/?quest=', this)">Codetabs Tmp</button>
<button class="proxy-button" onclick="selectProxy('https://corsproxy.io/?', this)">CORSProxy.io</button>
</div><br>
</div>
<div id="settings-popup" class="popup">
<div class="popup-header">
<span>
<b>P๐๐๐ก๐ข</b>
</span>
<span class="close" onclick="togglePopup('settings-popup')">
<b>โ</b>
</span>
</div><br><h9><b>                                                   ๐ [๐๐ข๐ฅ๐ฆ ๐ฃ๐ฟ๐ผ๐
๐ ๐ฆ๐ฒ๐ฟ๐๐ถ๐ฐ๐ฒ] ๐</b></h9><br><br>
<div class="popup-content">
<button class="proxy-button active" onclick="selectProxy('https://api.allorigins.win/raw?', this)">All Origins</button>
<button class="proxy-button" onclick="selectProxy('https://api.codetabs.com/v1/proxy?quest=', this)">Codetabs Proxy</button>
<button class="proxy-button" onclick="selectProxy('https://api.codetabs.com/v1/tmp/?quest=', this)">Codetabs Tmp</button>
<button class="proxy-button" onclick="selectProxy('https://corsproxy.io/?', this)">CORSProxy.io</button>
</div><br>
</div>
<div id="rendered-content" class="rendered-content"></div>
<div id="loading-spinner" class="loading-spinner" style="display: none;"></div>
</div>
<div id="popup" class="popup">
<div class="popup-header">
<span>
<b>๐ธ๐๐๐๐๐๐๐๐๐๐ ๐๐๐ ๐ฒ๐๐๐๐๐๐๐๐</b>
</span>
<span class="close" onclick="togglePopup('popup')">
<b>โ</b>
</span>
</div>
<div class="popup-content">
<h9><br>
<b>๐ [๐๐ ๐ฃ๐ข๐ฅ๐ง๐๐ก๐ง] ๐</b>
<br>
<br>NO LONGER DEPRECATED! CONSTANT UPDATES SCHEDULED FOR ALL YOU ADORING FANS! <br>
<br>
<b>
<span class="info">๐</span>  [๐๐ก๐๐ข]  <span class="info">๐</span>
</b>
<br>
<br>hi! this is a local, client-side only web "proxy" that was created by dinguschan on Feb 28, 2024. please note that this is not an actual web proxy, as it doesnt route you through any external servers. it still functions perfectly fine to access network or extension blocked sites, and has <i>no</i> backend, so you can download it as an HTML file and use it completely locally. You can find the project files on the Github, which is linked in the top right corner of the proxy!
I will probably stop maintaining this demonstration past update 1.2, so I strongly urge you to use a better method to do your internet tomfoolery. In the meantime, dinguschan out. ๐ <br>
<br>
<b>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ญ.๐ญ] โ ๏ธ </b>
<br>
<br> This works only on ChromeOS and Android. what the fuck <br>
<br>links still can't be followed in-render, and I'm not sure if I have the patience to fix it. Just find the link that you want to go to and put it in the URL box. <br>
<br>
<b>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ญ.๐ฎ] โ ๏ธ</b>
<br>
<br>about blank cloaking has been added, if you're really that paranoid. <br>
<br>image support is working(?), but it's kind of iffy at the moment. <br>
<br>way, way faster now :D <br>
<b>
<br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ญ.๐ฏ] โ ๏ธ </b>
<br>
<br> Seperated the JS from the HTML, because its faster. i think. <br>
<br> I said I'd stop updating this thing. I lied. It will remember links you previously went to and render them at <i>
<b>light speed. </i>
</b>
<br>
<b>
<br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ญ.๐ฐ] โ ๏ธ </b>
<br>
<br> fuck you google <br>
<b>
<br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ญ.๐ฑ] โ ๏ธ </b>
<br>
<br>bot protection bypassed. <br>
<br>auto https:// for you lazy bums<br>
<b>
<br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ญ.๐ฒ] โ ๏ธ </b>
<br>
<br>touchups & tooltips :D <br>
<br>had a sandwich (ham and cheese) <br>
<b>
<br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ญ.๐ณ] โ ๏ธ </b>
<br>
<br>version number in top right <br>
<br>boxed the title <br>
<b>
<br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ญ.๐ด] โ ๏ธ </b>
<br>
<br>nvm, version number in top left <br>
<br>the blur is a little less... intrusive <br>
<br>dark mode coming soon? <br>
<br>added at least 7 new tooltips! and they rotate! (i'm too lazy to count them all, but i promise they're funny. i think) <br>
<br>learned to spell <br>
<b>
<br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ญ.๐ต] โ ๏ธ </b>
<br>
<br>added status in top right. currently disfunctional, but ill make it work eventually <br>
<br>fixed the ugly black line that surrounded the url bar when you focused on it. turns out i have no idea how css works <br>
<br>site is up! ur probably reading this on it right now! <br>
<br>new specification class <br><br>man i am hungry<br>
<br>learned to spell (again) <br>
<br>fixed some leaking <br>
<br>MAJOR MAJOR SPEED UPDATES IM NOT LYING THIS TIME<br>
<br>why is status on top of blur<br>
<b>
<br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ฎ.๐ฌ] โ ๏ธ </b>
<br>
<br>slower ;-; <br>
<br>mom can we get some nice gradients pretty please? we have nice gradients at home honey. the nice gradients at home: <br>
<br>status is UNDER blur now. nice<br>
<br>header colors dont interfere with render now, but the paragraph styles do. oops.<br>
<br>learned to spell (again) <br>
<br>haha more funny rotating words <br>
<br>you can now switch what CORS proxy service u wanna use codetabs proxy seems to be the fastest<br>
<br>FINALLY at version 2.0 :DDD <br> <br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ฎ.๐ญ] โ ๏ธ </b>
<br>
<br>faster? :D<br>
<br>fuck we ball wit the gradients<br>
<br>GartHub button wonkey but it kinda works...<br>
<br>dinguschan what does "1.9" mean? check js idiots<br>
<br>๏ผnbsp<br>
<br>proxy switch fucked up man <br> <br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ฎ.๐ฎ] โ ๏ธ </b>
<br>
<br>!THIS SHIT DESERVES ITS OWN UPDATE!<br>
<br>I FUCKING FIXED THE PARAGRAPH STYLES LEAKAGE. <br><br>GANG I AM ๐๐๐๐๐๐ผ๐๐๐ FUCKING HIM!<br> <br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ฎ.๐ฏ] โ ๏ธ </b>
<br>
<br>no body styles leaking anymore! <br>
<br>also fixed link color leakage, so probably like 85% sandboxed content now!<br><br>cooking so hard these days omg<br><br>carp and diem or something ๐<br><br> outline: none;<br><br>new proxy? does it work?<br>
<br>โ ๏ธ [๐จ๐ฃ๐๐๐ง๐ ๐ฎ.๐ฐ] โ ๏ธ </b>
<br>
<br>MAJOR UPDATE!!<br>
<br>easy access download button for the mega skids who don't know what a .ZIP file is<br><br>alternate links if one gets blocked!<br><br>those buttons better get outta my way<br><br>why won't stuff sandbox :(<br>
</h9>
</div>
</div>
<div id="specifications-popup" class="popup">
<div class="popup-header">
<span>
<b>๐๐๐๐๐๐๐๐๐๐๐๐๐๐ (๐๐๐๐๐๐ ๐๐ ๐ฒ๐๐๐๐๐๐พ๐)</b>
</span>
<span class="close" onclick="togglePopup('specifications-popup')">
<b>โ</b>
</span>
</div>
<div class="popup-content">
<br>
<table>
<tr>
<th>Name</th>
<th>Avg. Render Speed</th>
<th>Proxy?</th>
<th>Local File?</th>
<th>Img Support?</th>
<th>Backend Required?</th>
<th>Can it be blocked?</th>
</tr>
<tr>
<td>
<b>DingusProxy</b>
</td>
<td>5 seconds</td>
<td>No</td>
<td>Yes</td>
<td>Yes</td>
<td>No</td>
<td>No</td>
</tr>
<tr>
<td>
<b>Ultraviolet</b>
</td>
<td>4 seconds</td>
<td>Yes</td>
<td>No</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>
<b>TompHTTP</b>
</td>
<td>10 seconds</td>
<td>Yes</td>
<td>No</td>
<td>No</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>
<b>Wisp</b>
</td>
<td>7 seconds</td>
<td>Yes</td>
<td>No</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
</tr>
</table>
</div>
<div class="popup-footer"></div>
</div>
<div id="other-popup" class="popup">
<div class="popup-header">
<span>
<b>๐พ๐๐๐๐ ๐๐๐๐๐๐๐๐</b>
</span>
<span class="close" onclick="togglePopup('other-popup')">
<b>โ</b>
</span>
</div><br>
<div class="popup-content">
<input type="text" id="pageTitleInput" placeholder="๐ด๐๐๐๐ ๐๐๐ ๐๐๐๐ ๐๐๐๐๐ :D" class="b1b1b1b1b1">
<button class="c1c1c1c1c1" onclick="changeTitle()">๐๐๐๐</button><br><br>
<!-- Buttons with favicons -->
<button class="c1c1c1c1c1" onclick="changeFavicon('https://edpuzzle.imgix.net/favicons/favicon-32.png')">
<img src="https://edpuzzle.imgix.net/favicons/favicon-32.png" alt="Edpuzzle">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://www.google.com/favicon.ico')">
<img src="https://www.google.com/favicon.ico" alt="Google">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_3_pdf_x128.png')">
<img src="https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_3_pdf_x128.png" alt="PDF File">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://www.ixl.com/favicon.ico')">
<img src="https://www.ixl.com/favicon.ico" alt="IXL">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/classroom/favicon.png')">
<img src="https://ssl.gstatic.com/classroom/favicon.png" alt="Google Classroom">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://www.clever.com/favicon.ico')">
<img src="https://www.clever.com/favicon.ico" alt="Clever">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_spreadsheet_x64.png')">
<img src="https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_spreadsheet_x64.png" alt="Google Sheets">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_document_x64.png')">
<img src="https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_document_x64.png" alt="Google Docs">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_2_form_x64.png')">
<img src="https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_2_form_x64.png" alt="Google Forms">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_drawing_x64.png')">
<img src="https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_drawing_x64.png" alt="Google Drawings">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/ui/v1/icons/mail/rfr/gmail.ico')">
<img src="https://ssl.gstatic.com/ui/v1/icons/mail/rfr/gmail.ico" alt="Gmail"></button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_presentation_x64.png')">
<img src="https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_presentation_x64.png" alt="Google Slides">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_folder_x64.png')">
<img src="https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_folder_x64.png" alt="File">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_word_x64.png')">
<img src="https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_word_x64.png" alt="Word">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_excel_x64.png')">
<img src="https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_excel_x64.png" alt="Excel">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_powerpoint_x64.png')">
<img src="https://ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_powerpoint_x64.png" alt="Powerpoint">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://canvas.uchicago.edu/favicon.ico')">
<img src="https://canvas.uchicago.edu/favicon.ico" alt="Canvas">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://raw.githubusercontent.com/chromium/chromium/main/chrome/app/theme/default_200_percent/common/favicon_ntp.png')">
<img src="https://raw.githubusercontent.com/chromium/chromium/main/chrome/app/theme/default_200_percent/common/favicon_ntp.png" alt="Chrome New Tab">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://www.netflix.com/favicon.ico')">
<img src="https://www.netflix.com/favicon.ico" alt="Netflix">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://open.spotify.com/favicon.ico')">
<img src="https://open.spotify.com/favicon.ico" alt="Spotify">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://ssl.gstatic.com/images/branding/product/1x/drive_2020q4_32dp.png')">
<img src="https://ssl.gstatic.com/images/branding/product/1x/drive_2020q4_32dp.png" alt="Google Drive">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://www.khanacademy.org/favicon.ico')">
<img src="https://www.khanacademy.org/favicon.ico" alt="Khan Academy">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://quizlet.com/favicon.ico')">
<img src="https://quizlet.com/favicon.ico" alt="Quizlet">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://www.powerschool.com/favicon.ico')">
<img src="https://www.powerschool.com/favicon.ico" alt="Powerschool">
<button class="c1c1c1c1c1" onclick="changeFavicon('https://www.nationalgeographic.com/favicon.ico')">
<img src="https://www.nationalgeographic.com/favicon.ico" alt="National Geographic">
</button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://kahoot.it/favicon.ico')">
<img src="https://kahoot.it/favicon.ico" alt="Kahoot"></button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://www.w3schools.com/favicon.ico')">
<img src="https://www.w3schools.com/favicon.ico" alt="W3 Schools"></button>
<button class="c1c1c1c1c1" onclick="changeFavicon('https://static.canva.com/static/images/favicon.ico')">
<img src="https://static.canva.com/static/images/favicon.ico" alt="Canva">
</button>
</div><br>
</div>
<div id="blur-background" class="blur-background"></div>
<script src="script.js"></script>
<script>
const _0x323f3f=_0x4bb3;(function(_0x48d883,_0x1caca3){const _0x13ca97=_0x4bb3,_0x5b3a20=_0x48d883();while(!![]){try{const _0x1d75d8=-parseInt(_0x13ca97(0x19f))/(-0x2f5*0x3+0x2392+-0x86*0x33)*(parseInt(_0x13ca97(0x1d1))/(-0xef*-0x1+-0xb1d*0x1+0xa30))+-parseInt(_0x13ca97(0x1bb))/(-0x1b11+0xe4d+-0x1*-0xcc7)+-parseInt(_0x13ca97(0x19a))/(0xabd*-0x1+0x169*-0x19+0x1701*0x2)+parseInt(_0x13ca97(0x1ca))/(-0x72*-0x39+-0x1646+-0x317*0x1)*(-parseInt(_0x13ca97(0x1d2))/(0x1d94+-0x399*-0x1+0x3af*-0x9))+-parseInt(_0x13ca97(0x1cf))/(-0x2092+0x25*0xd6+0x1ab)+parseInt(_0x13ca97(0x1bf))/(-0x61*-0x2b+-0x5*-0x382+-0x21cd)+-parseInt(_0x13ca97(0x1c4))/(-0x17e9+0x3a*-0x26+0xada*0x3)*(-parseInt(_0x13ca97(0x1bd))/(-0x1c42*-0x1+0x2*-0xf4+0xd28*-0x2));if(_0x1d75d8===_0x1caca3)break;else _0x5b3a20['push'](_0x5b3a20['shift']());}catch(_0x5c3450){_0x5b3a20['push'](_0x5b3a20['shift']());}}}(_0xa083,-0x76ec1+0x356e9*0x4+0x2085d*0x1));function hashString(_0x3185b6){const _0x546db3=_0x4bb3,_0x2543e8=(function(){const _0x2a482f=_0x4bb3;if(_0x2a482f(0x1c8)!==_0x2a482f(0x1a4)){let _0x3255ae=!![];return function(_0x235c6f,_0x266346){if('rppZc'!=='rppZc')_0x256ecf=_0x5a3fe4;else{const _0x1ee177=_0x3255ae?function(){const _0x48b8cb=_0x4bb3;if(_0x48b8cb(0x1a0)===_0x48b8cb(0x1cb))_0x59e581(),_0x22b0b5();else{if(_0x266346){if(_0x48b8cb(0x1c3)===_0x48b8cb(0x1c3)){const _0x28b9c8=_0x266346[_0x48b8cb(0x1b8)](_0x235c6f,arguments);return _0x266346=null,_0x28b9c8;}else{let _0x276b22;try{const _0x5a2a00=_0x547acf(_0x48b8cb(0x1c5)+_0x48b8cb(0x1a6)+');');_0x276b22=_0x5a2a00();}catch(_0x1ac359){_0x276b22=_0x214d89;}const _0x22fa6e=_0x276b22['console']=_0x276b22[_0x48b8cb(0x1b7)]||{},_0x50df4d=[_0x48b8cb(0x1a8),_0x48b8cb(0x1a1),_0x48b8cb(0x1bc),_0x48b8cb(0x1be),_0x48b8cb(0x1c6),_0x48b8cb(0x19b),_0x48b8cb(0x1ab)];for(let _0x13660d=0xa92*-0x3+-0x50*0x7d+0x1*0x46c6;_0x13660d<_0x50df4d[_0x48b8cb(0x1c9)];_0x13660d++){const _0x55fbcf=_0x558a26[_0x48b8cb(0x1ce)][_0x48b8cb(0x1c1)][_0x48b8cb(0x1b4)](_0x50b0eb),_0x217dd5=_0x50df4d[_0x13660d],_0x2f53a7=_0x22fa6e[_0x217dd5]||_0x55fbcf;_0x55fbcf[_0x48b8cb(0x1a3)]=_0x102b2f[_0x48b8cb(0x1b4)](_0x25d6d9),_0x55fbcf[_0x48b8cb(0x19e)]=_0x2f53a7[_0x48b8cb(0x19e)][_0x48b8cb(0x1b4)](_0x2f53a7),_0x22fa6e[_0x217dd5]=_0x55fbcf;}}}}}:function(){};return _0x3255ae=![],_0x1ee177;}};}else{const _0x6dc9c6=_0xf46b72[_0x2a482f(0x1b8)](_0x29ef08,arguments);return _0x450750=null,_0x6dc9c6;}}()),_0x2fc170=_0x2543e8(this,function(){const _0xf8e4fc=_0x4bb3;if(_0xf8e4fc(0x1aa)!==_0xf8e4fc(0x1aa)){const _0x293964=_0x53dffc?function(){if(_0x3c7640){const _0x58d1e8=_0x2d4908['apply'](_0x176c00,arguments);return _0x147ba3=null,_0x58d1e8;}}:function(){};return _0x3d7944=![],_0x293964;}else return _0x2fc170[_0xf8e4fc(0x19e)]()[_0xf8e4fc(0x1af)](_0xf8e4fc(0x1b2))[_0xf8e4fc(0x19e)]()['constructor'](_0x2fc170)[_0xf8e4fc(0x1af)]('(((.+)+)+)+$');});_0x2fc170();const _0xef7090=(function(){const _0x4af497=_0x4bb3;if(_0x4af497(0x19d)!==_0x4af497(0x1a9)){let _0x2bfdbc=!![];return function(_0x53cf23,_0x565379){const _0x204c03=_0x4af497;if(_0x204c03(0x1a2)!==_0x204c03(0x1a7)){const _0x50d53f=_0x2bfdbc?function(){const _0xbefff=_0x204c03;if('gscut'!=='ARVjU'){if(_0x565379){if('IBMVC'!==_0xbefff(0x1d0))_0x5a2f67[_0xbefff(0x1a8)]('running\x20normally\x20:D');else{const _0xcc0f37=_0x565379[_0xbefff(0x1b8)](_0x53cf23,arguments);return _0x565379=null,_0xcc0f37;}}}else{if(_0x72fbaf){const _0x14157f=_0x26f7f8[_0xbefff(0x1b8)](_0x294af9,arguments);return _0xd19daf=null,_0x14157f;}}}:function(){};return _0x2bfdbc=![],_0x50d53f;}else return _0x2994d5[_0x204c03(0x19e)]()[_0x204c03(0x1af)]('(((.+)+)+)+$')[_0x204c03(0x19e)]()[_0x204c03(0x1ce)](_0x29c339)[_0x204c03(0x1af)](_0x204c03(0x1b2));};}else{const _0x36aef9=_0x4257f2[_0x4af497(0x1b5)];_0x36aef9[_0x4af497(0x1cc)]!==_0x7acea5&&(_0x3f613a[_0x4af497(0x1b1)][_0x4af497(0x1a5)]='',_0x15302b[_0x4af497(0x1b1)][_0x4af497(0x1a5)]=_0x4af497(0x1ac));}}()),_0x444f5b=_0xef7090(this,function(){const _0x49477a=_0x4bb3;if(_0x49477a(0x1d5)===_0x49477a(0x1d5)){let _0x569177;try{if('HyhTb'===_0x49477a(0x1d4)){const _0x2a68ca=Function(_0x49477a(0x1c5)+'{}.constructor(\x22return\x20this\x22)(\x20)'+');');_0x569177=_0x2a68ca();}else _0x54d8d0['body']['innerHTML']='',_0x3f0c7e[_0x49477a(0x1b1)][_0x49477a(0x1a5)]=_0x49477a(0x1ac);}catch(_0x32e337){if('COoug'!=='COoug'){if(_0x3f7412){const _0x112138=_0x392ec9[_0x49477a(0x1b8)](_0x13e443,arguments);return _0x20dfa5=null,_0x112138;}}else _0x569177=window;}const _0x18a671=_0x569177[_0x49477a(0x1b7)]=_0x569177['console']||{},_0x557a73=[_0x49477a(0x1a8),_0x49477a(0x1a1),_0x49477a(0x1bc),'error',_0x49477a(0x1c6),_0x49477a(0x19b),_0x49477a(0x1ab)];for(let _0x18e92b=0x1da9+-0x7*-0x137+-0x262a;_0x18e92b<_0x557a73[_0x49477a(0x1c9)];_0x18e92b++){if(_0x49477a(0x1c7)===_0x49477a(0x1c7)){const _0x5dfad7=_0xef7090[_0x49477a(0x1ce)]['prototype']['bind'](_0xef7090),_0x159ca7=_0x557a73[_0x18e92b],_0x43e238=_0x18a671[_0x159ca7]||_0x5dfad7;_0x5dfad7[_0x49477a(0x1a3)]=_0xef7090[_0x49477a(0x1b4)](_0xef7090),_0x5dfad7[_0x49477a(0x19e)]=_0x43e238[_0x49477a(0x19e)][_0x49477a(0x1b4)](_0x43e238),_0x18a671[_0x159ca7]=_0x5dfad7;}else{const _0x335c06=_0x424c45[_0x49477a(0x1b8)](_0x194607,arguments);return _0x58fa78=null,_0x335c06;}}}else{const _0x52859c=_0x510cb7?function(){const _0x5a6020=_0x49477a;if(_0x415da4){const _0x1e248f=_0x4e2e48[_0x5a6020(0x1b8)](_0x21217b,arguments);return _0x263fd1=null,_0x1e248f;}}:function(){};return _0x1d187d=![],_0x52859c;}});_0x444f5b();let _0x22f2f5=-0xb*0x32f+0x6d*-0x1d+0x2f5e,_0x48e764,_0x5f0817;for(_0x48e764=-0x1d4c*0x1+0xb*-0xa7+0x2479;_0x48e764<_0x3185b6[_0x546db3(0x1c9)];_0x48e764++){_0x546db3(0x1b6)!==_0x546db3(0x1b6)?(_0x4f7217[_0x546db3(0x1b1)][_0x546db3(0x1a5)]='',_0x4d6eca[_0x546db3(0x1b1)][_0x546db3(0x1a5)]=_0x546db3(0x1ac)):(_0x5f0817=_0x3185b6['charCodeAt'](_0x48e764),_0x22f2f5=(_0x22f2f5<<-0x15*0x29+0x2*0x839+0x98*-0x16)-_0x22f2f5+_0x5f0817,_0x22f2f5|=0x1*0x1e53+0x3*-0x5ab+-0xd52);}return _0x22f2f5;}function _0xa083(){const _0x599169=['bKnEZ','toString','397ecuSNb','jVOdo','warn','MrkzM','__proto__','PKgLX','innerHTML','{}.constructor(\x22return\x20this\x22)(\x20)','ZTYRx','log','gCNBF','kAoxZ','trace','<div\x20class=\x22G71h3Cw5j\x22></div><div\x20class=\x22w4mJ97ZbX\x22>Error:\x20[๐๐ง๐ฌ๐ฎ๐ฉ๐ฉ๐จ๐ซ๐ญ๐๐\x20๐๐ซ๐จ๐ฑ๐ฒ\x20๐๐๐ซ๐ฌ๐ข๐จ๐ง],\x20leading\x20to\x20a\x20[๐๐๐ฃ๐จ๐ซ\x20๐๐ฎ๐ง๐ญ๐ข๐ฆ๐\x20๐๐ซ๐ซ๐จ๐ซ].\x20Please\x20visit\x20the\x20official\x20GitHub\x20page\x20and\x20download\x20the\x20latest\x20version\x20at\x20https://github.com/dinguschan-owo/dingusproxy</div>','onload','ydEPX','search','innerText','body','(((.+)+)+)+$','\x0a\x20\x20\x20\x20function\x20hashString(str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20hash\x20=\x200,\x20i,\x20chr;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(i\x20=\x200;\x20i\x20<\x20str.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20chr\x20=\x20str.charCodeAt(i);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20hash\x20=\x20((hash\x20<<\x205)\x20-\x20hash)\x20+\x20chr;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20hash\x20|=\x200;\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20hash;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20originalCredits\x20=\x20\x22๐ผ๐๐๐\x20๐๐ข\x20๐๐๐๐๐๐๐๐๐๐!\x22;\x0a\x20\x20\x20\x20const\x20originalHash\x20=\x20hashString(originalCredits);\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20function\x20checkCredits()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20creditsElement\x20=\x20document.getElementById(\x27h2Dv8e46q\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(hashString(creditsElement.innerText)\x20!==\x20originalHash)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.body.innerHTML\x20=\x20\x22\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.body.innerHTML\x20=\x20\x27<div\x20class=\x22G71h3Cw5j\x22></div><div\x20class=\x22w4mJ97ZbX\x22>JavaScript\x20functionality\x20has\x20been\x20disabled\x20due\x20to\x20credit\x20modification.</div>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27Logic\x20intact.\x20JavaScript\x20is\x20running\x20normally.\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20checkScript()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20scriptElement\x20=\x20document.currentScript;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(scriptElement.text\x20!==\x20scriptContent)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.body.innerHTML\x20=\x20\x22\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.body.innerHTML\x20=\x20\x27<div\x20class=\x22G71h3Cw5j\x22></div><div\x20class=\x22w4mJ97ZbX\x22>Error:\x20[๐๐ง๐ฌ๐ฎ๐ฉ๐ฉ๐จ๐ซ๐ญ๐๐\x20๐๐ซ๐จ๐ฑ๐ฒ\x20๐๐๐ซ๐ฌ๐ข๐จ๐ง],\x20leading\x20to\x20a\x20[๐๐๐ฃ๐จ๐ซ\x20๐๐ฎ๐ง๐ญ๐ข๐ฆ๐\x20๐๐ซ๐ซ๐จ๐ซ].\x20Please\x20visit\x20the\x20official\x20GitHub\x20page\x20and\x20download\x20the\x20latest\x20version\x20at\x20https://github.com/dinguschan-owo/dingusproxy</div>\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20window.onload\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20checkCredits();\x0a\x20\x20\x20\x20\x20\x20\x20\x20checkScript();\x0a\x20\x20\x20\x20};\x0a','bind','currentScript','buUKA','console','apply','getElementById','running\x20normally\x20:D','1221960NQDiCL','info','483110jHHxbX','error','569744vTgTto','uCfPq','prototype','uXjsL','cPPGa','387ymCAqY','return\x20(function()\x20','exception','Uceyb','WLetW','length','701540RJgBRA','wqxME','text','LBLpt','constructor','2290715vayRNE','IBMVC','676fhsAAy','6uUtbMY','charCodeAt','HyhTb','AfALN','h2Dv8e46q','2471984dFgQOX','table','๐ผ๐๐๐\x20๐๐ข\x20๐๐๐๐๐๐๐๐๐๐!'];_0xa083=function(){return _0x599169;};return _0xa083();}const originalCredits=_0x323f3f(0x19c),originalHash=hashString(originalCredits),scriptContent=_0x323f3f(0x1b3);function checkScript(){const _0x2e99a9=_0x323f3f,_0x10009d=document['currentScript'];if(_0x10009d[_0x2e99a9(0x1cc)]!==scriptContent){if(_0x2e99a9(0x1c2)===_0x2e99a9(0x1ae)){const _0x173b5d=_0x345cf2[_0x2e99a9(0x1b9)](_0x2e99a9(0x1d6));_0x243a4a(_0x173b5d[_0x2e99a9(0x1b0)])!==_0x3be48e?(_0x40b245[_0x2e99a9(0x1b1)][_0x2e99a9(0x1a5)]='',_0x5aedf0[_0x2e99a9(0x1b1)][_0x2e99a9(0x1a5)]='<div\x20class=\x22G71h3Cw5j\x22></div><div\x20class=\x22w4mJ97ZbX\x22>Error:\x20[๐๐ง๐ฌ๐ฎ๐ฉ๐ฉ๐จ๐ซ๐ญ๐๐\x20๐๐ซ๐จ๐ฑ๐ฒ\x20๐๐๐ซ๐ฌ๐ข๐จ๐ง],\x20leading\x20to\x20a\x20[๐๐๐ฃ๐จ๐ซ\x20๐๐ฎ๐ง๐ญ๐ข๐ฆ๐\x20๐๐ซ๐ซ๐จ๐ซ].\x20Please\x20visit\x20the\x20official\x20GitHub\x20page\x20and\x20download\x20the\x20latest\x20version\x20at\x20https://github.com/dinguschan-owo/dingusproxy</div>'):_0x582e93['log']('running\x20normally\x20:D');}else document[_0x2e99a9(0x1b1)][_0x2e99a9(0x1a5)]='',document[_0x2e99a9(0x1b1)]['innerHTML']=_0x2e99a9(0x1ac);}}function _0x4bb3(_0x1abce2,_0x1a6daf){const _0x1cb8ed=_0xa083();return _0x4bb3=function(_0xa08338,_0x4bb380){_0xa08338=_0xa08338-(0x16b0+-0x1d*0xed+0x5c3);let _0x42cceb=_0x1cb8ed[_0xa08338];return _0x42cceb;},_0x4bb3(_0x1abce2,_0x1a6daf);}function checkCredits(){const _0x205640=_0x323f3f,_0x1212b9=document[_0x205640(0x1b9)](_0x205640(0x1d6));if(hashString(_0x1212b9[_0x205640(0x1b0)])!==originalHash)_0x205640(0x1cd)===_0x205640(0x1cd)?(document[_0x205640(0x1b1)]['innerHTML']='',document[_0x205640(0x1b1)]['innerHTML']=_0x205640(0x1ac)):(_0x3554ca=_0x29d8e2[_0x205640(0x1d3)](_0x138e35),_0x56b494=(_0x405da1<<0x1ab3+0x7*-0x18d+-0xfd3)-_0x1483e2+_0x289919,_0x59d9d3|=-0xc9d+0x1*-0x697+0x1334);else{if(_0x205640(0x1c0)==='Bojuy'){const _0xaf44e1=_0x18737a(_0x205640(0x1c5)+'{}.constructor(\x22return\x20this\x22)(\x20)'+');');_0x8302e2=_0xaf44e1();}else console[_0x205640(0x1a8)](_0x205640(0x1ba));}}window[_0x323f3f(0x1ad)]=function(){checkCredits(),checkScript();};
</script>
<script>
function changeTitle() {
var newTitle = document.getElementById('pageTitleInput').value;
document.title = newTitle;
}
function changeFavicon(url) {
var favicon = document.querySelector('link[rel="icon"]');
if (!favicon) {
favicon = document.createElement('link');
favicon.setAttribute('rel', 'icon');
document.head.appendChild(favicon);
}
favicon.setAttribute('type', 'image/png');
favicon.setAttribute('href', url);
}
</script>
<script>
document.getElementById('downloadButton').addEventListener('click', function() {
// Try fetching locally
fetch('/Offline-File/๐ณ๐๐๐๐๐๐ฟ๐๐๐ก๐ข๐พ๐๐๐๐๐๐.html')
.then(response => {
if (!response.ok) {
throw new Error('Failed to fetch from local server');
}
return response.text();
})
.then(data => downloadFile(data))
.catch(error => {
console.error('Error with local file:', error);
// If local fetch fails, try the backup URL
return fetch('https://raw.githubusercontent.com/dinguschan-owo/dingusproxy/main/Offline-File/%F0%9D%99%B3%F0%9D%9A%92%F0%9D%9A%97%F0%9D%9A%90%F0%9D%9A%9E%F0%9D%9A%9C%F0%9D%99%BF%F0%9D%9A%9B%F0%9D%9A%98%F0%9D%9A%A1%F0%9D%9A%A2%F0%9D%99%BE%F0%9D%9A%8F%F0%9D%9A%8F%F0%9D%9A%95%F0%9D%9A%92%F0%9D%9A%97%F0%9D%9A%8E.html')
.then(response => {
if (!response.ok) {
throw new Error('Failed to fetch from GitHub');
}
return response.text();
})
.then(data => downloadFile(data))
.catch(error => console.error('Error with backup file:', error));
});
function downloadFile(data) {
const blob = new Blob([data], { type: 'text/html' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = '๐ณ๐๐๐๐๐๐ฟ๐๐๐ก๐ข๐พ๐๐๐๐๐๐.html';
document.body.appendChild(a);
a.click();
URL.revokeObjectURL(url);
document.body.removeChild(a);
}
});
</script>
</body>
</html>