celzero/rethink-app

DNS over HTTPS / DNS over Tor / DNSCrypt client, WireGuard proxifier, firewall, and connection tracker for Android.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 46 minutes ago
Added to GitGenius on September 12th, 2026
Created on June 8th, 2020
Open Issues & Pull Requests: 630 (-1)
GitHub issues: Enabled
Number of forks: 329
Total Stargazers: 5,409 (+0)
Total Subscribers: 58 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.9 hours
Mean response time: 17.1 days
90th percentile: 4.7 days
Tracked items: 1,138

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 70% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 40% of tracked open issues have had no activity in three months. Only 5% of issues opened in the past year have been closed. Three people close 83% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 491
New in 7 days: 10
Closed in 7 days: 29
Avg open age: 469 days
Stale 30+ days: 366
Stale 90+ days: 267

Recent activity

Opened in 7 days: 10
Closed in 7 days: 16
Comments in 7 days: 3
Events in 7 days: 3

Top labels

  • bug (332)
  • P0 (138)
  • fh (66)
  • fixed-pending-feedback (22)
  • P2 (21)
  • fixed-pending-release (17)
  • P1 (11)
  • L100 (6)

Detailed Description

Rethink is an Android application that combines DNS filtering, a firewall, and a VPN client into a single tool for network control and privacy.

The tool addresses the need for granular control over network traffic and DNS resolution on Android devices. It works by intercepting DNS queries and routing them through encrypted protocols like DNS-over-HTTPS, DNS-over-TLS, or DNSCrypt, while simultaneously offering firewall capabilities that block applications based on conditions such as screen state, connection type, or app category. The VPN mode supports multiple WireGuard upstreams in split-tunnel configurations, allowing different applications to route through different tunnels simultaneously, including SOCKS5 and HTTP CONNECT proxies.

Developers and users prioritizing privacy and censorship resistance should consider this tool. It suits projects where fine-grained per-application network control is essential, such as protecting against surveillance, circumventing censorship, or managing bandwidth on metered connections. The firewall mode distinguishes itself by allowing rules based on dynamic conditions like screen-on or screen-off states, app categories from the Play Store, or custom domain and IP denylists. Unlike simpler DNS clients, the tool integrates VPN, DNS, and firewall functionality into one application, reducing the need to run multiple overlapping services.

The project maintains active development with regular updates across multiple distribution channels. The codebase is written in Kotlin and the tool is available through F-Droid, Google Play, and direct GitHub releases, each with published certificate digests for verification. The project provides both stable and alpha release tracks, with nightly builds available through GitHub Actions.