mirror of
https://github.com/anticensority/runet-censorship-bypass.git
synced 2024-11-27 20:03:45 +03:00
Merge branch 'development' into production
This commit is contained in:
commit
4e736bf403
|
@ -29,6 +29,8 @@
|
||||||
|
|
||||||
{ // Private namespace starts.
|
{ // Private namespace starts.
|
||||||
|
|
||||||
|
const ifRu = chrome.i18n.getMessage('@@ui_locale').startsWith('ru');
|
||||||
|
console.log('Russian?', ifRu);
|
||||||
const mandatory = window.utils.mandatory;
|
const mandatory = window.utils.mandatory;
|
||||||
const throwIfError = window.utils.throwIfError;
|
const throwIfError = window.utils.throwIfError;
|
||||||
const chromified = window.utils.chromified;
|
const chromified = window.utils.chromified;
|
||||||
|
@ -125,11 +127,17 @@
|
||||||
const pacMods = window.apis.pacKitchen.getPacMods();
|
const pacMods = window.apis.pacKitchen.getPacMods();
|
||||||
if (!pacMods.filteredCustomsString) {
|
if (!pacMods.filteredCustomsString) {
|
||||||
addWarning(
|
addWarning(
|
||||||
\`
|
ifRu
|
||||||
Не найдено СВОИХ прокси. Этот PAC-скрипт
|
? \`
|
||||||
работает только со <a href="https://git.io/ac-own-proxy">СВОИМИ прокси</a>
|
Не найдено СВОИХ прокси. Этот PAC-скрипт
|
||||||
(по умолчанию будет использоваться локальный <a href="https://git.io/ac-tor">Tor</a>).
|
работает только со <a href="https://git.io/ac-own-proxy">СВОИМИ прокси</a>
|
||||||
\`,
|
(по умолчанию будет использоваться локальный <a href="https://git.io/ac-tor">Tor</a>).
|
||||||
|
\`
|
||||||
|
: \`
|
||||||
|
Couldn't find OWN proxies. This PAC-script
|
||||||
|
works only with <a href="https://git.io/ac-own-proxy">OWN proxies</a>
|
||||||
|
(by default local <a href="https://git.io/ac-tor">Tor</a> will be used).
|
||||||
|
\`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,8 +150,10 @@
|
||||||
if (ifWasEverModified) {
|
if (ifWasEverModified) {
|
||||||
|
|
||||||
addWarning(
|
addWarning(
|
||||||
'Ваш PAC-скрипт не нуждается в обновлении. Его дата: ' +
|
(ifRu
|
||||||
lastModifiedStr,
|
? 'Ваш PAC-скрипт не нуждается в обновлении. Его дата: '
|
||||||
|
: 'Your PAC-script doesn\\'t need to be updated. It\\'s date: '
|
||||||
|
) + lastModifiedStr,
|
||||||
);
|
);
|
||||||
const res = {lastModified: lastModifiedStr};
|
const res = {lastModified: lastModifiedStr};
|
||||||
return cb(null, res);
|
return cb(null, res);
|
||||||
|
@ -178,7 +188,7 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
clarifyThen(
|
clarifyThen(
|
||||||
'Не удалось скачать PAC-скрипт с адресов: [ '
|
chrome.i18n.getMessage('FailedToDownloadPacScriptFromAddresses') + ': [ '
|
||||||
+ provider.pacUrls.join(' , ') + ' ].',
|
+ provider.pacUrls.join(' , ') + ' ].',
|
||||||
cb,
|
cb,
|
||||||
),
|
),
|
||||||
|
@ -199,20 +209,36 @@
|
||||||
// provider is this or that (distinct it from others).
|
// provider is this or that (distinct it from others).
|
||||||
distinctKey: 'Antizapret',
|
distinctKey: 'Antizapret',
|
||||||
label: chrome.i18n.getMessage('Antizapret'),
|
label: chrome.i18n.getMessage('Antizapret'),
|
||||||
desc: \`Альтернативный PAC-скрипт от стороннего разработчика.
|
desc: ifRu
|
||||||
Охватывет меньше сайтов.
|
? \`Основной PAC-скрипт от автора проекта «Антизапрет».
|
||||||
Блокировка определяется по доменному имени.
|
Охватывет меньше сайтов.
|
||||||
<br/> <a href="https://rebrand.ly/ac-pacs">Сравнение PAC-скриптов</a>.\`,
|
Блокировка определяется по доменному имени и при необходимости по IP.
|
||||||
|
<br/> <a href="https://rebrand.ly/ac-pacs">Сравнение PAC-скриптов</a>.
|
||||||
|
\`
|
||||||
|
: \`The main PAC-script from the author of project "Antizapret"\.
|
||||||
|
Covers fewer sites.
|
||||||
|
Block is detected based on a domain name and, if necessary, on an IP.
|
||||||
|
<br/> <a href="https://rebrand.ly/ac-pacs">Comparison of PAC-scripts (ru)</a>.
|
||||||
|
\`,
|
||||||
order: 0,
|
order: 0,
|
||||||
pacUrls: ['https://antizapret.prostovpn.org/proxy.pac'],
|
pacUrls: ['https://antizapret.prostovpn.org/proxy.pac'],
|
||||||
},
|
},
|
||||||
Антицензорити: {
|
Антицензорити: {
|
||||||
distinctKey: 'Anticensority',
|
distinctKey: 'Anticensority',
|
||||||
label: chrome.i18n.getMessage('Anticensority'),
|
label: chrome.i18n.getMessage('Anticensority'),
|
||||||
desc: \`Основной PAC-скрипт от автора расширения.
|
desc: ifRu
|
||||||
Охватывает больше сайтов.
|
? \`Альтернативный PAC-скрипт от автора расширения.
|
||||||
Блокировка определятся по доменному имени или IP адресу.
|
Охватывает больше сайтов.
|
||||||
<br/> <a href="https://rebrand.ly/ac-pacs">Сравнение PAC-скриптов</a>.\`,
|
Блокировка определятся по доменному имени или IP адресу.
|
||||||
|
Подходит для провайдеров, блокирующих все сайты на одном IP.
|
||||||
|
<br/> <a href="https://rebrand.ly/ac-pacs">Сравнение PAC-скриптов</a>.
|
||||||
|
\`
|
||||||
|
: \`Alternative PAC-script from the author of this extension.
|
||||||
|
Covers more sites.
|
||||||
|
Block is detected based on a domain name and on an IP address.
|
||||||
|
Better fits providers that block all sites on one IP.
|
||||||
|
<br/> <a href="https://rebrand.ly/ac-pacs">Comparison of PAC-scripts (ru)</a>.
|
||||||
|
\`,
|
||||||
order: 1,
|
order: 1,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -225,7 +251,9 @@
|
||||||
onlyOwnSites: {
|
onlyOwnSites: {
|
||||||
distinctKey: 'onlyOwnSites',
|
distinctKey: 'onlyOwnSites',
|
||||||
label: chrome.i18n.getMessage('Only_own_sites_and_only_own_proxies'),
|
label: chrome.i18n.getMessage('Only_own_sites_and_only_own_proxies'),
|
||||||
desc: 'Проксируются только добавленные вручную сайты через СВОИ вручную добавленные прокси или через локальный Tor.',
|
desc: ifRu
|
||||||
|
? 'Проксируются только добавленные вручную адреса через СВОИ вручную добавленные прокси или через локальный Tor.'
|
||||||
|
: 'Only added manually urls are proxied via your OWN manually added proxies or via Tor.',
|
||||||
order: 99,
|
order: 99,
|
||||||
pacUrls: [
|
pacUrls: [
|
||||||
'data:application/x-ns-proxy-autoconfig,' + escape('function FindProxyForURL(){ return "DIRECT"; }'),
|
'data:application/x-ns-proxy-autoconfig,' + escape('function FindProxyForURL(){ return "DIRECT"; }'),
|
||||||
|
@ -258,7 +286,7 @@
|
||||||
const upDate = new Date(this.lastPacUpdateStamp).toLocaleString('ru-RU')
|
const upDate = new Date(this.lastPacUpdateStamp).toLocaleString('ru-RU')
|
||||||
.replace(/:\\d+$/, '').replace(/\\.\\d{4}/, '');
|
.replace(/:\\d+$/, '').replace(/\\.\\d{4}/, '');
|
||||||
chrome.browserAction.setTitle({
|
chrome.browserAction.setTitle({
|
||||||
title: \`Обновлялись \${upDate} | Версия \${window.apis.version.build}\`,
|
title: \`\${chrome.i18n.getMessage('Updated')} \${upDate} | \${chrome.i18n.getMessage('Version')} \${window.apis.version.build}\`,
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -353,7 +381,7 @@
|
||||||
|
|
||||||
if (key === null) {
|
if (key === null) {
|
||||||
// No pac provider set.
|
// No pac provider set.
|
||||||
return clarifyThen('Сперва выберите PAC-провайдера.', cb);
|
return clarifyThen(chrome.i18n.getMessage('ChoosePacProviderFirstD'), cb);
|
||||||
}
|
}
|
||||||
|
|
||||||
const pacProvider = this.getPacProvider(key);
|
const pacProvider = this.getPacProvider(key);
|
||||||
|
|
|
@ -17,6 +17,39 @@
|
||||||
"update": {
|
"update": {
|
||||||
"message": "update"
|
"message": "update"
|
||||||
},
|
},
|
||||||
|
"UpdatingDDD": {
|
||||||
|
"message": "Updating..."
|
||||||
|
},
|
||||||
|
"UpdatedD": {
|
||||||
|
"message": "Updated."
|
||||||
|
},
|
||||||
|
"DisablingDDD": {
|
||||||
|
"message": "Disabling..."
|
||||||
|
},
|
||||||
|
"DisabledD": {
|
||||||
|
"message": "Disabled."
|
||||||
|
},
|
||||||
|
"InstallingDDD": {
|
||||||
|
"message": "Installing..."
|
||||||
|
},
|
||||||
|
"PacScriptWasInstalledD": {
|
||||||
|
"message": "PAC-script was installed."
|
||||||
|
},
|
||||||
|
"Version": {
|
||||||
|
"message": "Version"
|
||||||
|
},
|
||||||
|
"FullVersion": {
|
||||||
|
"message": "Full version"
|
||||||
|
},
|
||||||
|
"VersionForSlowMachines": {
|
||||||
|
"message": "Version for slow machines"
|
||||||
|
},
|
||||||
|
"FailedToDownloadPacScriptFromAddresses": {
|
||||||
|
"message": "Failed to download PAC-script from addresses"
|
||||||
|
},
|
||||||
|
"ChoosePacProviderFirstD": {
|
||||||
|
"message": "Choose PAC-provider first."
|
||||||
|
},
|
||||||
"ProblemsQ": {
|
"ProblemsQ": {
|
||||||
"message": "Problems?"
|
"message": "Problems?"
|
||||||
},
|
},
|
||||||
|
@ -58,5 +91,50 @@
|
||||||
},
|
},
|
||||||
"Donate": {
|
"Donate": {
|
||||||
"message": "Donate"
|
"message": "Donate"
|
||||||
|
},
|
||||||
|
"Updated": {
|
||||||
|
"message": "Updated"
|
||||||
|
},
|
||||||
|
"ago": {
|
||||||
|
"message": "ago"
|
||||||
|
},
|
||||||
|
"never": {
|
||||||
|
"message": "never"
|
||||||
|
},
|
||||||
|
"ms": {
|
||||||
|
"message": "ms"
|
||||||
|
},
|
||||||
|
"s": {
|
||||||
|
"message": "s"
|
||||||
|
},
|
||||||
|
"min": {
|
||||||
|
"message": "min"
|
||||||
|
},
|
||||||
|
"h": {
|
||||||
|
"message": "h"
|
||||||
|
},
|
||||||
|
"d": {
|
||||||
|
"message": "d"
|
||||||
|
},
|
||||||
|
"w": {
|
||||||
|
"message": "w"
|
||||||
|
},
|
||||||
|
"m": {
|
||||||
|
"message": "m"
|
||||||
|
},
|
||||||
|
"ProxyTheDomainNameBelowQ": {
|
||||||
|
"message": "Proxy the domain name below?"
|
||||||
|
},
|
||||||
|
"auto": {
|
||||||
|
"message": "auto"
|
||||||
|
},
|
||||||
|
"yes": {
|
||||||
|
"message": "yes"
|
||||||
|
},
|
||||||
|
"no": {
|
||||||
|
"message": "no"
|
||||||
|
},
|
||||||
|
"noOwnProxiesError": {
|
||||||
|
"message": "Proxying of OWN sites is possible only via OWN proxies. No own proxies found that satisfy your requirements."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,39 @@
|
||||||
"update": {
|
"update": {
|
||||||
"message": "обновить"
|
"message": "обновить"
|
||||||
},
|
},
|
||||||
|
"UpdatingDDD": {
|
||||||
|
"message": "Обновляем..."
|
||||||
|
},
|
||||||
|
"UpdatedD": {
|
||||||
|
"message": "Обновлено."
|
||||||
|
},
|
||||||
|
"DisablingDDD": {
|
||||||
|
"message": "Отключение..."
|
||||||
|
},
|
||||||
|
"DisabledD": {
|
||||||
|
"message": "Отключено."
|
||||||
|
},
|
||||||
|
"InstallingDDD": {
|
||||||
|
"message": "Установка..."
|
||||||
|
},
|
||||||
|
"PacScriptWasInstalledD": {
|
||||||
|
"message": "PAC-скрипт установлен."
|
||||||
|
},
|
||||||
|
"Version": {
|
||||||
|
"message": "Версия"
|
||||||
|
},
|
||||||
|
"FullVersion": {
|
||||||
|
"message": "Полная версия"
|
||||||
|
},
|
||||||
|
"VersionForSlowMachines": {
|
||||||
|
"message": "Версия для слабых машин"
|
||||||
|
},
|
||||||
|
"FailedToDownloadPacScriptFromAddresses": {
|
||||||
|
"message": "Не удалось скачать PAC-скрипт с адресов"
|
||||||
|
},
|
||||||
|
"ChoosePacProviderFirstD": {
|
||||||
|
"message": "Сперва выберите PAC-провайдера."
|
||||||
|
},
|
||||||
"ProblemsQ": {
|
"ProblemsQ": {
|
||||||
"message": "Проблемы?"
|
"message": "Проблемы?"
|
||||||
},
|
},
|
||||||
|
@ -58,5 +91,50 @@
|
||||||
},
|
},
|
||||||
"Donate": {
|
"Donate": {
|
||||||
"message": "Поддержать"
|
"message": "Поддержать"
|
||||||
|
},
|
||||||
|
"Updated": {
|
||||||
|
"message": "Обновлялись"
|
||||||
|
},
|
||||||
|
"ago": {
|
||||||
|
"message": "назад"
|
||||||
|
},
|
||||||
|
"never": {
|
||||||
|
"message": "никогда"
|
||||||
|
},
|
||||||
|
"ms": {
|
||||||
|
"message": "мс"
|
||||||
|
},
|
||||||
|
"s": {
|
||||||
|
"message": "с"
|
||||||
|
},
|
||||||
|
"min": {
|
||||||
|
"message": "мин"
|
||||||
|
},
|
||||||
|
"h": {
|
||||||
|
"message": "ч"
|
||||||
|
},
|
||||||
|
"d": {
|
||||||
|
"message": "дн"
|
||||||
|
},
|
||||||
|
"w": {
|
||||||
|
"message": " недель"
|
||||||
|
},
|
||||||
|
"m": {
|
||||||
|
"message": " месяцев"
|
||||||
|
},
|
||||||
|
"ProxyTheDomainNameBelowQ": {
|
||||||
|
"message": "Проксировать указанное доменное имя?"
|
||||||
|
},
|
||||||
|
"auto": {
|
||||||
|
"message": "авто"
|
||||||
|
},
|
||||||
|
"yes": {
|
||||||
|
"message": "да"
|
||||||
|
},
|
||||||
|
"no": {
|
||||||
|
"message": "нет"
|
||||||
|
},
|
||||||
|
"noOwnProxiesError": {
|
||||||
|
"message": "Проксировать СВОИ сайты можно только при наличии СВОИХ прокси. Нет своих прокси, удовлетворяющих вашим требованиям."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,7 +137,7 @@ export default function getExcEditor(theState) {
|
||||||
case 'this-no':
|
case 'this-no':
|
||||||
if (ifYesClicked && !pacMods.filteredCustomsString) {
|
if (ifYesClicked && !pacMods.filteredCustomsString) {
|
||||||
this.props.funs.showErrors( new TypeError(
|
this.props.funs.showErrors( new TypeError(
|
||||||
'Проксировать СВОИ сайты можно только при наличии СВОИХ прокси. Нет своих прокси, удовлетворяющих вашим требованиям.'
|
chrome.i18n.getMessage('noOwnProxiesError'),
|
||||||
));
|
));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -293,7 +293,7 @@ export default function getExcEditor(theState) {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<section style="padding-bottom: 1em;">
|
<section style="padding-bottom: 1em;">
|
||||||
<div>Проксировать указанный сайт?</div>
|
<div>{chrome.i18n.getMessage('ProxyTheDomainNameBelowQ')}</div>
|
||||||
<div id="exc-address-container">
|
<div id="exc-address-container">
|
||||||
<div id="exc-address" class={inputProxyingState !== undefined ? ( inputProxyingState === true ? scopedCss.ifYes : scopedCss.ifNo ) : ''}>
|
<div id="exc-address" class={inputProxyingState !== undefined ? ( inputProxyingState === true ? scopedCss.ifYes : scopedCss.ifNo ) : ''}>
|
||||||
<span>*.</span><input placeholder="navalny.com" list="exc-list" id="exc-editor"
|
<span>*.</span><input placeholder="navalny.com" list="exc-list" id="exc-editor"
|
||||||
|
@ -327,19 +327,19 @@ export default function getExcEditor(theState) {
|
||||||
<li><input id="this-auto" type="radio" checked name="if-proxy-this-site" onClick={this.handleRadioClick}/>{' '}
|
<li><input id="this-auto" type="radio" checked name="if-proxy-this-site" onClick={this.handleRadioClick}/>{' '}
|
||||||
<label for="this-auto">{/*<span class="emoji">🔄(looks fat)</span>*/}<svg
|
<label for="this-auto">{/*<span class="emoji">🔄(looks fat)</span>*/}<svg
|
||||||
class="icon"
|
class="icon"
|
||||||
style="position: relative; top: 0.15em;"><use xlink:href="#iconLoopRound"></use></svg> авто</label>
|
style="position: relative; top: 0.15em;"><use xlink:href="#iconLoopRound"></use></svg> {chrome.i18n.getMessage('auto')}</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<input id="this-yes" type="radio" name="if-proxy-this-site" checked={inputProxyingState === true} onClick={this.handleRadioClick}/>
|
<input id="this-yes" type="radio" name="if-proxy-this-site" checked={inputProxyingState === true} onClick={this.handleRadioClick}/>
|
||||||
{' '}<label for="this-yes">
|
{' '}<label for="this-yes">
|
||||||
<span
|
<span
|
||||||
class="emoji____buggy"
|
class="emoji____buggy"
|
||||||
>✔</span> да
|
>✔</span> {chrome.i18n.getMessage('yes')}
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<input id="this-no" type="radio" name="if-proxy-this-site" checked={inputProxyingState === false} onClick={this.handleRadioClick}/>
|
<input id="this-no" type="radio" name="if-proxy-this-site" checked={inputProxyingState === false} onClick={this.handleRadioClick}/>
|
||||||
{' '}<label for="this-no"><span class="emoji">✘</span> нет</label></li>
|
{' '}<label for="this-no"><span class="emoji">✘</span> {chrome.i18n.getMessage('no')}</label></li>
|
||||||
</ol>
|
</ol>
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
|
|
|
@ -22,17 +22,17 @@ export default function getLastUpdateDate(theState) {
|
||||||
|
|
||||||
getDate(antiCensorRu) {
|
getDate(antiCensorRu) {
|
||||||
|
|
||||||
let dateForUser = 'никогда';
|
let dateForUser = chrome.i18n.getMessage('never');
|
||||||
if( antiCensorRu.lastPacUpdateStamp ) {
|
if( antiCensorRu.lastPacUpdateStamp ) {
|
||||||
let diff = Date.now() - antiCensorRu.lastPacUpdateStamp;
|
let diff = Date.now() - antiCensorRu.lastPacUpdateStamp;
|
||||||
let units = 'мс';
|
let units = chrome.i18n.getMessage('ms');
|
||||||
const gauges = [
|
const gauges = [
|
||||||
[1000, 'с'],
|
[1000, chrome.i18n.getMessage('s')],
|
||||||
[60, 'мин'],
|
[60, chrome.i18n.getMessage('min')],
|
||||||
[60, 'ч'],
|
[60, chrome.i18n.getMessage('h')],
|
||||||
[24, 'дн'],
|
[24, chrome.i18n.getMessage('d')],
|
||||||
[7, ' недель'],
|
[7, chrome.i18n.getMessage('w')],
|
||||||
[4, ' месяцев'],
|
[4, chrome.i18n.getMessage('m')],
|
||||||
];
|
];
|
||||||
for(const g of gauges) {
|
for(const g of gauges) {
|
||||||
const diffy = Math.floor(diff / g[0]);
|
const diffy = Math.floor(diff / g[0]);
|
||||||
|
@ -41,10 +41,10 @@ export default function getLastUpdateDate(theState) {
|
||||||
diff = diffy;
|
diff = diffy;
|
||||||
units = g[1];
|
units = g[1];
|
||||||
}
|
}
|
||||||
dateForUser = diff + units + ' назад';
|
dateForUser = diff + units + ' ' + chrome.i18n.getMessage('ago');
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
text: `${dateForUser} / ${antiCensorRu.pacUpdatePeriodInMinutes/60}ч`,
|
text: `${dateForUser} / ${antiCensorRu.pacUpdatePeriodInMinutes/60}${chrome.i18n.getMessage('h')}`,
|
||||||
title: new Date(antiCensorRu.lastPacUpdateStamp).toLocaleString('ru-RU'),
|
title: new Date(antiCensorRu.lastPacUpdateStamp).toLocaleString('ru-RU'),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ export default function getLastUpdateDate(theState) {
|
||||||
render(props) {
|
render(props) {
|
||||||
|
|
||||||
const date = this.getDate(props.apis.antiCensorRu);
|
const date = this.getDate(props.apis.antiCensorRu);
|
||||||
return (<div>Обновлялись: <span class="updateDate" title={date.title}>{ date.text }</span></div>);
|
return (<div>{chrome.i18n.getMessage('Updated')}: <span class="updateDate" title={date.title}>{ date.text }</span></div>);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,9 +62,9 @@ export default function getPacChooser(theState) {
|
||||||
|
|
||||||
this.updatePac = function updatePac(onSuccess) {
|
this.updatePac = function updatePac(onSuccess) {
|
||||||
props.funs.conduct(
|
props.funs.conduct(
|
||||||
'Обновляем...',
|
chrome.i18n.getMessage('UpdatingDDD'),
|
||||||
(cb) => theState.apis.antiCensorRu.syncWithPacProviderAsync(cb),
|
(cb) => theState.apis.antiCensorRu.syncWithPacProviderAsync(cb),
|
||||||
'Обновлено.',
|
chrome.i18n.getMessage('UpdatedD'),
|
||||||
onSuccess
|
onSuccess
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -101,17 +101,17 @@ export default function getPacChooser(theState) {
|
||||||
}
|
}
|
||||||
if (pacKey === 'none') {
|
if (pacKey === 'none') {
|
||||||
this.props.funs.conduct(
|
this.props.funs.conduct(
|
||||||
'Отключение...',
|
chrome.i18n.getMessage('DisablingDDD'),
|
||||||
(cb) => theState.apis.antiCensorRu.clearPacAsync(cb),
|
(cb) => theState.apis.antiCensorRu.clearPacAsync(cb),
|
||||||
'Отключено.',
|
chrome.i18n.getMessage('DisabledD'),
|
||||||
() => this.setState({ chosenPacName: 'none' }),
|
() => this.setState({ chosenPacName: 'none' }),
|
||||||
checkChosenProvider
|
checkChosenProvider
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
this.props.funs.conduct(
|
this.props.funs.conduct(
|
||||||
'Установка...',
|
chrome.i18n.getMessage('InstallingDDD'),
|
||||||
(cb) => theState.apis.antiCensorRu.installPacAsync(pacKey, cb),
|
(cb) => theState.apis.antiCensorRu.installPacAsync(pacKey, cb),
|
||||||
'PAC-скрипт установлен.',
|
chrome.i18n.getMessage('PacScriptWasInstalledD'),
|
||||||
checkChosenProvider
|
checkChosenProvider
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -146,9 +146,9 @@ export default function getPacChooser(theState) {
|
||||||
{
|
{
|
||||||
props.flags.ifMini
|
props.flags.ifMini
|
||||||
? (<a class={scopedCss.otherVersion + ' emoji'} href="https://rebrand.ly/ac-versions"
|
? (<a class={scopedCss.otherVersion + ' emoji'} href="https://rebrand.ly/ac-versions"
|
||||||
title="Полная версия">🏋</a>)
|
title={chrome.i18n.getMessage("FullVersion")}>🏋</a>)
|
||||||
: (<a class={scopedCss.otherVersion + ' emoji'} href="https://rebrand.ly/ac-versions"
|
: (<a class={scopedCss.otherVersion + ' emoji'} href="https://rebrand.ly/ac-versions"
|
||||||
title="Версия для слабых машин">🐌</a>)
|
title={chrome.i18n.getMessage("VersionForSlowMachines")}>🐌</a>)
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -32,9 +32,11 @@ export default function append(document, { flags }) {
|
||||||
a:hover {
|
a:hover {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
label {
|
label {
|
||||||
user-select: none;
|
user-select: none;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
div, section, header, ul, ol {
|
div, section, header, ul, ol {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
|
@ -10,7 +10,7 @@ const pacUrls = [
|
||||||
];
|
];
|
||||||
|
|
||||||
const commonContext = {
|
const commonContext = {
|
||||||
version: '1.35',
|
version: '1.37',
|
||||||
anticensorityPacUrls: [
|
anticensorityPacUrls: [
|
||||||
...pacUrls,
|
...pacUrls,
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in New Issue
Block a user