inletsctl

在云端创建入口隧道服务器。(Create inlets tunnel servers in the cloud)

Github星跟蹤圖

inletsctl

Build Status
License: MIT
Go Report Card
Documentation
Downloads

inletsctl automates the task of creating an exit-node on cloud infrastructure.
Once provisioned, you'll receive a command to connect with. You can use this
tool whether you want to use inlets or inlets-pro for L4 TCP.

It needs to exist as a separate binary and CLI, so that the core inlets tool does not become bloated. The EC2 and AWS SDKs for Golang are very heavy-weight and result in a binary of over 30MB vs the small and nimble inlets and inlets-pro binaries.

Conceptual diagram

Webhook example with Inlets OSS

Case-study with receiving webhooks from https://blog.alexellis.io/webhooks-are-great-when-you-can-get-them/

Use-cases:

  • Setup L7 HTTP and L4 TCP tunnels for your local services using inlets with inletsctl create
  • Port-forward services your local Kubernetes cluster using inletsctl kfwd

Video demo

asciicast

In the demo we:

  • Create a cloud host on DigitalOcean with a single command
  • Run a local Python HTTP server
  • Connect our inlets client
  • Access the Python HTTP server via the DigitalOcean Public IP
  • Use the CLI to delete the host

inletsctl is the quickest and easiest way to automate both inlets and inlets-pro, whilst retaining complete control.

Features/backlog

Completed:

  • Provisioner: DigitalOcean
  • Provisioner: Scaleway
  • Provisioner: Civo.com support
  • Provisioner: Google Cloud
  • Provisioner: Packet.com
  • Provisioner: AWS EC2
  • Provisioner: Azure
  • inletsctl delete command
  • Add poll interval --poll 5s for use with Civo that applies rate-limiting
  • Install inlets/inlets-pro via inletsctl download #12

Pending:

  • Enable inletsctl delete via --ip vs. instance ID #2
  • Enable inlets-pro and TCP with inletsctl kfwd #13
  • Generate systemd unit files for tunnels

inlets projects

Inlets is a Cloud Native Tunnel and is listed on the Cloud Native Landscape under Service Proxies.

  • inlets - Cloud Native Tunnel for L7 / HTTP traffic written in Go
  • inlets-pro - Cloud Native Tunnel for L4 TCP
  • inlets-operator - Public IPs for your private Kubernetes Services and CRD
  • inletsctl - Automate the cloud for fast HTTP (L7) and TCP (L4) tunnels

How much will this cost?

The inletsctl create command will provision a cloud host with the provider and region of your choice and then start running inlets server. The host is configured with the standard VM image for Ubuntu or Debian Linux and inlets is installed via userdata/cloud-init.

The provision package contains defaults for OS images to use and for cloud host plans and sizing. You'll find all available options on inletsctl create --help

The cost for cloud hosts varies depending on a number of factors such as the region, bandwidth used, and so forth. A rough estimation is that it could cost around 5 USD / month to host a VM on for DigitalOcean, Civo, or Scaleway. The VM is required to provide your public IP. Some hosting providers supply credits and a free-tier such as GCE and AWS.

See the pricing grid on the inlets-operator for a detailed breakdown.

inletsctl does not automatically delete your exit nodes (read cloud hosts), so you'll need to do that in your dashboard or via inletsctl delete when you are done.

Install inletsctl

# Install to local directory (and for Windows users)
curl -sLSf https://inletsctl.inlets.dev

主要指標

概覽
名稱與所有者inlets/inletsctl
主編程語言Go
編程語言Go (語言數: 3)
平台BSD, Linux, Mac, Windows
許可證MIT License
所有者活动
創建於2019-10-29 09:25:31
推送於2025-03-30 20:06:22
最后一次提交2025-03-30 21:05:39
發布數83
最新版本名稱0.8.34 (發布於 )
第一版名稱0.1.0 (發布於 )
用户参与
星數474
關注者數12
派生數60
提交數239
已啟用問題?
問題數59
打開的問題數14
拉請求數65
打開的拉請求數1
關閉的拉請求數8
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?