Add app source for F-Droid release (v1.0.6)

Adds the full Android source tree, Gradle wrapper, fastlane store
metadata and the fdroiddata build recipe so F-Droid can build from
source. README gains build instructions and an updated structure tree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015g6ECVSKcBG8CJPrqC3G5o
This commit is contained in:
Claude
2026-10-06 18:23:12 +00:00
parent 7cd9875c87
commit 4c22ade5cd
89 changed files with 4816 additions and 1 deletions
@@ -0,0 +1,8 @@
• Fixed: IPv6 of all apps was blocked while connected
• Switching servers no longer leaks DNS for a moment
• Blocklist downloads run in the background and never block adding domains
• dnsmasq and unbound blocklist formats
• Private DNS warning shows only when it really interferes
• Back returns to Home, text fields stay above the keyboard
• Quick Settings tile updates instantly
• Monitor filters fit narrow screens
@@ -0,0 +1,31 @@
SparkleDNS encrypts every DNS lookup on your device with DNS-over-HTTPS (RFC 8484) and HTTP/3. It uses Android's VPN API only locally: just DNS requests go into the tunnel, all other traffic takes your normal connection, so speed and battery stay the same.
<b>Servers</b>
<ul>
<li>SkySparkle (default) with HTTP/3, run by the developer</li>
<li>Cloudflare, Google, Quad9, AdGuard, Mullvad</li>
<li>Any custom DoH server, with optional bootstrap IPs and HTTP/3</li>
</ul>
<b>Features</b>
<ul>
<li>One-tap connect, Quick Settings tile, Always-on VPN support</li>
<li>Live monitor: every query with its status and latency, filters, search and one-tap blocking</li>
<li>Per-app rules: apps grouped by category, chosen ones bypass SparkleDNS</li>
<li>Blocklists: your own domains plus hosts, plain domain, AdBlock and dnsmasq lists by URL, HaGeZi Pro++ and TIF one tap away. Subdomains are blocked too, changes apply instantly</li>
<li>Local DNS cache that honours TTLs</li>
<li>Server test showing the protocol (h3 or h2) and latency</li>
</ul>
<b>Privacy</b>
No analytics, no ads, no Google Play Services. The query log lives only in memory and never leaves the device. DNS requests go to the server you choose. The default SkySparkle server is run by the developer under this privacy policy: https://skysparkle.cc/privacy?lang=en
<b>Permissions</b>
<ul>
<li>VPN: a local tunnel that carries DNS only, nothing is routed to a remote VPN</li>
<li>Notifications: connection status with a Disconnect button</li>
<li>Network state: needed by Android's HTTP/3 engine and to detect Private DNS</li>
<li>Installed apps (launcher entries only): to list apps for per-app rules</li>
</ul>
HTTP/3 needs Android 14 or newer; older versions use HTTP/2. If Private DNS in Android settings is set to a specific hostname, Android sends DNS there instead; SparkleDNS shows a warning when that happens.
Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

@@ -0,0 +1 @@
Encrypted DNS over HTTPS and HTTP/3 with blocklists and per-app rules
@@ -0,0 +1 @@
SparkleDNS
@@ -0,0 +1,8 @@
• Исправлено: при подключении блокировался IPv6 всех приложений
• Смена сервера больше не пропускает DNS мимо туннеля
• Блоклисты загружаются в фоне и не мешают добавлять домены
• Форматы блоклистов dnsmasq и unbound
• Предупреждение о частном DNS — только когда он реально мешает
• «Назад» ведёт на главную, поля ввода не прячутся под клавиатурой
• Плитка в шторке обновляется сразу
• Фильтры монитора помещаются на узких экранах
@@ -0,0 +1,31 @@
SparkleDNS шифрует каждый DNS-запрос на устройстве с помощью DNS-over-HTTPS (RFC 8484) и HTTP/3. VPN Android используется только локально: в туннель попадают лишь DNS-запросы, весь остальной трафик идёт обычным путём, поэтому скорость и батарея не страдают.
<b>Серверы</b>
<ul>
<li>SkySparkle (по умолчанию) с HTTP/3, работает у разработчика</li>
<li>Cloudflare, Google, Quad9, AdGuard, Mullvad</li>
<li>Любой свой DoH-сервер, с bootstrap IP и HTTP/3 по желанию</li>
</ul>
<b>Возможности</b>
<ul>
<li>Подключение одним касанием, плитка в шторке, поддержка постоянного VPN</li>
<li>Монитор: каждый запрос со статусом и задержкой, фильтры, поиск и блокировка одним касанием</li>
<li>Правила для приложений: группы по категориям, выбранные приложения идут мимо SparkleDNS</li>
<li>Блоклисты: свои домены и списки hosts, доменов, AdBlock и dnsmasq по ссылке, HaGeZi Pro++ и TIF в одно касание. Поддомены блокируются тоже, изменения применяются сразу</li>
<li>Локальный DNS-кэш с учётом TTL</li>
<li>Проверка сервера с протоколом (h3 или h2) и задержкой</li>
</ul>
<b>Приватность</b>
Никакой аналитики, рекламы и сервисов Google Play. Журнал запросов хранится только в памяти и никуда не отправляется. DNS-запросы уходят на выбранный вами сервер. Сервер SkySparkle по умолчанию работает у разработчика по этой политике конфиденциальности: https://skysparkle.cc/privacy?lang=en
<b>Разрешения</b>
<ul>
<li>VPN: локальный туннель только для DNS, ничего не уходит на удалённый VPN</li>
<li>Уведомления: статус подключения и кнопка «Отключить»</li>
<li>Состояние сети: нужно движку HTTP/3 Android и для проверки частного DNS</li>
<li>Установленные приложения (только ярлыки лаунчера): для правил по приложениям</li>
</ul>
Для HTTP/3 нужен Android 14 или новее, на более старых используется HTTP/2. Если в настройках Android «Частный DNS» задан конкретным хостом, Android отправляет DNS туда; SparkleDNS предупреждает об этом.
@@ -0,0 +1 @@
Шифрованный DNS через HTTPS и HTTP/3 с блоклистами и правилами для приложений
@@ -0,0 +1 @@
SparkleDNS