All Projects → mmiranda → cfdtunnel

mmiranda / cfdtunnel

Licence: MIT license
A wrapper for cloudflared that manages multi clients for you

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to cfdtunnel

Zserver4d
ZServer4D 是一套从商业项目剥离而出的云服务器中间件,可以承载百万级的分布式负载服务,并且支持IoT及内网穿透
Stars: ✭ 199 (+362.79%)
Mutual labels:  tunnel
Teleconsole
Command line tool to share your UNIX terminal and forward local TCP ports to people you trust.
Stars: ✭ 2,750 (+6295.35%)
Mutual labels:  tunnel
gohide
tunnel port to port traffic over an obfuscated channel with AES-GCM encryption.
Stars: ✭ 62 (+44.19%)
Mutual labels:  tunnel
Ahri
Ahri is an intranet sharing tool. Like VPN
Stars: ✭ 205 (+376.74%)
Mutual labels:  tunnel
Fasttunnel
NAT 内网穿透 远程内网计算机 域名访问内网站点 反向代理内网服务 花生壳 端口转发 http代理 微信 小程序 expose a local server behind a NAT or firewall to the internet like ngrok and frp. NAT ssh proxy tunnel reverse-proxy
Stars: ✭ 248 (+476.74%)
Mutual labels:  tunnel
nat-tunnel
NAT Tunnel: to effortlessly serve from behind NAT
Stars: ✭ 75 (+74.42%)
Mutual labels:  tunnel
Drawbridge
manage SSH access to multiple applications/environments protected by bastion servers
Stars: ✭ 196 (+355.81%)
Mutual labels:  tunnel
wsp
HTTP tunnel over Websocket
Stars: ✭ 85 (+97.67%)
Mutual labels:  tunnel
Icmptunnel
Transparently tunnel your IP traffic through ICMP echo and reply packets.
Stars: ✭ 2,753 (+6302.33%)
Mutual labels:  tunnel
infrastructure
Flux based GitOps repository for my home lab infrastructure.
Stars: ✭ 14 (-67.44%)
Mutual labels:  cloudflared
Frpc Android
Android,安卓版frpc,一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。
Stars: ✭ 205 (+376.74%)
Mutual labels:  tunnel
Go Http Tunnel
Fast and secure tunnels over HTTP/2
Stars: ✭ 2,786 (+6379.07%)
Mutual labels:  tunnel
Ssh-Pascal
Delphi ssh library wrapping libssh2
Stars: ✭ 42 (-2.33%)
Mutual labels:  tunnel
Secure Wireguard Implementation
A guide on implementing a secure Wireguard server on OVH (or any other Debian VPS) with DNSCrypt, Port Knocking & an SSH-Honeypot
Stars: ✭ 200 (+365.12%)
Mutual labels:  tunnel
purr
Smuggle TCP connections through HTTP
Stars: ✭ 35 (-18.6%)
Mutual labels:  tunnel
Awesome Anti Gfw
突破网络审查和封锁的开源工具清单。
Stars: ✭ 198 (+360.47%)
Mutual labels:  tunnel
Clash
A rule-based tunnel in Go.
Stars: ✭ 21,929 (+50897.67%)
Mutual labels:  tunnel
webhook-tunnel
A little HTTP proxy suitable to create tunnels for webhook endpoints protected behind a firewall or a VPN
Stars: ✭ 63 (+46.51%)
Mutual labels:  tunnel
quictun
The simplest tunnel service based on QUIC.
Stars: ✭ 52 (+20.93%)
Mutual labels:  tunnel
scotty
java proxy
Stars: ✭ 44 (+2.33%)
Mutual labels:  tunnel

made-with-Go codecov https://goreportcard.com/report/github.com/mmiranda/cfdtunnel Test

Cloudflared Tunnel Wrapper

cfdtunnel is a wrapper for cloudflared access tunnel, designed to access multiple tunnels without having to worry about your cloudflared process.

Why?

To manage the cloudflared process is tedious and error prone when using multiple tunnels, leading to port conflicts, clients left running for no reason and so on.

This tool automates the following process:

cloudflared access tcp --hostname foo.bar.com --url 127.0.0.1:1234
cloudflared access tcp --hostname foo.bar2.com --url 127.0.0.1:5678
cloudflared access tcp --hostname foo.bar3.com --url 127.0.0.1:xxxx

Installation

The easiest way to install it is using Homebrew:

brew tap mmiranda/apps
brew install cfdtunnel

If you prefer, you also can download the latest binary on the release section

How does it work?

Basically this tool takes care of the cloudflared process initialization for you.

  1. Runs cloudflared based on you config ini file
  2. Runs the command you want
  3. Kills the cloudflared proccess at the end

You can use any command on top of cfdtunnel:

Kubectl

cfdtunnel --profile my-profile1 -- kubectl get namespaces

K9S

cfdtunnel --profile my-profile1 -- k9s

Configuration

Configuration is really simple, you just need to create your profiles in ~/.cfdtunnel/config

Example:

[my-profile1]
host = https://kubernetes.foo.bar.com
port = 1234
env = HTTPS_PROXY=socks5://127.0.0.1:1234
# env = OTHER=value

[my-profile2]
host = sql.foo.bar.com
# port is not necessary

Defining a port is not required, if you don't specify, cfdtunnel will launch the tunnel using the most random port 5555

Environment Variables

In case your application demands specific environment variables, cfdtunnel will make sure it is created prior to its execution. You just need to define it on config file as well.

Contributing

Contributions, issues, and feature requests are welcome!

Give a ⭐️ if you like this project!

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].