Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/faejr/tnnlink
Simple HTTP tunnel using SSH remote port forwarding
https://github.com/faejr/tnnlink
github golang hacktoberfest ngrok ssh tunnel
Last synced: 3 months ago
JSON representation
Simple HTTP tunnel using SSH remote port forwarding
- Host: GitHub
- URL: https://github.com/faejr/tnnlink
- Owner: faejr
- License: gpl-3.0
- Archived: true
- Created: 2018-04-08T13:33:32.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-05-08T17:43:58.000Z (over 3 years ago)
- Last Synced: 2024-06-16T05:28:30.996Z (7 months ago)
- Topics: github, golang, hacktoberfest, ngrok, ssh, tunnel
- Language: Go
- Homepage:
- Size: 193 KB
- Stars: 23
- Watchers: 1
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-network-stuff - **15**星
README
# tnnlink
[![Build Status](https://travis-ci.org/LiljebergXYZ/tnnlink.svg?branch=master)](https://travis-ci.org/LiljebergXYZ/tnnlink)Simple HTTP tunneling using SSH, authorized using github public keys.
Self-hosted ngrok alternative.
Visit [tnnl.ink](https://tnnl.ink) to see it in action.
## Connecting
```bash
ssh @localhost -p 2222 -R 80:localhost:
```## Planned features (no order)
* TCP tunnel
* Custom sub-domain## Dependencies
* [github.com/pelletier/go-toml](github.com/pelletier/go-toml)## Usage
1. Install [Go](https://golang.org/doc/install)
2. Get the code
```bash
go get github.com/liljebergxyz/tnnlink
```
3. Compile & Install
```
go install github.com/liljebergxyz/tnnlink
```
4. Generate a passwordless host key
```
ssh-keygen -t rsa -b 4096 -f host_rsa
```
5. Create a config file
```
[http]
addr = ":8080"
sslAddr = ":4433"
mainDomain = ".localtest.me/"
ssl = false
cert = "./cert.pem"
key = "./key.pem"[ssh]
addr = ":2222"
key = "./host_rsa"
whitelist = ""
```
6. Launch
```
tnnlink --config="./config.toml"
```### Explanation of whitelist
The whitelist config entry is a comma-seperated list of github usernames## Notes
1. This software has not been audited in anyway and was a fun weekend project I intend to continue supporting, but it is my first time writing a full application in Go for actual every-day use.
2. SSL is not activated by default and you are expected to generate a letsencrypt wildcard certificate in order to utilize it