Almost adds dns-over-https by google
0
.gitignore
vendored
Normal file → Executable file
0
extensions/chromium/minimalistic-pac-setter/README.md
Normal file → Executable file
0
extensions/chromium/minimalistic-pac-setter/Support.md
Normal file → Executable file
0
extensions/chromium/minimalistic-pac-setter/archive-browseraction.jpg
Normal file → Executable file
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
102
extensions/chromium/minimalistic-pac-setter/extension/1-sync-pac-script-with-pac-provider.js
Normal file → Executable file
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Task 1. Gets IPs for proxies of antizapret/anticenz with dns-lg.com.
|
Task 1. Gets IPs for proxies of antizapret/anticenz via dns over https.
|
||||||
These IPs are used in block-informer to inform user when proxy is ON.
|
These IPs are used in block-informer to inform user when proxy is ON.
|
||||||
Task 2. Downloads PAC proxy script from antizapret/anticenz/my Google Drive and sets it in Chromium settings.
|
Task 2. Downloads PAC proxy script from antizapret/anticenz/my Google Drive and sets it in Chromium settings.
|
||||||
Task 3. Schedules tasks 1 & 2 for every 4 hours.
|
Task 3. Schedules tasks 1 & 2 for every 4 hours.
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
In background scripts use window.antiCensorRu public variables.
|
In background scripts use window.antiCensorRu public variables.
|
||||||
In pages window.antiCensorRu are not accessible,
|
In pages window.antiCensorRu are not accessible,
|
||||||
use chrome.runtime.getBackgroundPage(..),
|
use chrome.runtime.getBackgroundPage(..),
|
||||||
avoid old extension.getBackgroundPage.
|
extension.getBackgroundPage is deprecated
|
||||||
*/
|
*/
|
||||||
|
|
||||||
window.antiCensorRu = {
|
window.antiCensorRu = {
|
||||||
|
@ -53,7 +53,7 @@ window.antiCensorRu = {
|
||||||
get currentPacProviderKey() { return this._currentPacProviderKey },
|
get currentPacProviderKey() { return this._currentPacProviderKey },
|
||||||
set currentPacProviderKey(newKey) {
|
set currentPacProviderKey(newKey) {
|
||||||
if (newKey && !this.pacProviders[newKey])
|
if (newKey && !this.pacProviders[newKey])
|
||||||
throw new IllegalArgumentException('No provider for key:'+newKey);
|
throw new IllegalArgumentException('No provider for key:' + newKey);
|
||||||
this._currentPacProviderKey = newKey;
|
this._currentPacProviderKey = newKey;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ window.antiCensorRu = {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
_pacUpdatePeriodInMinutes: 4*60,
|
_pacUpdatePeriodInMinutes: 4*60,
|
||||||
|
|
||||||
setAlarms() {
|
setAlarms() {
|
||||||
|
@ -153,7 +153,7 @@ window.antiCensorRu = {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
return nextUpdateMoment === now; // ifAlarmTriggered. May be changed.
|
return nextUpdateMoment === now; // ifAlarmTriggered. May be changed in the future.
|
||||||
},
|
},
|
||||||
|
|
||||||
installPac(key, cb) {
|
installPac(key, cb) {
|
||||||
|
@ -183,7 +183,7 @@ window.antiCensorRu = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// ON EACH LAUNCH, STARTUP, RELOAD, UPDATE, ENABLE
|
// ON EACH LAUNCH, STARTUP, RELOAD, UPDATE, ENABLE
|
||||||
chrome.storage.local.get(null, oldStorage => {
|
chrome.storage.local.get(null, oldStorage => {
|
||||||
|
|
||||||
console.log('Init on storage:', oldStorage);
|
console.log('Init on storage:', oldStorage);
|
||||||
|
@ -205,7 +205,7 @@ chrome.storage.local.get(null, oldStorage => {
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
console.log('Alarm listener installed. We won\'t miss any PAC update.');
|
console.log('Alarm listener installed. We won\'t miss any PAC update.');
|
||||||
|
|
||||||
if (antiCensorRu.ifFirstInstall) {
|
if (antiCensorRu.ifFirstInstall) {
|
||||||
// INSTALL
|
// INSTALL
|
||||||
console.log('Installing...');
|
console.log('Installing...');
|
||||||
|
@ -215,7 +215,7 @@ chrome.storage.local.get(null, oldStorage => {
|
||||||
if (!antiCensorRu.pacProvider)
|
if (!antiCensorRu.pacProvider)
|
||||||
return console.log('No PAC provider set. Do nothing.');
|
return console.log('No PAC provider set. Do nothing.');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
1. There is no way to check that chrome.runtime.onInstalled wasn't fired except timeout.
|
1. There is no way to check that chrome.runtime.onInstalled wasn't fired except timeout.
|
||||||
Otherwise we could put storage migration code only there.
|
Otherwise we could put storage migration code only there.
|
||||||
2. We have to check storage for migration before using it.
|
2. We have to check storage for migration before using it.
|
||||||
|
@ -223,7 +223,7 @@ chrome.storage.local.get(null, oldStorage => {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var ifAlarmTriggered = antiCensorRu.setAlarms();
|
var ifAlarmTriggered = antiCensorRu.setAlarms();
|
||||||
|
|
||||||
if (antiCensorRu.version === oldStorage.version) {
|
if (antiCensorRu.version === oldStorage.version) {
|
||||||
// LAUNCH, RELOAD, ENABLE
|
// LAUNCH, RELOAD, ENABLE
|
||||||
antiCensorRu.pacProviders = oldStorage.pacProviders;
|
antiCensorRu.pacProviders = oldStorage.pacProviders;
|
||||||
|
@ -287,7 +287,22 @@ function httpGet(url, cb) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getIpsAndCnames(host, cb) {
|
function _getIpsAndCnames(host, cb) {
|
||||||
|
/*
|
||||||
|
Answer format:
|
||||||
|
"answer":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "proxy.antizapret.prostovpn.org.",
|
||||||
|
"type": "A",
|
||||||
|
"class": "IN",
|
||||||
|
"ttl": 409,
|
||||||
|
"rdlength": 4,
|
||||||
|
"rdata": "195.123.209.38"
|
||||||
|
}
|
||||||
|
...
|
||||||
|
CNAME example: ghs.google.com
|
||||||
|
**/
|
||||||
httpGet(
|
httpGet(
|
||||||
'http://www.dns-lg.com/google1/'+ host +'/a',
|
'http://www.dns-lg.com/google1/'+ host +'/a',
|
||||||
(err, res) => {
|
(err, res) => {
|
||||||
|
@ -296,8 +311,13 @@ function getIpsAndCnames(host, cb) {
|
||||||
res = JSON.parse(res);
|
res = JSON.parse(res);
|
||||||
if (err)
|
if (err)
|
||||||
err.clarification.message += ' Сервер: '+ res.message;
|
err.clarification.message += ' Сервер: '+ res.message;
|
||||||
else
|
else {
|
||||||
res = res.answer;
|
res = res.answer;
|
||||||
|
for (const r of res) {
|
||||||
|
r.data = r.rdata;
|
||||||
|
delete r.rdata;
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
err = err || {clarification:{message:''}};
|
err = err || {clarification:{message:''}};
|
||||||
err.clarification.message += ' Сервер: '+ res;
|
err.clarification.message += ' Сервер: '+ res;
|
||||||
|
@ -308,12 +328,68 @@ function getIpsAndCnames(host, cb) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getIpsAndCnames(host, cb) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
Answer format:
|
||||||
|
"Answer":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "apple.com.", // Always matches name in the Question section
|
||||||
|
"type": 1, // A - Standard DNS RR type
|
||||||
|
"TTL": 3599, // Record's time-to-live in seconds
|
||||||
|
"data": "17.178.96.59" // Data for A - IP address as text
|
||||||
|
},
|
||||||
|
...
|
||||||
|
**/
|
||||||
|
|
||||||
|
const type2str = {
|
||||||
|
// https://en.wikipedia.org/wiki/List_of_DNS_record_types
|
||||||
|
1: 'A',
|
||||||
|
2: 'NS',
|
||||||
|
28: 'AAAA',
|
||||||
|
5: 'CNAME'
|
||||||
|
};
|
||||||
|
|
||||||
|
httpGet(
|
||||||
|
'https://dns.google.com/resolve?type=A&name=' + host
|
||||||
|
(err, res) => {
|
||||||
|
if (res) {
|
||||||
|
try {
|
||||||
|
res = JSON.parse(res);
|
||||||
|
if (err || res.Status) {
|
||||||
|
const msg = ['Answer', 'Comment', 'Status']
|
||||||
|
.filter( (prop) => res[ prop ] )
|
||||||
|
.map( (prop) => prop + ': ' + JSON.stringify( res[ prop ] ) )
|
||||||
|
.join(', \n');
|
||||||
|
err.clarification.message += ' Сервер: '+ msg;
|
||||||
|
err.data = err.data || res;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
res = res.Answer;
|
||||||
|
for (const r of res) {
|
||||||
|
r.type = type2str[ r.type ];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(e) {
|
||||||
|
err = err || {clarification:{message:''}};
|
||||||
|
err.clarification.message += ' Сервер: '+ res;
|
||||||
|
err.clarification.message.trim();
|
||||||
|
err.data = err.data || res;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cb( err, res );
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function updatePacProxyIps(provider, cb) {
|
function updatePacProxyIps(provider, cb) {
|
||||||
var cb = asyncLogGroup('Getting IP for '+ provider.proxyHosts.join(', ') +'...', cb);
|
var cb = asyncLogGroup('Getting IP for '+ provider.proxyHosts.join(', ') +'...', cb);
|
||||||
var failure = {
|
var failure = {
|
||||||
clarification: {message:'Не удалось получить один или несколько IP адресов для прокси-серверов. Иконка для уведомления об обходе блокировок может не отображаться.'},
|
clarification: {message:'Не удалось получить один или несколько IP адресов для прокси-серверов. Иконка для уведомления об обходе блокировок может не отображаться.'},
|
||||||
errors: {}
|
errors: {}
|
||||||
};
|
};
|
||||||
var i = 0;
|
var i = 0;
|
||||||
provider.proxyHosts.map(
|
provider.proxyHosts.map(
|
||||||
proxyHost => getIpsAndCnames(
|
proxyHost => getIpsAndCnames(
|
||||||
|
@ -321,7 +397,7 @@ function updatePacProxyIps(provider, cb) {
|
||||||
(err, ans) => {
|
(err, ans) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
provider.proxyIps = provider.proxyIps || {};
|
provider.proxyIps = provider.proxyIps || {};
|
||||||
ans.filter( ans => ans.type === 'A' ).map( ans => provider.proxyIps[ ans.rdata ] = proxyHost );
|
ans.filter( ans => ans.type === 'A' ).map( ans => provider.proxyIps[ ans.data ] = proxyHost );
|
||||||
} else
|
} else
|
||||||
failure.errors[proxyHost] = err;
|
failure.errors[proxyHost] = err;
|
||||||
|
|
||||||
|
|
0
extensions/chromium/minimalistic-pac-setter/extension/2-block-informer.js
Normal file → Executable file
0
extensions/chromium/minimalistic-pac-setter/extension/3-context-menus.js
Normal file → Executable file
0
extensions/chromium/minimalistic-pac-setter/extension/icons/ribbon128.png
Normal file → Executable file
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
0
extensions/chromium/minimalistic-pac-setter/extension/manifest.json
Normal file → Executable file
0
extensions/chromium/minimalistic-pac-setter/extension/pages/choose-pac-provider/index.html
Normal file → Executable file
0
extensions/chromium/minimalistic-pac-setter/extension/pages/choose-pac-provider/index.js
Normal file → Executable file
0
extensions/chromium/minimalistic-pac-setter/extension/pages/is-ip-blocked/index.html
Normal file → Executable file
8
extensions/chromium/minimalistic-pac-setter/extension/pages/is-ip-blocked/index.js
Normal file → Executable file
|
@ -12,15 +12,15 @@ chrome.runtime.getBackgroundPage( backgroundPage => {
|
||||||
${err.clarification && err.clarification.message || err.message}`
|
${err.clarification && err.clarification.message || err.message}`
|
||||||
)
|
)
|
||||||
: records.length === 1 && records[0].type === 'A'
|
: records.length === 1 && records[0].type === 'A'
|
||||||
? window.location.replace( backgroundPage.reestrUrl + records[0].rdata )
|
? window.location.replace( backgroundPage.reestrUrl + records[0].data )
|
||||||
: document.write(
|
: document.write(
|
||||||
'<title>Выбор IP</title>'
|
'<title>Выбор IP</title>'
|
||||||
+ '<h4>У домена несколько IP / синонимов:</h4>'
|
+ '<h4>У домена несколько IP / синонимов:</h4>'
|
||||||
+ records
|
+ records
|
||||||
.sort( (a,b) => a.rdata.localeCompare(b.rdata) )
|
.sort( (a,b) => a.data.localeCompare(b.data) )
|
||||||
.map( ans => ans.rdata.link( ans.type === 'A' ? backgroundPage.reestrUrl + ans.rdata : window.location.pathname +'?'+ ans.rdata ) )
|
.map( ans => ans.data.link( ans.type === 'A' ? backgroundPage.reestrUrl + ans.data : window.location.pathname +'?'+ ans.data ) )
|
||||||
.join('<br/>')
|
.join('<br/>')
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
0
extensions/chromium/minimalistic-pac-setter/extension/pages/other-unblocks/index.html
Normal file → Executable file
0
extensions/chromium/minimalistic-pac-setter/extension/pages/other-unblocks/index.js
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/README.md
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/assets/icons/rkn-chain.png
Normal file → Executable file
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rkn-chain2.png
Normal file → Executable file
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rkn-core.png
Normal file → Executable file
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rkn-core2.png
Normal file → Executable file
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rkn-disabled.png
Normal file → Executable file
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.7 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rkn-empty.png
Normal file → Executable file
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.7 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rkn-red.png
Normal file → Executable file
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 7.1 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rkn-rred.png
Normal file → Executable file
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rkn-warn.png
Normal file → Executable file
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 7.1 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rkn-white.png
Normal file → Executable file
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rkn.png
Normal file → Executable file
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rock-closed-red.png
Normal file → Executable file
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rock-closed.png
Normal file → Executable file
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rock-goat-red.png
Normal file → Executable file
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rock-goat.png
Normal file → Executable file
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rock-open.png
Normal file → Executable file
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rock-tune.png
Normal file → Executable file
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/rock5.png
Normal file → Executable file
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/unlock.ico
Normal file → Executable file
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
0
extensions/chromium/pac-generator-extension/assets/icons/unlock.png
Normal file → Executable file
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
0
extensions/chromium/pac-generator-extension/background.js
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/index.html
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/manifest.json
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/_locales/en/lang.js
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/_locales/en/messages.json
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/_locales/ru/lang.js
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/_locales/ru/messages.json
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/_metadata/verified_contents.json
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/background.html
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/css/main.css
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/css/notify.almost-flat.css
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/css/switcher.css
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/css/uikit.almost-flat.css
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/fonts/OpenSans-Bold.woff
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/fonts/OpenSans-CondensedBold.woff
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/fonts/OpenSans-CondensedLight.woff
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/fonts/OpenSans-Light.woff
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/fonts/OpenSans.woff
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/fonts/fontawesome-webfont.woff
Normal file → Executable file
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/be.png
Normal file → Executable file
Before Width: | Height: | Size: 226 B After Width: | Height: | Size: 226 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/bg.png
Normal file → Executable file
Before Width: | Height: | Size: 226 B After Width: | Height: | Size: 226 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/ch.png
Normal file → Executable file
Before Width: | Height: | Size: 240 B After Width: | Height: | Size: 240 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/cn.png
Normal file → Executable file
Before Width: | Height: | Size: 894 B After Width: | Height: | Size: 894 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/cz.png
Normal file → Executable file
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 502 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/de.png
Normal file → Executable file
Before Width: | Height: | Size: 226 B After Width: | Height: | Size: 226 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/dk.png
Normal file → Executable file
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 245 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/ee.png
Normal file → Executable file
Before Width: | Height: | Size: 226 B After Width: | Height: | Size: 226 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/err.png
Normal file → Executable file
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/es.png
Normal file → Executable file
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/eu.png
Normal file → Executable file
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/fi.png
Normal file → Executable file
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 241 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/fr.png
Normal file → Executable file
Before Width: | Height: | Size: 228 B After Width: | Height: | Size: 228 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/google.png
Normal file → Executable file
Before Width: | Height: | Size: 744 B After Width: | Height: | Size: 744 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/google64.png
Normal file → Executable file
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/ie.png
Normal file → Executable file
Before Width: | Height: | Size: 225 B After Width: | Height: | Size: 225 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/it.png
Normal file → Executable file
Before Width: | Height: | Size: 228 B After Width: | Height: | Size: 228 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/lt.png
Normal file → Executable file
Before Width: | Height: | Size: 236 B After Width: | Height: | Size: 236 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/nl.png
Normal file → Executable file
Before Width: | Height: | Size: 228 B After Width: | Height: | Size: 228 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/p.png
Normal file → Executable file
Before Width: | Height: | Size: 997 B After Width: | Height: | Size: 997 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/pl.png
Normal file → Executable file
Before Width: | Height: | Size: 222 B After Width: | Height: | Size: 222 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/proxy.png
Normal file → Executable file
Before Width: | Height: | Size: 432 B After Width: | Height: | Size: 432 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/pt.png
Normal file → Executable file
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/ru.png
Normal file → Executable file
Before Width: | Height: | Size: 218 B After Width: | Height: | Size: 218 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/se.png
Normal file → Executable file
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 244 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/tor.png
Normal file → Executable file
Before Width: | Height: | Size: 636 B After Width: | Height: | Size: 636 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/ua.png
Normal file → Executable file
Before Width: | Height: | Size: 221 B After Width: | Height: | Size: 221 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/uk.png
Normal file → Executable file
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/unknown.png
Normal file → Executable file
Before Width: | Height: | Size: 602 B After Width: | Height: | Size: 602 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/us.png
Normal file → Executable file
Before Width: | Height: | Size: 456 B After Width: | Height: | Size: 456 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/co/user.png
Normal file → Executable file
Before Width: | Height: | Size: 640 B After Width: | Height: | Size: 640 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/google.png
Normal file → Executable file
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/hide.png
Normal file → Executable file
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/ico128-2.png
Normal file → Executable file
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/ico19-2.png
Normal file → Executable file
Before Width: | Height: | Size: 921 B After Width: | Height: | Size: 921 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/ico19g-2.png
Normal file → Executable file
Before Width: | Height: | Size: 926 B After Width: | Height: | Size: 926 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/ico38-2.png
Normal file → Executable file
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/ico38g-2.png
Normal file → Executable file
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/ico64-2.png
Normal file → Executable file
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/no.png
Normal file → Executable file
Before Width: | Height: | Size: 311 B After Width: | Height: | Size: 311 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/on.png
Normal file → Executable file
Before Width: | Height: | Size: 242 B After Width: | Height: | Size: 242 B |
0
extensions/chromium/pac-generator-extension/pages/Proxy-for-Chrome_v1.12/im/onion.png
Normal file → Executable file
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |