Download Appteka (works without ads)

Appteka is a community-driven, free Android apps market

GoQuiet

GoQuiet icon

GoQuiet

266 downloads

Uploaded by
OpenMaker
Version
1.1.1 (build 4) 
Size
5.2 MiB
Publish Date
2022-03-06
Category
Tools
Package
com.github.shadowsocks.plugin.gq_client
Minimum OS
Android 4.4
SHA1
c78074b982fed3e65cd0f138228577715737f63c
Security
Verdict: Safe
ClamAV: Clean (scanned 5430263 bytes)
Description
GoQuiet — ещё один плагин для Shadowsocks, который полностью и конфиденциально, мощнейшим образом маскирует трафик под обычный HTTPS-трафик на неблокируемые веб-сайты. Через доменное прикрытие и маскирует прокси-сервер под обычный веб-сервер. Тем самым ни один, слышишь, вообще ни один провайдер не сможет отследить какое бы то не было действие. С такой обфусикацией ещё никто не справился, поэтому трафик будет зашифрован, так, как не был зашифрован тот же Wireguard, OpenVPN и во многих других сервисах, предоставляющие создание VPN-клиента. Но, они далеко не обеспечивали полную анонимность, если не считать Lokinet, только shadowsocks быстрее и оптимальнее. И до сих-пор, он так и не был расшифрован провайдерами, если, конечно не брать в счёт голый shadowsocks. Но, если чуток разобраться, создавать свои конфы в этом VPN-клиенте будет не трудно — плагины же, усовершенствуют анонимизацию и облегчает процесс некоторых вещей. Режим работы плагина Для сервера: ss-server -c <path-to-ss-config> --plugin <path-to-gq-server-binary> --plugin-opts "<path-to-gqserver.json>" Для клиента: ss-local -c <path-to-ss-config> --plugin <path-to-gq-client-binary> --plugin-opts "<path-to-gqclient.json>" или как значение plugin и plugin_opts в Shadowsocks JSON { "server": "0.0.0.0", "server_port":443, "local_address": "127.0.0.1", "local_port":1080, "пароль": "mypassword", "timeout":300, "method":"aes-128-gcm", "fast_open":false, "reuse_port":true, "no_delay":true, "plugin": "path-to-gqserver/client-binary", "plugin_opts": "path-to-gqserver/client.json" } В качестве альтернативы, plugin_opts может быть опциями конфигурации, разделенными полутонами. Например: "plugin_opts":"WebServerAddr=204.79.197.200:443;Key=exampleconftest" Ключи не могут содержать = " ;. Автономный режим Автономный режим следует использовать только в том случае, если ваш shadowsocks порт не поддерживает плагины Для сервера: gq-server -r 127.0.0.1:8388 -c <path-to-gqserver.json> ss-server -c <path-to-ss-config> -s 127.0.0.1 -p 8388 Для клиента: gq-client -s <server_ip> -l 1984 -c <path-to-gqclient.json> ss-local -c <path-to-ss-config> -s 127.0.0.1 -p 1984 -l 1080 Конфигурация Для сервера: WebServerAddr - это адрес и порт перенаправления, когда входящий трафик не от shadowsocks. Он должен соответствовать IP записи ServerName, заданной в gqclient.json. Key — это ключ. Он должен совпадать с ключом, заданным в gqclient.json. Для клиента: ServerName — домен, который вы хотите заставить GFW думать, что вы посещаете. Key — ключ TicketTimeHint — время, необходимое для истечения срока действия билета сессии и генерации нового. Оставьте значение по умолчанию. Browser — это браузер, который вы хотите заставить GFW думать, что вы используете, это НЕ имеет никакого отношения к веб-браузеру или любому веб-приложению, которое вы используете на своей машине. В настоящее время поддерживаются chrome и firefox. ○ Как это работает ● Как упоминалось выше, этот плагин обфусцирует трафик shadowsocks как трафик TLS. Это включает в себя добавление заголовка TLS Record Layer к данным приложения и имитацию TLS handshake. Оба эти действия тривиальны в реализации, но, манипулируя данными, передаваемыми в последовательности рукопожатия, мы можем добиться некоторых интересных вещей. Последовательность рукопожатия TLS инициируется клиентом, посылающим сообщение ClientHello. Нас интересует поле random и расширение:session_ticket. Согласно rfc5246, поле random представляет собой текущее 32-битное время unix, скомбинированное с 28 случайными байтами. Однако в большинстве реализаций все 32 байта генерируются случайным образом (источник: Wireshark). Расширение session_ticket запускает механизм, называемый возобновлением сессии, который позволяет серверу пропустить множество шагов, в первую очередь сообщение Certificate, отправляемое сервером. Если у вас нет действительного сертификата TLS, вам придется составить сообщение invalid cert, что является сильным признаком, указывающим на то, что сервер является прокси. Благодаря наличию session_ticket нам не нужно передавать эту информацию. Клиентская часть этого плагина составляет сообщение ClientHello, используя следующую процедуру: # Глобальные переменные # В конфигурационном файле: preshared_key = '[Ключ, переданный вне диапазона]' ticket_time_hint = 3600 # В реализациях TLS это время в секундах для истечения срока действия билета сессии. # Обычные значения: 300, 3600, 7200 и 100800. # Вычисляется при запуске: aes_key = sha256(preshared_key) opaque = rand32int() # Случайно: iv = randbytes(16) goal = sha256(str(floor(gettimestamp()/(12*60*60))) + preshared_key) rest = aes_encrypt(iv,aes_key,goal[0:16]) random = iv + rest # Билет на сессию ticket = randbytes(192,seed=opaque+aes_key+floor(gettimestamp()/ticket_time_hint))) Когда сервер получает сообщение ClientHello, он проверяет поле random. Если оно не проходит, все ClientHello отправляется на адрес веб-сервера, заданный в конфигурационном файле, и сервер действует как ретранслятор между клиентом и веб-сервером. Если он проходит, то сервер составляет и отправляет ServerHello, ChangeCipherSpec, Finished вместе, а клиент отправляет ChangeCipherSpec, Finished вместе. В этих сообщениях нет никакой полезной информации. Затем сервер действует как ретранслятор между клиентом и сервером shadowsocks. BTC: bc1q59yvpnh0356qq9vf0j2y7hx36t9ysap30spx9h ETH: 0x8effF29a8F9bD38A367580527AC303972c92b60c Открытый исходный код: https://github.com/cbeuw/GoQuiet.git Если случились проблемы / ошибки в плагине и вам нужно о ним сообщить, то всё это можно вывести тут: https://github.com/cbeuw/GoQuiet.git/issues Список всех изменений: https://github.com/cbeuw/GoQuiet.git/releases ▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎▪︎ GoQuiet is another plugin for Shadowsocks that completely and confidentially, in the most powerful way masquerades traffic as regular HTTPS traffic to non-blocked websites. Through domain cover and masks the proxy server as a normal Web server. That way no, you hear, no ISP at all can trace any action at all. No one has yet coped with such obfuscation, so the traffic will be encrypted, the way the same Wireguard, OpenVPN and in many other services providing VPN-client creation were not encrypted. But, they are far from providing complete anonymity, unless you count Lokinet, only shadowsocks is faster and better. And so far, it has not been decrypted by ISPs, unless of course bare shadowsocks is taken into account. But, if you understand a little bit, it will not be difficult to create your own confines in this VPN-client - plugins also improve the anonymization and facilitate the process of some things. Mode of the plugin For the server: ss-server -c <path-to-ss-config> --plugin <path-to-gq-server-binary> --plugin-opts "<path-to-gqserver.json>" For the client: ss-local -c <path-to-ss-config> --plugin <path-to-gq-client-binary> --plugin-opts "<path-to-gqclient.json>" Or as the plugin and plugin_opts value in Shadowsocks JSON { "server": "0.0.0.0", "server_port":443, "local_address": "127.0.0.1", "local_port":1080, "password": "mypassword", "timeout":300, "method":"aes-128-gcm", "fast_open":false, "reuse_port":true, "no_delay":true, "plugin": "path-to-gqserver/client-binary", "plugin_opts": "path-to-gqserver/client.json" } Alternatively, plugin_opts can be configuration options separated by halftones. For example: "plugin_opts":"WebServerAddr=204.79.197.200:443;Key=exampleconftest" Keys cannot contain = " ;. Offline mode Offline mode should be used only if your shadowsocks port does not support plugins For the server: gq-server -r 127.0.0.1:8388 -c <path-to-gqserver.json> ss-server -c <path-to-ss-config> -s 127.0.0.1 -p 8388 For the client: gq-client -s <server_ip> -l 1984 -c <path-to-gqclient.json> ss-local -c <path-to-ss-config> -s 127.0.0.1 -p 1984 -l 1080 Configuration For the server: WebServerAddr is the redirection address and port when incoming traffic is not from shadowsocks. It must match the ServerName IP entry specified in gqclient.json. Key is a key. It must match the key specified in gqclient.json. For the client: ServerName is the domain you want GFW to think you are visiting. Key - key. TicketTimeHint - the time it takes for the session ticket to expire and generate a new one. Leave the default value. Browser is the browser you want GFW to think you are using, it has NOTHING to do with the web browser or any web application you are using on your machine. Currently chrome and firefox are supported. ○ How it works ● As mentioned above, this plugin obfuscates shadowsocks traffic as TLS traffic. This involves adding a TLS Record Layer header to the application data and simulating a TLS handshake. Both of these actions are trivial to implement, but by manipulating the data sent in the handshake sequence, we can achieve some interesting things. The TLS handshake sequence is initiated by the client sending the ClientHello message. We are interested in the random field and the extension:session_ticket. According to rfc5246, the random field represents the current 32-bit unix time combined with 28 random bytes. However, in most implementations, all 32 bytes are randomly generated (source: Wireshark). The session_ticket extension triggers a mechanism called session resumption, which allows the server to skip many steps, most notably the Certificate message sent by the server. If you do not have a valid TLS certificate, you have to compose an invalid cert message, which is a strong indication that the server is a proxy. Thanks to the session_ticket, we don't need to pass that information on. The client part of this plugin composes a ClientHello message using the following procedure: # Global variables # In the configuration file: preshared_key = '[Key passed out of range]' ticket_time_hint = 3600 # In TLS implementations, this is the time in seconds for the session ticket to expire. # Common values: 300, 3600, 7200 и 100800. # Computed at startup: aes_key = sha256(preshared_key) opaque = rand32int() # Random: iv = randbytes(16) goal = sha256(str(floor(gettimestamp()/(12*60*60))) + preshared_key) rest = aes_encrypt(iv,aes_key,goal[0:16]) random = iv + rest # session ticket ticket = randbytes(192,seed=opaque+aes_key+floor(gettimestamp()/ticket_time_hint))) When the server receives a ClientHello message, it checks the random field. If it doesn't pass, all ClientHello is sent to the web server address specified in the configuration file, and the server acts as a relay between the client and the web server. If it passes, the server composes and sends ServerHello, ChangeCipherSpec, Finished together, and the client sends ChangeCipherSpec, Finished together. There is no useful information in these messages. The server then acts as a relay between the client and the shadowsocks server. BTC: bc1q59yvpnh0356qq9vf0j2y7hx36t9ysap30spx9h ETH: 0x8effF29a8F9bD38A367580527AC303972c92b60c Open Source: https://github.com/cbeuw/GoQuiet.git If there are any problems / bugs in the plugin and you need to report them, you can output them all here: https://github.com/cbeuw/GoQuiet.git/issues List of all changes: https://github.com/cbeuw/GoQuiet.git/releases

