Drop #154 (2022-12-12): Twelve Days of [Quick] Drops • Day 01

ngrok-rs; ngrok-go; ngrok-js

Between tying up loose year-ends at $WORK and preparing to spend some significant calendar units with .1, time and I are not exactly on friendly terms. I’m likely going to have to abandon Advent of Code and will also be shipping short drops until Christmas, picking up and extending drops from previous editions and only super-light commentary. This means no weekend projects, but it does mean weekend drops! Normal drops are 5-10m reads, these will likely all be ≤3m.

Many thanks to the [I cannot believe it is] hundreds of folks who open this newsletter each day. Y’all have truly made this year much brighter for me.

green pine tree with fireflies

On The First Day Of Quick Drops 🎅🏽hrbrmstr🎅🏽 Gave To Me…

🎶 A trio of ngrok libraries… 🎶

ICYMI: we’ve talked about ngrok in previous editions. TLDR:

ngrok is a globally distributed reverse proxy commonly used for quickly getting a public URL to a service running inside a private network, such as on your local laptop. The ngrok agent is usually deployed inside a private network and is used to communicate with the ngrok cloud service.

We don’t need no stinkin’ apps with [two of] these three libraries:

ngrok-rs

This super new Rust library aims to replicate what’s available in the next two sections: exfiltrate data setup legit ngrok tunnels from within your applications.

It’s a tad rough around the edges, so, perhaps use one of the other resources and tap the GH “Watch” button on this one (or help out with the project)!

ngrok-go

This Golang version is not as new, ships with batteries included, and works like a charm (I’ve had to re-up my Golang skills since joining $WORK this year, so I play with Golang quite a bit on the side to keep from being, heh, rusty).

It even has pretty docs.

ngrok-js

Why let Go and Rust have all the fun?

If JavaScript is more up your chimney (Santa ref, but it sounds like it could be bad slang in some locales), then this JS wrapper should help get you started.

This one does an ngrok install for you (so it needs that around to work), and the folks behind the library have a helpful guide that’ll keep ngrok running.

The documentation is robust, and the interface does what it says on the tin (I do try to test out every recommendation, which eats into said scant time). Hey, if I can make it work, anyone can.

FIN

You can ho ho hope I’ll keep the holiday puns in check, but there’s no guarantee! ☮

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.