diff --git a/pages/uv_404.html b/pages/proxy_404.html similarity index 68% rename from pages/uv_404.html rename to pages/proxy_404.html index 0c345e0..50b201d 100644 --- a/pages/uv_404.html +++ b/pages/proxy_404.html @@ -8,7 +8,7 @@ - 404 Error | Polaris + Loading... | Polaris @@ -20,11 +20,10 @@

- - - diff --git a/server/index.js b/server/index.js index 40353c8..9046cd6 100644 --- a/server/index.js +++ b/server/index.js @@ -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('/'); diff --git a/static/assets/css/themes.css b/static/assets/css/themes.css index 562c70d..66ee801 100644 --- a/static/assets/css/themes.css +++ b/static/assets/css/themes.css @@ -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; } } \ No newline at end of file diff --git a/static/assets/js/settings.js b/static/assets/js/settings.js index 8270bb7..f636fc3 100644 --- a/static/assets/js/settings.js +++ b/static/assets/js/settings.js @@ -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') { diff --git a/static/assets/js/view.js b/static/assets/js/view.js index f335ada..e41591d 100644 --- a/static/assets/js/view.js +++ b/static/assets/js/view.js @@ -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', () => { diff --git a/static/dynamic/dynamic.config.js b/static/dynamic/dynamic.config.js index 815fffa..f51199e 100644 --- a/static/dynamic/dynamic.config.js +++ b/static/dynamic/dynamic.config.js @@ -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: [ diff --git a/static/dynamic/sw.js b/static/dynamic/sw.js index d39a44e..d06ffb0 100644 --- a/static/dynamic/sw.js +++ b/static/dynamic/sw.js @@ -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)); }); \ No newline at end of file diff --git a/templates/sidebar.html b/templates/sidebar.html index fc66e57..97f7761 100644 --- a/templates/sidebar.html +++ b/templates/sidebar.html @@ -7,8 +7,7 @@

Panic Key

- +
@@ -47,6 +46,13 @@ +

Proxy

+ + +

Export/Import Data

Coming soon!