You may also be interested

P-SMS icon
  • 0 downloads
  • 18.7 MiB
SpotiFLAC icon
  • 7 downloads
  • 43.6 MiB
Streamflix icon
  • 15 downloads
  • 16.7 MiB
Flow Launcher icon
  • 5 downloads
  • 13.7 MiB
Headway icon
  • 3 downloads
  • 16.1 MiB
YoWindow icon
  • 24 downloads
  • 47.4 MiB
NetHunter Terminal icon
  • 12 downloads
  • 12.3 MiB
Security icon
  • 19 downloads
  • 90.5 MiB
Weather icon
  • 11 downloads
  • 26.5 MiB
OpenTodoList icon
  • 1 downloads
  • 70.0 MiB
Minimo Launcher icon
  • 8 downloads
  • 1.6 MiB
mpvEx icon
  • 9 downloads
  • 35.3 MiB
Einstein Launcher icon
  • 3 downloads
  • 2.5 MiB
MonsterMusic icon
  • 2 downloads
  • 10.3 MiB
Metrolist icon
  • 16 downloads
  • 20.9 MiB
TagSpaces icon
  • 1 downloads
  • 65.9 MiB
Flip 2 DND icon
  • 3 downloads
  • 1.8 MiB
Medical Calendarlog icon
  • 2 downloads
  • 2.0 MiB
