Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Qv2ray/gun
Toy gRPC Tunnel over CloudFlare (Proof of Concept)
https://github.com/Qv2ray/gun
cloudflare grpc grpc-go sip003 tunnel
Last synced: 2 months ago
JSON representation
Toy gRPC Tunnel over CloudFlare (Proof of Concept)
- Host: GitHub
- URL: https://github.com/Qv2ray/gun
- Owner: Qv2ray
- License: mit
- Created: 2020-12-23T23:43:40.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-06-20T14:00:50.000Z (over 2 years ago)
- Last Synced: 2024-11-10T01:13:12.690Z (3 months ago)
- Topics: cloudflare, grpc, grpc-go, sip003, tunnel
- Language: Go
- Homepage:
- Size: 97.7 KB
- Stars: 160
- Watchers: 17
- Forks: 30
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gun
![branding](branding.png)
You know what it means.
## Guide
### Server
1. Go to your domain in CloudFlare. In "Network" tab, turn on gRPC.
2. In "SSL/TLS" tab, choose "Source Servers" sub tab. Create a new certificate and save as `cert.pem` and `cert.key`.
3. In "DNS" Tab, add a record pointing to your own server. Make sure the proxy state is "Proxied".
4. Run and persist this on your server. This example will forward the inbound traffic to `127.0.0.1:8899`.
```bash
gun -mode server -local :443 -remote 127.0.0.1:8899 -cert cert.pem -key cert.key
```5. If you are using a TLS termination proxy, you can set `-cleartext` parameter to use HTTP/2 Cleartext transport
protocol.### Client
1. Assume the domain of server is `grpc.example.com`.
2. Run locally and persist. This will tunnel connections from `127.0.0.1:8899` to remote.
```bash
gun -mode client -local 127.0.0.1:8899 -remote grpc.example.com:443
```There's also a SIP003 plugin version, see it's [document](cmd/sip003/README) for instruction.
## License
~~Used to be AGPL3~~
Relicensed to MIT License.