This is a silly little project that gives you free egress (I think? Someone fact-check that, please) from your webapp-hosting EC2 instances via AWS Systems Manager Session Manager and Tailscale. Session Manager streams are limited to about 10mbit.
Why are you using this? Don't.
# run this somewhere with cheap egress, e.g. outside AWS
go build
./freedata i-instanceid 8080 # if your web app is listening on port 8080
Here's a really half-baked sequence diagram.
sequenceDiagram
participant B as Browser
participant T as Tailscale
participant O as Outside machine
participant S as Session Manager
participant E as EC2 Instance
E->>S: Register instance at launch
O->>T: Launch Tailscale Funnel
B->>T: Browse to public Tailscale funnel domain
T->>O: Receive Accept()'d net.Conn from browser
O->>S: Dial port 8080 on EC2 Instance
S->>E: Send port-forwarded packets