mirror of
https://github.com/anticensority/runet-censorship-bypass.git
synced 2024-11-24 02:13:43 +03:00
Add version links to popup, remove ctx from templates, lint
This commit is contained in:
parent
a850648a4d
commit
879667e704
|
@ -12,6 +12,7 @@ const templatePlugin = (context) => through.obj(function(file, encoding, cb) {
|
||||||
const tjson = '.tmpl.json';
|
const tjson = '.tmpl.json';
|
||||||
if (file.path.endsWith(tjson)) {
|
if (file.path.endsWith(tjson)) {
|
||||||
|
|
||||||
|
const originalPath = file.path;
|
||||||
file.path = file.path.replace(new RegExp(`${tjson}$`), '.json');
|
file.path = file.path.replace(new RegExp(`${tjson}$`), '.json');
|
||||||
|
|
||||||
if (file.isStream()) {
|
if (file.isStream()) {
|
||||||
|
@ -24,11 +25,19 @@ const templatePlugin = (context) => through.obj(function(file, encoding, cb) {
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const {keys, values} = Object.entries(context).reduce( (acc, [key, value]) => {
|
||||||
|
|
||||||
|
acc.keys.push(key);
|
||||||
|
acc.values.push(value);
|
||||||
|
return acc;
|
||||||
|
|
||||||
|
}, { keys: [], values: [] });
|
||||||
try {
|
try {
|
||||||
file.contents = new Buffer(
|
file.contents = new Buffer(
|
||||||
(new Function('ctx', 'return `' + String(file.contents) + '`;'))(stringsContext)
|
(new Function(...keys, 'return `' + String(file.contents) + '`;'))(...values)
|
||||||
);
|
);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
|
e.message += '\nIN FILE: ' + originalPath;
|
||||||
return cb(new PluginError(PluginName, e));
|
return cb(new PluginError(PluginName, e));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -46,23 +55,25 @@ gulp.task('clean', function() {
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const commonContext = {
|
const fullContext = {
|
||||||
version: '0.19',
|
version: '0.19',
|
||||||
|
nameSuffixEn: '',
|
||||||
|
nameSuffixRu: '',
|
||||||
};
|
};
|
||||||
|
|
||||||
const contextMini = Object.assign({
|
const miniContext = Object.assign({}, fullContext, {
|
||||||
nameSuffixEn: ' MINI',
|
nameSuffixEn: ' MINI',
|
||||||
nameSuffixRu: ' МИНИ',
|
nameSuffixRu: ' МИНИ',
|
||||||
}, commonContext);
|
});
|
||||||
|
|
||||||
gulp.task('_cp-common', ['clean'], function() {
|
gulp.task('_cp-common', ['clean'], function() {
|
||||||
|
|
||||||
gulp.src(['./src/extension-common/**/*'])
|
gulp.src(['./src/extension-common/**/*'])
|
||||||
.pipe(templatePlugin(contextMini))
|
.pipe(templatePlugin(miniContext))
|
||||||
.pipe(gulp.dest('./build/extension-mini'))
|
.pipe(gulp.dest('./build/extension-mini'))
|
||||||
|
|
||||||
gulp.src(['./src/extension-common/**/*'])
|
gulp.src(['./src/extension-common/**/*'])
|
||||||
.pipe(templatePlugin(commonContext))
|
.pipe(templatePlugin(fullContext))
|
||||||
.pipe(gulp.dest('./build/extension-full'));
|
.pipe(gulp.dest('./build/extension-full'));
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -70,7 +81,7 @@ gulp.task('_cp-common', ['clean'], function() {
|
||||||
gulp.task('_cp-mini', ['_cp-common'], function() {
|
gulp.task('_cp-mini', ['_cp-common'], function() {
|
||||||
|
|
||||||
gulp.src(['./src/extension-mini/**/*'])
|
gulp.src(['./src/extension-mini/**/*'])
|
||||||
.pipe(templatePlugin(contextMini))
|
.pipe(templatePlugin(miniContext))
|
||||||
.pipe(gulp.dest('./build/extension-mini'));
|
.pipe(gulp.dest('./build/extension-mini'));
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -78,7 +89,7 @@ gulp.task('_cp-mini', ['_cp-common'], function() {
|
||||||
gulp.task('_cp-full', ['_cp-common'], function() {
|
gulp.task('_cp-full', ['_cp-common'], function() {
|
||||||
|
|
||||||
gulp.src(['./src/extension-full/**/*'])
|
gulp.src(['./src/extension-full/**/*'])
|
||||||
.pipe(templatePlugin(commonContext))
|
.pipe(templatePlugin(fullContext))
|
||||||
.pipe(gulp.dest('./build/extension-full'));
|
.pipe(gulp.dest('./build/extension-full'));
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"version": "0.0.19",
|
"version": "0.0.19",
|
||||||
"description": "Development tools for chromium extension",
|
"description": "Development tools for chromium extension",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "./node_modules/.bin/eslint ./runet-censorship-bypass/extension/**/*.js --ignore-pattern vendor"
|
"lint": "./node_modules/.bin/eslint ./src/**/*.js --ignore-pattern vendor"
|
||||||
},
|
},
|
||||||
"author": "Ilya Ig. Petrov",
|
"author": "Ilya Ig. Petrov",
|
||||||
"license": "GPLv3",
|
"license": "GPLv3",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
const IF_DEBUG = true;
|
const IF_DEBUG = false;
|
||||||
|
|
||||||
if (!IF_DEBUG) {
|
if (!IF_DEBUG) {
|
||||||
// I believe logging objects precludes them from being GCed.
|
// I believe logging objects precludes them from being GCed.
|
||||||
|
@ -92,7 +92,7 @@
|
||||||
|
|
||||||
fireEvent(type, ...args) {
|
fireEvent(type, ...args) {
|
||||||
|
|
||||||
document.dispatchEvent( new CustomEvent(type, { detail: args }) );
|
document.dispatchEvent( new CustomEvent(type, {detail: args}) );
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -162,6 +162,10 @@
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
window.apis = {};
|
window.apis = {
|
||||||
|
version: {
|
||||||
|
ifMini: false,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,7 @@
|
||||||
|
|
||||||
viewError(type = window.utils.mandatory(), err) {
|
viewError(type = window.utils.mandatory(), err) {
|
||||||
|
|
||||||
const errors = err ? { [type]: err } : this.idToError;
|
const errors = err ? {[type]: err} : this.idToError;
|
||||||
const json = JSON.stringify(errors, errorJsonReplacer, 0);
|
const json = JSON.stringify(errors, errorJsonReplacer, 0);
|
||||||
|
|
||||||
openAndFocus(
|
openAndFocus(
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
ifUseSecureProxiesOnly: {
|
ifUseSecureProxiesOnly: {
|
||||||
dflt: false,
|
dflt: false,
|
||||||
label: 'только шифрованная связь с прокси',
|
label: 'только шифрованная связь с прокси',
|
||||||
desc: 'Шифровать соединение до прокси от провайдера. Провайдер всё же сможет видеть адреса (но не содержимое) проксируемых ресурсов из протокола DNS. Опция вряд ли может быть вам полезна, т.к. шифруется не весь трафик, а лишь малая его часть.',
|
desc: 'Шифровать соединение до прокси от провайдера. Провайдер всё же сможет видеть адреса (но не содержимое) проксируемых ресурсов из протокола DNS. Опция вряд ли может быть вам полезна, т.к. шифруется не весь трафик, а лишь разблокируемые ресурсы.',
|
||||||
index: 1,
|
index: 1,
|
||||||
},
|
},
|
||||||
ifProhibitDns: {
|
ifProhibitDns: {
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
ifUseLocalTor: {
|
ifUseLocalTor: {
|
||||||
dflt: false,
|
dflt: false,
|
||||||
label: 'использовать СВОЙ локальный TOR',
|
label: 'использовать СВОЙ локальный TOR',
|
||||||
desc: 'Установите <a href="https://ru.wikipedia.org/wiki/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>',
|
||||||
index: 4,
|
index: 4,
|
||||||
},
|
},
|
||||||
exceptions: {
|
exceptions: {
|
||||||
|
@ -323,10 +323,6 @@
|
||||||
const hosts = par.map( (ps) => ps.split(/\s+/)[1] );
|
const hosts = par.map( (ps) => ps.split(/\s+/)[1] );
|
||||||
window.utils.fireEvent('ip-to-host-replace-all', hosts, throwIfError);
|
window.utils.fireEvent('ip-to-host-replace-all', hosts, throwIfError);
|
||||||
cb(null, null, ...warns);
|
cb(null, null, ...warns);
|
||||||
/*window.apis.ipToHost.replaceAllAsync(
|
|
||||||
hosts,
|
|
||||||
(...args) => cb(...args, ...warns)
|
|
||||||
);*/
|
|
||||||
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
|
@ -95,7 +95,6 @@
|
||||||
);
|
);
|
||||||
window.utils.fireEvent('ip-to-host-update-all', throwIfError);
|
window.utils.fireEvent('ip-to-host-update-all', throwIfError);
|
||||||
cb();
|
cb();
|
||||||
//window.apis.ipToHost.updateAllAsync(cb);
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -176,7 +175,7 @@
|
||||||
pacUrls: ['https://antizapret.prostovpn.org/proxy.pac'],
|
pacUrls: ['https://antizapret.prostovpn.org/proxy.pac'],
|
||||||
},
|
},
|
||||||
Антицензорити: {
|
Антицензорити: {
|
||||||
label: 'Антицензорити',
|
label: 'Антицензорити (тормозит)',
|
||||||
desc: 'Основной PAC-скрипт от автора расширения.' +
|
desc: 'Основной PAC-скрипт от автора расширения.' +
|
||||||
' Блокировка определятся по доменному имени или IP адресу.' +
|
' Блокировка определятся по доменному имени или IP адресу.' +
|
||||||
' Работает на switch-ах. <br/>' +
|
' Работает на switch-ах. <br/>' +
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
() => chrome.contextMenus.create({
|
() => chrome.contextMenus.create({
|
||||||
id: id,
|
id: id,
|
||||||
title: title,
|
title: title,
|
||||||
contexts: ['browser_action']
|
contexts: ['browser_action'],
|
||||||
}, timeouted(() => {
|
}, timeouted(() => {
|
||||||
|
|
||||||
const err = chrome.runtime.lastError;
|
const err = chrome.runtime.lastError;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"extName": {
|
"extName": {
|
||||||
"message": "Runet Censorship Bypass${ctx.nameSuffixEn}"
|
"message": "Runet Censorship Bypass${nameSuffixEn}"
|
||||||
},
|
},
|
||||||
"extDesc": {
|
"extDesc": {
|
||||||
"message": "Circumvent Russian Internet Censorship: https://rebrand.ly/ac-wiki"
|
"message": "Circumvent Russian Internet Censorship: https://rebrand.ly/ac-wiki"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"extName": {
|
"extName": {
|
||||||
"message": "Обход блокировок Рунета${ctx.nameSuffixRu}"
|
"message": "Обход блокировок Рунета${nameSuffixRu}"
|
||||||
},
|
},
|
||||||
"extDesc": {
|
"extDesc": {
|
||||||
"message": "Обход интернет-цензуры в России: https://rebrand.ly/ac-wiki"
|
"message": "Обход интернет-цензуры в России: https://rebrand.ly/ac-wiki"
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
<style>
|
<style>
|
||||||
:root {
|
:root {
|
||||||
--ribbon-color: #4169e1;
|
--ribbon-color: #4169e1;
|
||||||
|
--blue-bg: dodgerblue;
|
||||||
--default-grey: #bfbfbf;
|
--default-grey: #bfbfbf;
|
||||||
max-width: 27em;
|
max-width: 27em;
|
||||||
}
|
}
|
||||||
|
@ -17,8 +18,18 @@
|
||||||
div, section, header, ul, ol {
|
div, section, header, ul, ol {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
}
|
||||||
|
header {
|
||||||
|
margin-bottom: 0.3em
|
||||||
|
}
|
||||||
|
ul, ol {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
|
:root.if-options-page ul,
|
||||||
|
:root.if-options-page ol,
|
||||||
|
#list-of-handlers {
|
||||||
|
margin-left: 0.4em;
|
||||||
|
}
|
||||||
li, footer {
|
li, footer {
|
||||||
display: block;
|
display: block;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
@ -65,10 +76,25 @@
|
||||||
|
|
||||||
border-bottom: 1px solid var(--default-grey);
|
border-bottom: 1px solid var(--default-grey);
|
||||||
}
|
}
|
||||||
|
:root.if-options-page .if-not-controlled {
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
.if-not-controlled a {
|
.if-not-controlled a {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* MINI VS FULL */
|
||||||
|
|
||||||
|
:root:not(.if-version-mini) .only-for-mini-version {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
:root.if-version-mini .only-for-full-version {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* OPTIONS PAGE */
|
||||||
|
|
||||||
:root:not(.if-options-page) .only-for-options-page {
|
:root:not(.if-options-page) .only-for-options-page {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@ -83,7 +109,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
section[data-for] {
|
section[data-for] {
|
||||||
padding: 0.6em 0.5em 1em;
|
padding: 0.6em 0 1em;
|
||||||
}
|
}
|
||||||
:root.if-options-page section[data-for] {
|
:root.if-options-page section[data-for] {
|
||||||
padding-bottom: 0.6em;
|
padding-bottom: 0.6em;
|
||||||
|
@ -121,7 +147,6 @@
|
||||||
}
|
}
|
||||||
.nav-labels {
|
.nav-labels {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
--blue-bg: dodgerblue;
|
|
||||||
}
|
}
|
||||||
.nav-labels li label {
|
.nav-labels li label {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
@ -293,7 +318,7 @@
|
||||||
border: none;
|
border: none;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: inherit;
|
background: inherit;
|
||||||
// The two below align '.' (dot) vertically.
|
/* The two below align '.' (dot) vertically. */
|
||||||
max-height: var(--exc-hieght) !important;
|
max-height: var(--exc-hieght) !important;
|
||||||
min-height: var(--exc-hieght) !important;
|
min-height: var(--exc-hieght) !important;
|
||||||
}
|
}
|
||||||
|
@ -321,28 +346,34 @@
|
||||||
|
|
||||||
/* CONTROL RAW = BUTTON + LINK */
|
/* CONTROL RAW = BUTTON + LINK */
|
||||||
|
|
||||||
.control-row {
|
.hor-flex {
|
||||||
display: table;
|
display: flex;
|
||||||
|
align-items: baseline;
|
||||||
|
justify-content: space-between;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
}
|
||||||
|
.control-row {
|
||||||
margin: 1em 0 1em 0;
|
margin: 1em 0 1em 0;
|
||||||
}
|
}
|
||||||
.control-row > * {
|
|
||||||
display: table-cell;
|
|
||||||
}
|
|
||||||
.control-row a:nth-child(2) {
|
|
||||||
margin-left: 1em;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* STATUS */
|
/* STATUS */
|
||||||
|
|
||||||
#status {
|
#status-row {
|
||||||
padding: 0 0.3em 1em;
|
padding: 0 0.3em 1em;
|
||||||
}
|
}
|
||||||
|
#status {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.other-version {
|
||||||
|
font-size: 1.7em;
|
||||||
|
color: var(--ribbon-color);
|
||||||
|
}
|
||||||
|
.other-version:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<section class="if-not-controlled hor-padded" id="which-extension"></section>
|
<section class="if-not-controlled hor-padded" id="which-extension"></section>
|
||||||
|
|
||||||
<input type="radio" name="accordion" class="off" id="acc-pac" checked/>
|
<input type="radio" name="accordion" class="off" id="acc-pac" checked/>
|
||||||
|
@ -350,7 +381,7 @@
|
||||||
<input type="radio" name="accordion" class="off" id="acc-mods"/>
|
<input type="radio" name="accordion" class="off" id="acc-mods"/>
|
||||||
<input type="radio" name="accordion" class="off" id="acc-ntf"/>
|
<input type="radio" name="accordion" class="off" id="acc-ntf"/>
|
||||||
|
|
||||||
<section class="nav-labels horizontal-list hidden-for-options-page">
|
<nav class="nav-labels horizontal-list hidden-for-options-page">
|
||||||
<ul>
|
<ul>
|
||||||
<li><label for="acc-pac" class="nav-label">PAC-скрипт</label></li>
|
<li><label for="acc-pac" class="nav-label">PAC-скрипт</label></li>
|
||||||
<li><label for="acc-mods" class="nav-label">Модификаторы</label></li>
|
<li><label for="acc-mods" class="nav-label">Модификаторы</label></li>
|
||||||
|
@ -358,12 +389,13 @@
|
||||||
<li><label for="acc-ntf" class="nav-label">Уведомления</label></li>
|
<li><label for="acc-ntf" class="nav-label">Уведомления</label></li>
|
||||||
</ul>
|
</ul>
|
||||||
<hr/>
|
<hr/>
|
||||||
</section>
|
</nav>
|
||||||
|
|
||||||
<nav class="hor-padded main-nav">
|
<nav class="hor-padded main-nav">
|
||||||
|
|
||||||
<section data-for="acc-pac">
|
<section data-for="acc-pac">
|
||||||
|
|
||||||
|
<header class="only-for-options-page">PAC-скрипт:</header>
|
||||||
<ul id="list-of-providers">
|
<ul id="list-of-providers">
|
||||||
<li><input type="radio" name="pacProvider" id="none" checked> <label for="none">Отключить</label></li>
|
<li><input type="radio" name="pacProvider" id="none" checked> <label for="none">Отключить</label></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -394,7 +426,7 @@
|
||||||
<section data-for="acc-mods">
|
<section data-for="acc-mods">
|
||||||
|
|
||||||
<ul id="pac-mods">
|
<ul id="pac-mods">
|
||||||
<li class="control-row">
|
<li class="control-row hor-flex">
|
||||||
<input type="button" value="Применить" id="apply-mods" disabled/>
|
<input type="button" value="Применить" id="apply-mods" disabled/>
|
||||||
<a href id="reset-mods" class="link-button">К изначальным!</a>
|
<a href id="reset-mods" class="link-button">К изначальным!</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -403,9 +435,8 @@
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section data-for="acc-ntf">
|
<section data-for="acc-ntf">
|
||||||
|
|
||||||
<header>Я ❤️ yведомления:</header>
|
<header>Я ❤️ yведомления:</header>
|
||||||
<ul id="list-of-handlers" style="margin-left: 0.4em; margin-top: 0.4em;"></ul>
|
<ul id="list-of-handlers"></ul>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -414,9 +445,13 @@
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div class="hor-padded">
|
<div class="hor-padded">
|
||||||
|
<section class="hor-flex" id="status-row">
|
||||||
<div id="status" style="will-change: contents">Загрузка...</div>
|
<div id="status" style="will-change: contents">Загрузка...</div>
|
||||||
|
<a class="only-for-mini-version other-version link-button" title="Полная версия" href="https://rebrand.ly/ac-versions">🏋︎</a>
|
||||||
|
<a class="only-for-full-version other-version link-button" title="Версия для слабых машин" href="https://rebrand.ly/ac-versions">🐌︎</a>
|
||||||
|
</section>
|
||||||
|
|
||||||
<footer class="control-row">
|
<footer class="control-row hor-flex">
|
||||||
<input type="button" value="Готово" class="close-button">
|
<input type="button" value="Готово" class="close-button">
|
||||||
<a href="../troubleshoot/index.html" class="link-button">
|
<a href="../troubleshoot/index.html" class="link-button">
|
||||||
Проблемы?
|
Проблемы?
|
||||||
|
|
|
@ -17,7 +17,7 @@ chrome.runtime.getBackgroundPage( (backgroundPage) =>
|
||||||
|
|
||||||
const setStatusTo = (msg) => {
|
const setStatusTo = (msg) => {
|
||||||
|
|
||||||
getStatus().innerHTML = msg || 'Хорошего настроения вам!';
|
getStatus().innerHTML = msg || 'Поддержи <a href="https://2018.navalny.com" class="link-button">Навального</a> и <a href="https://fbk.info" class="link-button">ФБК</a>!';
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -226,6 +226,12 @@ chrome.runtime.getBackgroundPage( (backgroundPage) =>
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IF MINI
|
||||||
|
|
||||||
|
if (backgroundPage.apis.version.ifMini) {
|
||||||
|
document.documentElement.classList.add('if-version-mini');
|
||||||
|
}
|
||||||
|
|
||||||
// IF INSIDE OPTIONS TAB
|
// IF INSIDE OPTIONS TAB
|
||||||
|
|
||||||
const currentTab = await new Promise(
|
const currentTab = await new Promise(
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"name": "__MSG_extName__",
|
"name": "__MSG_extName__",
|
||||||
"default_locale": "ru",
|
"default_locale": "ru",
|
||||||
"description": "__MSG_extDesc__",
|
"description": "__MSG_extDesc__",
|
||||||
"version": "0.0.${ctx.version}",
|
"version": "0.0.${version}",
|
||||||
"icons": {
|
"icons": {
|
||||||
"128": "/icons/default-128.png"
|
"128": "/icons/default-128.png"
|
||||||
},
|
},
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"browser_action": {
|
"browser_action": {
|
||||||
"default_title": "Этот сайт благословлён ${ctx.version}",
|
"default_title": "Этот сайт одобрен РПЦ | Версия ${version}",
|
||||||
"default_popup": "/pages/choose-pac-provider/index.html"
|
"default_popup": "/pages/choose-pac-provider/index.html"
|
||||||
},
|
},
|
||||||
"options_ui": {
|
"options_ui": {
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
window.apis.version.ifMini = true;
|
||||||
chrome.browserAction.setBadgeText({text: 'M'});
|
chrome.browserAction.setBadgeText({text: 'M'});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"name": "__MSG_extName__",
|
"name": "__MSG_extName__",
|
||||||
"default_locale": "ru",
|
"default_locale": "ru",
|
||||||
"description": "__MSG_extDesc__",
|
"description": "__MSG_extDesc__",
|
||||||
"version": "0.0.${ctx.version}",
|
"version": "0.0.${version}",
|
||||||
"icons": {
|
"icons": {
|
||||||
"128": "/icons/default-128.png"
|
"128": "/icons/default-128.png"
|
||||||
},
|
},
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"browser_action": {
|
"browser_action": {
|
||||||
"default_title": "Этот сайт благословлён ${ctx.version}-mini",
|
"default_title": "Этот сайт одобрен РПЦ | Версия ${version}-mini",
|
||||||
"default_popup": "/pages/choose-pac-provider/index.html"
|
"default_popup": "/pages/choose-pac-provider/index.html"
|
||||||
},
|
},
|
||||||
"options_ui": {
|
"options_ui": {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user