You are browsing as a guest. Sign up (or log in) to start making projects!

Marten

  • 7 Devlogs
  • 24 Total hours

Free reverse tunnel (like ngrok) written in Go

Open comments for this post

49m 48s logged

Law update

I added the Terms of Service page to withdraw any responsibility. I don’t want to go to jail if someone uses marten for some illegal stuff :cryin: :cryin:

Also, fixed some minor bugs in a client (like incorrect url for tcp connections)

0
0
4
Ship #1

Marten is ready for its first release!

I’ve created a free, open-source reverse tunnel tool for both raw TCP and HTTP traffic, with everything secured using TLS.
This is definitely not the final version. There’s still so much more to add, like accounts, tunnel management and statistics. Stay tuned for more updates!

  • 6 devlogs
  • 23h
Try project → See source code →
Open comments for this post

52m logged

Website update

Made the /status page actually useful, showing the time since the start and the number of active tunnels.


btw, this page helped me to detect a memory leak of the http listeners :p
Old listeners weren’t closed when their control connection dropped, so they would accumulate and crash the server.

0
0
6
Open comments for this post

8h 6m 58s logged

Huge update

HTTPS is here!

From now on, all http connections are redirected from random subdomains. They are also secured with tls, thanks to cloudflare.

Updated website

Added /docs/ and /status/ pages on my website.

0
0
5
Open comments for this post

3h 45m 56s logged

Now we have a mascot! (and a landing page)

Designed a polygonal vector logo that resembles a marten (what a coincidence)

What was made

Built a minimalistic landing page with the Astro framework. There’s
not much here for now, but just the basic info.

What’s next?

I want to add http support with random address assignment, so
websites can be served on port 443 with https.

0
0
4
Open comments for this post

7h 7m 23s logged

Yay, it’s working

I’ve finally managed to finish the TCP tunnel part.

As always, I overengineered at least something. This time, it was the deployment. Now every push to main starts a GitHub Actions workflow that automatically builds and deploys the server. It was fun, but it took a pretty long time to
figure out CI/CD for the first time :D

0
0
7
Open comments for this post

2h 26m 31s logged

What is Marten?

Marten is a free reverse tunnel (just like ngrok) that I’m building with Go. It’s my first project in Go, so it’s also a good way to learn the language itself :p

My TCP design and a first connection

Designed the connection process (for tcp only) and build a simple server and a client that can send messages to each other!

Big thanks to bore for inspiration on how to do this.

0
0
6

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…