Tailscale/golink: A private shortlink service for tailnets

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Nebula

    A scalable overlay networking tool with a focus on performance, simplicity and security

  • nebula[0] may be interesting; you can allow list connectivity for specific groups, all burned into the cert used to join the network. It uses some NAT hole punching orchestration to accomplish connectivity between hosts without opening ports.

    The main painful thing I've found has been cert management. PKI, as usual, is not a solved problem.

    I've managed to do some fun stuff using salt + nebula on the hobby side.

    [0] https://github.com/slackhq/nebula

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • closure-library

    Google's common JavaScript library

  • This made me wonder what the oldest go-link (from inside Google) discoverable on the public internet is. So far I've found one going back to 2013 (but there should definitely be some from the mid 2000s): https://github.com/google/closure-library/blame/11ed104958a2...

    (Fun fact: go-links are so critical to Google ops, that they're expected to be accessible in a "everything is down" scenario.)

  • cjdns

    An encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for routing.

  • From a purely networking perspective, there are far better solutions than tailscale.

    Have a look at full mesh VPNs like:

    https://github.com/cjdelisle/cjdns

    https://github.com/yggdrasil-network/yggdrasil-go

    https://github.com/gsliepen/tinc

    https://github.com/costela/wesher

    These build actual mesh networks where every node is equal and can serve as a router for other nodes to resolve difficult network topologies (where some nodes might not be connected to the internet, but do have connections to other nodes with an internet connection).

    Sending data through multiple routers is also possible. They also deal with nodes disappearing and change routes accordingly.

    tailscale (and similar solutions like netbird) still use a bunch of "proxy servers" for that. You can set them up on intermediate nodes, but that have to be dealt with manually (and you get two kinds of nodes).

  • yggdrasil-go

    An experiment in scalable routing as an encrypted IPv6 overlay network

  • From a purely networking perspective, there are far better solutions than tailscale.

    Have a look at full mesh VPNs like:

    https://github.com/cjdelisle/cjdns

    https://github.com/yggdrasil-network/yggdrasil-go

    https://github.com/gsliepen/tinc

    https://github.com/costela/wesher

    These build actual mesh networks where every node is equal and can serve as a router for other nodes to resolve difficult network topologies (where some nodes might not be connected to the internet, but do have connections to other nodes with an internet connection).

    Sending data through multiple routers is also possible. They also deal with nodes disappearing and change routes accordingly.

    tailscale (and similar solutions like netbird) still use a bunch of "proxy servers" for that. You can set them up on intermediate nodes, but that have to be dealt with manually (and you get two kinds of nodes).

  • tinc

    a VPN daemon

  • From a purely networking perspective, there are far better solutions than tailscale.

    Have a look at full mesh VPNs like:

    https://github.com/cjdelisle/cjdns

    https://github.com/yggdrasil-network/yggdrasil-go

    https://github.com/gsliepen/tinc

    https://github.com/costela/wesher

    These build actual mesh networks where every node is equal and can serve as a router for other nodes to resolve difficult network topologies (where some nodes might not be connected to the internet, but do have connections to other nodes with an internet connection).

    Sending data through multiple routers is also possible. They also deal with nodes disappearing and change routes accordingly.

    tailscale (and similar solutions like netbird) still use a bunch of "proxy servers" for that. You can set them up on intermediate nodes, but that have to be dealt with manually (and you get two kinds of nodes).

  • wesher

    wireguard overlay mesh network manager

  • From a purely networking perspective, there are far better solutions than tailscale.

    Have a look at full mesh VPNs like:

    https://github.com/cjdelisle/cjdns

    https://github.com/yggdrasil-network/yggdrasil-go

    https://github.com/gsliepen/tinc

    https://github.com/costela/wesher

    These build actual mesh networks where every node is equal and can serve as a router for other nodes to resolve difficult network topologies (where some nodes might not be connected to the internet, but do have connections to other nodes with an internet connection).

    Sending data through multiple routers is also possible. They also deal with nodes disappearing and change routes accordingly.

    tailscale (and similar solutions like netbird) still use a bunch of "proxy servers" for that. You can set them up on intermediate nodes, but that have to be dealt with manually (and you get two kinds of nodes).

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • go

    Another Google-like Go short link service (by kellegous)

  • Sorry, Kelly Knorton, I didn't realize his username on here and github is kellegous not knorton.

    https://github.com/kellegous/go

  • f5go

    The F5 Go Redirector

  • I wrote the one for F5, in 2011 I believe. I didn't know specifically about Google's at the time, but the general concept was in the air. I was inspired by the old-schoool CompuServe (or was it AOL?) "go " command. Bill Booth worked to get f5go open-sourced a few years after that [1].

    And I'm glad you appreciated f5go's additional features; my personal favorite is the "lists" feature: a single go/ link can become a list of links very easily. Very useful for gathering research on a topic into a single place. I keep wanting to setup a personal f5go server so I can share short mnemonic links that might be lists lke this.

    [1] https://github.com/f5devcentral/f5go

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts