Skip to content
Fast HTTP (L7) and TCP (L4) tunnels written in Go
Go Shell Makefile
Branch: master
Clone or download
alexellis Add packet as provider
This commit adds packet.com as a provisioner which is already
available in the upstream package, but wasn't exposed via flags
or code. Tested e2e with the ewr1 region including create and
delete.

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
Latest commit 59ba2a6 Nov 10, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
ci
cmd Add packet as provider Nov 10, 2019
pkg
vendor Add packet as provider Nov 10, 2019
.DEREK.yml Update .DEREK.yml Nov 7, 2019
.gitignore Add create command Oct 29, 2019
.travis.yml Fix typo Oct 29, 2019
Gopkg.lock
Gopkg.toml Update Scaleway provisioner Nov 4, 2019
LICENSE Initial commit Oct 29, 2019
Makefile Add create command Oct 29, 2019
README.md Add Civo as a provisioner Nov 7, 2019
get.sh Add get script Oct 29, 2019
main.go

README.md

inletsctl

Build Status

Provision cloud hosts as exit-nodes for inlets with a single command.

Status

Completed:

  • DigitalOcean support
  • Scaleway support
  • inletsctl delete command
  • Add Civo.com
  • Add poll interval --poll 5s for use with Civo that applies rate-limiting

Pending:

  • Add CLI flags to support Packet.com

Related projects

Inlets is listed on the Cloud Native Landscape as a Service Proxy

  • inlets - open-source L7 HTTP tunnel and reverse proxy
  • inlets-pro - L4 TCP load-balancer
  • inlets-operator - deep integration for inlets in Kubernetes, expose Service type LoadBalancer
  • inletsctl - CLI tool to provision exit-nodes for use with inlets or inlets-pro

Getting inletsctl

curl -sLSf https://raw.githubusercontent.com/inlets/inletsctl/master/get.sh | sudo sh

Costs for exit-nodes

See notes for inlets-operator

Examples

Examples on how to run inletsctl to create an exit node.

Pre-reqs:

  • You will need inlets on your client

Workflow:

  • After running inletsctl create, the IP address of your exit-node will be returned along with a sample inlets client command, for instance:

    Inlets OSS exit-node summary:
      IP: 209.97.131.180
      Auth-token: qFyFzKYQvFSgtl7TM76p5SwWpmHaQGMT405HajiMzIYmwYVgJt1lvAMXfV4S3KlS
    
    Command:
      export UPSTREAM=http://127.0.0.1:8000
      inlets client --remote "ws://209.97.131.180:8080" \
            --token "qFyFzKYQvFSgtl7TM76p5SwWpmHaQGMT405HajiMzIYmwYVgJt1lvAMXfV4S3KlS" \
            --upstream $UPSTREAM
  • You can delete your exit node using the id given by your cloud provider

    inletsctl delete --access-token-file ~/Downloads/do-access-token --id 164857028

Example usage with DigitalOcean

inletsctl create --access-token-file $HOME/Downloads/do-access-token \
  --region="nyc1"

Example with inlets-pro

Let's say we want to forward TCP connections to the IP 192.168.0.26 within our client's network, using inlets-pro, we'd run this using the --remote-tcp flag.

inletsctl create digitalocean --access-token-file ~/Downloads/do-access-token \
  --remote-tcp 192.168.0.26

Example usage with Scaleway

# Obtain from your Scaleway dashboard:
export TOKEN=""
export SECRET_KEY=""
export ORG_ID=""

inletsctl create --provider scaleway \
  --access-token $TOKEN
  --secret-key $SECRET_KEY --organisation-id $ORG_ID

The region is hard-coded to France / Paris 1.

Contributing

Add another cloud provisioner

Add a provisioner by sending a PR to the inlets-operator's provision package, once released, you can vendor the package here and add any flags that are required.

Note: only clouds that support cloud-init can be added

License

MIT

You can’t perform that action at this time.