Remove AZ heading, add own proxy check on setting Anticensority PAC

This commit is contained in:
Ilya Ig. Petrov 2018-05-08 19:47:30 +05:00
parent ec6450096f
commit 72faa8b8a9

View File

@ -112,37 +112,19 @@
cb = (...args) => originalCb(...args, ...warnings); cb = (...args) => originalCb(...args, ...warnings);
const addWarning = (wText) => { warnings.push(new Warning(wText)) }; const addWarning = (wText) => { warnings.push(new Warning(wText)) };
// TODO: dirty hack (labels should be UI related only) if (provider.distinctKey === 'Anticensority') {
if (provider.label === 'Антицензорити') {
const azUrl = window.apis.antiCensorRu.pacProviders['Антизапрет'].pacUrls[0]; const pacMods = window.apis.pacKitchen.getPacMods();
console.log('HEADing antizapret...'); if (!pacMods.filteredCustomsString) {
let headError = null; cb(new Error(
const numberOfTries = 2; ```
let i = 0; Этот PAC-скрипт теперь работает только со <a href="https://rebrand.ly/ac-own-proxy">СВОИМИ</a>
while (i++ < numberOfTries) { прокси. Не найдено СВОИХ прокси. Отключите PAC-скрипт и добавьте их.
await new Promise((resolve) => ```,
httpLib.head(azUrl, (err) => { ));
headError = err;
if (!headError) {
i = numberOfTries;
}
resolve();
})
);
}
if (headError) {
const errText = \`\${azUrl} недоступен!
<a href="https://rebrand.ly/ac-contact">Сообщите нам</a>, если повторяется!\`;
console.log(errText);
//addWarning(errText); // Uncomment when needed.
/* Do nothing for now like it's not critical. Otherwise uncomment.
clarifyThen(
errText,
cb,
)(headError);
return; return;
*/
} }
} }
httpLib.ifModifiedSince(pacUrl, lastModifiedStr, (err, newLastModifiedStr) => { httpLib.ifModifiedSince(pacUrl, lastModifiedStr, (err, newLastModifiedStr) => {
@ -192,7 +174,7 @@
'Не удалось скачать PAC-скрипт с адресов: [ ' 'Не удалось скачать PAC-скрипт с адресов: [ '
+ provider.pacUrls.join(' , ') + ' ].', + provider.pacUrls.join(' , ') + ' ].',
cb, cb,
) ),
); );
@ -206,6 +188,9 @@
pacProviders: { pacProviders: {
Антизапрет: { Антизапрет: {
// Distinct keys are needed if you want to check if a given
// provider is this or that (distinct it from others).
distinctKey: 'Antizapret',
label: 'Антизапрет', label: 'Антизапрет',
desc: \`Альтернативный PAC-скрипт от стороннего разработчика. desc: \`Альтернативный PAC-скрипт от стороннего разработчика.
Охватывет меньше сайтов. Охватывет меньше сайтов.
@ -215,6 +200,7 @@
pacUrls: ['https://antizapret.prostovpn.org/proxy.pac'], pacUrls: ['https://antizapret.prostovpn.org/proxy.pac'],
}, },
Антицензорити: { Антицензорити: {
distinctKey: 'Anticensority',
label: 'Антицензорити', label: 'Антицензорити',
desc: \`Основной PAC-скрипт от автора расширения. desc: \`Основной PAC-скрипт от автора расширения.
Охватывает больше сайтов. Охватывает больше сайтов.
@ -230,6 +216,7 @@
pacUrls: ${JSON.stringify(anticensorityPacUrls, null, 2)}, pacUrls: ${JSON.stringify(anticensorityPacUrls, null, 2)},
}, },
onlyOwnSites: { onlyOwnSites: {
distinctKey: 'onlyOwnSites',
label: 'Только свои сайты и свои прокси', label: 'Только свои сайты и свои прокси',
desc: 'Проксируются только добавленные вручную сайты через СВОИ вручную добавленные прокси или через локальный Tor.', desc: 'Проксируются только добавленные вручную сайты через СВОИ вручную добавленные прокси или через локальный Tor.',
order: 99, order: 99,
@ -592,8 +579,8 @@
return; // Not Anticensority. return; // Not Anticensority.
} }
const pacMods = window.apis.pacKitchen.getPacMods(); const pacMods = window.apis.pacKitchen.getPacMods();
if (!pacMods.ifUsePacScriptProxies) { if (pacMods.filteredCustomsString) {
return; // Pac script proxies are not used. return; // Own proxies are defined.
} }
antiCensorRu.setCurrentPacProviderKey('Антизапрет'); antiCensorRu.setCurrentPacProviderKey('Антизапрет');
await new Promise((resolveSwitch) => await new Promise((resolveSwitch) =>