Call for testing in Russia: Freebrowser Desktop

Добрый день,

Мы подготовили первую версию Freebrowser (https://play.google.com/store/apps/details?id=org.greatfire.freebrowser) для десктопа, и хотим начать с ограниченного тестирования в России.

[обновлено] Скачать последнюю версию:

Linux версия работает на Debian (Ubuntu, Debian, Mint) и Redhat (Fedora, CentOS) системах. Для запуска необходимо добавить разрешения chmod +x freebrowser_v102 и запускать как скрипт ./freebrowser_v102

Windows версия тестировалась на Win 7, 10 и 11. Запускается от имени администратора по умолчанию.

Состоит из связки последнего браузера Chrome (скачивается если не установлен) и локального прокси, которое редактирует запросы (запускается на порту 8888)

Использует несколько подходов (любой, который сработает первым):

  1. DNS-over-HTTPs + запрос без изменений
  2. DNS-over-HTTPs + пустой SNI
  3. DNS-over-HTTPs + фейковый SNI
  4. Domain fronting через CDN

Любые отзывы по работающему\не работающему обходу блокировок и производительности приветствуются! Вопросы тоже.


Hi,

We’ve developed first version of Freebrowser (https://play.google.com/store/apps/details?id=org.greatfire.freebrowser) for desktop, and would like to do a limited testing in Russia.

[updated] Download latest version:

Linux version is working for Debian (Ubuntu, Debian, Mint) and Redhat based (Fedora, CentOS) systems. To run, just chmod +x freebrowser_v102 and run as script ./freebrowser_v102

Windows version was tested on Win 7, 10 и 11. Runs as administrator by default.

Package consists of latest Chrome browser (downloaded if not installed) and localhost proxy which applies request modifications (launched on port 8888).

Uses several methods of circumvention, whichever returns first:

  1. DNS-over-HTTPs + No request modifications
  2. DNS-over-HTTPs + Empty SNI
  3. DNS-over-HTTPs + Fake SNI
  4. Domain fronting via CDN

Any feedback on circumvention success/failures and performance is appreciated! Questions welcomed too.

Is the source code available?
I’m not a RMS fanboy, but for software designed to circumvent censorship I expect to be FOSS.

Also 6.8 MB for Chromium + proxy bundle is kinda suspicious.

Package consists of latest Chrome browser (downloaded if not installed) and localhost proxy which applies request modifications (launched on port 8888).

As I understand, the Chrome browser is not included and must be installed manually by the user, and this 6.8 Mb is the proxy that implements the functionality described in the post.

Or am I misunderstanding something? @s11

Anyway, I agree with the user above that it would be nice to see the Source Code.

И еще вопрос для @s11 - как реализован Domain Fronting (на основе каких инструментов)?

Yes correct, browser isn’t included, but installation is triggered by the executable itself if it is not available @CRACKen @sbq-e Moreover, Chrome download is proxied to so works in case Google’s download web page is blocked (China case).

Unfortunately we don’t release source code in case of Freebrowser. Main reason is it has information about access to our backend (for domain fronting), which we can’t allow to leak…

Is it possible to at least partially get the source code posted, or even that is out of the question?

В целом domain fronting реализован вполне буквально (Domain fronting - Wikipedia) - подмена SNI и HTTP заголовков (в данном случае прокси делает как раз это).

Вот тут (это наш другой, опен сорсный инструмент) https://github.com/greatfire/envoy/blob/master/native/README.md#examples есть пример который показывает какие заголовки подменяются и конфигурация бекенда (на NGINX) который этот запрос преобразовывает в оригинальный вид и посылает дальше. Логика в Freebrowser та же.

curl --resolve allowed.example.com:443:1.2.3.4 \ --header 'Host: forbidden.example.com' \ --header 'Url-Orig: https://forbidden.example.com' --header 'Host-Orig: forbidden.example.com' \ https://allowed.example.com/app1/ # --ciphers ECDHE-RSA-AES128-GCM-SHA256

Let me discuss this internally. Maybe we can do that with domain fronting method cleaned. Will come back.

Got it!

Thanks so much for all the answers.

Уточню для англоязычных. DRMо созвучно с одним не очень культурным словом, которое переводится как shit.

Спасибо за фидбек по безопасности! Действительно, первую версию мы даже не обфусцировали и не убрали дебаг символы, это зря.

Попробуйте, пожалуйста, деобфусцировать вот этот билд: freebrowser_v101 (6.6 MB)

Апдейты:

  • добавлена обфускация и убраны дебаг символы
  • исправлен TLS fingerprint, теперь тоже мимикрирует Chrome
  • исправлен баг с HTTPS на нестандартные порты

По шифрованной конфигурации, действительно мы делаем шифрование конфигурации + whitebox + обфускация. Да, в продакшене ещё добавляется скачивание свежих конфигов, но нам нужен рабочий конфиг out of the box, для случая если скачивание новых заблокировано. Поэтому иных вариантов, кроме как максимально осложнить вытаскивание базового конфига из билда нет. Понятно, что любые обфускации теоретически ломаются, поэтому главное их просто осложнить. Предложите лучший подход, мы им воспользуемся.

Уточните, DRM и TPM это digital rights management и trusted platform module? (ну, помимо shit)

И да, цензору нужны бекенды, мы знаем по опыту. Весь смысл domain fronting’a в том, что адреса и SNI блокировать нельзя, потому что они используются для других сервисов (ну, можно конечно, но это вызывает collateral damage, в этом вся логика). Поэтому иронии по поводу делать сложней пользователям, а не цензору, не понял.

Привет!

Появилась версия под Windows (тестировалась на win7, 10, 11):
freebrowser_v102.zip (8.4 MB)

И обновлённая под Linux (Debian, Ubuntu, Mint, Fedora, CentOS):
freebrowser_v102_linux.zip (8.1 MB)

Отзывы по тому, что загружается/ не загружается в РФ приветствуются!

Проверка в Туркменистане, ошибка браузера NET::ERR_CERT_AUTHORITY_INVALID Win7

Спасибо за отзыв! Подскажите, Chrome был установлен до запуска? Приложение запускалось от имени администратора? (должно было по умолчанию, но вдруг)

зачем это если есть тор?

Всегда лучше несколько инструментов, чем один. Ну и во-вторых, есть места где тор не работает, а freebrowser да

Пробегал тут кабанчиком от нечего делать. Идею в общих чертах понял, поподробнее бы. Но на деле не получилось. Сижу на хромиум браузере, гугл хром устанавливать как то совсем не хочется. Сомневаюсь, что юзеры хрома вообще есть на этом сайте. Ну так к чему это я 1) добавить поддержку хотя бы не только гугла, а хромиума в целом. Вообще если я правильно понял эту тему к любому браузеру можно прилепить, удачи в развитии

В Тм не подключается.win8.
“Error occured, please tru again.” В консоли разраб. - ошибка 505.
Если зайти в настройки браузера сразу выходит сообщение “настройки браузера были изменены посторонней программой.Браузер восстановил знначения по умолчанию.”, до запуска chrome уже был установлен.

Спасибо за отзыв, действительно в ТМ кажется не подключается (не только у вас такие симптомы). Смотрим в чём дело.

эту тему к любому браузеру можно прилепить

Верно, можно, не думал что есть большой запрос на другой браузер. Посмотрим, может зарелизим с чем-то ещё