Skip to content

Full tunnel vps IP spoofing feature #1173

Description

@mudsharp

I have an idea that could possibly improve the project.
What if we use GAS to make our requests to the VPS and instead of returning the response via GAS we use IP spoofing on the vps side to set the source IP the IP of a whitelisted service such as google (It would need raw socket access on the VPS side) and directly send the response to the client bypassing the DPI
if that can be implemented it can reduce quota usage as well as reducing the latency and improving download speed.
This method has already been done using DNS query as upload and IP spoofing for download if i understand correctly.
Thank you for this great project.

Activity

  1. therealaleph commented on May 13, 2026

    @therealaleph
    Owner

    Reviewed via Anthropic Claude.

    @mudsharp — clever idea, but IP spoofing on the VPS side (forging source IP in TCP packets) won't work for this use case. Two reasons:

    1. Return traffic doesn't come back: TCP is bidirectional. If your VPS sends a SYN packet with a forged source IP (e.g. your home IP), the destination server (chatgpt.com) sends the SYN-ACK back to that forged IP — which is your home machine, not your VPS. Your home machine has no SYN cookie / TCP state for that connection (it never sent the SYN), so it RST's the packet. The handshake never completes.

    2. Even if you could complete the handshake (via various BGP/anycast tricks that aren't accessible to most VPS providers), it would let the VPS impersonate the home machine's IP to any internet destination — which is a privileged capability ISPs and IXPs actively filter for. Most VPS providers have egress filtering that drops packets whose source IP isn't on the assigned address.

    What you might be conflating this with:

    • SOCKS5 / HTTP proxy: source IP changes to VPS IP (legitimately) — already supported via Full mode + exit-node.
    • Reverse SSH tunnel: home initiates outbound to VPS, then VPS routes return traffic via the established session — that's effectively what mhrv-rs does already.

    The real problem you're describing (chatgpt/etc seeing VPS IP as flagged) is solved by rotating exit-node hosts (Deno Deploy / Replit / fly.io) rather than IP spoofing. PR #963 (utls Chrome ClientHello) addresses the JA3-fingerprint half of the problem.

    می‌بندم — not feasible architecturally. Thanks for thinking about it though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions