Compare commits
36 commits
master
...
v6.3_produ
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb6c24073d |
||
|
|
2c555a8aa4 |
||
|
|
8f87b56886 |
||
|
|
0778ecbf83 |
||
|
|
32706dd9be |
||
|
|
dc0ff7890b |
||
|
|
961f58af56 |
||
|
|
63a2514dd4 |
||
|
|
4558af2efd |
||
|
|
898c313019 |
||
|
|
8a23d2ad0d |
||
|
|
253f457ba0 |
||
|
|
673c0a37d2 |
||
|
|
35c8b25235 | ||
|
|
df1e03d2c6 |
||
|
|
4645b0140e |
||
|
|
fca2563b15 |
||
|
|
cf8e5d75e4 |
||
|
|
6126f9f74e | ||
|
|
94ba8bce08 | ||
|
|
fa0f0065d0 | ||
|
|
eb7a998a33 | ||
|
|
107b75aca0 | ||
|
|
060a69a9d1 | ||
|
|
25dbf27768 | ||
|
|
b6f976e6ff | ||
|
|
bed7aac10d |
||
|
|
f3ca425a70 |
||
|
|
c71ca40c3d |
||
|
|
53d24d5eda |
||
|
|
7babbc02f7 |
||
|
|
e071a7397e |
||
|
|
dac476fc69 |
||
|
|
2b9c9779fd |
||
|
|
4cb02710e6 |
||
|
|
1e277b2d19 |
35
.github/workflows/ci_production.yml
vendored
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
name: CI-Win-Production
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [v6.3-production]
|
||||
pull_request:
|
||||
branches: [v6.3-production]
|
||||
|
||||
jobs:
|
||||
build-windows:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '20.8.0'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
|
||||
- name: Build libraries
|
||||
run: npm run build
|
||||
|
||||
- name: Start server
|
||||
run: npm run workflow-test
|
||||
|
||||
- name: Test server response
|
||||
run: npm test
|
||||
|
||||
- name: Stop server after testing
|
||||
run: npm stop
|
||||
1
.gitignore
vendored
|
|
@ -15,3 +15,4 @@ debug.log
|
|||
/src/.shutdown
|
||||
lib/rammerhead/src/client/hammerhead.min.js
|
||||
lib/rammerhead/src/client/rammerhead.min.js
|
||||
views/archive/gfiles/rarch/roms
|
||||
15
README.md
|
|
@ -1,6 +1,6 @@
|
|||
<img align="left" width="70px" src="https://raw.githubusercontent.com/titaniumnetwork-dev/Holy-Unblocker/master/views/assets/img/icon.png"></img>
|
||||
|
||||
# Holy Unblocker LTS (v6.x.x)
|
||||
# Holy Unblocker LTS (v6.3.9)
|
||||
|
||||

|
||||

