mirror of
https://github.com/anticensority/runet-censorship-bypass.git
synced 2024-11-24 02:13:43 +03:00
Merge branch 'v1.30-refactor' into development
This commit is contained in:
commit
817fa5abe0
|
@ -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'),
|
||||
);
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user