Merge branch 'master' of https://github.com/Skoolgq/Polaris
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
|
||||
<title>404 Error | Polaris</title>
|
||||
<title>Loading... | Polaris</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -20,11 +20,10 @@
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<script src="/uv/uv.bundle.js"></script>
|
||||
<script src="/uv/uv.config.js"></script>
|
||||
|
||||
<script type="module">
|
||||
import { loadProxyWorker } from '/assets/js/utils.js';
|
||||
import { loadProxyWorker, storage } from '/assets/js/utils.js';
|
||||
|
||||
const settingsStorage = storage('settings');
|
||||
|
||||
try { document.body.dataset.theme = JSON.parse(localStorage.getItem('settings')).theme || 'system-default'; }
|
||||
catch {
|
||||
@@ -34,12 +33,16 @@
|
||||
}));
|
||||
}
|
||||
|
||||
loadProxyWorker('uv')
|
||||
if (location.pathname.slice(1).startsWith(settingsStorage.get('proxy') || 'uv')) loadProxyWorker(settingsStorage.get('proxy') || 'uv')
|
||||
.then(e => location.reload())
|
||||
.catch(e => {
|
||||
document.querySelector('h1').textContent = 'Error';
|
||||
document.querySelector('p').textContent = 'Failed to load proxy';
|
||||
});
|
||||
else {
|
||||
document.documentElement.innerHTML = await (await fetch('/404')).text();
|
||||
await import('/assets/js/main.js');
|
||||
}
|
||||
</script>
|
||||
|
||||
<!--el:{{mode === 'dev'}}:development-->
|
||||
+2
-1
@@ -275,7 +275,8 @@ app.get('/asset/:token', async (req, res, next) => {
|
||||
}
|
||||
});
|
||||
|
||||
app.get('/uv/service/*', async (req, res) => res.end(await rewriter.html(fs.readFileSync(path.join(__dirname, '../pages/uv_404.html')))));
|
||||
app.get('/uv/service/*', async (req, res) => res.end(await rewriter.html(fs.readFileSync(path.join(__dirname, '../pages/proxy_404.html')))));
|
||||
app.get('/dynamic/service/*', async (req, res) => res.end(await rewriter.html(fs.readFileSync(path.join(__dirname, '../pages/proxy_404.html')))));
|
||||
|
||||
app.use(async (req, res, next) => {
|
||||
if (req.path === '/index') res.redirect('/');
|
||||
|
||||
@@ -10,8 +10,8 @@ body[data-theme='dark'] {
|
||||
--scrollbar-color: #ffffff59;
|
||||
--solid: #1b2735;
|
||||
--hover: #757575;
|
||||
|
||||
background: radial-gradient(at center bottom, rgb(27, 39, 53) 0%, rgb(9, 10, 15) 100%);
|
||||
;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
@@ -247,7 +247,6 @@ body[data-theme='violet'] {
|
||||
--solid: #1b2735;
|
||||
--hover: #757575;
|
||||
background: radial-gradient(at center bottom, rgb(27, 39, 53) 0%, rgb(9, 10, 15) 100%);
|
||||
;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
}
|
||||
@@ -50,6 +50,10 @@ class Settings {
|
||||
});
|
||||
}
|
||||
|
||||
document.querySelector('#proxy_select').addEventListener('change', () => settingsStorage.set('proxy', document.querySelector('#proxy_select').value));
|
||||
|
||||
if (settingsStorage.get('proxy')) document.querySelector('#proxy_select').value = settingsStorage.get('proxy');
|
||||
|
||||
fetch('/assets/JSON/cloaks.json').then(res => res.json()).then(cloaks => {
|
||||
document.querySelector('#cloak_select').addEventListener('change', () => {
|
||||
if (document.querySelector('#cloak_select').value == 'custom') {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { loadProxyWorker, encoder } from './utils.js';
|
||||
import { loadProxyWorker, encoder, storage } from './utils.js';
|
||||
|
||||
const params = new URLSearchParams(location.search);
|
||||
const settingsStorage = storage('settings');
|
||||
|
||||
window.history.replaceState({}, '', location.pathname);
|
||||
|
||||
@@ -14,9 +15,9 @@ if (params.get('load')) {
|
||||
sessionStorage.setItem('loaddata', JSON.stringify(parsedData));
|
||||
|
||||
if (parsedData.proxied) {
|
||||
await loadProxyWorker('uv');
|
||||
await loadProxyWorker(settingsStorage.get('proxy') || 'uv');
|
||||
|
||||
document.querySelector('#loadframe').src = '/uv/service/' + encoder['xor'].encode(parsedData.target);
|
||||
document.querySelector('#loadframe').src = `/${settingsStorage.get('proxy') || 'uv'}/service/${encoder['xor'].encode(parsedData.target)}`;
|
||||
} else document.querySelector('#loadframe').src = parsedData.target;
|
||||
|
||||
document.querySelector('#loadframe').addEventListener('load', () => {
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
self.__dynamic$config = {
|
||||
prefix: '/service/',
|
||||
prefix: '/dynamic/service/',
|
||||
encoding: 'xor',
|
||||
mode: 'production',
|
||||
logLevel: 0,
|
||||
bare: {
|
||||
version: 2,
|
||||
path: '/bare/',
|
||||
path: '/bare/'
|
||||
},
|
||||
tab: {
|
||||
title: 'Service',
|
||||
icon: null,
|
||||
ua: null,
|
||||
ua: null
|
||||
},
|
||||
assets: {
|
||||
prefix: '/dynamic/',
|
||||
@@ -19,7 +19,7 @@ self.__dynamic$config = {
|
||||
client: 'dynamic.client.js',
|
||||
worker: 'dynamic.worker.js',
|
||||
config: 'dynamic.config.js',
|
||||
inject: null,
|
||||
inject: null
|
||||
}
|
||||
},
|
||||
block: [
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
importScripts('/dynamic/dynamic.config.js');
|
||||
importScripts('/dynamic/dynamic.worker.js');
|
||||
|
||||
const dynamic = new Dynamic();
|
||||
const sw = new Dynamic();
|
||||
|
||||
self.dynamic = dynamic;
|
||||
|
||||
self.addEventListener('fetch', event => {
|
||||
event.respondWith((async function () {
|
||||
if (await dynamic.route(event)) return await dynamic.fetch(event);
|
||||
return await fetch(event.request);
|
||||
})());
|
||||
self.addEventListener('fetch', async (event) => {
|
||||
/*if (await sw.route(event)) */event.respondWith(sw.fetch(event));
|
||||
//else event.respondWith(fetch(event.request));
|
||||
});
|
||||
@@ -7,8 +7,7 @@
|
||||
|
||||
<h3>Panic Key</h3>
|
||||
|
||||
<input class="settings-input" type="text" name="Panic Key" id="panic_key" value="Click and press any key"
|
||||
readonly />
|
||||
<input class="settings-input" type="text" name="Panic Key" id="panic_key" value="Click and press any key" readonly />
|
||||
<button class="settings-button" id="reset_panic">Reset</button>
|
||||
|
||||
<br>
|
||||
@@ -47,6 +46,13 @@
|
||||
<input class="settings-input" type="text" placeholder="eg: google.com" id="domain" />
|
||||
</div>
|
||||
|
||||
<h3>Proxy</h3>
|
||||
|
||||
<select id="proxy_select">
|
||||
<option value="uv">Ultraviolet</option>
|
||||
<option value="dynamic" disabled>Dynamic</option>
|
||||
</select>
|
||||
|
||||
<h2>Export/Import Data</h2>
|
||||
|
||||
<p>Coming soon!</p>
|
||||
|
||||
Reference in New Issue
Block a user