Merge branch 'v1.30-refactor' into development

This commit is contained in:
Ilya Ig. Petrov 2019-04-04 17:28:59 +00:00
commit 817fa5abe0

View File

@ -58,7 +58,7 @@
};
const setPacAsync = function setPacAsync(
pacData = mandatory(), cb = throwIfError
pacData = mandatory(), cb = throwIfError,
) {
const config = {
@ -80,7 +80,7 @@
console.warn('Failed, other extension is in control.');
return cb(
new Error( window.utils.messages.whichExtensionHtml() )
new Error( window.utils.messages.whichExtensionHtml() ),
);
}
@ -99,20 +99,20 @@
cb = asyncLogGroup(
'Getting IPs for PAC hosts...',
cb
cb,
);
window.utils.fireRequest('ip-to-host-update-all', cb);
};
const setPacScriptFromProviderAsync = function setPacScriptFromProviderAsync(
provider, lastModifiedStr = mandatory(), cb = throwIfError
provider, lastModifiedStr = mandatory(), cb = throwIfError,
) {
const pacUrl = provider.pacUrls[0];
cb = asyncLogGroup(
'Getting PAC script from provider...', pacUrl,
cb
cb,
);
const warnings = [];
@ -127,9 +127,8 @@
addWarning(
\`
Не найдено СВОИХ прокси. Этот PAC-скрипт
<a href="https://github.com/anticensority/runet-censorship-bypass/issues/10#issuecomment-387436191">теперь</a>
работает только со <a href="https://git.io/ac-own-proxy">СВОИМИ прокси</a>
(по умолчанию используется локальный <a href="https://git.io/ac-tor">TOR</a> и прокси "Антизапрет", для их отключения: Свои прокси -> откл. "Использовать прокси PAC-скрипта").
(по умолчанию будет использоваться локальный <a href="https://git.io/ac-tor">Tor</a>).
\`,
);
}
@ -139,15 +138,14 @@
httpLib.ifModifiedSince(pacUrl, lastModifiedStr, (err, newLastModifiedStr) => {
if (!newLastModifiedStr) {
const res = {lastModified: lastModifiedStr};
const ifWasEverModified = lastModifiedStr !== new Date(0).toUTCString();
if (ifWasEverModified) {
addWarning(
'Ваш PAC-скрипт не нуждается в обновлении. Его дата: ' +
lastModifiedStr
lastModifiedStr,
);
const res = {lastModified: lastModifiedStr};
return cb(null, res);
}
}
@ -158,11 +156,11 @@
() => new Promise(
(resolve, reject) => httpLib.get(
url,
(newErr, pacData) => newErr ? reject(newErr) : resolve(pacData)
)
)
(newErr, pacData) => newErr ? reject(newErr) : resolve(pacData),
),
Promise.reject()
),
),
Promise.reject(),
);
pacDataPromise.then(
@ -174,7 +172,7 @@
(err, res) => cb(
err,
Object.assign(res || {}, {lastModified: newLastModifiedStr}),
)
),
);
},
@ -231,7 +229,7 @@
order: 99,
pacUrls: [
'data:application/x-ns-proxy-autoconfig,' + escape('function FindProxyForURL(){ return "DIRECT"; }'),
]
],
}
},
@ -247,6 +245,12 @@
Do something, e.g. initiate PAC sync.
*/
ifFirstInstall: false,
/* We have .lastPacUpdateStamp and ._currentPacProviderLastModified.
LastModified is received from a server, we kind of don't trust it,
just use it for cache and maybe show to the user.
UpdateStamp is got from client and we base our timers on it,
malicious server can't interfere with it.
*/
lastPacUpdateStamp: 0,
setTitle() {
@ -259,7 +263,7 @@
},
_currentPacProviderLastModified: 0, // Not initialized.
_currentPacProviderLastModified: 0,
getLastModifiedForKey(key = mandatory()) {
@ -292,7 +296,7 @@
setCurrentPacProviderKey(
newKey = mandatory(),
lastModified = new Date().toUTCString()
lastModified = new Date().toUTCString(),
) {
this.mustBeKey(newKey);
@ -332,7 +336,7 @@
chrome.storage.local.clear(
() => chrome.storage.local.set(
onlySettable,
chromified(cb)
chromified(cb),
)
);
@ -376,8 +380,8 @@
const ipsErrorPromise = new Promise(
(resolve, reject) => updatePacProxyIps(
resolve
)
resolve,
),
);
Promise.all([pacSetPromise, ipsErrorPromise]).then(
@ -391,7 +395,7 @@
warns.push(ipsErr);
}
this.pushToStorageAsync(
(pushErr) => cb(pacErr || pushErr, null, ...warns)
(pushErr) => cb(pacErr || pushErr, null, ...warns),
);
},
@ -418,7 +422,7 @@
console.log(
'Next PAC update is scheduled on',
new Date(nextUpdateMoment).toLocaleString('ru-RU')
new Date(nextUpdateMoment).toLocaleString('ru-RU'),
);
chrome.alarms.create(
@ -461,11 +465,11 @@
}
this.setCurrentPacProviderKey(null);
this.pushToStorageAsync(
() => handlers.updateControlState(cb)
() => handlers.updateControlState(cb),
);
})
)
}),
),
);
},
@ -493,7 +497,7 @@
if (alarm.name === antiCensorRu._periodicUpdateAlarmReason) {
console.log(
'Periodic PAC update triggered:',
new Date().toLocaleString('ru-RU')
new Date().toLocaleString('ru-RU'),
);
antiCensorRu.syncWithPacProviderAsync(() => {/* swallow */});
}
@ -533,7 +537,7 @@
|| antiCensorRu._currentPacProviderLastModified;
console.log(
'Last PAC update was on',
new Date(antiCensorRu.lastPacUpdateStamp).toLocaleString('ru-RU')
new Date(antiCensorRu.lastPacUpdateStamp).toLocaleString('ru-RU'),
);