BLE Radar icon
  • 5 downloads
  • 6.1 MiB
Photok icon
  • 0 downloads
  • 38.3 MiB
Volume Notification icon
  • 2 downloads
  • 2.8 MiB
Simple Notes icon
  • 2 downloads
  • 2.4 MiB
OSS Weather icon
  • 4 downloads
  • 12.7 MiB
Nope Remote icon
  • 12 downloads
  • 3.5 MiB
Medkit icon
  • 3 downloads
  • 12.0 MiB
NeoDB You icon
  • 3 downloads
  • 2.9 MiB
Clock icon
  • 5 downloads
  • 11.2 MiB
EnforceDoze icon
  • 5 downloads
  • 2.8 MiB
Apollo icon
  • 4 downloads
  • 1.8 MiB
APlayer icon
  • 2 downloads
  • 7.2 MiB
Hammer icon
  • 3 downloads
  • 10.9 MiB
Between Gods and Demons icon
  • 7 downloads
  • 370.5 MiB
Photoroom icon
  • 12 downloads
  • 113.9 MiB
Photoroom icon
  • 2 downloads
  • 112.5 MiB
BeeTV icon
  • 32 downloads
  • 14.7 MiB
Notification Widget icon
  • 10 downloads
  • 736.3 KiB
Infinitebound icon
  • 0 downloads
  • 43.3 MiB
