KPN Tunnel Logo

KPN Tunnel: Payload Injection Method

Learn how to configure KPN Tunnel using the payload injection method to bypass network restrictions.

What is Payload Injection?
Payload injection is a technique that modifies HTTP headers to bypass network restrictions.

Payload injection works by modifying the HTTP headers in your connection requests. This can trick mobile carriers into thinking you're accessing allowed content when you're actually accessing the wider internet.

This method is often combined with SSH tunneling for encryption, but can sometimes work on its own for certain carriers.

Important: The effectiveness of payload injection varies by carrier and region. What works for one person might not work for another.

How Payload Injection Works

1. HTTP Headers

Modifies HTTP headers like Host, X-Online-Host, and X-Forwarded-Host to make traffic appear to be going to an allowed domain.

2. Zero-Rating

Takes advantage of "zero-rated" domains (websites that don't count against your data plan) by making your traffic appear to be going to these domains.

3. Tunneling

When combined with SSH or other tunneling protocols, your actual internet traffic is encrypted and hidden inside these modified HTTP requests.

Step-by-Step Setup Guide
Follow these instructions to configure KPN Tunnel with payload injection
1

Download and Install KPN Tunnel

If you haven't already, download and install the latest version of KPN Tunnel from a trusted source.

2

Open KPN Tunnel and Create a New Configuration

Launch the app and tap the "+" button to create a new configuration.

3

Configure Basic Settings

Enter a name for your configuration and select the connection type:

  • For SSH + Payload: Select "SSH" as the connection type
  • For Direct Payload: Select "Direct" as the connection type
4

SSH Server Settings (if using SSH)

If you selected SSH as your connection type, enter your SSH server details:

  • Server: Your SSH server address (IP or domain)
  • Port: Usually 22, 80, or 443
  • Username: Your SSH account username
  • Password: Your SSH account password
5

Configure Payload Settings

This is the most important part for the payload injection method:

  • Tap on "Payload Settings" or "Advanced Settings"
  • Enable "Custom Payload" or "HTTP Headers"
  • Enter your payload in the text field (see examples below)
  • Set the payload port (usually 80 for HTTP or 443 for HTTPS)
6

Additional Settings

Configure these optional settings for better performance:

  • DNS: Set to 1.1.1.1 or 8.8.8.8 for reliable DNS resolution
  • Connection Timeout: 60 seconds is recommended
  • Enable "Auto Reconnect" for better stability
7

Save and Connect

Save your configuration and tap the "Connect" button to start the connection.

8

Test Your Connection

Open your browser and try accessing a website to verify your connection is working.

Payload Examples
Copy and paste these payload examples to try in your KPN Tunnel configuration

Basic HTTP GET

Simple HTTP GET request with basic headers

GET / HTTP/1.1
Host: example.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1

HTTP with SNI Spoofing

Uses multiple host headers to bypass inspection

GET / HTTP/1.1
Host: cdn.example.com
X-Online-Host: cdn.example.com
X-Forward-Host: cdn.example.com
Connection: keep-alive

Zero-rated Domain

Uses a zero-rated domain that doesn't count against data

GET / HTTP/1.1
Host: free.example.com
X-Online-Host: free.example.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1

Advanced Multi-line

Template for a more complex payload with placeholders

CONNECT [host_port] [protocol]
Host: [host_port]
X-Online-Host: [host_port]
X-Forward-Host: [host_port]
Connection: Keep-Alive
User-Agent: [ua]

Troubleshooting
Common issues and solutions when using the payload injection method

Connection Fails Immediately

If your connection fails as soon as you try to connect:

  • Check that your payload format is correct (including \r\n line endings)
  • Try a different payload port (switch between 80 and 443)
  • Make sure you have an active internet connection

Connected But No Internet

If KPN Tunnel shows connected but you can't access websites:

  • Try a different Host domain in your payload
  • Check if your carrier has blocked this method
  • Try adding more headers to your payload
  • Change your DNS settings to 1.1.1.1 or 8.8.8.8

Slow Connection

If your connection is very slow:

  • Try a different SSH server if you're using SSH
  • Simplify your payload to reduce overhead
  • Check your signal strength

Pro Tip: Create multiple configurations with different payloads. If one stops working, you can quickly switch to another.

Related Tools

Use these tools to enhance your KPN Tunnel experience: