mirror of
https://github.com/anticensority/runet-censorship-bypass.git
synced 2024-11-23 18:03:44 +03:00
Add whitelisting for sites to be proxied
This commit is contained in:
parent
d3caee1483
commit
57a2a8c1ac
File diff suppressed because it is too large
Load Diff
|
@ -9,7 +9,7 @@
|
||||||
"subpages": "cd ./src/extension-common/pages/options/ && npm run build && cd -",
|
"subpages": "cd ./src/extension-common/pages/options/ && npm run build && cd -",
|
||||||
"subpages:dev": "cd ./src/extension-common/pages/options/ && npm run build:dev:nocomp && cd -",
|
"subpages:dev": "cd ./src/extension-common/pages/options/ && npm run build:dev:nocomp && cd -",
|
||||||
"start": "npm run release",
|
"start": "npm run release",
|
||||||
"release": "npm run subpages && npm run gulp buildAll"
|
"release": "npm run subpages && npx gulp -- buildAll"
|
||||||
},
|
},
|
||||||
"author": "Ilya Ig. Petrov",
|
"author": "Ilya Ig. Petrov",
|
||||||
"license": "GPLv3",
|
"license": "GPLv3",
|
||||||
|
|
|
@ -101,20 +101,12 @@
|
||||||
dflt: false,
|
dflt: false,
|
||||||
category: 'ownProxies',
|
category: 'ownProxies',
|
||||||
label: 'использовать СВОЙ локальный Tor',
|
label: 'использовать СВОЙ локальный Tor',
|
||||||
desc: 'Установите <a href="https://rebrand.ly/ac-tor">Tor</a> на свой компьютер и используйте его как прокси-сервер. <a href="https://rebrand.ly/ac-tor">ВАЖНО</a>',
|
desc: 'Установите <a href="https://rebrand.ly/ac-tor">Tor</a> на свой компьютер и используйте его как прокси-сервер. <a href="https://rebrand.ly/ac-tor">ВАЖНО</a>.',
|
||||||
order: 5,
|
order: 5,
|
||||||
},
|
},
|
||||||
exceptions: {
|
exceptions: {
|
||||||
dflt: null,
|
dflt: null,
|
||||||
category: 'exceptions',
|
category: 'exceptions',
|
||||||
order: 5.5,
|
|
||||||
},
|
|
||||||
whitelist: {
|
|
||||||
dflt: [],
|
|
||||||
category: 'exceptions',
|
|
||||||
label: 'белый список'
|
|
||||||
desc: 'Разрешить расширению работать только с адресами из белого списка',
|
|
||||||
order: 5.6,
|
|
||||||
},
|
},
|
||||||
ifMindExceptions: {
|
ifMindExceptions: {
|
||||||
dflt: true,
|
dflt: true,
|
||||||
|
@ -123,6 +115,17 @@
|
||||||
desc: 'Учитывать сайты, добавленные вручную. Только для своих прокси-серверов! Без своих прокси работать не будет.',
|
desc: 'Учитывать сайты, добавленные вручную. Только для своих прокси-серверов! Без своих прокси работать не будет.',
|
||||||
order: 6,
|
order: 6,
|
||||||
},
|
},
|
||||||
|
whitelist: {
|
||||||
|
dflt: [],
|
||||||
|
category: 'exceptions',
|
||||||
|
},
|
||||||
|
ifMindWhitelist: {
|
||||||
|
dflt: false,
|
||||||
|
category: 'exceptions',
|
||||||
|
label: 'Ограничиться только <a href="../exceptions/index.html">белым списком</a>',
|
||||||
|
desc: 'Разрешить расширению работать только с адресами из белого списка.',
|
||||||
|
order: 6.5,
|
||||||
|
},
|
||||||
customProxyStringRaw: {
|
customProxyStringRaw: {
|
||||||
dflt: '',
|
dflt: '',
|
||||||
category: 'ownProxies',
|
category: 'ownProxies',
|
||||||
|
@ -165,7 +168,6 @@
|
||||||
return acc;
|
return acc;
|
||||||
|
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const getCurrentConfigs = function getCurrentConfigs(ifRaw = false) {
|
const getCurrentConfigs = function getCurrentConfigs(ifRaw = false) {
|
||||||
|
@ -228,7 +230,8 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
const self = {};
|
const self = {};
|
||||||
Object.assign(self, getDefaults(), mods);
|
const gdft = getDefaults();
|
||||||
|
Object.assign(self, gdft, mods);
|
||||||
self.ifNoMods = ifNoMods;
|
self.ifNoMods = ifNoMods;
|
||||||
|
|
||||||
let customProxyArray = [];
|
let customProxyArray = [];
|
||||||
|
@ -355,26 +358,20 @@
|
||||||
/******/ const dotHost = '.' + host;
|
/******/ const dotHost = '.' + host;
|
||||||
${
|
${
|
||||||
function() {
|
function() {
|
||||||
// TODO: STOPPED HERE
|
|
||||||
const wlstr = JSON.stringify(pacMods.whitelist);
|
|
||||||
let generatedPac = `
|
let generatedPac = `
|
||||||
|
/******/ if (${pacMods.ifMindWhitelist && pacMods.whitelist.length}) {
|
||||||
/******/ const ifWhitelisted =
|
/******/ const ifWhitelisted =
|
||||||
/******/ .some((whiteHost) => {
|
/******/ ${JSON.stringify(pacMods.whitelist)}.some((whiteHost) => {
|
||||||
/******/ const ifWild = whiteHost.startsWith('*');
|
/******/ const ifWild = whiteHost.startsWith('*');
|
||||||
/******/ if (ifWild) {
|
/******/ if (ifWild) {
|
||||||
/******/ return `dotHost.endsWith(whiteHost.substr(1));
|
/******/ return dotHost.endsWith(whiteHost.substr(1));
|
||||||
/******/ }
|
/******/ }
|
||||||
/******/ return host === whiteHost;
|
/******/ return host === whiteHost;
|
||||||
/******/ })
|
/******/ })
|
||||||
/******/ if (ifWhiteListed) {
|
/******/ if (!ifWhitelisted) {
|
||||||
/******/ return 'DIRECT';
|
/******/ return 'DIRECT';
|
||||||
/******/ }
|
/******/ }
|
||||||
|
/******/ }`;
|
||||||
/******/
|
|
||||||
if (!ifWhitelisted) {
|
|
||||||
return 'DIRECT';
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
generatedPac += pacMods.ifProhibitDns ? `
|
generatedPac += pacMods.ifProhibitDns ? `
|
||||||
/******/
|
/******/
|
||||||
|
|
|
@ -17,7 +17,9 @@ chrome.runtime.getBackgroundPage( (backgroundPage) =>
|
||||||
# Сначала идёт список проксируемых сайтов,
|
# Сначала идёт список проксируемых сайтов,
|
||||||
# затем ==== на отдельной строке,
|
# затем ==== на отдельной строке,
|
||||||
# затем исключённые сайты.
|
# затем исключённые сайты.
|
||||||
|
# После ещё одной строки с ==== идёт белый список.
|
||||||
# Сортировка — с конца строки.
|
# Сортировка — с конца строки.
|
||||||
|
# Адреса со звёздочками поддерживаются: *.kasparov.ru, например.
|
||||||
|
|
||||||
# ПРОКСИРОВАТЬ:
|
# ПРОКСИРОВАТЬ:
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -12,6 +12,7 @@
|
||||||
"concat-stream": "^1.6.2",
|
"concat-stream": "^1.6.2",
|
||||||
"csjs-inject": "^1.0.1",
|
"csjs-inject": "^1.0.1",
|
||||||
"flow-bin": "^0.45.0",
|
"flow-bin": "^0.45.0",
|
||||||
|
"gulp": "^4.0.2",
|
||||||
"inferno": "~3.2.0",
|
"inferno": "~3.2.0",
|
||||||
"inferno-component": "^3.10.1",
|
"inferno-component": "^3.10.1",
|
||||||
"inferno-create-element": "^3.10.1",
|
"inferno-create-element": "^3.10.1",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user