Underverse Battles icon
  • 4 downloads
  • 363.1 MiB
Our Monsoon Balcony icon
  • 6 downloads
  • 14.8 MiB
Partly cloudy on Saturday icon
  • 5 downloads
  • 121.6 MiB
Mindustry icon
  • 2 downloads
  • 67.9 MiB
MOVIES HUB icon
  • 114 downloads
  • 48.5 MiB
AirTuner icon
  • 18 downloads
  • 57.4 MiB
MX Player icon
  • 97 downloads
  • 76.0 MiB
LaaB icon
  • 8 downloads
  • 74.5 MiB
Tellself icon
  • 18 downloads
  • 39.1 MiB
EroTrapSweeper icon
  • 23 downloads
  • 79.3 MiB
MATE VPN icon
  • 25 downloads
  • 33.2 MiB
FitAI icon
  • 13 downloads
  • 123.2 MiB
So Much To Love icon
  • 71 downloads
  • 154.7 MiB
Calz icon
  • 8 downloads
  • 73.6 MiB
MILF_Obsession Rus icon
  • 35 downloads
  • 341.5 MiB
DramaPops icon
  • 28 downloads
  • 59.9 MiB
Attack On Survey Corps icon
  • 110 downloads
  • 420.2 MiB
Isekai Awakening icon
  • 25 downloads
  • 444.0 MiB
Счастливое Лето icon
  • 17 downloads
  • 397.9 MiB
G-Stomper Studio icon
  • 12 downloads
  • 75.5 MiB
G-Stomper Producer icon
  • 4 downloads
  • 75.5 MiB
TeaTV icon
  • 41 downloads
  • 13.5 MiB
tiktok gold icon
  • 124 downloads
  • 31.2 MiB
WebLibre icon
  • 20 downloads
  • 118.7 MiB
zaprett icon
  • 18 downloads
  • 8.4 MiB
Running Services Monitor icon
  • 23 downloads
  • 9.4 MiB
Karing icon
  • 15 downloads
  • 46.6 MiB
ColorBlendr icon
  • 19 downloads
  • 4.7 MiB
WiFiAnalyzer icon
  • 36 downloads
  • 2.6 MiB
Artic Delta icon
  • 6 downloads
  • 5.1 MiB
Parrot Downloader icon
  • 17 downloads
  • 111.6 MiB
Auto Clicker icon
  • 8 downloads
  • 6.0 MiB
VideoRec icon
  • 4 downloads
  • 3.1 MiB
Windscribe icon
  • 14 downloads
  • 59.7 MiB
OrNET icon
  • 29 downloads
  • 125.7 MiB
OrNET icon
  • 44 downloads
  • 128.4 MiB
FckSVIP icon
  • 16 downloads
  • 18.4 MiB
KBTRTV 2.0.3 icon
  • 71 downloads
  • 17.8 MiB
Vidma icon
  • 4 downloads
  • 75.3 MiB
Reminder Pro icon
  • 21 downloads
  • 3.7 MiB
Smart Launcher icon
  • 67 downloads
  • 21.2 MiB
Streamflix icon
  • 22 downloads
  • 16.7 MiB
eFootball™ icon
  • 33 downloads
  • 20.8 MiB
Echo Equalizer icon
  • 56 downloads
  • 15.6 MiB
AmpereFlow icon
  • 70 downloads
  • 8.7 MiB
krasview icon
  • 12 downloads
  • 48.6 MiB
ARFtv icon
  • 19 downloads
  • 6.9 MiB
Ambient Music icon
  • 56 downloads
  • 5.2 MiB
FC Mobile icon
  • 4 downloads
  • 109.5 MiB
ISS Live Now icon
  • 54 downloads
  • 19.3 MiB
ISS Live Now icon
  • 6 downloads
  • 19.2 MiB
万能钥匙 icon
  • 4 downloads
  • 50.5 MiB
Rebin Dict icon
  • 1 downloads
  • 6.1 MiB
喜马拉雅 icon
  • 5 downloads
  • 127.4 MiB
MinaProNet VPN icon
  • 5 downloads
  • 71.9 MiB
CT-ART 4.0 icon
  • 2 downloads
  • 30.4 MiB
FacePic icon
  • 57 downloads
  • 52.8 MiB
Six Pack in 30 Days icon
  • 25 downloads
  • 25.0 MiB
Dns Speed Test icon
  • 84 downloads
  • 7.8 MiB