diff --git a/extensions/chromium/runet-censorship-bypass/src/extension-common/pages/choose-pac-provider/index.html b/extensions/chromium/runet-censorship-bypass/src/extension-common/pages/choose-pac-provider/index.html
index 94a92a2..0da0e14 100644
--- a/extensions/chromium/runet-censorship-bypass/src/extension-common/pages/choose-pac-provider/index.html
+++ b/extensions/chromium/runet-censorship-bypass/src/extension-common/pages/choose-pac-provider/index.html
@@ -2,7 +2,7 @@
- Выбор провайдера PAC
+ Настройки
diff --git a/extensions/chromium/runet-censorship-bypass/src/extension-common/pages/exceptions/index.js b/extensions/chromium/runet-censorship-bypass/src/extension-common/pages/exceptions/index.js
index 11ef6c9..87d8fca 100644
--- a/extensions/chromium/runet-censorship-bypass/src/extension-common/pages/exceptions/index.js
+++ b/extensions/chromium/runet-censorship-bypass/src/extension-common/pages/exceptions/index.js
@@ -5,20 +5,65 @@ chrome.runtime.getBackgroundPage( (backgroundPage) =>
window, 'EXC', () => {
const editor = document.getElementById('editor');
- const mods = backgroundPage.apis.pacKitchen.getPacMods();
- editor.innerText = `# Комментарии начинаются с # и действуют до конца строки.
+ const loadBtn = document.getElementById('load');
+ const saveBtn = document.getElementById('save');
+ const status = document.getElementById('status');
+
+ loadBtn.onclick = function() {
+
+ const mods = backgroundPage.apis.pacKitchen.getPacMods();
+ editor.value = `# Комментарии начинаются с # и действуют до конца строки.
+# Комментарии НЕ сохраняются!
# Сначала идёт список проксируемых сайтов,
-# затем ---- на отдельной строке,
+# затем ==== на отдельной строке,
# затем исключённые сайты.
# ПРОКСИРОВАТЬ:
${mods.included.join('\n')}
------------------------------
+===============================
# НЕ ПРОКСИРОВАТЬ:
${mods.excluded.join('\n')}`;
+ status.innerText = 'Успешно загружено!';
+
+ };
+ loadBtn.click();
+
+ saveBtn.onclick = function() {
+
+ let [proxyList, dontProxyList] = editor.value
+ .trim()
+ .replace(/#.*/g, '')
+ .split(/=+/g)
+ .map( (listStr) => listStr
+ .trim()
+ .split(/(?:\s*\r?\n\s*)+/g)
+ .filter((host) => host)
+ )
+ dontProxyList = dontProxyList || [];
+
+ const exceptions = {};
+ proxyList.forEach((host) => (exceptions[host] = true));
+ dontProxyList.forEach((host) => (exceptions[host] = false));
+ const mods = backgroundPage.apis.pacKitchen.getPacMods();
+ mods.exceptions = exceptions;
+ backgroundPage.apis.pacKitchen.keepCookedNowAsync(mods, (err) => {
+ if (!err) {
+ status.innerText = 'Успешно сохранено!';
+ loadBtn.click();
+ } else {
+ status.innerText = 'ОШИБКА:' + err;
+ }
+ });
+
+ };
+
+ editor.oninput = () => (status.innerText = 'Вы держитесь там!');
+
+ document.documentElement.style.display = 'initial';
+
})
);