A deployable proxy server and tunnel written in go

Overview

Tunnelify

Tunnelify is a deployable proxy server and tunnel written in go

Installing | Quickstart | Configuration

Installing

Direct download

You can install tunnelify by manually downloading the executable for your operating system via the releases page with:

$ wget https://github.com/kofoworola/tunnelify/releases/download/v0.1.0/tunnelify_0.1.0_mac_x86_64.tar.gz

Then extract it to your preferred location with:

$ tar -xf https://github.com/kofoworola/tunnelify/releases/download/v0.1.0/tunnelify_0.1.0_mac_x86_64.tar.gz

Using go get

You can use go get to compile and install tunnelify directly to your $GOPATH/bin

$ go get github.com/kofoworola/tunnelify

Quickstart

After installing tunnelify, run this to start up the proxy:

$ tunnelify start <PATH TO CONFIG FILE>

Now the proxy is listening on whatever value is set in your config's server.host value and is proxying every request sent through it.

Configuration

Recommended configuration format is json, but tunnelify also supports toml and yaml. Config values can also be set via Environment variables. For example, to set the value of server.host via Environments, update the value of the SERVER_HOST; essentially replace all . in the key with _ and change to upper case.

Available config values

Name Type Description Default
debug boolean If set to true, debug log will be sent along side warning and error logs false
server.port string Port the proxy's server will listen on null
server.auth []string Array of allowed Basic authorization strings in the form user-id:password []
server.health.status int Status code to respond with when liveness checks (Get requests to server.host) are made, an empty status code means tunnelify will not respond to liveness checks nil
server.health.path string URL path to listen to for liveness checks /
server.health.body string Body of response to liveness checks ""
server.timeout duration Amount of time the proxy will attempt to establish an outbound connection for 30s
hideIP boolean Hide the IP of the source of the request false
logging []string An array of file or URL paths to write logging to (logs are written to stderr regardless []
allowedIP []string An array of IPs that should be allowed to access the server. Nil or empty means no IP filtering will be in place []
Owner
Kofo Okesola
Go developer
Kofo Okesola
Go HTTP tunnel is a reverse tunnel based on HTTP/2.

Go HTTP tunnel is a reverse tunnel based on HTTP/2. It enables you to share your localhost when you don't have a public IP.

Michal Jan Matczuk 2.9k Jun 21, 2022
A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。KCPプロトコルに基づく安全なトンネル。KCP 프로토콜을 기반으로 하는 보안 터널입니다。

Disclaimer: kcptun maintains a single website — github.com/xtaci/kcptun. Any websites other than github.com/xtaci/kcptun are not endorsed by xtaci. Re

xtaci 12.9k Jun 21, 2022
Gogrok is a self hosted, easy to use alternative to ngrok. It uses SSH as a base protocol, using channels and existing functionality to tunnel requests to an endpoint.

gogrok A simple, easy to use ngrok alternative (self hosted!) The server and client can also be easily embedded into your applications, see the 'serve

Tyler Stuyfzand 5 Jun 15, 2022
Chisel is a fast TCP/UDP tunnel, transported over HTTP, secured via SSH.

Chisel is a fast TCP/UDP tunnel, transported over HTTP, secured via SSH. Single executable including both client and server. Written in Go (golang). Chisel is mainly useful for passing through firewalls, though it can also be used to provide a secure endpoint into your network.

Jaime Pillora 7.4k Jun 29, 2022
Toy gRPC Tunnel over CloudFlare (Proof of Concept)

gun You know what it means. Guide Server Go to your domain in CloudFlare. In "Network" tab, turn on gRPC.

Qv2ray Workgroup 141 Jun 20, 2022
Simple HTTP tunnel using SSH remote port forwarding

Simple HTTP tunnel using SSH remote port forwarding

Skye L. 20 Apr 17, 2022
Cloud Native Tunnel

inlets is a Cloud Native Tunnel written in Go Expose your local endpoints to the Internet or within a remote network, without touching firewalls. Foll

inlets 8.4k Jan 4, 2022
Clash - A rule-based tunnel in Go.

Clash A rule-based tunnel in Go. Features Local HTTP/HTTPS/SOCKS server with authentication support VMess, Shadowsocks, Trojan, Snell protocol support

Dreamacro 28.5k Jun 30, 2022
A rule-based tunnel in Go with experimental features

Experimental-Clash A rule-based tunnel in Go with experimental features. Features Local HTTP/HTTPS/SOCKS server with authentication support VMess, Sha

Clash .NET 117 Jun 18, 2022
An anonymous, encrypted Point-to-Point (Layer 3) tunnel between two peers.

NKN-Link An anonymous, encrypted Point-to-Point (Layer 3) tunnel between two peers. NKN-Link Table of Contents Preface Description Install Setup Run P

HAH! Sun 7 Apr 6, 2022
HTTP tunnel over Websocket

WS PROXY This is a reverse HTTP proxy over websockets. The aim is to securely make call to internal APIs from outside. How does it works a WSP client

root.gg 77 Jun 8, 2022
An experimental Tor-Proxy serivce written in Go using Go-proxy and Go-libtor.

tor-proxy An experimental standalone tor-proxy service built with Go, using go-proxy, go-libtor and bine. This is a simple replacement to Tor's origin

Narasimha Prasanna HN 36 Jun 14, 2022
Tcp-proxy - A dead simple reverse proxy server.

tcp-proxy A proxy that forwords from a host to another. Building go build -ldflags="-X 'main.Version=$(git describe --tags $(git rev-list --tags --max

Injamul Mohammad Mollah 0 Jan 2, 2022
IP2Proxy Go package allows users to query an IP address to determine if it was being used as open proxy, web proxy, VPN anonymizer and TOR exits.

IP2Proxy Go Package This package allows user to query an IP address if it was being used as VPN anonymizer, open proxies, web proxies, Tor exits, data

IP2Location 13 Apr 16, 2022
Battlesnake-logging-proxy - A little proxy between the internet and your battlesnake

battlesnake-logging-proxy a little proxy between the internet and your battlesna

Penelope Phippen 3 Feb 11, 2022
A paywall bypassing reverse proxy and DNS server written in go 🔨💵🧱

FreeNews ?? ?? ?? A paywall bypassing reverse proxy and DNS server written in go. This project is still hard work in progress. Expect stuff to just no

fipso 10 Jun 21, 2022
“Dear Port80” is a zero-config TCP proxy server that hides SSH connection behind a HTTP server!

Dear Port80 About The Project: “Dear Port80” is a zero-config TCP proxy server that hides SSH connection behind a HTTP server! +---------------------

Abbas Gheydi 5 May 20, 2022
mt-multiserver-proxy is a reverse proxy designed for linking multiple Minetest servers together

mt-multiserver-proxy mt-multiserver-proxy is a reverse proxy designed for linking multiple Minetest servers together. It is the successor to multiserv

null 9 May 18, 2022