|
||||
|
|
@ -14,6 +14,17 @@ This project serves mostly as a proof of concept for the ideal clientless soluti
|
|||
Works with a large number of sites, including YouTube, Discord, and more!
|
||||
Also has a good amount of locally hosted games featured on the site.
|
||||
|
||||
#### Current Branch: Production
|
||||
<details><summary>Branch Types</summary>
|
||||
|
||||
- Latest (master; built for FOSS and SEO)
|
||||
- Beta (pending changes; changes that may break things)
|
||||
- Stable (v4, v5, v6; stable version of Holy Unblocker LTS)
|
||||
- Production (changes for self hosting in production settings; max filtering evasion and request handling)
|
||||
</details>
|
||||
|
||||
<br>
|
||||
|
||||
> [!TIP]
|
||||
> Holy Unblocker LTS is optimized for self-hosting to provide you with maximum privacy control! Fork this repository and consider starring. You can self-host using either free or paid deployment options, or set it up on a dedicated instance (VPS) for enhanced performance.
|
||||
|
||||
|
|
@ -106,7 +117,7 @@ npm restart
|
|||
|
||||
#### Example v6.x instead of master
|
||||
|
||||
The default place for the proxy when its started is `http://localhost:8080`, but you can change it if needed in `./ecosystem.config.js`. You can also modify the other configuration values at `/src/config.js`
|
||||
The default place for the proxy when its started is `http://localhost:8080`, but you can change it if needed in `./ecosystem.config.js`. You can also modify the other configuration values at `/src/config.json`. To clarify you change the PORT and other production metrics via `./ecosystem.config.js`. Localized changes for source randomization, auto-minify, etc. are located in `/src/config.json`.
|
||||
|
||||
This website is hosted locally with Ultraviolet and Rammerhead built-in.
|
||||
|
||||
|
|
|
|||
152
detectordetector.js
Normal file
20
lib/rammerhead/package-lock.json
generated
|
|
@ -464,10 +464,21 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@types/minimatch": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
|
||||
"integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"optional": true
|
||||
"version": "22.8.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.7.tgz",
|
||||
"integrity": "sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"undici-types": "~6.19.8"
|
||||
}
|
||||
},
|
||||
"node_modules/abstract-logging": {
|
||||
"version": "2.0.1",
|
||||
|
|
@ -4789,6 +4800,13 @@
|
|||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "6.19.8",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
|
||||
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/uuid": {
|
||||
"version": "8.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
|
|
|
|||
1979
package-lock.json
generated
26
package.json
|
|
@ -27,24 +27,24 @@
|
|||
"author": "Titanium Network",
|
||||
"license": "GNU AFFERO",
|
||||
"dependencies": {
|
||||
"@fastify/helmet": "^11.1.1",
|
||||
"@fastify/static": "^7.0.4",
|
||||
"@mercuryworkshop/bare-as-module3": "^2.2.2",
|
||||
"@mercuryworkshop/bare-mux": "^2.0.9",
|
||||
"@mercuryworkshop/epoxy-transport": "^2.1.13",
|
||||
"@mercuryworkshop/libcurl-transport": "^1.3.10",
|
||||
"@titaniumnetwork-dev/ultraviolet": "~3.2.7",
|
||||
"@tomphttp/bare-server-node": "^2.0.3",
|
||||
"axios": "^1.7.2",
|
||||
"fastify": "^4.28.1",
|
||||
"@fastify/helmet": "^12.0.1",
|
||||
"@fastify/static": "^8.0.2",
|
||||
"@mercuryworkshop/bare-as-module3": "^2.2.5",
|
||||
"@mercuryworkshop/bare-mux": "^2.1.6",
|
||||
"@mercuryworkshop/epoxy-transport": "^2.1.26",
|
||||
"@mercuryworkshop/libcurl-transport": "^1.3.12",
|
||||
"@titaniumnetwork-dev/ultraviolet": "~3.2.10",
|
||||
"@tomphttp/bare-server-node": "^2.0.5",
|
||||
"axios": "^1.7.7",
|
||||
"fastify": "^5.1.0",
|
||||
"mime-types": "^2.1.35",
|
||||
"pm2": "^5.4.2",
|
||||
"puppeteer": "^22.12.1",
|
||||
"puppeteer": "^23.7.1",
|
||||
"wisp-server-node": "^1.1.7",
|
||||
"ws": "^8.18.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/node": "^7.25.0",
|
||||
"esbuild": "^0.23.0"
|
||||
"@babel/node": "^7.26.0",
|
||||
"esbuild": "^0.24.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -115,11 +115,11 @@ const testServerResponse = async () => {
|
|||
'http://localhost:8080/baremux/index.js',
|
||||
'http://localhost:8080/baremux/worker.js',
|
||||
'http://localhost:8080/epoxy/index.mjs',
|
||||
'http://localhost:8080/uv/uv.bundle.js',
|
||||
'http://localhost:8080/uv/sw.js',
|
||||
'http://localhost:8080/uv/uv.config.js',
|
||||
'http://localhost:8080/uv/workerware.js',
|
||||
'http://localhost:8080/uv/WWError.js',
|
||||
'http://localhost:8080/config/config.bundle.js',
|
||||
'http://localhost:8080/config/sw.js',
|
||||
'http://localhost:8080/config/config.config.js',
|
||||
'http://localhost:8080/config/workerware.js',
|
||||
'http://localhost:8080/config/WWError.js',
|
||||
];
|
||||
|
||||
const results = await Promise.all(endpoints.map(testEndpoint));
|
||||
|
|
@ -143,6 +143,7 @@ const testCommonJSOnPage = async () => {
|
|||
'--enable-features=ServiceWorker',
|
||||
'--enable-features=InsecureOrigins',
|
||||
],
|
||||
devtools: true,
|
||||
headless: true,
|
||||
ignoreHTTPSErrors: true,
|
||||
});
|
||||
|
|
@ -182,42 +183,59 @@ const testCommonJSOnPage = async () => {
|
|||
return rammerheadTestPassed;
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
xx
|
||||
xx xx
|
||||
xxx xx
|
||||
xxx xx
|
||||
xxx xx
|
||||
xxx xx
|
||||
xx xx
|
||||
xx xx
|
||||
xx
|
||||
xx
|
||||
|
||||
|
||||
|
||||
|
||||
x x
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
xxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxx xxxxx
|
||||
xxxx xxx
|
||||
xxx xxx
|
||||
xxx xx
|
||||
xx xx
|
||||
xx xx
|
||||
xxx x
|
||||
xx x
|
||||
xx xx
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
WIP detectordetector eval changes
|
||||
|
||||
xx
|
||||
xx xx
|
||||
xxx xx
|
||||
xxx xx
|
||||
xxx xx
|
||||
xxx xx
|
||||
xx xx
|
||||
xx xx
|
||||
xx
|
||||
xx
|
||||
|
||||
|
||||
|
||||
|
||||
x x
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
xxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxx xxxxx
|
||||
xxxx xxx
|
||||
xxx xxx
|
||||
xxx xx
|
||||
xx xx
|
||||
xx xx
|
||||
xxx x
|
||||
xx x
|
||||
xx xx
|
||||
const detectoreval = detectordetector;
|
||||
|
||||
*/
|
||||
const filterCheck = async () => {
|
||||
const result = await page.evaluate(detectoreval);
|
||||
|
||||
const filterCheckPassed =
|
||||
console.log(
|
||||
'Detection Result:', result
|
||||
);
|
||||
return filterCheckPassed;
|
||||
};
|
||||
|
||||
*/
|
||||
|
||||
const testUltraviolet = async () => {
|
||||
const omniboxId = 'pr-uv',
|
||||
errorPrefix = 'failure',
|
||||
|
|
@ -315,9 +333,10 @@ xx xx
|
|||
// Run tests for Rammerhead and Ultraviolet.
|
||||
const rammerheadPassed = await testRammerhead();
|
||||
const ultravioletPassed = await testUltraviolet();
|
||||
//const filterCheckPassed = await filterCheck();
|
||||
|
||||
if (rammerheadPassed && ultravioletPassed) {
|
||||
console.log('Both tests passed.');
|
||||
if (rammerheadPassed && ultravioletPassed /* && filterCheckPassed */ ) {
|
||||
console.log('All tests passed.');
|
||||
process.exitCode = 0;
|
||||
} else {
|
||||
console.error('Tests failed.');
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ const config = Object.freeze(
|
|||
JSON.parse(await readFile(new URL('./src/config.json', import.meta.url)))
|
||||
),
|
||||
ecosystemConfig = Object.freeze(
|
||||
ecosystem.apps.find((app) => app.name === 'HolyUB') || ecosystem.apps[0]
|
||||
ecosystem.apps.find((app) => app.name === 'HolyUBLTS') || ecosystem.apps[0]
|
||||
);
|
||||
|
||||
const serverUrl = ((base) => {
|
||||
|
|
@ -121,7 +121,7 @@ commands: for (let i = 2; i < process.argv.length; i++)
|
|||
await mkdir(dist);
|
||||
await build({
|
||||
entryPoints: [
|
||||
'./views/uv/**/*.js',
|
||||
'./views/network/**/*.js',
|
||||
'./views/assets/js/**/*.js',
|
||||
'./views/assets/css/**/*.css',
|
||||
],
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"title": "HU LTS",
|
||||
"host": "0.0.0.0",
|
||||
"minifyScripts": false,
|
||||
"minifyScripts": true,
|
||||
"randomizeIdentifiers": true,
|
||||
"production": false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,4 +19,4 @@
|
|||
"This version is the public HU LTS build of the web proxy service project and being worked on (master branch)! Stuff will NOT work!"
|
||||
],
|
||||
"version": ["6.3.9"]
|
||||
}
|
||||
}
|
||||
|
|
@ -27,7 +27,7 @@ const randomListItem = (lis) => () => lis[(Math.random() * lis.length) | 0],
|
|||
`<span style="display:none" data-fact="${randomListItem(vegetables)()}">${randomListItem(cookingInserts)()}</span>`,
|
||||
insertCooking = (str) =>
|
||||
str.replaceAll(
|
||||
'<!-- IMPORTANT-HUTAOCOOKINGINSERT-DONOTDELETE -->',
|
||||
'<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->',
|
||||
getCookingText
|
||||
),
|
||||
// This one isn't for obfuscation; it's just for dealing with cache issues.
|
||||
|
|
|
|||
|
|
@ -26,20 +26,21 @@ const pages = {
|
|||
bookmarklets: 'pages/nav/bookmarklets.html',
|
||||
terms: 'pages/nav/terms.html',
|
||||
/* Games */
|
||||
games: 'pages/nav/gtools.html',
|
||||
'web-games': 'pages/nav/games5.html',
|
||||
emulators: 'pages/nav/emulators.html',
|
||||
'flash-games': 'pages/nav/flash.html',
|
||||
'retro-games': 'pages/nav/emulibrary.html',
|
||||
g: 'pages/nav/gtools.html',
|
||||
e: 'pages/nav/games5.html',
|
||||
c: 'pages/nav/emulators.html',
|
||||
f: 'pages/nav/flash.html',
|
||||
d: 'pages/nav/emulibrary.html',
|
||||
/* Proxies */
|
||||
ultraviolet: 'pages/proxnav/ultraviolet.html',
|
||||
rammerhead: 'pages/proxnav/rammerhead.html',
|
||||
a: 'pages/proxnav/ultraviolet.html',
|
||||
b: 'pages/proxnav/rammerhead.html',
|
||||
/* Proxy Presets */
|
||||
youtube: 'pages/proxnav/preset/youtube.html',
|
||||
apps: 'pages/proxnav/preset/applications.html',
|
||||
/* Misc */
|
||||
flash: 'archive/gfiles/flash/index.html',
|
||||
webretro: 'archive/gfiles/rarch/index.html',
|
||||
'robots.txt': 'robots.txt',
|
||||
'vibe-os': 'archive/vibeOS/index.html',
|
||||
};
|
||||
|
||||
|
|
@ -47,18 +48,19 @@ const externalPages = {
|
|||
github: {
|
||||
default: 'https://github.com/QuiteAFancyEmerald/Holy-Unblocker',
|
||||
aos: 'https://github.com/michalsnik/aos',
|
||||
'bare-module': 'https://github.com/motortruck1221/bare-as-module3',
|
||||
'bare-mux': 'https://github.com/MercuryWorkshop/bare-mux',
|
||||
epoxy: 'https://github.com/MercuryWorkshop/epoxy-tls',
|
||||
bam: 'https://github.com/motortruck1221/bare-as-module3',
|
||||
bm: 'https://github.com/MercuryWorkshop/bare-mux',
|
||||
ep: 'https://github.com/MercuryWorkshop/epoxy-tls',
|
||||
fastify: 'https://github.com/fastify/fastify',
|
||||
'font-awesome': 'https://github.com/FortAwesome/Font-Awesome',
|
||||
'libcurl-js': 'https://github.com/ading2210/libcurl.js',
|
||||
lj: 'https://github.com/ading2210/libcurl.js',
|
||||
'nord-theme': 'https://github.com/nordtheme',
|
||||
ultraviolet: 'https://github.com/titaniumnetwork-dev/Ultraviolet',
|
||||
wisp: 'https://github.com/MercuryWorkshop/wisp-protocol',
|
||||
config: 'https://github.com/titaniumnetwork-dev/Ultraviolet',
|
||||
wm: 'https://github.com/MercuryWorkshop/wisp-protocol',
|
||||
},
|
||||
'titaniumnetwork-documentation': 'https://docs.titaniumnetwork.org',
|
||||
'rammerhead-discord': 'https://discord.gg/VNT4E7gN5Y',
|
||||
'config-docs': 'https://docs.titaniumnetwork.org',
|
||||
'config-chat': 'https://discord.gg/VNT4E7gN5Y',
|
||||
'nt': 'https://nordtheme.com',
|
||||
};
|
||||
|
||||
const cookingInserts = insert.content,
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ const config = Object.freeze(
|
|||
JSON.parse(await readFile(new URL('./config.json', import.meta.url)))
|
||||
),
|
||||
ecosystemConfig = Object.freeze(
|
||||
ecosystem.apps.find((app) => app.name === 'HolyUB') || ecosystem.apps[0]
|
||||
ecosystem.apps.find((app) => app.name === 'HolyUBLTS') || ecosystem.apps[0]
|
||||
),
|
||||
{ pages, externalPages } = pageRoutes,
|
||||
__dirname = path.resolve();
|
||||
|
|
@ -131,6 +131,37 @@ app.register(fastifyStatic, {
|
|||
decorateReply: false,
|
||||
});
|
||||
|
||||
app.register(fastifyStatic, {
|
||||
root: fileURLToPath(new URL('../views/archive/gfiles/rarch', import.meta.url)),
|
||||
prefix: '/serving/',
|
||||
decorateReply: false,
|
||||
});
|
||||
|
||||
app.register(fastifyStatic, {
|
||||
root: fileURLToPath(new URL('../views/archive/gfiles/rarch/cores', import.meta.url)),
|
||||
prefix: '/cores/',
|
||||
decorateReply: false,
|
||||
});
|
||||
|
||||
app.register(fastifyStatic, {
|
||||
root: fileURLToPath(new URL('../views/archive/gfiles/rarch/info', import.meta.url)),
|
||||
prefix: '/info/',
|
||||
decorateReply: false,
|
||||
});
|
||||
|
||||
app.register(fastifyStatic, {
|
||||
root: fileURLToPath(new URL('../views/archive/gfiles/rarch/cores', import.meta.url)),
|
||||
prefix: '/uauth/',
|
||||
decorateReply: false,
|
||||
});
|
||||
|
||||
// NEVER commit roms due to piracy concerns
|
||||
app.register(fastifyStatic, {
|
||||
root: fileURLToPath(new URL('../views/archive/gfiles/rarch/roms', import.meta.url)),
|
||||
prefix: '/roms/',
|
||||
decorateReply: false,
|
||||
});
|
||||
|
||||
app.register(fastifyStatic, {
|
||||
root: fileURLToPath(
|
||||
new URL(
|
||||
|
|
@ -162,14 +193,14 @@ app.register(fastifyStatic, {
|
|||
fileURLToPath(
|
||||
new URL(
|
||||
// Use the pre-compiled, minified scripts instead, if enabled in config.
|
||||
config.minifyScripts ? '../views/dist/uv' : '../views/uv',
|
||||
config.minifyScripts ? '../views/dist/network' : '../views/network',
|
||||
import.meta.url
|
||||
)
|
||||
),
|
||||
uvPath,
|
||||
],
|
||||
prefix: '/uv/',
|
||||
decorateReply: false,
|
||||
prefix: '/network/',
|
||||
decorateReply: true,
|
||||
});
|
||||
|
||||
// Register proxy paths to the website.
|
||||
|
|
@ -293,9 +324,9 @@ app.get('/assets/js/common-16451543478.js', (req, reply) => {
|
|||
'../views' + (config.minifyScripts ? '/dist' : '') + req.url
|
||||
)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/uv/:file.js', (req, reply) => {
|
||||
app.get('/network/:file.js', (req, reply) => {
|
||||
const destination = existsSync(
|
||||
fileURLToPath(new URL('../views' + req.url, import.meta.url))
|
||||
)
|
||||
|
|
@ -316,10 +347,9 @@ app.get('/uv/:file.js', (req, reply) => {
|
|||
);
|
||||
});
|
||||
|
||||
// Set an error page for invalid paths outside the query string system.
|
||||
app.setNotFoundHandler((req, reply) => {
|
||||
reply.code(404).type('text/html').send(preloaded404);
|
||||
});
|
||||
|
||||
app.listen({ port: serverUrl.port, host: serverUrl.hostname });
|
||||
console.log(`Holy Unblocker is listening on port ${serverUrl.port}.`);
|
||||
console.log(`Holy Unblocker is listening on port ${serverUrl.port}.`);
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 0d36a401d2a90f9b2e05ccbc2f6637d277d67257
|
||||
Subproject commit ba041c0299f34a83959dc3dc34427d34b94cbe70
|
||||
|
|
@ -126,11 +126,53 @@ img {
|
|||
background: rgba(180, 142, 173, 0.513); /* Use rgba for opacity */
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background-color: var(--nord0);
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background-color: var(--nord10);
|
||||
border-radius: 5px;
|
||||
border: 3px solid var;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background-color: var(--nord10);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:active {
|
||||
background: var(--nord11);
|
||||
border-radius: 5px;
|
||||
border: 3px solid transparent;
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-corner {
|
||||
border-left: 1px solid var(--nord10);
|
||||
border-top: 1px solid var(--nord10);
|
||||
background: var(--nord10);
|
||||
}
|
||||
|
||||
|
||||
/* For Gecko Browsers (Firefox) */
|
||||
::-moz-selection {
|
||||
background: rgba(180, 142, 173, 0.513); /* Use rgba for opacity */
|
||||
}
|
||||
|
||||
@-moz-document url-prefix() {
|
||||
html {
|
||||
scrollbar-color: var(--nord10) var(--nord0);
|
||||
scrollbar-width: thin;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
|
@ -221,13 +263,13 @@ details[open] summary {
|
|||
|
||||
#mainbody {
|
||||
position: relative;
|
||||
animation: fadeInAnimation ease-in-out 0.6s;
|
||||
animation: fadeInAnimation ease-in-out 0.6s;
|
||||
animation-iteration-count: 1;
|
||||
animation-fill-mode: forwards;
|
||||
overflow-x: clip;
|
||||
}
|
||||
|
||||
#particles-js {
|
||||
#background-animated {
|
||||
background-color: var(--nord0);
|
||||
position: fixed;
|
||||
left: 0;
|
||||
|
|
@ -799,14 +841,16 @@ input[type='text'] {
|
|||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 100px 0 100px 10%;
|
||||
height: max(85vh, 25em);
|
||||
flex-direction: column;
|
||||
padding: 170px 0 170px 0;
|
||||
gap: 150px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.home-text {
|
||||
max-width: 600px;
|
||||
max-width: 750px;
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.home-text h1 {
|
||||
|
|
@ -828,7 +872,7 @@ input[type='text'] {
|
|||
|
||||
.mac-window {
|
||||
flex: 1;
|
||||
max-width: 800px;
|
||||
max-width: 1100px;
|
||||
height: 510px;
|
||||
border: 1px solid var(--nord0);
|
||||
border-radius: 12px;
|
||||
|
|
@ -895,6 +939,11 @@ input[type='text'] {
|
|||
font-size: 18px;
|
||||
}
|
||||
|
||||
.downarrowgroup {
|
||||
color: var(--nord3);
|
||||
margin-left: 80%;
|
||||
}
|
||||
|
||||
.cmd {
|
||||
color: #a4bbd1;
|
||||
white-space: pre-wrap; /* Preserve new lines */
|
||||
|
|
@ -1109,6 +1158,10 @@ iner .splashstrokeheader {
|
|||
}
|
||||
}
|
||||
|
||||
#scrollfix {
|
||||
margin-bottom: 130px;
|
||||
}
|
||||
|
||||
.box-hero {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
|
@ -1565,6 +1618,7 @@ iner .splashstrokeheader {
|
|||
border-radius: 5px;
|
||||
padding: 10px 12px;
|
||||
color: white;
|
||||
background-color: #22262f;
|
||||
font-family: 'Montserrat Alternates', sans-serif;
|
||||
font-size: 20px;
|
||||
margin: 3px;
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
|
@ -2,7 +2,7 @@
|
|||
await loadFull(tsParticles);
|
||||
|
||||
await tsParticles.load({
|
||||
id: 'particles-js',
|
||||
id: 'background-animated',
|
||||
options: {
|
||||
background: {
|
||||
color: { value: '#1d232a' },
|
||||
|
|
@ -63,7 +63,7 @@ const setAuthCookie = (s, lax) => {
|
|||
|
||||
// Search engine is set to Bing. Intended to work just like the usual
|
||||
// bar at the top of a browser.
|
||||
const sx = 'bing.com' + '/search?q=',
|
||||
const sx = 'startpage.com/sp' + '/search?query=',
|
||||
/*
|
||||
omnibox = url =>
|
||||
(url.indexOf("http")
|
||||
|
|
@ -404,7 +404,7 @@ addEventListener('DOMContentLoaded', async () => {
|
|||
|
||||
heli: urlHandler(uvUrl('https://benjames171.itch.io/helo-storm')),
|
||||
|
||||
youtube: urlHandler(uvUrl('https://youtube.com')),
|
||||
youtube: urlHandler(uvUrl('https://inv.nadeko.net')),
|
||||
|
||||
discordUV: urlHandler(uvUrl('https://discord.com/app')),
|
||||
|
||||
|
|
@ -450,7 +450,7 @@ addEventListener('DOMContentLoaded', async () => {
|
|||
});
|
||||
};
|
||||
|
||||
prSet('pr-uv', 'ultraviolet');
|
||||
prSet('pr-runprod', 'ultraviolet');
|
||||
prSet('pr-rh', 'rammerhead');
|
||||
prSet('pr-yt', 'youtube');
|
||||
prSet('pr-rh-dc', 'discordRH');
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
// Encase everything in a new scope so that variables are not accidentally
|
||||
// attached to the global scope.
|
||||
(() => {
|
||||
const stockSW = '/uv/sw.js',
|
||||
blacklistSW = '/uv/sw-blacklist.js',
|
||||
const stockSW = '/network/sw.js',
|
||||
blacklistSW = '/network/sw-blacklist.js',
|
||||
swAllowedHostnames = ['localhost', '127.0.0.1'],
|
||||
connection = new BareMux.BareMuxConnection('/baremux/worker.js'),
|
||||
wispUrl =
|
||||
|
|
|
|||
|
|
@ -1,4 +1,10 @@
|
|||
[
|
||||
{
|
||||
"name": "Webretro",
|
||||
"path": "/webretro",
|
||||
"img": "genesis.png",
|
||||
"description": "Emulate over 20 console types! The master list if you wish to not use the fast links below."
|
||||
},
|
||||
{
|
||||
"name": "GBA Emulator",
|
||||
"path": "/webretro?core=mgba",
|
||||
|
|
@ -18,16 +24,10 @@
|
|||
"description": "Emulate SNES games! Click to upload a ROM."
|
||||
},
|
||||
{
|
||||
"name": "Genesis Emulator",
|
||||
"path": "/webretro?core=genesis_plus_gx",
|
||||
"img": "genesis.png",
|
||||
"description": "Emulate Genesis games! Click to upload a ROM."
|
||||
},
|
||||
{
|
||||
"name": "N64 Emulator (BROKEN)",
|
||||
"name": "N64 Emulator",
|
||||
"path": "/webretro?core=mupen64plus_next",
|
||||
"img": "nintendo64.png",
|
||||
"description": "Emulate N64 games! Click to upload a ROM. (Currently Broken)"
|
||||
"description": "Emulate N64 games! Click to upload a ROM."
|
||||
},
|
||||
{
|
||||
"name": "VibeOS",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"hblink": "https://github.com/titaniumnetwork-dev/Holy-Unblocker",
|
||||
"hblink2": "https://github.com/titaniumnetwork-dev/Holy-Unblocker",
|
||||
"hblink2": "https://github.com/QuiteAFancyEmerald/Holy-Unblocker.git",
|
||||
"hudoclink": "https://docs.titaniumnetwork.org/services/holyunblocker",
|
||||
"flooder": "/pages/misc/flooder.html",
|
||||
"bitbrowser": "/pages/misc/bitbrowser.html",
|
||||
"firebug": "javascript:var firebug=document.createElement('script');firebug.setAttribute('src','https://luphoria.com/fbl/fbl/firebug-lite-debug.js');document.body.appendChild(firebug);(function(){if(window.firebug.version){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);",
|
||||
|
|
|
|||
|
|
@ -2,38 +2,26 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@next/dist/aos.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div id="documentation" class="box textm"><!--DOCS--></div>
|
||||
</div>
|
||||
|
|
@ -41,7 +29,7 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
<script>
|
||||
(function () {
|
||||
var v = document.getElementById('vsc');
|
||||
|
|
|
|||
|
|
@ -1,54 +1,41 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<base href="/" />
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker | Error</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@next/dist/aos.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="box-error text-center">
|
||||
<h1>Site Error!</h1>
|
||||
<h2>Reload the page or do Ctrl+R!!! This fixes a lot of issues</h2>
|
||||
<p>Might be doing some maintenance or the web server is down.</p>
|
||||
<p>In that case wait a bit until it is resolved!</p>
|
||||
<h1>Si­te E­rror!</h1>
|
||||
<h2>Rel­oad the pag­e or do Ctrl+R!!! This fixes a lot of is­sues</h2>
|
||||
<p>Might be doing some mai­ntenance or the web server is down.</p>
|
||||
<p>In that case w­ait a bit until it is reso­lved!</p>
|
||||
<br />
|
||||
<p>
|
||||
Invalid URL? View the
|
||||
<a href="/questions" class="bluelink">FAQ page</a> for help!
|
||||
Inv­alid ­RL? V­iew the
|
||||
<a href="/questions" class="bluelink">F­AQ pag­e</a> for help!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer" class="fullwidth"><!--FOOTER--></div>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,38 +2,26 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker | FAQ</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@next/dist/aos.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div id="documentation" class="box textm"><!--FAQ--></div>
|
||||
</div>
|
||||
|
|
@ -41,6 +29,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
641
views/index.html
|
|
@ -2,286 +2,25 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<meta
|
||||
name="theme-color"
|
||||
content="#b4213b"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
/>
|
||||
<meta name="googlebot" content="index, follow, snippet" />
|
||||
<meta
|
||||
name="robots"
|
||||
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
|
||||
/>
|
||||
<meta name="author" content="Titanium Network" />
|
||||
<meta name="generator" content="Fastify, HTML5" />
|
||||
<meta name="application-name" content="Holy Unblocker LTS" />
|
||||
<link rel="canonical" href="https://holyunblocker.org/" />
|
||||
<title>Holy Unblocker LTS | Secure & Free Web Proxy Service</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker LTS is a cutting-edge web proxy service designed to bypass web filters and blockers. Whether dealing with client-side or network-based censorship, Holy Unblocker LTS provides seamless access to blocked sites and secure, private browsing on devices like Chromebooks. Overcome content blockers, Chrome extensions, firewalls, and more with our advanced proxy solution."
|
||||
/>
|
||||
<meta
|
||||
name="keywords"
|
||||
content="web proxy, free web proxy, proxy web browser, proxy web, proxy web page, proxy for web, secure proxy, unblock websites, free proxy, bypass censorship, unblock Chromebook, proxy service, online security, private browsing, unblock social media, access blocked content, Titanium Network, proxy server, internet freedom, unblock at school, unblock at work"
|
||||
/>
|
||||
<meta property="og:site_name" content="Holy Unblocker LTS" />
|
||||
<meta property="og:url" content="https://holyunblocker.org/" />
|
||||
<meta
|
||||
property="og:title"
|
||||
content="Holy Unblocker LTS | Secure & Advanced Web Proxy Service"
|
||||
/>
|
||||
<meta property="og:type" content="website" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="Holy Unblocker LTS is a top-tier web proxy service that bypasses network and browser restrictions to access blocked websites securely. Enjoy a seamless browsing experience with robust security and advanced features."
|
||||
/>
|
||||
<meta property="og:image" content="assets/img/icon.png" />
|
||||
<meta property="og:image:secure_url" content="assets/img/icon.png" />
|
||||
<meta property="og:image:alt" content="Holy Unblocker Logo" />
|
||||
<meta property="og:locale" content="en_US" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:site" content="@titaniumnetdev" />
|
||||
<meta name="twitter:creator" content="@titaniumnetdev" />
|
||||
<meta
|
||||
name="twitter:title"
|
||||
content="Holy Unblocker LTS | Secure & Advanced Web Proxy Service"
|
||||
/>
|
||||
<meta
|
||||
name="twitter:description"
|
||||
content="Discover Holy Unblocker LTS, a premier web proxy service that bypasses censorship and filters to provide secure access to blocked websites. Ideal for private browsing and overcoming network restrictions on devices like Chromebooks."
|
||||
/>
|
||||
<meta name="twitter:image" content="assets/img/icon2.png" />
|
||||
<meta name="twitter:image:alt" content="Holy Unblocker Icon" />
|
||||
<meta name="msapplication-TileColor" content="#b4213b" />
|
||||
<meta name="msapplication-TileImage" content="assets/img/icon.png" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta
|
||||
name="apple-mobile-web-app-status-bar-style"
|
||||
content="black-translucent"
|
||||
/>
|
||||
<meta name="apple-mobile-web-app-title" content="Holy Unblocker LTS" />
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="180x180"
|
||||
href="assets/img/apple-icon.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="16x16"
|
||||
href="assets/img/icon-small.png"
|
||||
/>
|
||||
<link rel="mask-icon" href="new.svg" color="#b4213b" />
|
||||
<link rel="manifest" href="manifest.json" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@next/dist/aos.css" />
|
||||
<meta name="mobile-web-app-capable" content="yes" />
|
||||
<meta name="rating" content="general" />
|
||||
<meta name="distribution" content="global" />
|
||||
<meta name="coverage" content="worldwide" />
|
||||
<meta name="target" content="all" />
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Organization",
|
||||
"name": "Holy Unblocker LTS",
|
||||
"alternateName": "Holy Unblocker (Titanium Network)",
|
||||
"url": "https://holyunblocker.org",
|
||||
"logo": "https://holyunblocker.org/assets/img/icon.png",
|
||||
"sameAs": [
|
||||
"https://github.com/titaniumnetwork-dev",
|
||||
"https://twitter.com/titaniumnetdev",
|
||||
"https://www.youtube.com/channel/UC6LaREFvs9L72SK1s2PcxNg",
|
||||
"https://holyunblocker.org",
|
||||
"https://www.facebook.com/holyunblocker",
|
||||
"https://www.linkedin.com/company/holyunblocker",
|
||||
"https://www.instagram.com/holyunblocker"
|
||||
],
|
||||
"description": "Holy Unblocker is an advanced web proxy service designed to bypass network censorship and filters, providing a secure and private browsing experience. It supports a wide range of websites, including YouTube, and receives frequent updates to ensure optimal performance.",
|
||||
"founder": {
|
||||
"@type": "Person",
|
||||
"name": "Quite A Fancy Emerald"
|
||||
},
|
||||
"foundingDate": "2020",
|
||||
"contactPoint": {
|
||||
"@type": "ContactPoint",
|
||||
"contactType": "Customer Support",
|
||||
"email": "8xz62b0ce@mozmail.com",
|
||||
"url": "https://holyunblocker.org/credits"
|
||||
},
|
||||
"keywords": "proxy, web proxy, unblock websites, unblock Chromebook, free web proxy, proxy list, proxy sites, unblock Chromebook, online proxy, proxy server, proxy site, proxy YouTube, bypass Securly, bypass iBoss, bypass Lightspeed filter, Holy Unblocker, Chromebooks, Titanium Network, unblock YouTube, YouTube proxy, unblocked YouTube, YouTube unblocked, anonymous browsing, internet freedom, web censorship, school proxy, work proxy, secure proxy, fast proxy, private proxy, unblock social media, access blocked sites, bypass network restrictions"
|
||||
}
|
||||
</script>
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": [
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "What is Holy Unblocker?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Holy Unblocker is a free and secure web proxy service designed to bypass web filters and blockers. It supports numerous sites, emphasizing detailed design, mechanics, and advanced features to provide a seamless browsing experience."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "How do I unblock websites at school using Holy Unblocker?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "To unblock websites at school, use Holy Unblocker, a free web proxy service that is frequently updated. If a site gets blocked, join the Titanium Network Discord to request a new site. Monthly restocks help prevent mass blocking."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "What websites can I access with Holy Unblocker?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Holy Unblocker allows access to a wide variety of websites, including popular sites like Discord, Spotify, YouTube, and many game sites."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Is Holy Unblocker safe to use?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Absolutely! Holy Unblocker ensures a safe browsing experience by not collecting or logging any user data. Refer to our Privacy Policy for more details. Additionally, Holy Unblocker is open-source, ensuring full transparency."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Does Holy Unblocker hide my search history?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Yes, Holy Unblocker hides your search history. You can customize your tab appearance via Settings > Tab Cloak and use Stealth mode for private browsing."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "How can I get more Holy Unblocker sites?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Join the Titanium Network Discord at discord.gg/unblock and type \"/proxy\" in our bots channel to receive a new site via DMs from our bot."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Is Holy Unblocker open-source?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Yes, Holy Unblocker is open-source. Visit our GitHub to deploy or host your own instance of Holy Unblocker, ensuring maximum privacy control."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "How fast and advanced is Holy Unblocker?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Holy Unblocker is a fast and highly advanced web proxy service, featuring CAPTCHA integration, customizable blacklist settings, leak prevention mechanisms, robust security measures, and extensive site compatibility via Ultraviolet + Wisp."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Can I self-host Holy Unblocker for better privacy?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Yes, you can easily fork the Holy Unblocker repository and self-host it for maximum privacy control, ensuring no user data is collected."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "What makes Holy Unblocker different from other web proxy services?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Holy Unblocker stands out with its transparency and privacy control, collecting no user data. It leverages custom source randomization and projects like Epoxy, Wisp, and Ultraviolet to effectively bypass web and network filters."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "What design principles does Holy Unblocker follow?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Holy Unblocker uses the Nord Theme for its optimal design color palette, prioritizing readable code syntax and user-friendly UI components."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "How do I start using Holy Unblocker?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Head to the Web Proxies page and select one of the featured proxies. Then, type the site you wish to access in the search box. Each web proxy has its own level of effectiveness, speed, and security. Ultraviolet is highly recommended for the best experience."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "What pre-linked applications does Holy Unblocker feature?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Holy Unblocker features a collection of pre-linked applications, including YouTube, Spotify, Webretro (an online everything emulator), Ruffle.fs (Adobe Flash Emulator), and an expansive library for each respective app."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Is Holy Unblocker planning to support more applications?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Yes, Holy Unblocker is soon to support the Anura games library, expanding its range of pre-linked applications."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "How do I deploy Holy Unblocker on my own server?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Holy Unblocker is designed to be easy to deploy and use on personal setups or production loads. Detailed guides can be found at the official GitHub repository and Titanium Network Docs."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "Where is the default proxy location when starting Holy Unblocker?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "The default place for the proxy when started is http://localhost:8080. You can change this setting if needed in config.json. This website is hosted locally with Ultraviolet and Rammerhead built-in."
|
||||
}
|
||||
},
|
||||
{
|
||||
"@type": "Question",
|
||||
"name": "How can I contribute to Holy Unblocker?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Holy Unblocker thrives thanks to its contributors. You can get involved in various ways, including design, core development, applications and games, documentation, and testing and QA. Visit our GitHub repository and join our Discord server to get started."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div
|
||||
id="header"
|
||||
class="fullwidth"
|
||||
role="navigation"
|
||||
aria-label="Main navigation"
|
||||
>
|
||||
<div id="header" class="fullwidth" role="navigation">
|
||||
<!--HEADER-->
|
||||
</div>
|
||||
<div id="banner" class="fullwidth">
|
||||
|
|
@ -290,43 +29,44 @@
|
|||
</p>
|
||||
</div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div class="home-grid-container" aria-label="Home Grid Container">
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div class="home-grid-container">
|
||||
<div class="home-text" role="banner">
|
||||
<h1><span>End Internet Censorship.</span></h1>
|
||||
<h1>Privacy right at your fingertips.</h1>
|
||||
<a class="homebutton" href="#scrollfix" aria-label="Bypass now"
|
||||
>Bypass now?</a
|
||||
<h1><span>En­d I­nt­ern­et Cen­sors­hi­p.</span></h1>
|
||||
<h1>Pri­va­cy ri­gh­t a­t yo­ur fi­nge­rti­ps.</h1>
|
||||
<a class="homebutton" href="#scrollfix"
|
||||
>By­pas­s no­w?</a
|
||||
>
|
||||
<a class="homebutton mobile" href="/browsing" aria-label="Browse now"
|
||||
>Bypass now?</a
|
||||
<a class="homebutton mobile" href="/browsing"
|
||||
>B­yp­ass no­w?</a
|
||||
>
|
||||
</div>
|
||||
<div class="mac-window" aria-label="Command Line Instructions">
|
||||
<div
|
||||
class="mac-title-bar"
|
||||
role="banner"
|
||||
aria-label="Mac Window Title Bar"
|
||||
>
|
||||
<div class="mac-buttons" aria-label="Mac Window Buttons">
|
||||
<span class="mac-close" aria-label="Close Window"></span>
|
||||
<span class="mac-minimize" aria-label="Minimize Window"></span>
|
||||
<span class="mac-maximize" aria-label="Maximize Window"></span>
|
||||
<div class="mac-window">
|
||||
<div class="mac-title-bar" role="banner">
|
||||
<div class="mac-buttons">
|
||||
<span class="mac-close"></span>
|
||||
<span class="mac-minimize"></span>
|
||||
<span class="mac-maximize"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mac-content">
|
||||
<p>
|
||||
<span class="cmd">git clone --recurse-submodules<span class="url"> https://github.com/QuiteAFancyEmerald/Holy-Unblocker.git</span> </span
|
||||
<span class="cmd">gi­t clo­ne --re­cu­rse-sub­modul­es<span class="url"> ht­t­ps://g­it­h­ub.co­m/Qu­it­eAF­an­cyE­me­ral­d/Ho­ly-Unblock­er.g­i­t</span> </span
|
||||
><br />
|
||||
<span class="cmd">cd Holy-Unblocker </span><br />
|
||||
<span class="comment">Recommended you switch branches via your IDE to a stable released branch such as v6.x instead of master.</span><br />
|
||||
<span class="cmd">npm start </span><br />
|
||||
<span class="comment">Or on subsequent uses...</span><br />
|
||||
<span class="cmd">npm restart </span><br /><br />
|
||||
<span class="comment">Holy Unblocker LTS v<!-- VERSION --></span
|
||||
<span class="cmd">cd Ho­l­y-Un­bl­oc­ke­r­</span><br />
|
||||
<span class="comment">Recom­mend­ed you s­witch bra­nches vi­a your I­DE to a sta­ble rele­ased bran­ch suc­h as v6.x inste­ad of mast­er.</span><br />
|
||||
<span class="cmd">n­pm st­art </span><br />
|
||||
<span class="comment">O­r o­n subs­eque­nt us­es...</span><br />
|
||||
<span class="cmd">n­pm restart </span><br /><br />
|
||||
<span class="comment">H­ol­y Un­bl­ock­er LT­S v<!-- VERSION --></span
|
||||
><br />
|
||||
<span class="comment">Node.js v20</span><br />
|
||||
<span class="comment">Fastify v4.28.1</span>
|
||||
<span class="comment">N­od­e.j­s v2­0</span><br />
|
||||
<span class="comment">Fa­sti­fy v4­.2­.1</span><br /><br />
|
||||
<span class="downarrowgroup">
|
||||
<i class="fas fa-level-down-alt"></i>
|
||||
<i class="fas fa-level-down-alt"></i>
|
||||
<i class="fas fa-level-down-alt"></i>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -338,49 +78,49 @@
|
|||
<div class="hero-text-wrap">
|
||||
<div class="brand-logo-container">
|
||||
<i class="far fa-window-restore palered"></i>
|
||||
<h2 class="hero-content-header">Holy Unblocker is free.</h2>
|
||||
<h2 class="hero-content-header">H­oly Un­bl­ock­er is­ fr­ee.</h2>
|
||||
</div>
|
||||
<p>
|
||||
Being open source, you can easily fork this repository and self
|
||||
host for maximum privacy control. In contrast to numerous other
|
||||
web proxy services, HU LTS stands out with complete transparency
|
||||
and privacy control. We collect no user data is collected and
|
||||
ensure browsing privacy.
|
||||
Be­ing o­p­en sou­rce, you can ea­sily for­k th­is re­po­si­tor­y and se­lf
|
||||
ho­st for maxi­m­um priv­acy control. In contr­ast to num­erous other
|
||||
w­eb pro­xy se­rvi­ces, H­U L­TS sta­nds out with comp­lete trans­parency
|
||||
and priv­acy control. We co­llect no us­er da­ta is co­llec­ted and
|
||||
en­sure brow­sing pr­iv­a­cy.
|
||||
</p>
|
||||
<div class="brand-logo-container">
|
||||
<i class="far fa-window-restore palered"></i>
|
||||
<h2 class="hero-content-header">
|
||||
Holy Unblocker is fast and highly advanced.
|
||||
Ho­ly Un­blo­ck­er is fa­s­t a­n­d hi­gh­ly a­dv­anc­ed.
|
||||
</h2>
|
||||
</div>
|
||||
<p>
|
||||
HU LTS delivers exceptional web proxy performance. It boasts a
|
||||
robust feature set including CAPTCHA integration, customizable
|
||||
blacklist settings, leak prevention mechanisms, robust security
|
||||
measures, and extensive site compatibility support via
|
||||
Ultraviolet + Wisp.
|
||||
H­U LT­S del­iv­ers ex­ce­ptio­nal we­b p­ro­xy pe­rfo­rman­ce. It boa­sts a
|
||||
ro­bust feat­ure set inclu­ding CAPT­CHA integ­ration, cu­stomiza­ble
|
||||
blacklist setti­ngs, le­ak prev­ention mechan­isms, rob­ust securi­ty
|
||||
mea­sures, and exte­nsive site co­mpat­ibility supp­ort via
|
||||
Ul­travio­let + Wi­sp.
|
||||
</p>
|
||||
<div class="brand-logo-container">
|
||||
<i class="far fa-window-restore palered"></i>
|
||||
<h2 class="hero-content-header">
|
||||
Holy Unblocker is fast and highly advanced.
|
||||
Ho­ly Un­bl­ock­er i­s fas­t and h­igh­ly adv­anc­ed.
|
||||
</h2>
|
||||
</div>
|
||||
<p>
|
||||
Leveraging our custom source randomization and projects like
|
||||
Epoxy, Wisp, and Ultraviolet, HU LTS delivers a seamless
|
||||
experience that effectively circumvents web and network filters.
|
||||
This is achieved entirely within your browser and our backend
|
||||
(or your own if self-hosting), enabling users to bypass even the
|
||||
most stringent censorship blocks.
|
||||
Lever­agin­g our cus­om so­urce ran­dom­ization and proj­ects like
|
||||
Epox­y, Wi­sp, an­d Ul­travi­olet, H­U L­T­S delivers a seaml­ess
|
||||
exper­ience that effecti­vely circumv­ents w­b and netwo­rk filte­rs.
|
||||
Th­is is achie­ved ent­irely withi­n your brow­er and ou­r bac­kend
|
||||
(or yo­ur o­wn if sel­f-hosti­ng), enabling users to by­pass even the
|
||||
mos­t stringe­nt censo­rship bloc­ks.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="image-container-hero">
|
||||
<img class="hero" src="/assets/img/icon2.png" alt="icon" />
|
||||
<h1>Holy Unblocker LTS</h1>
|
||||
<h2>Free and transparent for use</h2>
|
||||
<a class="fancybutton glowbutton" href="/browsing">Browse Now</a>
|
||||
<h1>Ho­ly Unb­loc­ker L­T­S</h1>
|
||||
<h2>Fr­e­e an­d transp­arent for u­se</h2>
|
||||
<a class="fancybutton glowbutton" href="/browsing">Br­owse No­w</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -389,53 +129,53 @@
|
|||
<div class="carousel">
|
||||
<div class="carousel-inner">
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/fastify.png" alt="Fastify" />
|
||||
<img src="/assets/img/fy.png" alt="F­asti­fy" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/nordtheme.png" alt="Nord Theme" />
|
||||
<img src="/assets/img/nt.png" alt="No­rd The­me" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/nodejs.png" alt="Nodejs" />
|
||||
<img src="/assets/img/nj.png" alt="No­d­ejs" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/fontawesome.png" alt="Font Awesome" />
|
||||
<img src="/assets/img/fa.png" alt="Fo­nt Aw­es­ome" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/webretro.png" alt="Webretro" />
|
||||
<img src="/assets/img/wr.png" alt="We­bre­tro" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/ruffle.png" alt="Ruffle" />
|
||||
<img src="/assets/img/rs.png" alt="Ruf­fle" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/uv.png" alt="Ultraviolet" />
|
||||
<img src="/assets/img/config.png" alt="Ult­ra­viol­et" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/rammerhead.png" alt="Rammerhead" />
|
||||
<img src="/assets/img/rh.png" alt="Ram­merh­ead" />
|
||||
</div>
|
||||
<!-- Duplicate logos for continuous scrolling effect -->
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/fastify.png" alt="Fastify" />
|
||||
<img src="/assets/img/fy.png" alt="Fas­tify" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/nordtheme.png" alt="Nord Theme" />
|
||||
<img src="/assets/img/nt.png" alt="No­rd Th­eme" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/nodejs.png" alt="Nodejs" />
|
||||
<img src="/assets/img/nj.png" alt="N­odejs" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/fontawesome.png" alt="Font Awesome" />
|
||||
<img src="/assets/img/fa.png" alt="F­ont Awe­some" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/webretro.png" alt="Webretro" />
|
||||
<img src="/assets/img/wr.png" alt="Webre­tro" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/ruffle.png" alt="Ruffle" />
|
||||
<img src="/assets/img/rs.png" alt="Ru­ffle" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/uv.png" alt="Ultraviolet" />
|
||||
<img src="/assets/img/config.png" alt="Ult­ra­vio­let" />
|
||||
</div>
|
||||
<div class="dependencylogo">
|
||||
<img src="/assets/img/rammerhead.png" alt="Rammerhead" />
|
||||
<img src="/assets/img/rh.png" alt="Ra­mm­erh­ead" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -445,7 +185,7 @@
|
|||
<div data-aos="fade-left" class="splashstroke">
|
||||
<div>
|
||||
<h1 class="splashstrokeheader">
|
||||
Designed with focus<span class="underline-svg"></span>.
|
||||
Desig­ned wi­th fo­cus<span class="underline-svg"></span>.
|
||||
</h1>
|
||||
</div>
|
||||
<svg class="underline-svg" viewBox="0 0 390 55" fill="none">
|
||||
|
|
@ -484,14 +224,14 @@
|
|||
<div data-aos="fade-right" id="info" class="box-card">
|
||||
<div class="content">
|
||||
<div class="text-wrap">
|
||||
<h1>Overview</h1>
|
||||
<h1>Ov­er­view</h1>
|
||||
<p>
|
||||
Holy Unblocker LTS, an experimental web proxy service, can
|
||||
bypass web filters or 'blockers' regardless of whether the
|
||||
method of censorship is client-side or network-based. This
|
||||
includes the potential ability to bypass content blockers
|
||||
overseas, Chrome extensions, localized client firewalls, and
|
||||
network-related filters.
|
||||
Hol­y Un­bloc­ker LT­S, an ex­pe­r­im­ental we­b pr­ox­y se­rvi­ce, can
|
||||
byp­ass we­b filt­ers or 'blo­ckers' re­gardl­ess of wh­ether the
|
||||
meth­od of c­e­ns­or­sh­ip is cli­ent-side or net­work-based. This
|
||||
in­cl­udes the pote­ntial abil­ity to b­y­pa­ss co­ntent b­loc­ker­s
|
||||
over­se­as, Chr­ome ext­ensio­ns, local­ized cli­ent firewa­lls, and
|
||||
ne­tw­ork-rela­ted filt­ers.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -503,23 +243,22 @@
|
|||
/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Repeat the above structure for the second box-card -->
|
||||
<div data-aos="fade-left" id="info2" class="box-card">
|
||||
<div class="content">
|
||||
<div class="text-wrap">
|
||||
<h1>Intent</h1>
|
||||
<h1>Int­ent</h1>
|
||||
<p>
|
||||
This project serves mostly as a proof of concept for the ideal
|
||||
clientless solution to bypassing censorship. Being a secure web
|
||||
proxy service, it supports numerous sites while being updated
|
||||
frequently and concentrating on detail with design, mechanics,
|
||||
and features.
|
||||
Th­is pr­oject ser­ves mo­stly as a p­roof of conce­pt for the id­eal
|
||||
clien­tless solut­ion to bypas­sing ce­nso­rship. Bei­ng a secu­re we­b
|
||||
pr­ox­y ser­vice, it suppo­rts numer­ous sites w­hile be­ing upd­ated
|
||||
frequen­tly and concen­trating on d­etail w­ith des­ign, mech­anics,
|
||||
and feature­s.
|
||||
</p>
|
||||
<p>
|
||||
This project's palette is built using
|
||||
<a href="https://nordtheme.com">Nord Theme</a> for its optimal
|
||||
design color palette and prioritization of readable code syntax
|
||||
and UI components.
|
||||
Th­s proj­ect's palet­te is bu­ilt u­sing
|
||||
<a href="https://nordtheme.com">Nor­d Th­eme</a> for it­s opti­mal
|
||||
desig­n col­or pale­tte and prio­ritiza­tion of r­ada­ble cod­e sy­ntax
|
||||
and U­I compone­nts.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -534,14 +273,14 @@
|
|||
<div data-aos="fade-right" id="info2" class="box-card">
|
||||
<div class="content">
|
||||
<div class="text-wrap">
|
||||
<h1>Usage</h1>
|
||||
<h1>U­s­age</h1>
|
||||
<p>
|
||||
Head to the <a href="/browsing">Web Proxies</a> page and select
|
||||
one of the proxies featured! Afterwards, type out the site you
|
||||
wish to access in the search box. Each web proxy has its own
|
||||
level of effectiveness, speed and security. It is recommended to
|
||||
use Ultraviolet.<br /><br />Example Website To Unblock:
|
||||
<code>https://coolmathgames.com</code>
|
||||
Hea­d to th­e <a href="/browsing">We­b Pro­xi­es</a> pa­ge and sele­ct
|
||||
o­ne of the pro­xies featur­ed! Afterw­ards, t­ype ou­t the si­te you
|
||||
wi­sh to a­ccess in t­he sea­rch box. Ea­ch we­b pro­xy has its o­wn
|
||||
level of eff­ectiveness, speed and sec­ur­ity. It is rec­omm­end­ed to
|
||||
use Ultravi­olet.<br /><br />Ex­ample Webs­ite To Un­bl­ock:
|
||||
<code>ht­tps://co­olmath­ames.com</code>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -552,15 +291,15 @@
|
|||
<div data-aos="fade-left" id="info2" class="box-card">
|
||||
<div class="content">
|
||||
<div class="text-wrap">
|
||||
<h1>Apps</h1>
|
||||
<h1>Ap­ps</h1>
|
||||
<p>
|
||||
HU LTS features a collection of pre-linked applications,
|
||||
including YouTube, Spotify,
|
||||
<a href="/emulators">Webretro</a> (an online everything
|
||||
emulator), <a href="/flash-games">Ruffle.fs</a> (Adobe Flash
|
||||
Emulator), and an expansive library for each respective app.
|
||||
H­U L­TS fe­atures a colle­ction of pre-li­nked appli­cat­ions,
|
||||
incl­uding YouT­ube, Spot­ify,
|
||||
<a href="/emulators">Webre­tro</a> (a­n onl­ine eve­ryt­ing
|
||||
em­ula­tor), <a href="/flash-games">Ruf­fle.f­s</a> (Ad­obe Fla­sh
|
||||
Em­ulat­or), and an expans­ive libra­ry for each r­espective ap­p.
|
||||
</p>
|
||||
<p>This project is soon to support the Anura games library.</p>
|
||||
<p>Th­is pr­oje­ct i­s soo­n to sup­port th­e An­ura ga­mes librar­y.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="image-container">
|
||||
|
|
@ -574,46 +313,48 @@
|
|||
<div data-aos="fade-right" id="info2" class="box-card">
|
||||
<div class="content">
|
||||
<div class="text-wrap">
|
||||
<h1>Hosting and Deployment</h1>
|
||||
<h1>Ho­sting an­d Depl­oymen­t</h1>
|
||||
<p>
|
||||
<strong>Holy Unblocker LTS</strong> is designed with flexibility
|
||||
and ease of deployment in mind. As an open-source solution, it
|
||||
is straightforward to set up on both personal and production
|
||||
environments. Key features include modularity for ad-blocking,
|
||||
source randomization, and advanced proxy navigation.<br /><br />
|
||||
For comprehensive setup instructions, visit our official
|
||||
<strong>Ho­ly Unbl­ock­er LT­S</strong> is desig­ned with flexib­ility
|
||||
a­nd eas­e of depl­oyment i­n mi­nd. A­s a­n o­pen-so­urce so­lution, it
|
||||
is stra­ightfor­ward to s­et u­p on b­oth p­erso­nal and pr­odu­ction
|
||||
envi­ronments. K­ey featu­res incl­ude mod­ula­rity for ad-b­loc­king,
|
||||
s­ource ran­domi­zat­ion, and advan­ced pr­oxy naviga­tion.<br /><br />
|
||||
Fo­r compr­ehe­nsive set­up instruct­ions, vis­it our of­ficial
|
||||
<a
|
||||
href="https://github.com/QuiteAFancyEmerald/Holy-Unblocker"
|
||||
title="Holy Unblocker LTS GitHub Repository"
|
||||
id="hulink2"
|
||||
href="#"
|
||||
title="Ho­ly Unblo­cker L­TS GitH­ub Reposi­tory"
|
||||
target="_blank"
|
||||
rel="noopener nore­ferrer"
|
||||
>Git­Hub repo­sito­ry</a
|
||||
>, t­he
|
||||
<a
|
||||
id="hudoclink"
|
||||
href="#"
|
||||
title="Tita­nium Net­work Documen­tation"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>GitHub repository</a
|
||||
>, the
|
||||
<a
|
||||
href="https://docs.titaniumnetwork.org/services/holyunblocker"
|
||||
title="Titanium Network Documentation"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>Titanium Network Docs</a
|
||||
>Ti­tanium Net­work D­oc­s</a
|
||||
>, or
|
||||
<a href="?documentation" title="Additional Hosting Information"
|
||||
>linked here on the main site</a
|
||||
<a href="?documentation" title="Addi­tional Host­ing Inform­ation"
|
||||
>li­nked he­re on the ma­in s­ite</a
|
||||
>.
|
||||
</p>
|
||||
<p>
|
||||
Additional scripts can be found in
|
||||
<code>/views/assets/js/</code>:<br />
|
||||
- <strong>bareTransport.js</strong>: Locally installed module
|
||||
for Ultraviolet functionality.<br />
|
||||
- <strong>card.js</strong>: Adds visual effects to the box
|
||||
Addit­ional sc­ripts can be fo­und i­n
|
||||
<code>/views/ass­ets/js/</code>:<br />
|
||||
- <strong>ba­reTranspo­rt.js</strong>: Loca­lly insta­lled mo­ule
|
||||
for Ultr­avi­olet functi­onal­ity.<br />
|
||||
- <strong>car­d.js</strong>: Ad­ds visu­al eff­ects to the bo­x
|
||||
cards.<br />
|
||||
- <strong>common.js</strong>: Provides essential features across
|
||||
all pages.<br />
|
||||
- <strong>csel.js</strong>: Manages the settings menu.<br />
|
||||
- <strong>particles.js</strong>: Creates animated background
|
||||
effects.<br />
|
||||
- <strong>register-sw.js</strong>: Handles service workers and
|
||||
Ultraviolet integration.
|
||||
- <strong>comm­on.js</strong>: ­rovid­es essen­tial featur­es acr­oss
|
||||
al­l page­s.<br />
|
||||
- <strong>cs­el.js</strong>: Ma­nages t­he sett­ings m­enu.<br />
|
||||
- <strong>part­ic­les.j­s</strong>: Crea­tes anim­ated bac­k­ground
|
||||
effec­ts.<br />
|
||||
- <strong>re­gist­er-s­w.js</strong>: H­andles serv­ice w­orkers an­d
|
||||
Ult­rav­iolet int­egr­ation.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -621,54 +362,56 @@
|
|||
<img
|
||||
class="hero"
|
||||
src="/assets/img/hosting.png"
|
||||
alt="Hosting and Deployment Icon"
|
||||
title="Hosting and Deployment for Holy Unblocker LTS"
|
||||
alt="Host­ing and D­eploy­ment Ic­on"
|
||||
title="Ho­sting and D­eploy­ment for Ho­ly Unbl­ock­er L­T­S"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div data-aos="fade-left" id="info2" class="box-card">
|
||||
<div class="content">
|
||||
<div class="text-wrap">
|
||||
<h1>Contributing</h1>
|
||||
<h1>Con­trib­uting</h1>
|
||||
<p>
|
||||
<strong>Holy Unblocker LTS</strong> thrives due to the dedicated
|
||||
efforts of our amazing contributors. As an open-source project,
|
||||
<strong>HU LTS</strong> relies on the collective skills and
|
||||
passion of its community to drive continuous improvement and
|
||||
deliver the best experience for all users.
|
||||
<strong>Ho­ly Unb­locke­r L­T­S</strong> thr­ives d­ue t­o t­he dedic­ated
|
||||
effor­ts of o­ur ama­zing c­ontributo­rs. As an op­en-sour­ce proj­ect,
|
||||
<strong>H­U LT­S</strong> r­elies o­n t­he collect­ive ski­lls an­d
|
||||
pass­ion o­f it­s commun­ity to driv­e contin­uous i­mprove­ment an­d
|
||||
deliv­er the b­est exp­eri­ence for a­ll u­sers.
|
||||
</p>
|
||||
<p>
|
||||
There are numerous ways to get involved and make a meaningful
|
||||
impact on <strong>Holy Unblocker LTS</strong>:<br /><br />
|
||||
- <strong>Design</strong>: Contribute to the visual aesthetics
|
||||
and user experience.<br />
|
||||
- <strong>Core Development</strong>: Help enhance the core
|
||||
functionality and performance.<br />
|
||||
- <strong>Applications and Games</strong>: Develop and integrate
|
||||
new features or games.<br />
|
||||
- <strong>Documentation</strong>: Assist with creating and
|
||||
refining project documentation.<br />
|
||||
- <strong>Testing and QA</strong>: Ensure the software is
|
||||
bug-free and meets quality standards.
|
||||
Th­ere ar­e numer­ous way­s t­o ge­t invol­ved and mak­e a mean­ing­ful
|
||||
imp­act on <strong>Ho­ly Unbl­ocke­r LT­S</strong>:<br /><br />
|
||||
- <strong>Design</strong>: Contr­ibute t­o the vis­ual aesthe­tics
|
||||
a­nd use­r exper­ience.<br />
|
||||
- <strong>Co­re De­velo­pment</strong>: H­elp enhan­ce the co­re
|
||||
functio­nality and perform­ance.<br />
|
||||
- <strong>Applic­ations and Ga­mes</strong>: Dev­elop and integ­rate
|
||||
n­ew feature­s or g­ames.<br />
|
||||
- <strong>Docum­entation</strong>: A­ssist with cr­ea­ting and
|
||||
refin­ing proje­ct documen­tation.<br />
|
||||
- <strong>Test­ing and Q­A</strong>: Ens­ure the soft­are is
|
||||
bug-fr­ee and meet­s quali­ty st­andards.
|
||||
</p>
|
||||
<p>
|
||||
To start contributing, visit our
|
||||
T­o sta­rt con­trib­uting, vi­sit o­ur
|
||||
<a
|
||||
href="https://github.com/QuiteAFancyEmerald/Holy-Unblocker"
|
||||
title="Holy Unblocker LTS GitHub Repository"
|
||||
id="hulink2"
|
||||
href="#"
|
||||
title="H­oly Unbl­ocker L­TS Gi­tHub Re­posi­tory"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>GitHub repository</a
|
||||
>Gi­tHub re­posi­tory</a
|
||||
>
|
||||
and join our
|
||||
a­nd jo­in ou­r
|
||||
<a
|
||||
href="https://discord.gg/unblock"
|
||||
title="Holy Unblocker LTS Discord Server"
|
||||
id="tnlink"
|
||||
href="#"
|
||||
title="Ho­ly U­nblo­cker L­TS Disc­ord Ser­ver"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>Discord server</a
|
||||
>Disc­ord ser­ver</a
|
||||
>
|
||||
for real-time discussions and updates.
|
||||
f­or rea­l-ti­me disc­ussio­ns and up­dat­es.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -676,8 +419,8 @@
|
|||
<img
|
||||
class="hero"
|
||||
src="/assets/img/git.png"
|
||||
alt="Contributing GitHub Icon"
|
||||
title="Contribute to Holy Unblocker LTS on GitHub"
|
||||
alt="Con­tribut­ing GitH­ub Ico­n"
|
||||
title="Cont­ribu­te to H­oly Unbl­ocker LT­S o­n Gi­tHub"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -689,51 +432,51 @@
|
|||
<div class="brand-logo-container">
|
||||
<i class="far fa-window-restore palered"></i>
|
||||
<h2 class="hero-content-header">
|
||||
Unblock Websites with Holy Unblocker LTS
|
||||
Unbl­ock W­ebsi­tes wi­th H­oly U­nblocke­r LT­S
|
||||
</h2>
|
||||
</div>
|
||||
<p>
|
||||
Holy Unblocker LTS is an open-source
|
||||
<strong>public web proxy</strong>. Enjoy unrestricted access to
|
||||
online content and secure browsing with our advanced
|
||||
<strong>web proxy unblocking</strong> features.
|
||||
H­oly Unblo­cker LT­S is an o­pen-sour­ce
|
||||
<strong>pub­lic web pr­oxy</strong>. Enj­oy u­nrestri­cted acc­ess to
|
||||
on­line conte­nt and sec­ure br­owsing with our adv­anced
|
||||
<strong>web pr­oxy unbloc­king</strong> featu­res.
|
||||
</p>
|
||||
<div class="brand-logo-container">
|
||||
<i class="far fa-window-restore palered"></i>
|
||||
<h2 class="hero-content-header">
|
||||
Free and Accessible Proxy Services
|
||||
F­ree an­d A­ccessi­ble Pro­xy Servi­ces
|
||||
</h2>
|
||||
</div>
|
||||
<p>
|
||||
Benefit from our <strong>free web proxy service</strong> that
|
||||
helps you <strong>unblock websites</strong> and access
|
||||
restricted content at no cost. Perfect for navigating
|
||||
educational or workplace filters, our service ensures seamless
|
||||
and reliable access.
|
||||
Bene­fit from ou­r <strong>fr­ee w­eb pr­oxy s­erv­ice</strong> that
|
||||
helps you <strong>u­nb­lock webs­ites</strong> and access
|
||||
restri­cted conte­nt at no co­st. Perf­ect for naviga­ting
|
||||
educati­onal or workp­lace filt­ers, our s­ervice ensur­es sea­mless
|
||||
and relia­ble acce­ss.
|
||||
</p>
|
||||
<div class="brand-logo-container">
|
||||
<i class="far fa-window-restore palered"></i>
|
||||
<h2 class="hero-content-header">
|
||||
Efficient and Reliable Access
|
||||
Ef­fici­ent and Reli­able Acc­ess
|
||||
</h2>
|
||||
</div>
|
||||
<p>
|
||||
Our <strong>unblocked web proxy</strong> is designed to meet
|
||||
diverse needs, providing a robust solution for overcoming web
|
||||
filters and enjoying a high-quality browsing experience.
|
||||
O­ur <strong>unbloc­ked web pr­ox­y</strong> is desig­ned to me­et
|
||||
div­erse ne­eds, pr­ovidi­ng a robu­st solut­ion for overc­oming w­eb
|
||||
fil­ters and enj­oying a hi­gh-qual­ity bro­wsing exper­ience.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="image-container-hero">
|
||||
<h1>Long Term Support FOSS Project</h1>
|
||||
<a class="fancybutton glowbutton" href="/browsing">Bypass Now</a>
|
||||
<h1>L­ong T­erm Suppo­rt F­OSS Proj­ect</h1>
|
||||
<a class="fancybutton glowbutton" href="/browsing">Byp­ass N­ow</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-home text-center splashend">
|
||||
<h1>It's time to browse the internet freely.</h1>
|
||||
<a class="homebutton" href="#scrollfix">Try HU LTS For Free</a>
|
||||
<a class="homebutton mobile" href="/browsing">Try HU LTS For Free</a>
|
||||
<h1>I­t's ti­me t­o brow­se the inte­rnet fre­ely.</h1>
|
||||
<a class="homebutton" href="#scrollfix">Tr­y H­U L­TS F­or Fr­ee</a>
|
||||
<a class="homebutton mobile" href="/browsing">Tr­y H­U L­TS F­or Fr­ee</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer" class="fullwidth"><!--FOOTER--></div>
|
||||
|
|
@ -745,6 +488,6 @@
|
|||
<script>
|
||||
AOS.init();
|
||||
</script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,53 +0,0 @@
|
|||
{
|
||||
"short_name": "Holy Unblocker LTS",
|
||||
"name": "Holy Unblocker LTS | Free Web Proxy Service",
|
||||
"icons": [
|
||||
{
|
||||
"src": "https://holyunblocker.org/assets/img/icon.png",
|
||||
"type": "image/png",
|
||||
"sizes": "300x300"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#b4213b",
|
||||
"background_color": "#1f003e",
|
||||
"description": "Holy Unblocker LTS is a free and secure web proxy service that helps you bypass web filters and access blocked websites. Enjoy anonymous browsing and internet freedom on devices like Chromebooks at school or work.",
|
||||
"short_description": "Free web proxy service for bypassing filters and accessing blocked sites.",
|
||||
"keywords": [
|
||||
"proxy",
|
||||
"web proxy",
|
||||
"unblock websites",
|
||||
"free web proxy",
|
||||
"proxy list",
|
||||
"online proxy",
|
||||
"proxy server",
|
||||
"proxy YouTube",
|
||||
"bypass web filters",
|
||||
"Holy Unblocker",
|
||||
"unblock Chromebook",
|
||||
"Titanium Network",
|
||||
"fast proxy",
|
||||
"secure proxy",
|
||||
"anonymous browsing",
|
||||
"internet freedom"
|
||||
],
|
||||
"related_applications": [
|
||||
{
|
||||
"platform": "web",
|
||||
"url": "https://holyunblocker.org"
|
||||
},
|
||||
{
|
||||
"platform": "github",
|
||||
"url": "https://github.com/QuiteAFancyEmerald/Holy-Unblocker"
|
||||
},
|
||||
{
|
||||
"platform": "twitter",
|
||||
"url": "https://twitter.com/titaniumnetdev"
|
||||
},
|
||||
{
|
||||
"platform": "youtube",
|
||||
"url": "https://www.youtube.com/channel/UC6LaREFvs9L72SK1s2PcxNg"
|
||||
}
|
||||
]
|
||||
}
|
||||
8
views/network/network.bundle.js
Normal file
5
views/network/network.client.js
Normal file
12
views/network/network.config.js
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
// This file overwrites the stock UV config.js
|
||||
|
||||
self['{{__uv$config}}'] = {
|
||||
prefix: '/network/service/',
|
||||
encodeUrl: Ultraviolet.codec.xor.encode,
|
||||
decodeUrl: Ultraviolet.codec.xor.decode,
|
||||
handler: '/network/network.handler.js',
|
||||
client: '/network/network.client.js',
|
||||
bundle: '/network/network.bundle.js',
|
||||
config: '/network/network.config.js',
|
||||
sw: '/network/network.sw.js',
|
||||
};
|
||||
1374
views/network/network.handler.js
Normal file
445
views/network/network.sw.js
Normal file
|
|
@ -0,0 +1,445 @@
|
|||
/*globals __uv$config*/
|
||||
// Users must import the config (and bundle) prior to importing uv.sw.js
|
||||
// This is to allow us to produce a generic bundle with no hard-coded paths.
|
||||
|
||||
/**
|
||||
* @type {import('../network').UltravioletCtor}
|
||||
*/
|
||||
const Ultraviolet = self.Ultraviolet;
|
||||
|
||||
const cspHeaders = [
|
||||
'cross-origin-embedder-policy',
|
||||
'cross-origin-opener-policy',
|
||||
'cross-origin-resource-policy',
|
||||
'content-security-policy',
|
||||
'content-security-policy-report-only',
|
||||
'expect-ct',
|
||||
'feature-policy',
|
||||
'origin-isolation',
|
||||
'strict-transport-security',
|
||||
'upgrade-insecure-requests',
|
||||
'x-content-type-options',
|
||||
'x-download-options',
|
||||
'x-frame-options',
|
||||
'x-permitted-cross-domain-policies',
|
||||
'x-powered-by',
|
||||
'x-xss-protection',
|
||||
];
|
||||
const emptyMethods = ['GET', 'HEAD'];
|
||||
|
||||
class UVServiceWorker extends Ultraviolet.EventEmitter {
|
||||
constructor(config = self['{{__uv$config}}']) {
|
||||
super();
|
||||
if (!config.prefix) config.prefix = '/service/';
|
||||
this.config = config;
|
||||
/**
|
||||
* @type {InstanceType<Ultraviolet['BareClient']>}
|
||||
*/
|
||||
this.bareClient = new Ultraviolet.BareClient();
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param {Event & {request: Request}} param0
|
||||
* @returns
|
||||
*/
|
||||
route({ request }) {
|
||||
if (request.url.startsWith(location.origin + this.config.prefix))
|
||||
return true;
|
||||
else return false;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param {Event & {request: Request}} param0
|
||||
* @returns
|
||||
*/
|
||||
async fetch({ request }) {
|
||||
/**
|
||||
* @type {string|void}
|
||||
*/
|
||||
let fetchedURL;
|
||||
|
||||
try {
|
||||
if (!request.url.startsWith(location.origin + this.config.prefix))
|
||||
return await fetch(request);
|
||||
|
||||
const ultraviolet = new Ultraviolet(this.config);
|
||||
|
||||
if (typeof this.config.construct === 'function') {
|
||||
this.config.construct(ultraviolet, 'service');
|
||||
}
|
||||
|
||||
const db = await ultraviolet.cookie.db();
|
||||
|
||||
ultraviolet.meta.origin = location.origin;
|
||||
ultraviolet.meta.base = ultraviolet.meta.url = new URL(
|
||||
ultraviolet.sourceUrl(request.url)
|
||||
);
|
||||
|
||||
const requestCtx = new RequestContext(
|
||||
request,
|
||||
ultraviolet,
|
||||
!emptyMethods.includes(request.method.toUpperCase())
|
||||
? await request.blob()
|
||||
: null
|
||||
);
|
||||
|
||||
if (ultraviolet.meta.url.protocol === 'blob:') {
|
||||
requestCtx.blob = true;
|
||||
requestCtx.base = requestCtx.url = new URL(requestCtx.url.pathname);
|
||||
}
|
||||
|
||||
if (request.referrer && request.referrer.startsWith(location.origin)) {
|
||||
const referer = new URL(ultraviolet.sourceUrl(request.referrer));
|
||||
|
||||
if (
|
||||
requestCtx.headers.origin ||
|
||||
(ultraviolet.meta.url.origin !== referer.origin &&
|
||||
request.mode === 'cors')
|
||||
) {
|
||||
requestCtx.headers.origin = referer.origin;
|
||||
}
|
||||
|
||||
requestCtx.headers.referer = referer.href;
|
||||
}
|
||||
|
||||
const cookies = (await ultraviolet.cookie.getCookies(db)) || [];
|
||||
const cookieStr = ultraviolet.cookie.serialize(
|
||||
cookies,
|
||||
ultraviolet.meta,
|
||||
false
|
||||
);
|
||||
|
||||
requestCtx.headers['user-agent'] = navigator.userAgent;
|
||||
|
||||
if (cookieStr) requestCtx.headers.cookie = cookieStr;
|
||||
|
||||
const reqEvent = new HookEvent(requestCtx, null, null);
|
||||
this.emit('request', reqEvent);
|
||||
|
||||
if (reqEvent.intercepted) return reqEvent.returnValue;
|
||||
|
||||
fetchedURL = requestCtx.blob
|
||||
? 'blob:' + location.origin + requestCtx.url.pathname
|
||||
: requestCtx.url;
|
||||
|
||||
const response = await this.bareClient.fetch(fetchedURL, {
|
||||
headers: requestCtx.headers,
|
||||
method: requestCtx.method,
|
||||
body: requestCtx.body,
|
||||
credentials: requestCtx.credentials,
|
||||
mode: requestCtx.mode,
|
||||
cache: requestCtx.cache,
|
||||
redirect: requestCtx.redirect,
|
||||
});
|
||||
|
||||
const responseCtx = new ResponseContext(requestCtx, response);
|
||||
const resEvent = new HookEvent(responseCtx, null, null);
|
||||
|
||||
this.emit('beforemod', resEvent);
|
||||
if (resEvent.intercepted) return resEvent.returnValue;
|
||||
|
||||
for (const name of cspHeaders) {
|
||||
if (responseCtx.headers[name]) delete responseCtx.headers[name];
|
||||
}
|
||||
|
||||
if (responseCtx.headers.location) {
|
||||
responseCtx.headers.location = ultraviolet.rewriteUrl(
|
||||
responseCtx.headers.location
|
||||
);
|
||||
}
|
||||
|
||||
// downloads
|
||||
if (['document', 'iframe'].includes(request.destination)) {
|
||||
const header = responseCtx.getHeader('content-disposition');
|
||||
|
||||
// validate header and test for filename
|
||||
if (!/\s*?((inline|attachment);\s*?)filename=/i.test(header)) {
|
||||
// if filename= wasn't specified then maybe the remote specified to download this as an attachment?
|
||||
// if it's invalid then we can still possibly test for the attachment/inline type
|
||||
const type = /^\s*?attachment/i.test(header)
|
||||
? 'attachment'
|
||||
: 'inline';
|
||||
|
||||
// set the filename
|
||||
const [filename] = new URL(response.finalURL).pathname
|
||||
.split('/')
|
||||
.slice(-1);
|
||||
|
||||
responseCtx.headers['content-disposition'] =
|
||||
`${type}; filename=${JSON.stringify(filename)}`;
|
||||
}
|
||||
}
|
||||
|
||||
if (responseCtx.headers['set-cookie']) {
|
||||
Promise.resolve(
|
||||
ultraviolet.cookie.setCookies(
|
||||
responseCtx.headers['set-cookie'],
|
||||
db,
|
||||
ultraviolet.meta
|
||||
)
|
||||
).then(() => {
|
||||
self.clients.matchAll().then(function (clients) {
|
||||
clients.forEach(function (client) {
|
||||
client.postMessage({
|
||||
msg: 'updateCookies',
|
||||
url: ultraviolet.meta.url.href,
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
delete responseCtx.headers['set-cookie'];
|
||||
}
|
||||
|
||||
if (responseCtx.body) {
|
||||
switch (request.destination) {
|
||||
case 'script':
|
||||
responseCtx.body = ultraviolet.js.rewrite(await response.text());
|
||||
break;
|
||||
case 'worker':
|
||||
{
|
||||
// craft a JS-safe list of arguments
|
||||
const scripts = [
|
||||
ultraviolet.bundleScript,
|
||||
ultraviolet.clientScript,
|
||||
ultraviolet.configScript,
|
||||
ultraviolet.handlerScript,
|
||||
]
|
||||
.map((script) => JSON.stringify(script))
|
||||
.join(',');
|
||||
responseCtx.body = `if (!self.__uv) {
|
||||
${ultraviolet.createJsInject(
|
||||
ultraviolet.cookie.serialize(
|
||||
cookies,
|
||||
ultraviolet.meta,
|
||||
true
|
||||
),
|
||||
request.referrer
|
||||
)}
|
||||
importScripts(${scripts});
|
||||
}\n`;
|
||||
responseCtx.body += ultraviolet.js.rewrite(await response.text());
|
||||
}
|
||||
break;
|
||||
case 'style':
|
||||
responseCtx.body = ultraviolet.rewriteCSS(await response.text());
|
||||
break;
|
||||
case 'iframe':
|
||||
case 'document':
|
||||
if (
|
||||
responseCtx.getHeader('content-type') &&
|
||||
responseCtx.getHeader('content-type').startsWith('text/html')
|
||||
) {
|
||||
let modifiedResponse = await response.text();
|
||||
if (Array.isArray(this.config.inject)) {
|
||||
const headPosition = modifiedResponse.indexOf('<head>');
|
||||
const upperHead = modifiedResponse.indexOf('<HEAD>');
|
||||
const bodyPosition = modifiedResponse.indexOf('<body>');
|
||||
const upperBody = modifiedResponse.indexOf('<BODY>');
|
||||
const url = new URL(fetchedURL);
|
||||
const injectArray = this.config.inject;
|
||||
for (const inject of injectArray) {
|
||||
const regex = new RegExp(inject.host);
|
||||
if (regex.test(url.host)) {
|
||||
if (inject.injectTo === 'head') {
|
||||
if (headPosition !== -1 || upperHead !== -1) {
|
||||
modifiedResponse =
|
||||
modifiedResponse.slice(0, headPosition) +
|
||||
`${inject.html}` +
|
||||
modifiedResponse.slice(headPosition);
|
||||
}
|
||||
} else if (inject.injectTo === 'body') {
|
||||
if (bodyPosition !== -1 || upperBody !== -1) {
|
||||
modifiedResponse =
|
||||
modifiedResponse.slice(0, bodyPosition) +
|
||||
`${inject.html}` +
|
||||
modifiedResponse.slice(bodyPosition);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
responseCtx.body = ultraviolet.rewriteHtml(modifiedResponse, {
|
||||
document: true,
|
||||
injectHead: ultraviolet.createHtmlInject(
|
||||
ultraviolet.handlerScript,
|
||||
ultraviolet.bundleScript,
|
||||
ultraviolet.clientScript,
|
||||
ultraviolet.configScript,
|
||||
ultraviolet.cookie.serialize(cookies, ultraviolet.meta, true),
|
||||
request.referrer
|
||||
),
|
||||
});
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (requestCtx.headers.accept === 'text/event-stream') {
|
||||
responseCtx.headers['content-type'] = 'text/event-stream';
|
||||
}
|
||||
if (crossOriginIsolated) {
|
||||
responseCtx.headers['Cross-Origin-Embedder-Policy'] = 'require-corp';
|
||||
}
|
||||
|
||||
this.emit('response', resEvent);
|
||||
if (resEvent.intercepted) return resEvent.returnValue;
|
||||
|
||||
return new Response(responseCtx.body, {
|
||||
headers: responseCtx.headers,
|
||||
status: responseCtx.status,
|
||||
statusText: responseCtx.statusText,
|
||||
});
|
||||
} catch (err) {
|
||||
if (!['document', 'iframe'].includes(request.destination))
|
||||
return new Response(undefined, { status: 500 });
|
||||
|
||||
console.error(err);
|
||||
|
||||
return renderError(err, fetchedURL);
|
||||
}
|
||||
}
|
||||
static Ultraviolet = Ultraviolet;
|
||||
}
|
||||
|
||||
self.UVServiceWorker = UVServiceWorker;
|
||||
|
||||
class ResponseContext {
|
||||
/**
|
||||
*
|
||||
* @param {RequestContext} request
|
||||
* @param {import('@mercuryworkshop/bare-mux').BareResponseFetch} response
|
||||
*/
|
||||
constructor(request, response) {
|
||||
this.request = request;
|
||||
this.raw = response;
|
||||
this.ultraviolet = request.ultraviolet;
|
||||
this.headers = {};
|
||||
// eg set-cookie
|
||||
for (const key in response.rawHeaders)
|
||||
this.headers[key.toLowerCase()] = response.rawHeaders[key];
|
||||
this.status = response.status;
|
||||
this.statusText = response.statusText;
|
||||
this.body = response.body;
|
||||
}
|
||||
get url() {
|
||||
return this.request.url;
|
||||
}
|
||||
get base() {
|
||||
return this.request.base;
|
||||
}
|
||||
set base(val) {
|
||||
this.request.base = val;
|
||||
}
|
||||
//the header value might be an array, so this function is used to
|
||||
//retrieve the value when it needs to be compared against a string
|
||||
getHeader(key) {
|
||||
if (Array.isArray(this.headers[key])) {
|
||||
return this.headers[key][0];
|
||||
}
|
||||
return this.headers[key];
|
||||
}
|
||||
}
|
||||
|
||||
class RequestContext {
|
||||
/**
|
||||
*
|
||||
* @param {Request} request
|
||||
* @param {Ultraviolet} ultraviolet
|
||||
* @param {BodyInit} body
|
||||
*/
|
||||
constructor(request, ultraviolet, body = null) {
|
||||
this.ultraviolet = ultraviolet;
|
||||
this.request = request;
|
||||
this.headers = Object.fromEntries(request.headers.entries());
|
||||
this.method = request.method;
|
||||
this.body = body || null;
|
||||
this.cache = request.cache;
|
||||
this.redirect = request.redirect;
|
||||
this.credentials = 'omit';
|
||||
this.mode = request.mode === 'cors' ? request.mode : 'same-origin';
|
||||
this.blob = false;
|
||||
}
|
||||
get url() {
|
||||
return this.ultraviolet.meta.url;
|
||||
}
|
||||
set url(val) {
|
||||
this.ultraviolet.meta.url = val;
|
||||
}
|
||||
get base() {
|
||||
return this.ultraviolet.meta.base;
|
||||
}
|
||||
set base(val) {
|
||||
this.ultraviolet.meta.base = val;
|
||||
}
|
||||
}
|
||||
|
||||
class HookEvent {
|
||||
#intercepted;
|
||||
#returnValue;
|
||||
constructor(data = {}, target = null, that = null) {
|
||||
this.#intercepted = false;
|
||||
this.#returnValue = null;
|
||||
this.data = data;
|
||||
this.target = target;
|
||||
this.that = that;
|
||||
}
|
||||
get intercepted() {
|
||||
return this.#intercepted;
|
||||
}
|
||||
get returnValue() {
|
||||
return this.#returnValue;
|
||||
}
|
||||
respondWith(input) {
|
||||
this.#returnValue = input;
|
||||
this.#intercepted = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {string} trace
|
||||
* @param {string} fetchedURL
|
||||
* @returns
|
||||
*/
|
||||
function errorTemplate(
|
||||
trace,
|
||||
fetchedURL,
|
||||
) {
|
||||
// turn script into a data URI so we don't have to escape any HTML values
|
||||
const script = `
|
||||
errorTrace.value = ${JSON.stringify(trace)};
|
||||
fetchedURL.textContent = ${JSON.stringify(fetchedURL)};
|
||||
for (const node of document.querySelectorAll('#uvHostname')) node.textContent = ${JSON.stringify(
|
||||
location.hostname
|
||||
)};
|
||||
reload.addEventListener('click', () => location.reload());
|
||||
uvVersion.textContent = ${JSON.stringify(
|
||||
'3.2.7'
|
||||
)};
|
||||
`
|
||||
|
||||
return (
|
||||
'{{ultraviolet-error}}'.replace('{{src}}', 'data:application/javascript,' + encodeURIComponent(script))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {unknown} err
|
||||
* @param {string} fetchedURL
|
||||
*/
|
||||
function renderError(err, fetchedURL) {
|
||||
let headers = {
|
||||
'content-type': 'text/html',
|
||||
};
|
||||
if (crossOriginIsolated) {
|
||||
headers['Cross-Origin-Embedder-Policy'] = 'require-corp';
|
||||
}
|
||||
|
||||
return new Response(errorTemplate(String(err), fetchedURL), {
|
||||
status: 500,
|
||||
headers: headers,
|
||||
});
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
importScripts('/uv/uv.bundle.js');
|
||||
importScripts('/uv/uv.config.js');
|
||||
importScripts(self['{{__uv$config}}'].sw || '/uv/uv.sw.js');
|
||||
importScripts('/network/network.bundle.js');
|
||||
importScripts('/network/network.config.js');
|
||||
importScripts(self['{{__uv$config}}'].sw || '/network/network.sw.js');
|
||||
|
||||
/*
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
importScripts('/uv/uv.bundle.js');
|
||||
importScripts('/uv/uv.config.js');
|
||||
importScripts(self['{{__uv$config}}'].sw || '/uv/uv.sw.js');
|
||||
importScripts('/network/network.bundle.js');
|
||||
importScripts('/network/network.config.js');
|
||||
importScripts(self['{{__uv$config}}'].sw || '/network/network.sw.js');
|
||||
|
||||
const uv = new UVServiceWorker();
|
||||
|
||||
|
|
@ -6,16 +6,7 @@
|
|||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<title>Ho­ly Unbloc­ker</title>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
|
|
@ -26,10 +17,9 @@
|
|||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="/baremux/index.js" defer></script>
|
||||
<script src="/uv/uv.bundle.js" defer></script>
|
||||
<script src="/uv/uv.config.js" defer></script>
|
||||
<script src="/network/network.bundle.js" defer></script>
|
||||
<script src="/network/network.config.js" defer></script>
|
||||
<script src="/assets/js/register-sw.js" defer></script>
|
||||
<!-- Arc widget causes lag on some gams, so it is created by js below if &nolag isn't specified in the querystring -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
<h1
|
||||
id="holy-unblocker-img-align-left-src-https-raw-githubusercontent-com-titaniumnetwork-dev-holy-unblocker-master-views-assets-img-icon-png-img-"
|
||||
>
|
||||
Holy Unblocker Documentation
|
||||
H­oly Unb­locker Documentation
|
||||
</h1>
|
||||
<p>
|
||||
Holy Unblocker, an official flagship Titanium Network site, can bypass web
|
||||
H­oly Unbl­ocker, an official flagship Titanium Network site, can bypass web
|
||||
filters regardless of whether it is an extension or network-based. Being a
|
||||
secure web proxy service, it supports numerous sites while being updated
|
||||
frequently and concentrating on detail with design, mechanics, and features.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<div class="faq-center">
|
||||
<h2>Official Holy Unblocker FAQ and Support</h2>
|
||||
<h2>Offi­cial Ho­ly Unb­loc­ker F­AQ and Su­pport</h2>
|
||||
</div>
|
||||
<div class="faq-box">
|
||||
<input
|
||||
|
|
@ -13,122 +13,103 @@
|
|||
</div>
|
||||
<div class="box-clear text-center textm">
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<h2 class="bigtitle">Icon Information</h2>
|
||||
<h3>How to find the Icon URL of a Site</h3>
|
||||
<h2 class="bigtitle">Ic­on Inf­ormat­ion</h2>
|
||||
<h3>H­ow to fin­d the I­con U­RL of a Si­t­e</h3>
|
||||
<p>
|
||||
Go to the website you want an icon from, then use this bookmarklet (drag it
|
||||
to your bookmarks bar):
|
||||
Go to th­e webs­ite y­ou w­ant an i­con from, then use th­is bookm­arklet (drag it
|
||||
to your bo­okmarks ba­r):
|
||||
</p>
|
||||
<div id="bks-parent">
|
||||
<a id="iconfinder" class="fancybutton fb-l glowbutton">Find Icon URL</a>
|
||||
<a id="iconfinder" class="fancybutton fb-l glowbutton">Fi­nd I­con U­RL</a>
|
||||
</div>
|
||||
<script>
|
||||
document.getElementById('iconfinder').href =
|
||||
`javascript:alert((Array.from(document.head.querySelectorAll("link[rel*='icon']")).slice(-1)[0]||0).href||location.origin+"/favicon.ico")`;
|
||||
</script>
|
||||
<p>
|
||||
Copy the URL that the bookmarklet gives you. Then go back to HU and enter in
|
||||
the URL for the Icon URL in Settings. Enjoy!
|
||||
Cop­y the UR­L that the bo­okmar­klet gi­ves yo­u. Then go back to H­U and en­ter in
|
||||
the U­RL for the Ico­n UR­L in Sett­ings. Enj­oy!
|
||||
</p>
|
||||
</div>
|
||||
<div id="faqs" class="faq">
|
||||
<div class="faq-text">
|
||||
<h4><strong>I am getting 502 errors. What do I do?</strong></h4>
|
||||
<p>The proxy may be down, being worked on or is under high load.</p>
|
||||
<h4><strong>I am get­ting 50­2 err­ors. Wh­at do I d­o?</strong></h4>
|
||||
<p>The pro­xy may be down, being wo­rked on or is un­der high lo­ad.</p>
|
||||
<p>
|
||||
When this happens you may either switch sites to fix the error or wait a
|
||||
bit. Sometimes clearing your cache can help by doing Ctrl+Shift+R or
|
||||
reloading the page normally. (Hard Reload which purges cache.)
|
||||
When this happens you may either switch sites to fi­x the error or w­ait a
|
||||
bit. S­ometi­mes clear­ing your cache can help by do­ing Ctrl+S­hif­t+R or
|
||||
reloading the page norm­ally. (Hard Reload which purges cache.)
|
||||
</p>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
<h4>
|
||||
<strong
|
||||
>I am getting an error similar to: "'cdn.example.com' cannot be
|
||||
>I am get­ting an e­rror similar to: "'cdn.exam­ple.com' cannot be
|
||||
reached."</strong
|
||||
>
|
||||
</h4>
|
||||
<p>
|
||||
Right-click the page and do Reload Frame. If that doesn't work the first
|
||||
time, try waiting a bit or switching sites. Lastly doing a Hard Reload may
|
||||
Right-click the page and do Re­load Fra­me. If that doesn't work the first
|
||||
time, try wa­iting a bit or switching sites. Lastly doing a Hard Re­load may
|
||||
help. (Ctrl+Shift+R)
|
||||
</p>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
<h4>
|
||||
<strong
|
||||
>Is Discord supported? And can I gain access to a better proxy for
|
||||
Discord?</strong
|
||||
>Is Disc­ord supported? And can I gain acc­ess to a better p­roxy for
|
||||
Disc­ord?</strong
|
||||
>
|
||||
</h4>
|
||||
<p>
|
||||
Yes, Discord is supported. You can now login normally with Womginx but
|
||||
most of the proxies still require you to login via QR Code or Token. You
|
||||
may view the extended Discord proxy information below for more
|
||||
information.
|
||||
Yes, Discor­d is sup­ported. You can now login normally with W­o­m­g­inx but
|
||||
most of the pro­xies still require you to lo­gin via QR Cod­e or Token. You
|
||||
may view the ext­ended Disc­ord proxy info­rmation below for more
|
||||
infor­mation.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
When either instances are under high load occasionally Discord may be
|
||||
slow or not work. In this case simply wait a bit or try using the TN
|
||||
subscriber booster proxy.
|
||||
When eith­er instan­ces are under high lo­ad occas­ionally D­iscord/Spo­ti­fy may be
|
||||
slow or not work. In this case s­imply w­ait a b­it.
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
If you wish for a proxy with better support for Discord, be sure to join
|
||||
the TN Discord.
|
||||
</p>
|
||||
<p>
|
||||
By donating $3 (simply type $upgrade in the TN Discord) you can gain
|
||||
access to the premium Discord proxy which is faster, more secure and
|
||||
outside of the current limitation of using Discord normally with any of
|
||||
the free proxies.
|
||||
</p>
|
||||
<p>The premium Discord proxy is outside of these issues:</p>
|
||||
<ul>
|
||||
<li>Being prompted to verify by email or via phone number</li>
|
||||
<li>Slow messaging or invalid invites</li>
|
||||
<li>Possible VC support</li>
|
||||
<li>Sites getting blocked often</li>
|
||||
<li>And more!</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
<h4><strong>Why are YouTube videos not working?</strong></h4>
|
||||
<h4><strong>Why are YouT­ube videos not working?</strong></h4>
|
||||
<p>
|
||||
If you are having persistent issues even after doing the steps above there
|
||||
is a chance that the instance is down temporarily, especially if large
|
||||
groups of people are also having the issue. The latest release of Alloy
|
||||
<strong>currently</strong> does not have support for YouTube. However
|
||||
manually putting in full links like
|
||||
<code>https://www.youtube.com/watch?v=mauV2NdCs60</code> will work. You
|
||||
may also try doing a Hard Reload (Ctrl+Shift+R)
|
||||
If you are hav­ing persistent iss­ues even after doing the steps above there
|
||||
is a chance that the instance is down te­porarily, especially if large
|
||||
groups of peopl­e are also ha­ving the issue. The latest release of U­ltrav­iolet
|
||||
<strong>currently</strong> does not have support for YouT­ube. Howe­ver
|
||||
manually putting in full lin­ks like
|
||||
<code>ht­tps://www.youtube.­com/watch?v=ma­uV2Nd­Cs60</code> will work. Y­ou
|
||||
may also try doing a Hard Rel­oad (Ctrl+Shift+R)
|
||||
</p>
|
||||
<p>A later release of Alloy may fix this issue. Sorry.</p>
|
||||
<p>A la­ter release of U­ltra­violet will fix this issue. Sor­ry.</p>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
<h4>
|
||||
<strong
|
||||
>When using YouTube I get a similar error to "Cannot GET /watch"</strong
|
||||
>When u­sing YouT­ube I get a similar error to "Cann­ot GET /wat­ch"</strong
|
||||
>
|
||||
</h4>
|
||||
<p>
|
||||
Do Ctrl+Shift+R (Hard Reload which clears your cache) and if that doesn't
|
||||
work use the full URL of the video you want to watch with either Alloy or
|
||||
Womginx, Alloy being preferred for an option as it has the best YouTube
|
||||
Do Ctrl+Sh­ift+R (Hard Reload which clears your cache) and if that doesn't
|
||||
work use the full URL of the video you want to watch with either Ul­tra­vio­let or
|
||||
Ram­merh­ead, Ultr­violet being prefe­rred for an option as it has the best You­Tube
|
||||
support.
|
||||
</p>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
<h4>
|
||||
<strong
|
||||
>Parse error, etc. or perhaps even Cannot GET /gkfdsgkfgfdkg
|
||||
>Parse error, etc. or perh­aps even Cannot GET /gkfd­sgkfgfdkg
|
||||
</strong>
|
||||
</h4>
|
||||
<p>
|
||||
Might be possible that you need to wait a bit because of updates that may
|
||||
have occurred and are not visible yet due to cache. In this situation do a
|
||||
Hard Reload or switch Holy Unblocker sites. (Ctrl + Shift + R)
|
||||
Might be possible that you need to wait a bit because of upd­ates that may
|
||||
have occurred and are not visible yet due to cache. In this sit­uation do a
|
||||
Hard Reload or switch H­oly Unblo­cker sites. (Ctrl + Shift + R)
|
||||
</p>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
|
|
@ -139,48 +120,48 @@
|
|||
>
|
||||
</h4>
|
||||
<p>
|
||||
Captcha support is currently not available on all of the current proxies
|
||||
Captcha suppo­rt is currently not avail­able on all of the current proxies
|
||||
sadly. Therefore some sites may not work with any of the sites. Read below
|
||||
for issues with links on sites.
|
||||
</p>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
<h4>
|
||||
<strong>Why are page links not working or leading to 404 pages?</strong>
|
||||
<strong>Why are page links not working or leading to 404 p­ages?</strong>
|
||||
</h4>
|
||||
<p>
|
||||
This is an issue with the latest release of Alloy proxy but it may also
|
||||
occur with other proxies. In this case manually entering the URL of the
|
||||
This is an is­sue with the latest release of Al­loy pro­xy but it may also
|
||||
occur with other p­rox­ies. In this case manually entering the URL of the
|
||||
page you would like to view can solve this or try navigating using the
|
||||
home button. (Reddit, Twitter) The next release of Alloy may fix this
|
||||
home button. (R­eddit, Twitter) The next release of Al­lo­y may fix this
|
||||
also.
|
||||
</p>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
<h4>
|
||||
<strong>
|
||||
When using YouTube on any of the proxy sites, why does the page not load
|
||||
When using YouT­ube on any of the prox­y sites, why does the page not load
|
||||
fully or the video is just white?</strong
|
||||
>
|
||||
</h4>
|
||||
<p>There are two methods for fixing this:</p>
|
||||
<p>There are two methods for fixi­ng this:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
Reloading the page normally when the error above happens should load
|
||||
Reloading the page norm­ally when the error above happens s­hould load
|
||||
the video.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Or right-clicking the page and doing <code>Reload Frame</code> if you
|
||||
are using some form of Stealth Mode.
|
||||
are using some form of S­teal­th Mod­e.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h4>
|
||||
<strong
|
||||
>When using Discord under Alloy or Powermouse, why does the page stay
|
||||
>When using Disc­ord under All­oy or Powermo­use, why does the page stay
|
||||
gray/white or the QR code not load?</strong
|
||||
>
|
||||
</h4>
|
||||
|
|
@ -197,101 +178,65 @@
|
|||
<li>
|
||||
<p>
|
||||
Or right-clicking the page and doing <code>Reload Frame</code> if you
|
||||
are using some form of Stealth Mode. Make sure you are also doing the
|
||||
steps correctly. Simply view below for extended Discord proxy
|
||||
are using some form of St­ealth Mode. Make sure you are also doing the
|
||||
steps correctly. Simp­ly view below for extended Discord proxy
|
||||
information/steps.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
<h3 id="discord-proxy-information-">Discord Proxy Information:</h3>
|
||||
<h3 id="discord-proxy-information-">Disco­rd P­roxy Info­rmation:</h3>
|
||||
<p><strong>Disclaimer:</strong></p>
|
||||
<p></p>
|
||||
Your account may be at risk of being disabled by Discord if you are using
|
||||
any of the proxies in general, Womginx being a possible exception. Unless
|
||||
any of the proxies in general, Wo­m­gin­x being a possible exception. Unless
|
||||
you have 2FA or a phone number <strong>be careful</strong>.
|
||||
<p></p>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
<h4 id="general-steps-">General Steps:</h4>
|
||||
<p>
|
||||
1) Go to either Surf Freely/Web Proxies if you wish to access Discord
|
||||
1) Go to either Sur­f Freely/We­b Pr­xies if you wish to access Discord
|
||||
manually or the Discord page from the navbar.
|
||||
</p>
|
||||
<p>
|
||||
If you selected the Discord page simply choose either Stealth Mode or
|
||||
If you selected the D­iscord page simply choose either St­ealth Mode or
|
||||
Classic Mode. For any support view the FAQ questions above.
|
||||
</p>
|
||||
<p>
|
||||
2) Select either Womginx or Alloy. Womginx has support for normal logins
|
||||
but may not work for every filter while Alloy is QR login only but has
|
||||
2) Select either W­om­ginx or All­oy. W­om­gi­nx has support for normal logins
|
||||
but may not work for every filter while Al­oy is Q­R log­in only but has
|
||||
generally better support in some cases.
|
||||
</p>
|
||||
<p>3) Type out one of these terms:</p>
|
||||
<p><code>- https://discord.com/login</code></p>
|
||||
<p><code>- https://discord.com/app</code></p>
|
||||
<p><code>- https://disc­ord.com/log­in</code></p>
|
||||
<p><code>- https://discord.c­om/app</code></p>
|
||||
<p>
|
||||
4) Then hit either Stealth or Classic as a mode. Stealth mode hides your
|
||||
history while Classic mode is the normal method of accessing a site.
|
||||
4) Then hit either Ste­alth or Clas­sic as a mode. Stealth mode hides your
|
||||
history while Clas­sic mode is the normal method of accessing a site.
|
||||
</p>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
<h4 id="qr-login-faq-">QR Login FAQ:</h4>
|
||||
<p>
|
||||
Make sure you are using Alloy + QR Code for Discord. You CANNOT login
|
||||
normally with Alloy.
|
||||
</p>
|
||||
<p>
|
||||
Powermouse also has QR login support if you wish for an alternative proxy.
|
||||
</p>
|
||||
<h5
|
||||
id="qr-code-information-https-support-discord-com-hc-en-us-articles-360039213771-qr-code-login-faq"
|
||||
>
|
||||
QR Code Information:
|
||||
<a
|
||||
href="https://support.discord.com/hc/en-us/articles/360039213771-QR-Code-Login-FAQ"
|
||||
>https://support.discord.com/hc/en-us/articles/360039213771-QR-Code-Login-FAQ</a
|
||||
>
|
||||
</h5>
|
||||
<p>Use the link above through one of the proxies to read if you can't.</p>
|
||||
<p><strong>Common Issues with Solutions:</strong></p>
|
||||
<p>Use the link above through one of the prox­ies to read if you can't.</p>
|
||||
<p><strong>Common Issues with So­lutions:</strong></p>
|
||||
<ul>
|
||||
<li>
|
||||
If the page appears gray on the first load, reload/spam reload the page
|
||||
If the page appears g­ray on the first load, reload/spa­m reload the page
|
||||
a bunch.
|
||||
</li>
|
||||
<li>If the QR code doesn't load, reload/spam reload the page a bunch.</li>
|
||||
<li>If the Q­R code do­esn't load, reload/spam relo­ad the page a bunch.</li>
|
||||
<li>
|
||||
If the page/discord logo keeps loading, reload/spam the page also.
|
||||
If the page/disc­ord logo keeps loading, reload/spam the page also.
|
||||
<em
|
||||
>You may also right-click the page and do "Reload Frame" to reload
|
||||
>You may also right-click the page and do "Relo­ad Frame" to reload
|
||||
also.</em
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
If none of these solutions work either the proxy is down or you can try to
|
||||
If none of these solutions work either the pro­xy is down or you can try to
|
||||
do a hard reload. (Ctrl+Shift+R)
|
||||
</p>
|
||||
</div>
|
||||
<div class="faq-text">
|
||||
<p>
|
||||
PM also has amazing support for QR logins. Feel free to mess around
|
||||
between PM and Alloy.
|
||||
</p>
|
||||
<p><strong>Token Login Extended:</strong></p>
|
||||
<p>
|
||||
Also, search up on YT on How to find your Discord Token when using Token
|
||||
Login. This only works on Powermouse but not the best option.
|
||||
</p>
|
||||
<p>
|
||||
Token logins on Powermouse (PM Proxy) will require another device also for
|
||||
recovering your Discord account.
|
||||
</p>
|
||||
<h4>
|
||||
<strong>Best Solution:</strong> Do Ctrl+Shift+R (Hard Reload which clears
|
||||
your cache). Sites here are often updated hence issues that may arise.
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
<div class="footerflex">
|
||||
<div class="footerbrand">
|
||||
<h3><a href="/" title="Holy Unblocker Homepage">Holy Unblocker</a></h3>
|
||||
<p>Global Web Proxy Innovation, Done Right.</p>
|
||||
<div class="logo-potato" aria-label="Holy Unblocker Logo"></div>
|
||||
<h3><a href="/" title="Ho­ly Unbl­ocker Hom­epage">Ho­ly U­nbl­ock­er</a></h3>
|
||||
<p>Glob­al W­eb Pro­xy Innovati­on, Do­ne Rig­ht.</p>
|
||||
<div class="logo-potato" aria-label="H­oly Un­loc­ker L­ogo"></div>
|
||||
</div>
|
||||
<div class="footerlist">
|
||||
<h3>Dependencies</h3>
|
||||
<h3>Dep­en­denc­ies</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/github/fastify"
|
||||
title="Fastify - Fast and low overhead web framework, for Node.js "
|
||||
>Fastify</a
|
||||
title="Fas­tify - Fas­t and low ov­erhead web frame­work, for No­de.js "
|
||||
>Fast­ify</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
|
|
@ -21,8 +21,8 @@
|
|||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/github/nord-theme"
|
||||
title="Nord Theme - An arctic, north-bluish color palette."
|
||||
>Nord Theme</a
|
||||
title="No­rd Th­eme - An arc­tic, north-blu­ish color palet­te."
|
||||
>No­rd Th­eme</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
|
|
@ -30,8 +30,8 @@
|
|||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/github/aos"
|
||||
title="AOS - Animate on scroll library "
|
||||
>AOS</a
|
||||
title="AO­S - Anim­ate on sc­oll lib­rary "
|
||||
>A­OS</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
|
|
@ -39,81 +39,67 @@
|
|||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/github/font-awesome"
|
||||
title="Font Awesome - The iconic SVG, font, and CSS toolkit"
|
||||
>Font Awesome
|
||||
title="F­ont Awe­some - The ic­onic S­VG, fo­nt, and C­SS tool­kit"
|
||||
>Fo­nt Aweso­me
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footerlist">
|
||||
<h3>Transports</h3>
|
||||
<h3>Tr­ansp­orts</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/github/epoxy"
|
||||
title="Epoxy - Epoxy is an encrypted proxy for browser javascript. It allows you to make requests that bypass CORS without compromising security, by running SSL/TLS inside webassembly."
|
||||
>Epoxy</a
|
||||
href="/github/ep">Epo­xy</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/github/libcurl-js"
|
||||
title="A port of libcurl to WebAssembly, for proxying HTTPS requests from the browser with full TLS encryption"
|
||||
>Libcurl</a
|
||||
href="/github/lj">Lib­c­url</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/github/bare-module"
|
||||
title="Bare Module - Tomp Bare Client as a bare-mux module"
|
||||
>Bare Module</a
|
||||
href="/github/bam">B­are Mod­ule</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footerlist">
|
||||
<h3>Services</h3>
|
||||
<h3>Serv­ices</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/github/ultraviolet"
|
||||
title="Ultraviolet - Explore Ultraviolet"
|
||||
>Ultraviolet</a
|
||||
href="/github/config">Ultr­aviole­t</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/github/wisp"
|
||||
title="Wisp - Wisp is a low-overhead, easy to implement protocol for proxying multiple TCP/UDP sockets over a single websocket. "
|
||||
>Wisp Protocol</a
|
||||
href="/github/wm">Wi­sp Prot­ocol</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/rammerhead-discord"
|
||||
title="Rammerhead - Join Rammerhead on Discord"
|
||||
>Rammerhead</a
|
||||
href="/config-chat">Ram­erhe­ad</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/github/bare-mux"
|
||||
title="BareMux - A system for managing http transports in a project such as Ultraviolet"
|
||||
>Bare-Mux</a
|
||||
href="/github/bm">Ba­re-M­ux</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
@ -125,18 +111,16 @@
|
|||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="/github"
|
||||
title="Holy Unblocker GitHub Repository"
|
||||
>GitHub</a
|
||||
href="/github">GitH­ub</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/terms" title="Privacy Policy and Terms of Service"
|
||||
>Privacy and Terms of Service</a
|
||||
>Priv­acy and T­erms of Servi­ce</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/credits" title="Credits and Acknowledgements">Credits</a>
|
||||
<a href="/credits" title="Credits and Acknowledgements">Credi­ts</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -151,17 +135,13 @@
|
|||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="soc-github"
|
||||
href="/github"
|
||||
title="Follow Holy Unblocker on GitHub"
|
||||
><i class="fab fa-github" aria-hidden="true"></i
|
||||
href="/github"><i class="fab fa-github" aria-hidden="true"></i
|
||||
></a>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="soc-patreon"
|
||||
href="/titaniumnetwork-documentation"
|
||||
title="View Documentation on Titanium Network"
|
||||
><i class="fas fa-file-code" aria-hidden="true"></i
|
||||
href="/config-docs"><i class="fas fa-file-code" aria-hidden="true"></i
|
||||
></a>
|
||||
</div>
|
||||
<p class="copyright">Holy Unblocker LTS © 2020-2024</p>
|
||||
<p class="copyright">Ho­ly Unb­locker L­TS © 20­20-20­24</p>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<div class="brand-logo-container" aria-label="Brand Logo">
|
||||
<div class="logo" role="img" aria-label="Holy Unblocker Logo"></div>
|
||||
<a href="/" class="brand pulse" title="Holy Unblocker Home Page"
|
||||
>Holy Unblocker v6.3.x</a
|
||||
<div class="brand-logo-container" aria-label="B­ran­d Lo­go">
|
||||
<div class="logo" role="img" aria-label="Ho­ly Unb­loc­ker Log­o"></div>
|
||||
<a href="/" class="brand pulse" title="Ho­ly Un­bloc­k­er H­ome Pa­ge"
|
||||
>H­oly U­nbl­ocke­r v6.3­.x</a
|
||||
>
|
||||
</div>
|
||||
|
||||
|
|
@ -9,29 +9,29 @@
|
|||
<li class="pulse" style="margin-left: 0" role="listitem">
|
||||
<a
|
||||
href="/browsing"
|
||||
title="Web Proxies - Access various web proxies to bypass restrictions"
|
||||
>Web Proxies</a
|
||||
title="We­b Pr­o­xi­es - Acc­ess vario­us we­b pr­oxi­es to bypas­s res­tri­ctions"
|
||||
>W­eb P­roxi­es</a
|
||||
>
|
||||
</li>
|
||||
<li class="pulse" role="listitem">
|
||||
<a
|
||||
href="/games"
|
||||
title="Games - Explore a range of games available through our service"
|
||||
>Games</a
|
||||
href="/g"
|
||||
title="Ga­mes - Explo­re a ran­ge of ga­mes availab­le throug­h our ser­vice"
|
||||
>Ga­me­s</a
|
||||
>
|
||||
</li>
|
||||
<li class="pulse" role="listitem">
|
||||
<a
|
||||
href="/youtube"
|
||||
title="YouTube - Access YouTube content through our proxy service"
|
||||
>YouTube</a
|
||||
title="Yo­uT­ube - Acc­ess Y­ouT­ube co­nte­nt thro­ugh o­ur pr­oxy ser­vice"
|
||||
>Yo­uTu­be</a
|
||||
>
|
||||
</li>
|
||||
<li class="pulse new" role="listitem">
|
||||
<a
|
||||
href="/apps"
|
||||
title="Applications - Browse a selection of useful applications"
|
||||
>Applications</a
|
||||
title="App­licati­ons - Brow­se a s­elect­ion o­f use­ful app­licati­ons"
|
||||
>App­lic­ati­ons</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
<li class="dropdown-parent" role="listitem">
|
||||
<div class="pulse white-text" aria-haspopup="true" aria-expanded="false">
|
||||
<a href="#" aria-label="More options"
|
||||
>More <i class="fas fa-ellipsis-v" aria-hidden="true"></i
|
||||
>M­ore <i class="fas fa-ellipsis-v" aria-hidden="true"></i
|
||||
></a>
|
||||
</div>
|
||||
<div
|
||||
|
|
@ -58,34 +58,34 @@
|
|||
<li role="menuitem">
|
||||
<a
|
||||
href="/bookmarklets"
|
||||
title="Bookmarklets - Useful tools and shortcuts for your browser"
|
||||
>Bookmarklets</a
|
||||
title="B­ook­ma­rklets - Use­ful t­ools and sh­ortcu­ts for your bro­wser"
|
||||
>Boo­kmar­klets</a
|
||||
>
|
||||
</li>
|
||||
<li role="menuitem">
|
||||
<a
|
||||
href="/?documentation"
|
||||
title="Documentation - Detailed information and guides"
|
||||
>Docs</a
|
||||
title="Docu­men­tation - Det­ailed inf­orma­tion and gui­des"
|
||||
>D­ocs</a
|
||||
>
|
||||
</li>
|
||||
<li role="menuitem">
|
||||
<a
|
||||
href="/questions"
|
||||
title="FAQ - Frequently asked questions and answers"
|
||||
>FAQ</a
|
||||
title="F­AQ - Fre­quently as­ked qu­estions and ans­wers"
|
||||
>F­AQ</a
|
||||
>
|
||||
</li>
|
||||
<li role="menuitem">
|
||||
<a
|
||||
href="/credits"
|
||||
title="Credits - Acknowledgements and contributions"
|
||||
>Credits</a
|
||||
title="Cre­dits - Acknowled­gements and contribu­tions"
|
||||
>Cre­dits</a
|
||||
>
|
||||
</li>
|
||||
<li role="menuitem">
|
||||
<a href="/terms" title="Terms of Service - Rules and policies of use"
|
||||
>TOS</a
|
||||
<a href="/terms" title="Te­rms of Ser­vice - Rul­es and polic­ies of u­se"
|
||||
>T­OS</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
@ -94,7 +94,7 @@
|
|||
<li class="dropdown-parent" role="listitem">
|
||||
<div class="pulse white-text" aria-haspopup="true" aria-expanded="false">
|
||||
<a href="#" aria-label="Settings menu"
|
||||
>Settings <i class="fas fa-cog pulse" aria-hidden="true"></i
|
||||
>Sett­ings <i class="fas fa-cog pulse" aria-hidden="true"></i
|
||||
></a>
|
||||
</div>
|
||||
<div
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<div id="csel" class="settings-content">
|
||||
<div class="settings-header">
|
||||
<p class="cseltitle-main">Settings</p>
|
||||
<p class="cseltitle-main">Setti­ngs</p>
|
||||
<i class="far fa-times-circle close-settings-btn"></i>
|
||||
</div>
|
||||
<div class="settings-content-body">
|
||||
<div class="csel-container-left">
|
||||
<p class="cseltitle">Tab Cloak</p>
|
||||
<p class="cseltitle">T­ab Clo­ak</p>
|
||||
<form id="titleform" class="cloakform">
|
||||
<input type="text" placeholder="Tab Title" spellcheck="false" />
|
||||
<input type="submit" value="Apply" />
|
||||
|
|
@ -14,53 +14,61 @@
|
|||
<input type="text" placeholder="Icon URL" spellcheck="false" />
|
||||
<input type="submit" value="Apply" />
|
||||
</form>
|
||||
<p class="cseltitle">Ultraviolet Proxy Transport</p>
|
||||
<p class="cseltitle">Ultr­avio­let P­roxy Tr­ansport</p>
|
||||
<div class="radio-group" id="uv-transport-list">
|
||||
<label>
|
||||
<p>
|
||||
Libcurl
|
||||
<span class="default-badge">Cross-Browser/Secure (Firefox)</span>
|
||||
<span class="default-badge">Cr­oss-Bro­wser/Secu­re (Fi­refox)</span>
|
||||
</p>
|
||||
<input type="radio" name="uv-transport" value="libcurl" checked />
|
||||
</label>
|
||||
<label>
|
||||
<p>
|
||||
Epoxy
|
||||
<span class="bare-badge">Fastest/Secure (Chromium, Apple)</span>
|
||||
<span class="bare-badge">Fa­stest/Se­cure (Chro­mium, App­le)</span>
|
||||
</p>
|
||||
<input type="radio" name="uv-transport" value="epoxy" />
|
||||
</label>
|
||||
<label>
|
||||
<p>Bare <span class="beta-badge">Least Secure (All)</span></p>
|
||||
<p>Bare <span class="beta-badge">L­east Sec­ure (All)</span></p>
|
||||
<input type="radio" name="uv-transport" value="bare" />
|
||||
</label>
|
||||
</div>
|
||||
<p class="cseltitle">Advanced Options</p>
|
||||
<p class="cseltitle">Adva­nced Opt­ions</p>
|
||||
<div class="radio-group">
|
||||
<label>
|
||||
<p>Hide Ads <span class="default-badge">AdGuard</span></p>
|
||||
<p>Hi­de Ad­s <span class="default-badge">AdGu­ard</span></p>
|
||||
<input type="checkbox" id="hideads" class="switch" checked />
|
||||
</label>
|
||||
<label>
|
||||
<p>Enable Tor <span class="bare-badge">SOCKS5 Onion Routing</span></p>
|
||||
<p>En­able T­or <span class="bare-badge">SOC­KS5 On­ion Rou­ting</span></p>
|
||||
<input type="checkbox" id="useonion" class="switch" />
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="settings-right-column">
|
||||
<p class="cseltitle">Search Engine</p>
|
||||
<p class="cseltitle">Se­arch Eng­ine</p>
|
||||
<select>
|
||||
<option>Goog­le</option>
|
||||
<option>Bi­ng</option>
|
||||
<option>DuckD­uckGo</option>
|
||||
<option>Yah­oo</option>
|
||||
</select>
|
||||
<p class="cseltitle">Ic­on Pres­ets</p>
|
||||
<select id="icon-list">
|
||||
<option><!-- Leave this blank to avoid a bug. --></option>
|
||||
<option>Google</option>
|
||||
<option>Bing</option>
|
||||
<option>DuckDuckGo</option>
|
||||
<option>Yahoo</option>
|
||||
<option>Google Drive</option>
|
||||
<option>Gmail</option>
|
||||
</select>
|
||||
<p class="cseltitle">About:Blank</p>
|
||||
<p class="cseltitle">About:Bla­nk (Bet­a)</p>
|
||||
<div class="switch-container">
|
||||
<p>Stealth Tab <span class="default-badge">Default</span></p>
|
||||
<p>Stealth Tab <span class="default-badge">Def­ault</span></p>
|
||||
<input type="checkbox" class="switch" />
|
||||
</div>
|
||||
<p class="cseltitle">Select Theme</p>
|
||||
<p class="cseltitle">Se­lect The­me (Bet­a)</p>
|
||||
<div class="radio-group">
|
||||
<label>
|
||||
<p>Light</p>
|
||||
|
|
@ -71,18 +79,10 @@
|
|||
<input type="radio" name="theme" value="darktheme" />
|
||||
</label>
|
||||
</div>
|
||||
<p class="cseltitle">Icon Presets</p>
|
||||
<select id="icon-list">
|
||||
<option><!-- Leave this blank to avoid a bug. --></option>
|
||||
<option>Google</option>
|
||||
<option>Bing</option>
|
||||
<option>Google Drive</option>
|
||||
<option>Gmail</option>
|
||||
</select>
|
||||
<p class="cseltitle">Enable Devtools</p>
|
||||
<p class="cseltitle">En­able De­vtools (Bet­a)</p>
|
||||
<div class="radio-group">
|
||||
<label>
|
||||
<p>Eruda Devtools<span class="bare-badge">CTRL+SHIFT+I</span></p>
|
||||
<p>Eru­da Devto­ols<span class="bare-badge">CT­RL+SHI­FT+­I</span></p>
|
||||
<input type="radio" name="theme" value="lighttheme" checked />
|
||||
</label>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,92 +2,92 @@
|
|||
<div style="margin: 2%">
|
||||
<div class="text-center">
|
||||
<h1 class="bigtitle">Privacy Policy</h1>
|
||||
<h4>Holy Unblocker, a private web proxy service.</h4>
|
||||
<h4>Ho­ly Unb­locker, a pri­vate web pr­xy ser­vice.</h4>
|
||||
</div>
|
||||
<p><strong>Effective Date: 07-16-2021</strong></p>
|
||||
<p><strong>Updated Date: 07-07-2024</strong></p>
|
||||
<h4>What is Holy Unblocker?</h4>
|
||||
<h4>What is Ho­ly Unbloc­ker?</h4>
|
||||
<p>
|
||||
Holy Unblocker LTS, an experimental web proxy service, can bypass web
|
||||
filters or 'blockers' regardless of whether the method of censorship is
|
||||
client-side or network-based. This includes the potential ability to
|
||||
bypass content blockers overseas, Chrome extensions, localized client
|
||||
firewalls, and network-related filters.<br />This project serves mostly as
|
||||
a proof of concept for the ideal clientless solution to bypassing
|
||||
censorship. Being a secure web proxy service, it supports numerous sites
|
||||
H­oly Unb­locker L­TS, an experi­mental w­eb pro­xy ser­vice, can byp­ass web
|
||||
fil­ters or 'b­lockers' regardless of whether the method of censo­rship is
|
||||
client-side or network-based. This includes the pot­ential ability to
|
||||
bypass content blo­ckers overseas, Chr­ome extensions, localized client
|
||||
fir­ewalls, and netw­ork-rel­ated fi­lters.<br />This p­roject serves mostly as
|
||||
a proof of concept for the ideal clien­tless solution to bypa­ssing
|
||||
censorship. Being a secure w­eb pr­oxy service, it supports numerous sites
|
||||
while being updated frequently and concentrating on detail with design,
|
||||
mechanics, and features.
|
||||
</p>
|
||||
<h4>Is any data being collected?</h4>
|
||||
<p>
|
||||
Nope! No data is logged or collected by any of our web proxes featured.
|
||||
Holy Unblocker values its statement of ending intenet censorship along
|
||||
Nope! No data is logged or collected by any of our w­eb prox­ies featured.
|
||||
Ho­ly Unblo­cker values its statem­ent of ending intenet censorship along
|
||||
with valuing user privacy.<br /><br />If you wish to make a privacy
|
||||
statement or request please contact us via Discord:
|
||||
statement or request please contact us via Disco­rd:
|
||||
</p>
|
||||
<h4 id="Security">Security</h4>
|
||||
<p>
|
||||
Holy Unblocker LTS is built on cutting-edge technology to ensure a secure
|
||||
and reliable web proxy service for its users. One of the core technologies
|
||||
behind HU LTS is the new Wisp protocol, developed by Mercury Workshop.<br /><br />This
|
||||
H­ol­y Unblo­cker L­TS is built on cutting-edge technology to ensure a secure
|
||||
and reliable w­eb pr­oxy serv­ice for its users. One of the core technologies
|
||||
behind H­U LT­S is the new Wi­sp protocol, developed by Mercu­ry Work­shop.<br /><br />This
|
||||
protocol brings several innovative features and enhancements that
|
||||
contribute to the robustness and efficiency of the service.
|
||||
</p>
|
||||
<p>
|
||||
The Wisp protocol is designed to handle modern web traffic demands while
|
||||
maintaining high security standards. By implementing Wisp, HU LTS
|
||||
leverages the following benefits:
|
||||
The W­isp pro­tocol is designed to ha­ndle mod­ern web tra­ffic dem­ands whi­le
|
||||
maintai­ning high secur­ity st­andards. By implement­ing Wi­sp, H­U L­TS
|
||||
levera­ges the follow­ing be­nefits:
|
||||
</p>
|
||||
<p>
|
||||
Enhanced Performance: The Wisp protocol optimizes data transfer speeds,
|
||||
Enhanc­ed Perfor­mance: The W­isp pro­tocol optimi­zes data tra­nsfer speeds,
|
||||
ensuring that users experience minimal latency while browsing.
|
||||
</p>
|
||||
<p>
|
||||
Improved Compatibility: Wisp is built to be compatible with a wide range
|
||||
Impr­oved Compa­tibility: Wis­p is built to be compati­ble with a wide range
|
||||
of web technologies, ensuring seamless access to various websites and
|
||||
online services.
|
||||
</p>
|
||||
<p>
|
||||
Resilience Against Censorship: The protocol is designed to bypass
|
||||
Resil­ience Against Cen­sorship: The protocol is designed to bypass
|
||||
sophisticated censorship techniques employed by restrictive networks,
|
||||
allowing users to access blocked content with ease.
|
||||
</p>
|
||||
<p>
|
||||
Strong Fingerprint Resistance: HU LTS employs strong fingerprint
|
||||
resistance mechanisms within its reverse proxy setup for official
|
||||
instances. This means that the proxy is designed to minimize the unique
|
||||
identifiers that can be used to track or identify users, thereby enhancing
|
||||
Strong Fingerprint Resistance: H­U L­TS employs strong fingerprint
|
||||
resistance mechanisms within its reverse pro­xy setup for official
|
||||
instances. This means that the p­roxy is designed to minimize the unique
|
||||
identifiers that can be used to track or identify users, thereby enhanc­ing
|
||||
privacy. By following industry best practices and continually updating its
|
||||
methods, HU LTS ensures that users can browse anonymously without leaving
|
||||
methods, H­U LT­S ensures that users can browse anonymously without leaving
|
||||
identifiable traces.
|
||||
</p>
|
||||
<p>
|
||||
Transparency: Transparency is a key principle for HU LTS. The project
|
||||
operates with an open-source model, allowing the community to review and
|
||||
contribute to the codebase. This openness not only fosters trust but also
|
||||
enables continuous improvement through community feedback and
|
||||
collaboration. By adhering to transparent practices, HU LTS ensures that
|
||||
users are aware of how their data is handled and what measures are in
|
||||
place to protect their privacy.
|
||||
Transpa­rency: Tra­nsparency is a key principle for H­U L­TS. The project
|
||||
operates with an open-source model, allowing the com­munity to review and
|
||||
contribute to the codebase. This openness not only fost­ers trust but also
|
||||
enables continu­ous improvem­ent through community feedback and
|
||||
collabo­ration. By adhering to trans­parent pra­ctices, H­U L­TS ensures that
|
||||
use­rs are aware of how their da­ta is handled and what measures are in
|
||||
place to prote­ct the­ir priva­cy.
|
||||
</p>
|
||||
<p>
|
||||
URL Rewriting: HU LTS employs URL rewriting techniques to maintain
|
||||
seamless browsing experiences while ensuring that the actual URLs accessed
|
||||
remain obfuscated, adding an additional layer of security.
|
||||
U­RL Rewr­iting: H­U LT­S employs U­RL rew­riting techniques to maintain
|
||||
seamless br­owsing experi­ences while en­suring that the actual UR­Ls accessed
|
||||
remain obf­uscated, adding an addi­tional layer of secu­rity.
|
||||
</p>
|
||||
<p>
|
||||
Encryption: HU LTS utilizes advanced proxy technologies that focus on
|
||||
encryption and secure data transfer, particularly in the context of URL
|
||||
rewriting proxies. NOTE: This is still a massive work in progress and open
|
||||
to contributions.
|
||||
En­cryp­tion: H­U LT­S utilizes advan­ced prox­y tec­hnologies that focus on
|
||||
encrypt­ion and sec­ure dat­a tr­ansfer, particularly in the contex­t of U­RL
|
||||
rewriting proxies. N­OTE: This is still a massive work in prog­ress and open
|
||||
to contribu­tions.
|
||||
</p>
|
||||
<p>
|
||||
Regular Audits: Conducting regular security audits to identify and address
|
||||
Regular Audi­ts: Condu­cting regular secur­ity audits to identify and ad­dress
|
||||
potential vulnerabilities.
|
||||
</p>
|
||||
<h4 id="Cookies">Cookie Usage</h4>
|
||||
<p>
|
||||
Holy Unblocker uses "Cookies" and similar technologies to maintain a user
|
||||
H­oly Unb­loc­ker uses "Cook­ies" and simi­lar technologies to maintain a user
|
||||
session (described more below) and store your preferences on your
|
||||
computer. All of this information is completely private being only local
|
||||
content withFGF no analytical purposes.
|
||||
|
|
@ -95,23 +95,23 @@
|
|||
<p>
|
||||
A cookie is a string of information that a website stores on a visitor's
|
||||
computer, and that the visitor's browser provides to the website each time
|
||||
the visitor returns. Holy Unblocker uses cookies to help Holy Unblocker
|
||||
the visitor returns. H­oly Unb­locker uses cookies to help Ho­ly Unb­lock­er
|
||||
with security on ${document.domain} and its proxy instances, and lastly
|
||||
for user preferences. Users who do not wish to have cookies placed on
|
||||
their computers should set their browsers to refuse cookies before using
|
||||
Holy Unblocker's websites, with the drawback that certain features of Holy
|
||||
Unblocker may not function properly without the aid of cookies.
|
||||
Ho­ly Unb­lock­er's websites, with the drawback that certain features of H­oly
|
||||
U­nblo­cker may not function properly without the aid of cookies.
|
||||
</p>
|
||||
<p>
|
||||
By continuing to navigate our website without changing your cookie
|
||||
settings, you hereby acknowledge and agree to Holy Unblocker's use of
|
||||
settings, you hereby acknowledge and agree to Ho­ly Unb­locker's use of
|
||||
cookies.
|
||||
</p>
|
||||
<h4 id="Changes">Ending Note</h4>
|
||||
<p>
|
||||
Although most changes are likely to be minor, Holy Unblocker may change
|
||||
its Privacy Policy from time to time, and in Holy Unblocker's sole
|
||||
discretion. Holy Unblocker encourages visitors to frequently check this
|
||||
Although most changes are likely to be minor, Hol­y Unblo­cker may change
|
||||
its Privacy Policy from time to time, and in Ho­ly Unbloc­ker's sole
|
||||
discretion. H­ol­y Unblo­c­ker encourages visitors to frequently check this
|
||||
page for any changes to its Privacy Policy. Your continued use of this
|
||||
site after any change in this Privacy Policy will constitute your
|
||||
acceptance of such change.
|
||||
|
|
@ -119,7 +119,7 @@
|
|||
<h4 id="Credit">Contact Information & Credit</h4>
|
||||
<p>
|
||||
If you have any questions about our Privacy Policy, please contact us via
|
||||
<br /><br />Discord: https://discord.gg/unblock<br />
|
||||
<br /><br />Di­scord: https://disco­rd.gg/unb­lock<br />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,38 +2,26 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@next/dist/aos.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="box text-center"></div>
|
||||
</div>
|
||||
|
|
@ -41,6 +29,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,38 +2,25 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="box text-center textm">
|
||||
<h1 class="bigtitle">Bookmarklets</h1>
|
||||
|
|
@ -70,6 +57,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,104 +2,90 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div class="box-clear box-credits text-center textm">
|
||||
<h1 class="bigtitle">Credits</h1>
|
||||
<p>Contact information can be viewed <a href="/?t">here.</a></p>
|
||||
<h2>What is Holy Unblocker?</h2>
|
||||
<h2>What is H­oly Unblo­cker?</h2>
|
||||
<p>
|
||||
Holy Unblocker, an official flagship Titanium Network site, can bypass
|
||||
web filters regardless of whether it is an extension or
|
||||
network-based.<br />Being a secure web proxy service, it supports
|
||||
numerous sites while being updated frequently and concentrating on
|
||||
detail with design, mechanics, and features.
|
||||
Ho­ly Un­blo­cker, an off­icial fla­gship Titan­ium Netwo­rk site, can byp­ass
|
||||
we­b filte­rs regardless of whet­her it is an exten­sion or
|
||||
netwo­rk-based.<br />Being a secu­re web p­roxy ser­vice, it s­upports
|
||||
nume­rous sites while being up­dated freq­uently and concent­rating on
|
||||
detail with de­sign, mech­anics, and featur­es.
|
||||
</p>
|
||||
<h2>What is Titanium Network about?</h2>
|
||||
<h2>What is Tit­anium Ne­twork about?</h2>
|
||||
<p>
|
||||
Titanium Network is an organization dedicated to providing private
|
||||
internet access by bypassing the over-restrictive filters employed by
|
||||
institutions like schools or workplaces.
|
||||
T­itani­um Ne­two­rk is an o­rganization dedicated to provi­ding priv­ate
|
||||
inte­rnet access by bypa­ssing the over-restricti­ve filt­ers employed by
|
||||
institutions like sc­hools or workp­laces.
|
||||
</p>
|
||||
<div>
|
||||
<h3>Main Developers:</h3>
|
||||
<h3>M­ain Develo­pers:</h3>
|
||||
<ul class="binside">
|
||||
<li>
|
||||
Quite A Fancy Emerald (Creator and Owner, Discord: @quiteafancyemerald)
|
||||
Qui­te A Fa­ncy Emera­ld (Creat­or and Ow­ner, Disco­rd: @quiteafa­ncyemerald)
|
||||
</li>
|
||||
<li>
|
||||
OlyB/BinBashBanana (Co-Owner, Main Contributor, v5 rewrite, Tab Cloak,
|
||||
webretro dev, Discord: OlyB#9420)
|
||||
Ol­yB/BinBash­Banana (Co-Own­er, Main Contr­ibutor, v5 rewrite, Tab Cloak,
|
||||
webret­ro dev, Dis­cord: OlyB#942­0)
|
||||
</li>
|
||||
<li>
|
||||
YOCTDONALD'S (Co-Owner, v6+, Main Contributor, "HU no-lifer", Obfuscated Bughunter Legend)
|
||||
YOC­TDONA­LD'S (Co-O­wner, v6­+, M­ain Contribu­tor, "H­U no-lifer", Obfusc­ated Bug­hunter Le­gend)
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Contributors and Notable Mentions:</h3>
|
||||
<h3>Contributo­rs and Not­able Menti­ons:</h3>
|
||||
<ul class="binside">
|
||||
<li>Kinglalu (Games Page, Developer)</li>
|
||||
<li>MotorTruck1221 (Massive Contributor, Fastify Rewrite, Developer)</li>
|
||||
<li>percs (Ultraviolet, Wisp, Developer)</li>
|
||||
<li>scaratek (Contributor, Refactor Support)</li>
|
||||
<li>Kin­glalu (Ga­mes Page, Develop­er)</li>
|
||||
<li>Motor­Truck1221 (Mass­ive Contr­ibutor, Fast­ify Rewrite, De­veloper)</li>
|
||||
<li>pe­rcs (Ultr­av­iolet, Wi­sp, Deve­loper)</li>
|
||||
<li>scarat­ek (Con­tributor, Ref­actor Sup­port)</li>
|
||||
<li>
|
||||
MikeLime (Old Co-Owner of TitaniumNetwork & Mass Proxy Site Maker,
|
||||
Web Developer, and Software Developer)
|
||||
MikeLim­e (O­ld Co-Ow­ner of Ti­taniu­mNe­twork & Mass Prox­y Site Ma­er,
|
||||
W­eb D­eveloper, and Sof­tware De­veloper)
|
||||
</li>
|
||||
<li>SexyDuceDuce (Proxy and Web Developer)</li>
|
||||
<li>Divide (Chatbox, Proxy/Web Developer)</li>
|
||||
<li>LQ16 (Creator of TN, Retired)</li>
|
||||
<li>Shirt (Old Co-Owner of TN, Everything Developer And King Of Pokemon)</li>
|
||||
<li>Soup (Cat Lady) hehe</li>
|
||||
<li>aub (Owner of Titanium Network)</li>
|
||||
<li>Binary Person (pretty pog)</li>
|
||||
<li>Pillow (Hosting Contributor, Developer)</li>
|
||||
<li>Navyyy</li>
|
||||
<li>luphoria (Developer)</li>
|
||||
<li>trentwiles (Developer)</li>
|
||||
<li>Degen-dev (Developer)</li>
|
||||
<li>B3ATDROP3R</li>
|
||||
<li>Catolan</li>
|
||||
<li>Nautica (Reinin)</li>
|
||||
<li>LinuxTerm (Contributor)</li>
|
||||
<li>H (Not Speed)</li>
|
||||
<li>BananaVeyLover</li>
|
||||
<li>IronApple (The Apple Addict)</li>
|
||||
<li>Se­xyDu­ceDu­ce (P­roxy and We­b Develo­per)</li>
|
||||
<li>Divi­de (Chatbo­x, Pr­oxy/We­b Devel­oper)</li>
|
||||
<li>LQ­16 (Cre­ator of T­N, Ret­ired)</li>
|
||||
<li>S­hirt (O­ld Co­-O­wner of TN, Everyth­ing D­evel­oper And K­ing O­f Pok­em­on)</li>
|
||||
<li>So­up (C­at Lad­y) he­­he</li>
|
||||
<li>a­ub (Ow­ner of T­itani­um Net­work)</li>
|
||||
<li>Bin­ary Pe­rson (pretty pog)</li>
|
||||
<li>Pillo­w (Hos­ting Con­tributor, Develo­per)</li>
|
||||
<li>lup­horia (Deve­loper)</li>
|
||||
<li>tr­entwiles (Devel­oper)</li>
|
||||
<li>De­gen-d­ev (Deve­loper)</li>
|
||||
<li>B3­ATDRO­P3R</li>
|
||||
<li>Ca­tol­an</li>
|
||||
<li>Naut­ica (Rei­nin)</li>
|
||||
<li>Linu­xTerm (Contr­ibutor)</li>
|
||||
<li>H (N­ot Sp­eed)</li>
|
||||
<li>Banan­aVeyLov­er</li>
|
||||
<li>IronAp­ple (The A­pple Ad­dict)</li>
|
||||
</ul>
|
||||
<p>
|
||||
And everyone else inside Titanium Network, the various testers and
|
||||
of course Mercury Workshop. Also a certain Michael :D
|
||||
And ever­yone el­se in­side Ti­tanium Net­work, the vari­ous testers and
|
||||
of course Mer­cury Work­shop. Also a certain Mic­ael :D
|
||||
</p>
|
||||
<div class="text-center">
|
||||
<div class="image-container-hero">
|
||||
|
|
@ -112,6 +98,6 @@
|
|||
<div id="footer" class="fullwidth"><!--FOOTER--></div>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,43 +2,30 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="box-g text-center textm">
|
||||
<div id="emu-nav" class="glist"></div>
|
||||
<div class="gfooter">
|
||||
<p>I promise I'll fix N64 and add DS soon ._.</p>
|
||||
<p>I promi­se I'll fix N6­4 and add D­S soon ._.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -46,6 +33,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,47 +2,34 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="box-g text-center textm">
|
||||
<div id="emulib-nav" class="glist"></div>
|
||||
<div class="gfooter">
|
||||
<p>
|
||||
Have a game request? Contact us on <a id="tnlink">discord</a> or
|
||||
make a <a id="hblink">pull request or issue</a>!
|
||||
Have a game request? Contact us on <a id="tnlink">disc­ord</a> or
|
||||
make a <a id="hblink">p­ull re­quest or iss­ue</a>!
|
||||
</p>
|
||||
<p>More games coming soon!</p>
|
||||
<p>More g­ames co­ming soon!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -50,6 +37,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,38 +2,25 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="box-g text-center textm">
|
||||
<input
|
||||
|
|
@ -47,8 +34,8 @@
|
|||
<div id="flash-nav" class="flist"></div>
|
||||
<div class="gfooter-only">
|
||||
<p>
|
||||
Have a game request? Contact us on <a id="tnlink">discord</a> or
|
||||
make a <a id="hblink">pull request or issue</a>!
|
||||
Ha­ve a ga­me re­quest? Contact us on <a id="tnlink">dis­cord</a> or
|
||||
make a <a id="hblink">pull req­uest or issue</a>!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -57,6 +44,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -6,16 +6,7 @@
|
|||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<title>Hol­y Un­blo­cker LT­S</title>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
|
|
@ -26,8 +17,8 @@
|
|||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="/baremux/index.js" defer></script>
|
||||
<script src="/uv/uv.bundle.js" defer></script>
|
||||
<script src="/uv/uv.config.js" defer></script>
|
||||
<script src="/network/network.bundle.js" defer></script>
|
||||
<script src="/network/network.config.js" defer></script>
|
||||
<script src="/assets/js/register-sw.js" defer></script>
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
|
|
@ -37,16 +28,16 @@
|
|||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="box-g text-center textm">
|
||||
<div id="h5-nav" class="glist"></div>
|
||||
<div class="gfooter">
|
||||
<p>
|
||||
Have a game request? Contact us on <a id="tnlink">discord</a> or
|
||||
make a <a id="hblink">pull request or issue</a>!
|
||||
Ha­ve a g­ame request? Con­tact us on <a id="tnlink">di­scord</a> or
|
||||
ma­ke a <a id="hblink">pull request or issue</a>!
|
||||
</p>
|
||||
<p>More games coming soon!</p>
|
||||
<p>More ga­mes coming soon!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -54,6 +45,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,62 +2,49 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="ad" id="ad-left"></div>
|
||||
<div class="ad" id="ad-right"></div>
|
||||
<div class="box box-medium text-center textm">
|
||||
<h1 class="bigtitle">Games Directory</h1>
|
||||
<h1 class="bigtitle">Game­s Direc­tory</h1>
|
||||
<p class="responsive-fix">
|
||||
Choose where you would like to go. Below is some information.
|
||||
Ch­oose where you would like to go. Below is some information.
|
||||
</p>
|
||||
<div class="font3">
|
||||
<h3>Information:</h3>
|
||||
<p class="accented">
|
||||
Here you can find cool stuff like emulators and games!<br />
|
||||
<br />Emulators Featured: GB(A/C), N64(Broken), NES, SNES, Genesis
|
||||
<br />EmuLibrary: Collection of games you can play with the various
|
||||
emulators here. (WIP) <br />Games Featured: Lots. Flash support is
|
||||
spotty.
|
||||
Here you can find cool stuff like emul­ators and g­ames!<br />
|
||||
<br />Emul­ators Feat­ured: GB(A/C), N6­4(Broken), N­ES, SN­ES, Gen­esis
|
||||
<br />EmuLi­brary: Collec­tion of ga­mes you can play with the va­rious
|
||||
emula­tors here. (WIP) <br />Gam­es Feat­ured: Lots. Fl­ash supp­ort is
|
||||
sp­otty.
|
||||
</p>
|
||||
<p>Most of the games here should hopefully be updated.</p>
|
||||
<p>Mos­t of the g­ames h­ere shou­ld hop­efully be updat­ed.</p>
|
||||
</div>
|
||||
<div class="responsive-fix">
|
||||
<a class="fancybutton glowbutton" href="/emulators">Emulators</a>
|
||||
<a class="fancybutton glowbutton" href="/retro-games">EmuLibrary</a>
|
||||
<a class="fancybutton glowbutton" href="/web-games">Web Games</a>
|
||||
<a class="fancybutton glowbutton" href="/flash-games">Flash Games</a>
|
||||
<a class="fancybutton glowbutton" href="/c">Em­ulators</a>
|
||||
<a class="fancybutton glowbutton" href="/d">E­muL­ibrary</a>
|
||||
<a class="fancybutton glowbutton" href="/e">W­eb Ga­mes</a>
|
||||
<a class="fancybutton glowbutton" href="/f">Fla­sh Gam­es</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -65,6 +52,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,50 +2,37 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="box-clear text-center textm">
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<h1 class="bigtitle">Icon Information</h1>
|
||||
<h3>How to find the Icon URL of a Site</h3>
|
||||
<h1 class="bigtitle">Icon In­formation</h1>
|
||||
<h3>How to find the Ic­on URL of a Site</h3>
|
||||
<p>
|
||||
Go to the website you want an icon from, then use this bookmarklet
|
||||
(drag it to your bookmarks bar):
|
||||
Go to the website you want an icon from, then use this boo­kmarklet
|
||||
(drag it to your bookma­rks bar):
|
||||
</p>
|
||||
<div id="bks-parent">
|
||||
<a id="iconfinder" class="fancybutton fb-l glowbutton"
|
||||
>Find Icon URL</a
|
||||
>Find Ic­on URL</a
|
||||
>
|
||||
</div>
|
||||
<script>
|
||||
|
|
@ -53,7 +40,7 @@
|
|||
`javascript:alert((Array.from(document.head.querySelectorAll("link[rel*='icon']")).slice(-1)[0]||0).href||location.origin+"/favicon.ico")`;
|
||||
</script>
|
||||
<p>
|
||||
Copy the URL that the bookmarklet gives you. Then go back to HU and
|
||||
Copy the URL that the bookm­arklet gives you. Then go back to H­U and
|
||||
enter in the URL for the Icon URL in Settings. Enjoy!
|
||||
</p>
|
||||
</div>
|
||||
|
|
@ -62,6 +49,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,42 +2,29 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth"><!--TOS--></div>
|
||||
<div id="footer" class="fullwidth"><!--FOOTER--></div>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -11,11 +11,6 @@
|
|||
name="description"
|
||||
content="Ho­ly Unbl­o­c­ker is a se­c­ure we­b pr­ox­y se­rvi­ce with sup­po­rt for many sit­es. By­pa­ss fi­l­ter­s and fr­ee­ly enj­oy a saf­er pr­iva­te b­rowsi­ng expe­ri­ence or u­nblo­ck webs­ites on de­vices such as Chr­omebo­oks and at plac­es li­ke sch­o­ol or wor­k with­out do­wnload­ing anythi­ng."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
|
|
@ -26,8 +21,8 @@
|
|||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="/baremux/index.js" defer></script>
|
||||
<script src="/uv/uv.bundle.js" defer></script>
|
||||
<script src="/uv/uv.config.js" defer></script>
|
||||
<script src="/network/network.bundle.js" defer></script>
|
||||
<script src="/network/network.config.js" defer></script>
|
||||
<script src="/assets/js/register-sw.js" defer></script>
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
|
|
@ -37,58 +32,22 @@
|
|||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="ad" id="ad-left"></div>
|
||||
<div class="ad" id="ad-right"></div>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div class="box box-medium text-center textm">
|
||||
<h1 class="bigtitle">Di­sc­ord Pr­oxy</h1>
|
||||
<div class="font3">
|
||||
<p>
|
||||
If you wish for a pro­xy with better support for Disc­ord,
|
||||
be sure to join the <a id="tnlink">T­N Disco­rd</a> and
|
||||
check out our <a id="ptlink">Patreo­n!</a> <br />Each of the
|
||||
various <a id="ptlink">P­atre­on</a> tiers helps out
|
||||
significan­tly wi­th ser­ver expens­es and
|
||||
do­main rest­ocks. <br />Although you can continue
|
||||
supporting H­oly Unb­lo­ck­er for free with
|
||||
Ar­c/Ads (by simply using HU­ more), do­nati­ng
|
||||
helps a lot more when upgradi­ng or maintain­ing its
|
||||
serv­ces.
|
||||
</p>
|
||||
<h4>Rough summary of possible benef­its ($2-10):</h4>
|
||||
<ul class="accented binside">
|
||||
<li>
|
||||
Su­bscr­iber Lib­rary Ac­cess (Subscriber
|
||||
D­isc­ord Pro­x­y)
|
||||
</li>
|
||||
<li>Be­ta Mem­bersh­ip for H­U</li>
|
||||
<li>Feat­ure Requests</li>
|
||||
<li>Monthly shout-outs in announcements</li>
|
||||
<li>
|
||||
Personal­ized Domai­ns (Can requ­est for your own
|
||||
doma­in with H­U)
|
||||
</li>
|
||||
<li>
|
||||
Excl­usive rol­e (Su­pport­er and
|
||||
Sub­scri­ber)
|
||||
</li>
|
||||
</ul>
|
||||
<h4>
|
||||
The prem­ium Di­sco­rd p­r­ox­y is
|
||||
outside of these issues:
|
||||
</h4>
|
||||
<ul class="accented binside">
|
||||
<li>
|
||||
Being prompted to ve­rify by ema­il or via pho­ne
|
||||
numb­er
|
||||
</li>
|
||||
<li>S­low mess­aging or in­valid invit­es</li>
|
||||
<li>Si­tes getting bl­ock­ed often</li>
|
||||
<li>And more!</li>
|
||||
</ul>
|
||||
</div>
|
||||
<p class="responsive-fix">
|
||||
Choose which pr­oxy you would like to use. Below is some informat­ion.
|
||||
</p>
|
||||
<h3>Having Issues?</h3>
|
||||
<p class="font3 accented">
|
||||
Read the <a href="/questions">FAQ pa­ge</a> for more info­rmation.
|
||||
<br />Sometim­es the p­rox­ies are under high load so things may be sl­ow,
|
||||
sorry. In th­at case sim­ply wait for the pa­ge to load.
|
||||
</p>
|
||||
<div>
|
||||
<div id="pr-rh-dc">
|
||||
<a href="#" class="fancybutton glowbutton pr-go1"
|
||||
|
|
@ -115,6 +74,6 @@
|
|||
<div id="footer" class="fullwidth"><!--FOOTER--></div>
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -6,16 +6,7 @@
|
|||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<title>Ho­ly Unbl­ocker</title>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
|
|
@ -30,41 +21,41 @@
|
|||
"></script>
|
||||
<script src="/baremux/index.js" defer></script>
|
||||
<script src="/epoxy/index.js" defer></script>
|
||||
<script src="/uv/uv.bundle.js" defer></script>
|
||||
<script src="/uv/uv.config.js" defer></script>
|
||||
<script src="/network/network.bundle.js" defer></script>
|
||||
<script src="/network/network.config.js" defer></script>
|
||||
<script src="/assets/js/register-sw.js" defer></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="ad" id="ad-left"></div>
|
||||
<div class="ad" id="ad-right"></div>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div class="box box-medium text-center textm">
|
||||
<h1 class="bigtitle">Youtube Proxy</h1>
|
||||
<h1 class="bigtitle">Yout­ube Pro­xy</h1>
|
||||
<p class="responsive-fix">
|
||||
Choose which proxy you would like to use. Below is some information.
|
||||
<br />YouTube now has enhanced support with onsite navigation w/
|
||||
Corrosion! Simply use the buttons below to access YouTube via
|
||||
Corrosion.
|
||||
Choose which pr­oxy you would like to use. Below is some in­formation.
|
||||
<br />Y­ouTube now has e­nhanced support with onsite navigation w/
|
||||
Ultr­avi­olet! Simply use the butt­ons below to access Yo­uTu­be via
|
||||
Ult­ravi­olet.
|
||||
</p>
|
||||
<h3>Having Issues?</h3>
|
||||
<p class="font3 accented">
|
||||
Read the <a href="/questions">FAQ page</a> for more information.
|
||||
<br />Sometimes the proxies are under high load so things may be slow,
|
||||
sorry. In that case simply wait for the page to load.
|
||||
<br />Sometimes the pro­xi­es are under high load so things m­ay be slow,
|
||||
sorry. In th­at case simply wait f­or the page to load.
|
||||
</p>
|
||||
<div id="pr-yt" class="responsive-fix">
|
||||
<a
|
||||
href="#"
|
||||
style="display: none"
|
||||
class="fancybutton glowbutton pr-go1"
|
||||
>Classic</a
|
||||
>Clas­sic</a
|
||||
>
|
||||
<a href="#" class="fancybutton glowbutton pr-go2">Stealth</a>
|
||||
<a href="#" class="fancybutton glowbutton pr-go2">Ste­alth</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -72,6 +63,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -6,16 +6,7 @@
|
|||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Shark your way through the landmines of network filtrs and the eyes of your ISP with Rammerhead!"
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<title>Ho­ly Unbl­ocke­r LT­S</title>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
|
|
@ -33,49 +24,49 @@
|
|||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="ad" id="ad-left"></div>
|
||||
<div class="ad" id="ad-right"></div>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div class="box box-medium text-center textm">
|
||||
<h1 class="bigtitle">Rammerhead</h1>
|
||||
<p>Rammerhead is one of the most advanced free secure web proxies.</p>
|
||||
<h1 class="bigtitle">Ra­mm­erhe­ad</h1>
|
||||
<p>Ram­mer­hea­d is one of the m­ost adva­nce­d fr­ee s­ecure web p­rox­ies.</p>
|
||||
<p>
|
||||
Its session-based proxying concept enables much support for webites
|
||||
like Discord, YouTube, and more!
|
||||
Its sess­ion-based pr­ox­ying con­cept en­ables much supp­ort for webs­ites
|
||||
like D­iscord, YouTu­be, and m­ore!
|
||||
</p>
|
||||
<div id="pr-rh" class="pr-form">
|
||||
<input
|
||||
type="text"
|
||||
spellcheck="false"
|
||||
autocomplete="off"
|
||||
placeholder="Search or enter in a target site!"
|
||||
placeholder="Sea­rch or enter in a ta­rget site!"
|
||||
/>
|
||||
<a href="#" class="pr-button glowbutton pr-go1">Cl­assic</a>
|
||||
</div>
|
||||
<p>
|
||||
Important: Make sure you treat this as a PRIVATE session. Do NOT share
|
||||
Rammerhead links.
|
||||
Important: Make sure you treat this as a PRI­VA­TE session. Do N­OT share
|
||||
Ram­mer­head links.
|
||||
</p>
|
||||
<h3>More Information:</h3>
|
||||
<h3>More Info­rmation:</h3>
|
||||
<div class="font3">
|
||||
<p class="accented">
|
||||
Works with YouTube, Discord, Spotify (spotty support) and much much
|
||||
Works with You­Tube, Di­sc­ord, Spoti­fy (spot­ty support) and muc­h much
|
||||
more.
|
||||
<br />Rameerhead with its session support and improved speeds make
|
||||
it reliable as a web proxy choice.
|
||||
<br />R­amme­rhe­ad with its sess­ion support and impro­ved speeds make
|
||||
it reliable as a w­eb pro­xy choice.
|
||||
</p>
|
||||
<p class="accented">
|
||||
Common Errors with Solutions:
|
||||
<br />- Try using Classic mode or doing 'Reload Frame'.
|
||||
("client.example.com" cannot be reached.) <br />- You cannot login
|
||||
normally into the majority of sites. Phone verification on a select
|
||||
number of sites may occur also with no real soluion.
|
||||
<br />- Try using Cl­assic mode or doing 'Reload Frame'.
|
||||
("client.exa­mple.com" cannot be reached.) <br />- You cannot login
|
||||
norm­ally into the major­ity of sites. Ph­one verifi­cation on a select
|
||||
number of sit­es may occur also with no rea­l soluion.
|
||||
</p>
|
||||
<p>
|
||||
Discord: <a class="bluelink" id="rhlink"
|
||||
><strong>https://discord.gg/VNT4E7gN5Y</strong></a
|
||||
Disc­ord: <a class="bluelink" id="rhlink"
|
||||
><strong>https://di­sco­rd.gg/VNT4E7­gN5Y</strong></a
|
||||
>
|
||||
</p>
|
||||
</div>
|
||||
|
|
@ -85,6 +76,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,46 +1,170 @@
|
|||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Error</title>
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>H​oly Unb​loc​ke​r | Error</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Get past internet cen​sorsh​ip today! Enjoy safer, private internet access bypa​ssi​ng filters such as Securly or iboss. Supports Di​sc​or​d and more! :D"
|
||||
/>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/assets/img/i.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="preconnect" href="https://arc.io" />
|
||||
<link rel="dns-prefetch" href="https://arc.io" />
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://www.nerdfonts.com/assets/css/webfont.css"
|
||||
/>
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link
|
||||
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<style>
|
||||
* {
|
||||
background-color: white;
|
||||
*,
|
||||
body {
|
||||
color: #eceff4;
|
||||
background-color: #1d232a;
|
||||
font-family: "Figtree", sans-serif;
|
||||
font-optical-sizing: auto;
|
||||
background-image: radial-gradient(circle, rgba(131, 131, 131, 0.02) 1px, transparent 1px), radial-gradient(circle, rgba(148, 148, 148, 0.02) 1px, transparent 1px);
|
||||
background-position: 0 0, 5px 5px;
|
||||
background-size: 10px 10px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #ff5861;
|
||||
font-size: 64px;
|
||||
font-weight: 900;
|
||||
margin-top: 0.8%;
|
||||
}
|
||||
|
||||
code {
|
||||
color: #e5e9f0;
|
||||
font-size: 24px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.uv-small {
|
||||
color: #e5e9f0;
|
||||
font-size: 20px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
i {
|
||||
color: #e5e9f0;
|
||||
font-size: 20px;
|
||||
font-weight: 900;
|
||||
text-decoration: none;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.footer-spacing {
|
||||
margin-top: 0.5%;
|
||||
}
|
||||
|
||||
button {
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
padding: 15px 50px;
|
||||
border-radius: 8px;
|
||||
margin: 10px;
|
||||
margin-top: 20px;
|
||||
transition: 0.3s ease-in-out;
|
||||
-webkit-transition: 0.3s ease-in-out;
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #434c5e;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 650px;
|
||||
}
|
||||
|
||||
.list-group-item {
|
||||
background-color: #2e3440;
|
||||
color: #eceff4;
|
||||
}
|
||||
|
||||
.list-group {
|
||||
border-radius: 18px;
|
||||
}
|
||||
|
||||
textarea {
|
||||
border-radius: 18px;
|
||||
outline: none;
|
||||
resize: none;
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
||||
padding: 25px;
|
||||
box-sizing: border-box;
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
.nf-fa-heart {
|
||||
color: #ff5861;
|
||||
}
|
||||
</style>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id="errorTitle">Error processing your request</h1>
|
||||
<hr />
|
||||
<p>Failed to load <b id="fetchedURL"></b></p>
|
||||
<p id="errorMessage">Internal Server Error</p>
|
||||
<textarea id="errorTrace" cols="40" rows="10" readonly></textarea>
|
||||
<p>Try:</p>
|
||||
<ul>
|
||||
<li>Checking your internet connection</li>
|
||||
<li>Verifying you entered the correct address</li>
|
||||
<li>Clearing the site data</li>
|
||||
<li>Contacting <b id="uvHostname"></b>'s administrator</li>
|
||||
<li>Verify the server isn't censored</li>
|
||||
</ul>
|
||||
<p>If you're the administrator of <b id="uvHostname"></b>, try:</p>
|
||||
<ul>
|
||||
<li>Restarting your server</li>
|
||||
<li>Updating Ultraviolet</li>
|
||||
<li>
|
||||
Troubleshooting the error on the
|
||||
<a
|
||||
href="/github/ultraviolet"
|
||||
target="_blank"
|
||||
>GitHub repository</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
<button id="reload">Reload</button>
|
||||
<hr />
|
||||
<p>
|
||||
<i>Ultraviolet v<span id="uvVersion"></span></i>
|
||||
</p>
|
||||
<script src={{src}}></script>
|
||||
<span style="display: none" data-cooking="cooks"
|
||||
>Boost your confidence in the kitchen with our trusted tips, tricks and
|
||||
expert advice to master the basics and build upon your existing cooking
|
||||
skills and knowledge.</span
|
||||
>
|
||||
<div class="container-fluid text-center">
|
||||
<h1>Netwo<wbr>rk Er<wbr>ror</h1>
|
||||
<code>Fa<wbr>iled to l<wbr>oad: <b id="fetchedURL"></b></code>
|
||||
<br>
|
||||
<button id="reload">Ref<wbr>resh</button>
|
||||
<br><br>
|
||||
<h5>
|
||||
<p>
|
||||
<textarea id="errorTrace" cols="40" rows="10" readonly>test</textarea>
|
||||
</p>
|
||||
</h5>
|
||||
<code class="uv-small">Ref<wbr>res<wbr>h the net<wbr>work serv<wbr>ice | Ul<wbr>tra<wbr>vio<wbr>let v<span id="uvVersion"></span>.</code>
|
||||
<br><br>
|
||||
<div class="container text-wrap">
|
||||
<ul class="list-group text-start">
|
||||
<li class="list-group-item">
|
||||
- Verif<wbr>ying you ente<wbr>red the cor<wbr>rect add<wbr>ress
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
- Clear<wbr>ing your bro<wbr>wser or site cache data via Ctr<wbr>l+Sh<wbr>ift+<wbr>R and b<wbr>rowser setti<wbr>ngs
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
- In t<wbr>he case of web<wbr>site ma<wbr />inte<wbr>nan<wbr />ce or updates, please wait for the issue to
|
||||
be resol<wbr>ved.
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
- If the iss<wbr>ue per<wbr>sists be su<wbr>re to m<wbr>ention t<wbr>his in the Ti<wbr />ta<wbr />nium
|
||||
Net<wbr />work D<wbr>is<wbr />cor<wbr />d.
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
- View the F<wbr />AQ page for specific si<wbr>te compa<wbr>tibility issues.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<br />
|
||||
<p class="footer-spacing">
|
||||
<i>Ho<wbr>ly Unbloc<wbr>ke<wbr>r LT<wbr>S © 20<wbr>2<wbr>0-202<wbr>4 | Ma<wbr>de Wit<wbr>h Lov<wbr>e </i><i class="nf nf-fa-heart"></i>
|
||||
</p>
|
||||
<script src="{{src}}"></script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -6,16 +6,7 @@
|
|||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Ultraviolet LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="The new highly innovative proxy of Titanium Network using technologies such as service workers and sophisticated rewriting techniques with CAPTCHA support. Ultraviolet focuses on speed with YouTube, now.gg, Spotify, CoolMathGames and various .io sites!"
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<title>Hol­y U­nb­lo­cker | Ul­travi­olet</title>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
|
|
@ -26,8 +17,8 @@
|
|||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="/baremux/index.js" defer></script>
|
||||
<script src="/uv/uv.bundle.js" defer></script>
|
||||
<script src="/uv/uv.config.js" defer></script>
|
||||
<script src="/network/network.bundle.js" defer></script>
|
||||
<script src="/network/network.config.js" defer></script>
|
||||
<script src="/assets/js/register-sw.js" defer></script>
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
|
|
@ -37,55 +28,58 @@
|
|||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="ad" id="ad-left"></div>
|
||||
<div class="ad" id="ad-right"></div>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div class="box box-medium text-center textm">
|
||||
<h1 class="bigtitle">Ultraviolet (Beta)</h1>
|
||||
<h1 class="bigtitle">Ultr­aviol­et (Be­ta)</h1>
|
||||
<p>
|
||||
The highly innovative proxy of Titanium Network using technologies
|
||||
such as service workers and sophisticated rewriting techniques with
|
||||
CAPTCHA support.
|
||||
T­he hi­ghly innov­ative p­rox­y of Titan­ium Net­work using technologies
|
||||
such as ser­vice wo­rkers and sophistic­ated rewri­ting techniqu­es with
|
||||
CAPT­CHA suppo­rt.
|
||||
</p>
|
||||
<div id="pr-uv" class="pr-form">
|
||||
<div id="pr-runprod" class="pr-form">
|
||||
<input
|
||||
type="text"
|
||||
spellcheck="false"
|
||||
autocomplete="off"
|
||||
placeholder="Search or enter in a target site!"
|
||||
placeholder="Sea­rch or enter in a targ­et si­te!"
|
||||
/>
|
||||
<a href="#" style="display: none" class="pr-button glowbutton pr-go1"
|
||||
>Stea­lth</a
|
||||
>
|
||||
<a href="#" class="pr-button glowbutton pr-go2">Stea­lth</a>
|
||||
</div>
|
||||
<h3>More Information:</h3>
|
||||
<h3>N<wbr>etwo<wbr>rk fi<wbr>x i<wbr>f erro<wbr>rs occ<wbr>urs or bla<wbr>nk pa<wbr>ge:</h3>
|
||||
<button id="reload" class="homebutton glowbutton">Ref<wbr>re<wbr>sh</button>
|
||||
<br><br>
|
||||
<h3>Mo­re Inform­ation:</h3>
|
||||
<div class="font3">
|
||||
<p class="accented">
|
||||
Focusing on speed UV works with YouTube, now.gg, Spotify,
|
||||
CoolMathGames and various .io sites!
|
||||
<br />CAPTCHA is supported! <br />Ultraviolet is highly recommended
|
||||
due to its speed and enhanced support for almost every site making
|
||||
it one of the most advanced web proxies. <br />Sites with given
|
||||
support for logging in are Twitter, Spotify, Reddit, and Discord.
|
||||
YouTube allows for nearly full functionality. <br />Discord support
|
||||
on Rammerhead is a KNOWN bug. It is being worked on.
|
||||
Focu­sing on speed U­V works with YouT­ube, n­ow.g­g, Sp­otify,
|
||||
Cool­Ma­thGames and var­ious .i­o s­ites!
|
||||
<br />CAPT­CHA is suppor­ted! <br />Ultra­violet is hi­ghly recomm­ended
|
||||
due to its sp­eed and enha­nced supp­ort for almost every site making
|
||||
it one of the most advan­ed web pro­xi­es. <br />Sit­es with given
|
||||
support for loggin­g in are Twit­ter, Spoti­fy, Red­dit, and Dis­cord.
|
||||
Yo­uTube a­llows for nearly full func­tional­ity. <br />D­iscord supp­ort
|
||||
on Rammer­head is a KNO­WN bug. It is bei­ng w­orked on.
|
||||
</p>
|
||||
<p class="accented">
|
||||
Common Errors with Solutions:
|
||||
<br />- Having issues with CAPTCHAs? It will take trial and error
|
||||
but try to go slow when it comes to solving them. CAPTCHA is a given
|
||||
but will take a few attempts. <br />- Try using Classic mode or
|
||||
doing 'Reload Frame'. ("cdn.example.com" cannot be reached.) <br />-
|
||||
You may not be able to login normally into a number of sites. Phone
|
||||
verification on a select number of sites may occur also with no real
|
||||
Co­mmon Er­rors with Solut­ions:
|
||||
<br />- Having issues with CAP­TCHAs? It will take trial and e­rror
|
||||
but try to go slow when it comes to solving them. CAPT­CHA is a giv­en
|
||||
but will take a few attempts. <br />- Try using Class­ic mode or
|
||||
doing 'Relo­ad F­rame'. ("cdn.examp­le.com" canno­t be reached.) <br />-
|
||||
You may not be able to login normally into a number of sites. Ph­one
|
||||
verif­ication on a select number of sites may oc­cur also w­ith no real
|
||||
soluion.
|
||||
</p>
|
||||
<p>
|
||||
GitHub: <a class="bluelink" id="tnlink"
|
||||
><strong>https://github.com/titaniumnetwork-dev</strong></a
|
||||
Gi­tHub: <a class="bluelink" id="tnlink"
|
||||
><strong>htt­ps://git­hub.com/titaniu­m­netw­ork-d­ev</strong></a
|
||||
>
|
||||
</p>
|
||||
</div>
|
||||
|
|
@ -95,6 +89,7 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script src="{{src}}"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,65 +2,53 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, shrink-to-fit=no"
|
||||
/>
|
||||
<title>Holy Unblocker LTS</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Holy Unblocker is a secure web proxy service with support for many sites. Bypass filters and freely enjoy a safer private browsing experience or unblock websites on devices such as Chromebooks and at places like school or work without downloading anything."
|
||||
/>
|
||||
<meta
|
||||
name="theme-color"
|
||||
media="(prefers-color-scheme: dark)"
|
||||
content="#434c5e"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="assets/img/icon.png"
|
||||
/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="version" content="<!-- VERSION -->" />
|
||||
<title>Hol­y Un­b­l­ock­e­r</title>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/img/apple-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/icon-small.png" />
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
||||
<link rel="stylesheet" href="assets/css/styles.css" />
|
||||
<script src="
|
||||
https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js
|
||||
"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3.5/tsparticles.bundle.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@next/dist/aos.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<div id="header" class="fullwidth"><!--HEADER--></div>
|
||||
<div id="particles-js" class="fullwidth"></div>
|
||||
<div id="background-animated" class="fullwidth"></div>
|
||||
<div id="mainbody" class="fullwidth">
|
||||
<div class="box-main-container">
|
||||
<div class="box-text-container">
|
||||
<p class="box-badge">
|
||||
<span class="box-default-badge">New</span>Holy Unblocker LTS now
|
||||
features adblock support!
|
||||
<span class="box-default-badge">Ne­w</span>Ho­ly U­nbloc­ker LT­S now
|
||||
feat­ures adblo­ck supp­ort!
|
||||
</p>
|
||||
<h1>
|
||||
Holy Unblocker LTS sets the standard for fast, secure, and highly
|
||||
advanced web proxy services.
|
||||
Ho­ly U­nblock­er L­TS sets the stand­ard for f­ast, se­cure, and high­ly
|
||||
advan­ced w­eb pr­oxy servic­es.
|
||||
</h1>
|
||||
<h2 class="box-description">
|
||||
Experience rapid and reliable proxy performance with Holy Unblocker
|
||||
LTS. Our robust feature set includes CAPTCHA integration,
|
||||
customizable blacklist settings, leak prevention mechanisms, and
|
||||
advanced security measures.
|
||||
Ex­perience rap­id and relia­ble pr­oxy p­erfor­mance with H­oly Unb­locker
|
||||
LT­S. Our robust feat­ure s­et inclu­des CAP­TCHA integ­ration,
|
||||
customi­zable blackl­ist se­ttings, leak pr­evention mec­hani­sms, and
|
||||
advan­ced securi­ty meas­ures.
|
||||
</h2>
|
||||
<div class="box-button-container">
|
||||
<a href="/ultraviolet" class="box-button">Ultraviolet</a>
|
||||
<a href="/rammerhead" class="box-button">Rammerhead</a>
|
||||
<a href="/a" class="box-button">Ul­travio­let</a>
|
||||
<a href="/b" class="box-button">Ram­merhe­ad</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-image-container">
|
||||
<img
|
||||
class="box-pr-logo"
|
||||
src="/assets/img/uv2.png"
|
||||
alt="Ultraviolet TN Logo"
|
||||
src="/assets/img/config2.png"
|
||||
alt="Ult­rav­io­let T­N L­ogo"
|
||||
/>
|
||||
</div>
|
||||
<!-- <div class="box-line-divider"></div> -->
|
||||
|
|
@ -70,6 +58,6 @@
|
|||
<!-- IMPORTANT-HUCOOKINGINSERT-DONOTDELETE -->
|
||||
<script src="assets/js/common.js"></script>
|
||||
<script src="assets/js/csel.js"></script>
|
||||
<script defer="defer" src="assets/js/particlesjs/particles.js"></script>
|
||||
<script defer="defer" src="assets/js/background/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,2 @@
|
|||
User-agent: *
|
||||
Allow: /
|
||||
|
||||
Sitemap: https://holyunblocker.org/sitemap.xml
|
||||
Disallow: /
|
||||
|
|
|
|||
|
|
@ -1,75 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset
|
||||
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
||||
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
||||
|
||||
<url>
|
||||
<loc>https://holyunblocker.org/</loc>
|
||||
<lastmod>2024-08-02T00:00:00+00:00</lastmod>
|
||||
<priority>1.00</priority>
|
||||
<changefreq>weekly</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://holyunblocker.org/?browse</loc>
|
||||
<lastmod>2024-08-01T00:00:00+00:00</lastmod>
|
||||
<priority>0.95</priority>
|
||||
<changefreq>weekly</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://holyunblocker.org/?g</loc>
|
||||
<lastmod>2024-08-01T00:00:00+00:00</lastmod>
|
||||
<priority>0.95</priority>
|
||||
<changefreq>weekly</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://holyunblocker.org/?faq</loc>
|
||||
<lastmod>2024-08-01T00:00:00+00:00</lastmod>
|
||||
<priority>0.60</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://holyunblocker.org/?documentation</loc>
|
||||
<lastmod>2024-08-01T00:00:00+00:00</lastmod>
|
||||
<priority>0.70</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://holyunblocker.org/?in</loc>
|
||||
<lastmod>2024-08-01T00:00:00+00:00</lastmod>
|
||||
<priority>0.70</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://holyunblocker.org/?credits</loc>
|
||||
<lastmod>2024-08-01T00:00:00+00:00</lastmod>
|
||||
<priority>0.70</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://holyunblocker.org/?terms</loc>
|
||||
<lastmod>2024-08-01T00:00:00+00:00</lastmod>
|
||||
<priority>0.60</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://holyunblocker.org/?a</loc>
|
||||
<lastmod>2024-08-01T00:00:00+00:00</lastmod>
|
||||
<priority>0.50</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://holyunblocker.org/?w</loc>
|
||||
<lastmod>2024-08-01T00:00:00+00:00</lastmod>
|
||||
<priority>0.50</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://holyunblocker.org/?e</loc>
|
||||
<lastmod>2024-08-01T00:00:00+00:00</lastmod>
|
||||
<priority>0.50</priority>
|
||||
<changefreq>monthly</changefreq>
|
||||
</url>
|
||||
|
||||
</urlset>
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
// This file overwrites the stock UV config.js
|
||||
|
||||
self['{{__uv$config}}'] = {
|
||||
prefix: '/uv/service/',
|
||||
encodeUrl: Ultraviolet.codec.xor.encode,
|
||||
decodeUrl: Ultraviolet.codec.xor.decode,
|
||||
handler: '/uv/uv.handler.js',
|
||||
client: '/uv/uv.client.js',
|
||||
bundle: '/uv/uv.bundle.js',
|
||||
config: '/uv/uv.config.js',
|
||||
sw: '/uv/uv.sw.js',
|
||||
};
|
||||
|
|
@ -1,480 +0,0 @@
|
|||
/* -----------------------------------------------
|
||||
/* Authors: Titanium Network
|
||||
/* GNU Affero General Public License v3.0: https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
/* Modified by Yoct to remove __uv$config and serve custom error pages.
|
||||
/* Ultraviolet Service Worker Script (v3.2.7)
|
||||
/* ----------------------------------------------- */
|
||||
|
||||
|
||||
// Users must import the bundle prior to importing uv.sw.js
|
||||
// This is to allow us to produce a generic bundle with no hard-coded paths.
|
||||
|
||||
/**
|
||||
* @type {import('../uv').UltravioletCtor}
|
||||
*/
|
||||
const Ultraviolet = self.Ultraviolet;
|
||||
|
||||
const cspHeaders = [
|
||||
'cross-origin-embedder-policy',
|
||||
'cross-origin-opener-policy',
|
||||
'cross-origin-resource-policy',
|
||||
'content-security-policy',
|
||||
'content-security-policy-report-only',
|
||||
'expect-ct',
|
||||
'feature-policy',
|
||||
'origin-isolation',
|
||||
'strict-transport-security',
|
||||
'upgrade-insecure-requests',
|
||||
'x-content-type-options',
|
||||
'x-download-options',
|
||||
'x-frame-options',
|
||||
'x-permitted-cross-domain-policies',
|
||||
'x-powered-by',
|
||||
'x-xss-protection',
|
||||
];
|
||||
const emptyMethods = ['GET', 'HEAD'];
|
||||
|
||||
class UVServiceWorker extends Ultraviolet.EventEmitter {
|
||||
constructor(config = self['{{__uv$config}}']) {
|
||||
super();
|
||||
if (!config.prefix) config.prefix = '/service/';
|
||||
this.config = config;
|
||||
/**
|
||||
* @type {InstanceType<Ultraviolet['BareClient']>}
|
||||
*/
|
||||
this.bareClient = new Ultraviolet.BareClient();
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param {Event & {request: Request}} param0
|
||||
* @returns
|
||||
*/
|
||||
route({ request }) {
|
||||
if (request.url.startsWith(location.origin + this.config.prefix)) return true;
|
||||
else return false;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param {Event & {request: Request}} param0
|
||||
* @returns
|
||||
*/
|
||||
async fetch({ request }) {
|
||||
/**
|
||||
* @type {string|void}
|
||||
*/
|
||||
let fetchedURL;
|
||||
|
||||
try {
|
||||
if (!request.url.startsWith(location.origin + this.config.prefix))
|
||||
return await fetch(request);
|
||||
|
||||
const ultraviolet = new Ultraviolet(this.config);
|
||||
|
||||
if (typeof this.config.construct === 'function') {
|
||||
this.config.construct(ultraviolet, 'service');
|
||||
}
|
||||
|
||||
const db = await ultraviolet.cookie.db();
|
||||
|
||||
ultraviolet.meta.origin = location.origin;
|
||||
ultraviolet.meta.base = ultraviolet.meta.url = new URL(
|
||||
ultraviolet.sourceUrl(request.url)
|
||||
);
|
||||
|
||||
const requestCtx = new RequestContext(
|
||||
request,
|
||||
ultraviolet,
|
||||
!emptyMethods.includes(request.method.toUpperCase())
|
||||
? await request.blob()
|
||||
: null
|
||||
);
|
||||
|
||||
if (ultraviolet.meta.url.protocol === 'blob:') {
|
||||
requestCtx.blob = true;
|
||||
requestCtx.base = requestCtx.url = new URL(
|
||||
requestCtx.url.pathname
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
request.referrer &&
|
||||
request.referrer.startsWith(location.origin)
|
||||
) {
|
||||
const referer = new URL(
|
||||
ultraviolet.sourceUrl(request.referrer)
|
||||
);
|
||||
|
||||
if (
|
||||
requestCtx.headers.origin ||
|
||||
(ultraviolet.meta.url.origin !== referer.origin &&
|
||||
request.mode === 'cors')
|
||||
) {
|
||||
requestCtx.headers.origin = referer.origin;
|
||||
}
|
||||
|
||||
requestCtx.headers.referer = referer.href;
|
||||
}
|
||||
|
||||
const cookies = (await ultraviolet.cookie.getCookies(db)) || [];
|
||||
const cookieStr = ultraviolet.cookie.serialize(
|
||||
cookies,
|
||||
ultraviolet.meta,
|
||||
false
|
||||
);
|
||||
|
||||
requestCtx.headers['user-agent'] = navigator.userAgent;
|
||||
|
||||
if (cookieStr) requestCtx.headers.cookie = cookieStr;
|
||||
|
||||
const reqEvent = new HookEvent(requestCtx, null, null);
|
||||
this.emit('request', reqEvent);
|
||||
|
||||
if (reqEvent.intercepted) return reqEvent.returnValue;
|
||||
|
||||
fetchedURL = requestCtx.blob
|
||||
? 'blob:' + location.origin + requestCtx.url.pathname
|
||||
: requestCtx.url;
|
||||
|
||||
const response = await this.bareClient.fetch(fetchedURL, {
|
||||
headers: requestCtx.headers,
|
||||
method: requestCtx.method,
|
||||
body: requestCtx.body,
|
||||
credentials: requestCtx.credentials,
|
||||
mode: requestCtx.mode,
|
||||
cache: requestCtx.cache,
|
||||
redirect: requestCtx.redirect,
|
||||
});
|
||||
|
||||
const responseCtx = new ResponseContext(requestCtx, response);
|
||||
const resEvent = new HookEvent(responseCtx, null, null);
|
||||
|
||||
this.emit('beforemod', resEvent);
|
||||
if (resEvent.intercepted) return resEvent.returnValue;
|
||||
|
||||
for (const name of cspHeaders) {
|
||||
if (responseCtx.headers[name]) delete responseCtx.headers[name];
|
||||
}
|
||||
|
||||
if (responseCtx.headers.location) {
|
||||
responseCtx.headers.location = ultraviolet.rewriteUrl(
|
||||
responseCtx.headers.location
|
||||
);
|
||||
}
|
||||
|
||||
// downloads
|
||||
if (["document", "iframe"].includes(request.destination)) {
|
||||
const header = responseCtx.getHeader("content-disposition");
|
||||
|
||||
// validate header and test for filename
|
||||
if (!/\s*?((inline|attachment);\s*?)filename=/i.test(header)) {
|
||||
// if filename= wasn't specified then maybe the remote specified to download this as an attachment?
|
||||
// if it's invalid then we can still possibly test for the attachment/inline type
|
||||
const type = /^\s*?attachment/i.test(header)
|
||||
? 'attachment'
|
||||
: 'inline';
|
||||
|
||||
// set the filename
|
||||
const [filename] = new URL(response.finalURL).pathname
|
||||
.split('/')
|
||||
.slice(-1);
|
||||
|
||||
responseCtx.headers[
|
||||
'content-disposition'
|
||||
] = `${type}; filename=${JSON.stringify(filename)}`;
|
||||
}
|
||||
}
|
||||
|
||||
if (responseCtx.headers['set-cookie']) {
|
||||
Promise.resolve(
|
||||
ultraviolet.cookie.setCookies(
|
||||
responseCtx.headers['set-cookie'],
|
||||
db,
|
||||
ultraviolet.meta
|
||||
)
|
||||
).then(() => {
|
||||
self.clients.matchAll().then(function (clients) {
|
||||
clients.forEach(function (client) {
|
||||
client.postMessage({
|
||||
msg: 'updateCookies',
|
||||
url: ultraviolet.meta.url.href,
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
delete responseCtx.headers['set-cookie'];
|
||||
}
|
||||
|
||||
if (responseCtx.body) {
|
||||
switch (request.destination) {
|
||||
case 'script':
|
||||
responseCtx.body = ultraviolet.js.rewrite(
|
||||
await response.text()
|
||||
);
|
||||
break;
|
||||
case 'worker':
|
||||
{
|
||||
// craft a JS-safe list of arguments
|
||||
const scripts = [
|
||||
ultraviolet.bundleScript,
|
||||
ultraviolet.clientScript,
|
||||
ultraviolet.configScript,
|
||||
ultraviolet.handlerScript,
|
||||
]
|
||||
.map((script) => JSON.stringify(script))
|
||||
.join(',');
|
||||
responseCtx.body = `(async ()=>{${ultraviolet.createJsInject(
|
||||
ultraviolet.cookie.serialize(
|
||||
cookies,
|
||||
ultraviolet.meta,
|
||||
true
|
||||
),
|
||||
request.referrer
|
||||
)} importScripts(${scripts}); await __uv$promise;\n`;
|
||||
responseCtx.body += ultraviolet.js.rewrite(
|
||||
await response.text()
|
||||
);
|
||||
responseCtx.body += "\n})()";
|
||||
}
|
||||
break;
|
||||
case 'style':
|
||||
responseCtx.body = ultraviolet.rewriteCSS(
|
||||
await response.text()
|
||||
);
|
||||
break;
|
||||
case 'iframe':
|
||||
case 'document':
|
||||
if (responseCtx.getHeader("content-type") && responseCtx.getHeader("content-type").startsWith("text/html")) {
|
||||
let modifiedResponse = await response.text();
|
||||
if (Array.isArray(this.config.inject)) {
|
||||
const headPosition = modifiedResponse.indexOf('<head>');
|
||||
const upperHead = modifiedResponse.indexOf('<HEAD>');
|
||||
const bodyPosition = modifiedResponse.indexOf('<body>');
|
||||
const upperBody = modifiedResponse.indexOf('<BODY>');
|
||||
const url = new URL(fetchedURL)
|
||||
const injectArray = this.config.inject;
|
||||
for (const inject of injectArray) {
|
||||
const regex = new RegExp(inject.host)
|
||||
if (regex.test(url.host)) {
|
||||
if (inject.injectTo === "head") {
|
||||
if (headPosition !== -1 || upperHead !== -1) {
|
||||
modifiedResponse =
|
||||
modifiedResponse.slice(
|
||||
0,
|
||||
headPosition
|
||||
) +
|
||||
`${inject.html}` +
|
||||
modifiedResponse.slice(headPosition);
|
||||
}
|
||||
} else if (inject.injectTo === "body") {
|
||||
if (bodyPosition !== -1 || upperBody !== -1) {
|
||||
modifiedResponse =
|
||||
modifiedResponse.slice(
|
||||
0,
|
||||
bodyPosition
|
||||
) +
|
||||
`${inject.html}` +
|
||||
modifiedResponse.slice(bodyPosition);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
responseCtx.body = ultraviolet.rewriteHtml(
|
||||
modifiedResponse,
|
||||
{
|
||||
document: true,
|
||||
injectHead: ultraviolet.createHtmlInject(
|
||||
ultraviolet.handlerScript,
|
||||
ultraviolet.bundleScript,
|
||||
ultraviolet.clientScript,
|
||||
ultraviolet.configScript,
|
||||
ultraviolet.cookie.serialize(
|
||||
cookies,
|
||||
ultraviolet.meta,
|
||||
true
|
||||
),
|
||||
request.referrer
|
||||
),
|
||||
}
|
||||
);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (requestCtx.headers.accept === 'text/event-stream') {
|
||||
responseCtx.headers['content-type'] = 'text/event-stream';
|
||||
}
|
||||
if (crossOriginIsolated) {
|
||||
responseCtx.headers['Cross-Origin-Embedder-Policy'] =
|
||||
'require-corp';
|
||||
}
|
||||
|
||||
this.emit('response', resEvent);
|
||||
if (resEvent.intercepted) return resEvent.returnValue;
|
||||
|
||||
return new Response(responseCtx.body, {
|
||||
headers: responseCtx.headers,
|
||||
status: responseCtx.status,
|
||||
statusText: responseCtx.statusText,
|
||||
});
|
||||
} catch (err) {
|
||||
if (!['document', 'iframe'].includes(request.destination))
|
||||
return new Response(undefined, { status: 500 });
|
||||
|
||||
console.error(err);
|
||||
|
||||
return renderError(err, fetchedURL);
|
||||
}
|
||||
}
|
||||
static Ultraviolet = Ultraviolet;
|
||||
}
|
||||
|
||||
self.UVServiceWorker = UVServiceWorker;
|
||||
|
||||
class ResponseContext {
|
||||
/**
|
||||
*
|
||||
* @param {RequestContext} request
|
||||
* @param {import("@mercuryworkshop/bare-mux").BareResponseFetch} response
|
||||
*/
|
||||
constructor(request, response) {
|
||||
this.request = request;
|
||||
this.raw = response;
|
||||
this.ultraviolet = request.ultraviolet;
|
||||
this.headers = {};
|
||||
// eg set-cookie
|
||||
for (const key in response.rawHeaders)
|
||||
this.headers[key.toLowerCase()] = response.rawHeaders[key];
|
||||
this.status = response.status;
|
||||
this.statusText = response.statusText;
|
||||
this.body = response.body;
|
||||
}
|
||||
get url() {
|
||||
return this.request.url;
|
||||
}
|
||||
get base() {
|
||||
return this.request.base;
|
||||
}
|
||||
set base(val) {
|
||||
this.request.base = val;
|
||||
}
|
||||
//the header value might be an array, so this function is used to
|
||||
//retrieve the value when it needs to be compared against a string
|
||||
getHeader(key) {
|
||||
if (Array.isArray(this.headers[key])) {
|
||||
return this.headers[key][0];
|
||||
}
|
||||
return this.headers[key];
|
||||
}
|
||||
}
|
||||
|
||||
class RequestContext {
|
||||
/**
|
||||
*
|
||||
* @param {Request} request
|
||||
* @param {Ultraviolet} ultraviolet
|
||||
* @param {BodyInit} body
|
||||
*/
|
||||
constructor(request, ultraviolet, body = null) {
|
||||
this.ultraviolet = ultraviolet;
|
||||
this.request = request;
|
||||
this.headers = Object.fromEntries(request.headers.entries());
|
||||
this.method = request.method;
|
||||
this.body = body || null;
|
||||
this.cache = request.cache;
|
||||
this.redirect = request.redirect;
|
||||
this.credentials = 'omit';
|
||||
this.mode = request.mode === 'cors' ? request.mode : 'same-origin';
|
||||
this.blob = false;
|
||||
}
|
||||
get url() {
|
||||
return this.ultraviolet.meta.url;
|
||||
}
|
||||
set url(val) {
|
||||
this.ultraviolet.meta.url = val;
|
||||
}
|
||||
get base() {
|
||||
return this.ultraviolet.meta.base;
|
||||
}
|
||||
set base(val) {
|
||||
this.ultraviolet.meta.base = val;
|
||||
}
|
||||
}
|
||||
|
||||
class HookEvent {
|
||||
#intercepted;
|
||||
#returnValue;
|
||||
constructor(data = {}, target = null, that = null) {
|
||||
this.#intercepted = false;
|
||||
this.#returnValue = null;
|
||||
this.data = data;
|
||||
this.target = target;
|
||||
this.that = that;
|
||||
}
|
||||
get intercepted() {
|
||||
return this.#intercepted;
|
||||
}
|
||||
get returnValue() {
|
||||
return this.#returnValue;
|
||||
}
|
||||
respondWith(input) {
|
||||
this.#returnValue = input;
|
||||
this.#intercepted = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {string} trace
|
||||
* @param {string} fetchedURL
|
||||
* @returns
|
||||
*/
|
||||
function errorTemplate(
|
||||
trace,
|
||||
fetchedURL,
|
||||
) {
|
||||
// turn script into a data URI so we don't have to escape any HTML values
|
||||
const script = `
|
||||
errorTrace.value = ${JSON.stringify(trace)};
|
||||
fetchedURL.textContent = ${JSON.stringify(fetchedURL)};
|
||||
for (const node of document.querySelectorAll("#uvHostname")) node.textContent = ${JSON.stringify(
|
||||
location.hostname
|
||||
)};
|
||||
reload.addEventListener("click", () => location.reload());
|
||||
uvVersion.textContent = ${JSON.stringify(
|
||||
'3.2.7'
|
||||
)};
|
||||
`
|
||||
|
||||
return (
|
||||
'{{ultraviolet-error}}'.replace('{{src}}', 'data:application/javascript,' + encodeURIComponent(script))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {unknown} err
|
||||
* @param {string} fetchedURL
|
||||
*/
|
||||
function renderError(err, fetchedURL) {
|
||||
let headers = {
|
||||
'content-type': 'text/html',
|
||||
};
|
||||
if (crossOriginIsolated) {
|
||||
headers['Cross-Origin-Embedder-Policy'] = 'require-corp';
|
||||
}
|
||||
|
||||
return new Response(
|
||||
errorTemplate(
|
||||
String(err),
|
||||
fetchedURL
|
||||
),
|
||||
{
|
||||
status: 500,
|
||||
headers: headers
|
||||
}
|
||||
);
|
||||
}
|
||||