RelayGate is a Windows-first local proxy application.
It gives your browser and apps a local network control layer: blocking, routing, DNS behavior, HTTPS MITM, page rules, resource replacement, and compatible local User Scripts.
RelayGate is built for users who want more control without installing a browser extension for every feature.
RelayGate runs on your own machine.
It can work as a local proxy for browsers and apps. It can also apply local rules before traffic reaches the browser. This makes it useful for blocking, routing, DNS control, page modification, resource replacement, and compatible User Script injection.
Core proxy use does not require a browser extension.
RelayGate can help you:
- Browse through a local Windows proxy.
- Block ads, trackers, and unwanted requests.
- Modify pages and resources with local rules.
- Replace matched remote resources with local files.
- Run compatible local User Scripts, including Tampermonkey / ScriptCat style scripts.
- Use DNS cache, DNS profiles, and host-based DNS routes.
- Route selected sites through upstream proxy profiles.
- Mount remote sites under local paths.
- Use traffic scheduling for request burst control.
- Use HTTPS MITM features with a local CA.
RelayGate also includes a local web control panel and Windows tray integration for daily use.
For the full capability list, see Features.
Some RelayGate features work with normal proxy tunneling. In tunnel mode, RelayGate forwards encrypted HTTPS traffic without reading the page content.
Other features need deeper access to HTTPS pages and resources. For those features, RelayGate can use HTTPS MITM.
MITM means "man in the middle". It describes a connection where one party sits between the browser and the real website.
MITM is powerful. It is not always good by itself. Malware can abuse MITM techniques to steal data, inject content, or spy on private traffic.
MITM can also be used by local security tools, debugging tools, development proxies, parental-control tools, and traffic inspection tools when the user understands and allows it.
RelayGate uses HTTPS MITM only to provide local features such as:
- page rules
- document filtering
- ad blocking on mutable documents
- resource replacement
- compatible User Script injection
- local debugging and inspection
RelayGate is open source so users can inspect how it works.
For safety, download RelayGate only from this repository, or build it yourself from source. Do not run RelayGate binaries from unknown third-party sources.
RelayGate can run without installing a CA.
Without a trusted CA, normal tunnel proxying can still work. However, HTTPS MITM needs browser trust.
When HTTPS MITM is enabled, RelayGate creates local site certificates for your browser. Browsers will warn or reject these certificates unless they trust the RelayGate local CA.
RelayGate can generate this local CA for you.
On Windows, RelayGate can install the CA into the current user's Root certificate store. Browsers and apps that use the Windows trust store can then trust certificates generated by RelayGate.
Some browsers or apps may use their own trust store and may need separate setup.
The CA private key stays on your machine. RelayGate itself does not transmit or upload the CA private key.
The key is used only locally so RelayGate can create certificates for the local browser connection when HTTPS MITM is enabled.
Do not share it with other people. Do not upload it. Do not publish it.
For details, see HTTPS MITM And CA.
- Download RelayGate from this repository, or build it from source.
- Run
relaygate.exe. - Configure your browser to use RelayGate as a proxy:
127.0.0.1:8787
Browser-level proxy setup is recommended.
RelayGate was developed and tested mainly with Proxy SwitchyOmega 3 (ZeroOmega), but other browser proxy managers can also be used.
- Open the local control panel:
http://127.0.0.1:8787/
- Optional: install the RelayGate local CA for HTTPS MITM features.
See Browser Proxy Setup.
RelayGate may create runtime data under the directory where it runs.
User-owned data is stored under data/user/. RelayGate-generated state is
stored under data/state/. This can include local settings, logs, DNS cache,
rule data, downloaded adblock data, learned connection health, diagnostics, and HTTPS MITM CA files.
Keep runtime data private, especially CA-related files under data/state/mitm/.
For details, see Privacy And Data.
- Docs Index
- Features
- Modules
- Browser Proxy Setup
- HTTPS MITM And CA
- Usage Guide
- Configuration Guide
- Rewrite Rules
- User Script Guide
- Privacy And Data
- Known Limitations
Current limits are documented here:
- Kannagi
- I try to use simple words so more people can read this project more easily.
- For questions, suggestions, comments, or discussion, please use GitHub Issues or Discussions.
- You can write in English, Chinese, or Japanese.
RelayGate source code is licensed under MPL-2.0.
The license covers the source code. It does not grant project names, marks, or branding rights.
