Comments (17)
Добавил проксирование всех *.onion
сайтов в Антицензорити.
Далее network.proxy.socks_remote_dns = true
и network.dns.blockDotOnion = false
.
Стал открываться http://www.flibustahezeous3.onion, но не другие сайты.
from runet-censorship-bypass.
У вас что-то изменилось после добавления *.onion
в проксируемые? Работает ли http://www.flibustahezeous3.onion и другие сайты? В какой-то момент у меня перестала работать и флибуста.
from runet-censorship-bypass.
Решено с помощью добавления отдельной проверки .onion в PAC-скрипте "Антицензорити": https://github.com/anticensority/pac-script-generator/blob/production/src/generator.js#L368-L370:
if (host.endsWith('.onion')) {
return true;
}
from runet-censorship-bypass.
Заработало, спасибо.
P.S. Подскажите, а замена фрагмента SOCKKS5 localhost:9150; SOCKS5 localhost:9050;
на SOCKS5 127.0.0.1:9050;
позволяет выиграть несколько миллисекунд, верно?
from runet-censorship-bypass.
Не эксперт по внутренностям ОС, но если в ОС не используется захаркоденные значения для localhost, то да, при каждом разрешении имени происходит обращение к файлу на жёстком диске, который для производительности постоянно загружен в область оперативной памяти, т.е. при каждом разрешении адреса вы тратите одно обращение к RAM. Как-то так, думаю. Спасибо за идею использовать IP вместо имени.
from runet-censorship-bypass.
Через несколько дней понял, что ваше предложение по *.onion
это не совсем то. Сейчас идёт бинарная проверка: либо завернуть запрос на проксю, либо пропустить (direct). Хочется гибче: заблокированные сайты на быструю проксю (например, на свой socks5), onion на очевидно медленную тор-проксю (тот самый 127.0.0.1:9050), остальное пропустить (direct). Поможете?
P.S. Допиленный описанным образом Антизапрет выглядит так, а с Антицензорити сложнее…
from runet-censorship-bypass.
Если PROXY_STRING
потом заменяется на быстрый прокси, то можно примерно так:
function FindProxyForURL(url, host) {
let ifByHost = false;
let ifByMaskedIp = false;
// Remove last dot.
if (host[host.length - 1] === '.') {
host = host.substring(0, host.length - 1);
}
return
host.endsWith('.onion')
? 'SOCKS5 localhost:9150; SOCKS5 localhost:9050; DIRECT'
: (
(function isCensored(){
ifByHost = areSubsCensored(host);
if (ifByHost) {
return true;
}
const ip = dnsResolve(host);
if (ip) {
if (ifFoundByBinaryInString(ips[ip.length] || '', ip)) {
return true;
}
ifByMaskedIp = isCensoredByMaskedIp(ip);
if (ifByMaskedIp) {
return true;
};
}
return false;
})() ? PROXY_STRING : 'DIRECT'
);
}
К сожалению у меня в ближайший месяц почти нет возможности работать над скриптом, нет времени внести изменения и тщательно их протестировать, потому я просто оставлю вам данный кусок кода в качестве возможного решения. Если вы оставите комментарий, то, возможно, я смогу ответить. Сообщите, подходит ли вам приведённое решение.
from runet-censorship-bypass.
Надо поднять host.endsWith('.onion')
на уровень return
, тогда работает. Спасибо!
from runet-censorship-bypass.
Я поднял host.endsWith('.onion')
на уровень return
в PAC-скрипте "Антицензорити".
from runet-censorship-bypass.
Вместо host.endsWith (".onion")
уместнее использовать dnsDomainIs (host, ".onion")
, ибо…
from runet-censorship-bypass.
Да, исправил.
Только я старый IE не хотел поддерживать, т.к. он плохо кеширует PAC-скрипт.
Я даже добавил особую строчку, но возможно, что она не срабатывает для старых IE:
if (/*@cc_on!@*/!1) {
throw new TypeError('https://rebrand.ly/ac-anticensority');
}
from runet-censorship-bypass.
Решил попробовать ваше расширение для Firefox, чтобы
- открывать заблокированные ресурсы через Antizapret
- открывать .onion через локальный Tor на 9050 порту
Однако, как ни настраиваю расширение, второй пункт не работает.
from runet-censorship-bypass.
- Иконка синей ленты -> свои прокси -> Использовать свой локальный Тор.
- Иконка синей ленты -> свои прокси -> Проксировать .onion.
Обе галочки стоят? Тор установлен и запущен (браузер или консольное приложение)?
from runet-censorship-bypass.
Тор-браузер использует порт 9150, просто Тор использует порт 9050.
from runet-censorship-bypass.
Mar 14 17:24:19.954 [notice] Tor 0.4.5.2-alpha (git-135b8eea36edd992) running on Windows 7
Mar 14 17:24:35.577 [notice] Opening Socks listener on 127.0.0.1:9050
Mar 14 17:24:40.000 [notice] Bootstrapped 100% (done): Done
Другие расширения для выборочного проксирования типа MM3-ProxySwitch или SmartProxy работают.
Либо опять же скачиваю antizapret.pac, добавляю строчку, прописываю путь в настройки прокси Fireefox — работает.
from runet-censorship-bypass.
from runet-censorship-bypass.
Включите все 3 типа уведомлений.
Можно посмотреть на код модифицированного PAC-скрипта: иконка синей ленты -> Проблемы? -> Отладка PAC-скрипта -> READ.
from runet-censorship-bypass.
Related Issues (20)
- Помощь по использованию PAC-скрипта «Антицензорити» HOT 8
- Реализовать возможность добавлять pac файлы в ручном режиме HOT 1
- Ошибка тестовой версии 1.63 HOT 11
- Портативный Тор для расширения с readme внутри HOT 8
- Съехал ползунок включения/выключения расширенения HOT 13
- Общее сравнение с 1.62 HOT 1
- При инициализации с включенным VPN не подгружаются PAC скрипты HOT 3
- Как убрать ошибки расширения и надпись "отключение расширений в режиме разработчика" HOT 7
- Расширение перестало работать HOT 36
- Как успешно открыть сайт «reddit»? HOT 1
- Обновление портативного Тора HOT 14
- Интернациональная версия расширения HOT 1
- Обход блокировок Рунета 0.0.1.63 HOT 11
- aws, digital ocean, etc? HOT 3
- Не обновлялся
- Mixcloud.com - Unfortunately due to government sanctions we have had to block access to Mixcloud from IP addresses in your country. HOT 1
- Касперский конфликтует с расширением HOT 44
- Расширение не работает HOT 26
- Google Chrome тормозит при включенной синхронизации когда расширение активно HOT 9
- нет проксирования news.google.com x.com HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from runet-censorship-bypass.