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!