fakesni
Android app bypassing deep packet inspection firewalls by spoofing Server Name Indication (SNI) in HTTPS handshakes. Routes traffic through a local proxy that replaces real hostnames with fake ones before firewall inspection.
FakeSNI is an Android app that helps people get around internet firewalls that use deep packet inspection, which is a technique ISPs and governments use to read network traffic and block certain connections. The app requires a rooted Android phone running Android 8.0 or later.
When your device connects to a website over a secure HTTPS connection, it sends a small piece of identifying information called the Server Name Indication, or SNI, before the connection is fully encrypted. Deep packet inspection firewalls read this SNI to decide whether to allow or block the connection. FakeSNI works by running a local proxy on your phone that intercepts this handshake and swaps out the real SNI for a fake, allowed hostname before the firewall can inspect it. The actual connection still goes to the real server, but the firewall sees a harmless hostname instead.
The app wraps a Go binary that does the low-level network work, and presents it through a polished Android interface. You configure the real server address you want to reach, choose a fake hostname for the firewall to see, and pick a browser fingerprint for the TLS handshake to imitate so the connection looks like it is coming from a regular browser. There are also options for splitting the TLS handshake across multiple network packets, which defeats firewalls that only inspect the first packet. The proxy automatically reconnects when you switch between mobile data and Wi-Fi.
Two operating modes are available. The default passive mode uses raw network sockets and works on any rooted device. The active mode uses a Linux kernel feature called NFQUEUE to intercept packets at a deeper level, which may work better in some network environments but requires a kernel that supports it.
The app can be used alongside VPN clients such as v2rayNG by pointing them at the local proxy address instead of connecting directly to a server. Signed APKs are available from the project's GitHub releases page for the most common phone architectures.
Where it fits
- Circumvent ISP or government deep packet inspection filtering of HTTPS traffic
- Access websites blocked by firewall rules that only inspect SNI during TLS handshake
- Route traffic through local proxy to fool firewalls while maintaining VPN client compatibility
- Test firewall evasion techniques in network environments with packet inspection