Good experience with neko remote browser

https://lemmy.world/post/30544002

Good experience with neko remote browser - Lemmy.World

I recovered from a small disaster today using the neko dockerised web-browser. I set up a remote backup with Proxmox running on a HP mini and a Synology a month ago at a friend’s house 3000 km away. I thought I’d reserved all the IP addresses, but last night the Synology IP address changed, so the NFS shares to Proxmox and Jellyfin broke. That wasn’t to hard to fix remotely, but I don’t want it to happen every time the DHCP lease expires. So now I need to log into their router and reserve the IP addresses… I can get on the local network there by ssh-ing into one of my entities (via Tailscale), but how do I get to the web interface of the router? Enter neko [https://neko.m1k1o.net/docs/v3/introduction]. It spins up a browser in a Docker container that can be accessed over a web address. So I created an LXC, installed docker and spun it up, then was able to use that to open the local-only web interface to the router. neko is intended for watch parties, so multiple people can be logged in to the same browser window at a time - there’s a toggle to take control of the window for clicks and typing, but apart from that it’s all pretty straight forward. There’s a very noticeable lag, but it got the job done. Perhaps there was an easier lighter-weight way of doing this? In the old old days there was a text browser called Lynx - so perhaps there’s some modern iteration that could have done this job?

Perhaps there was an easier lighter-weight way of doing this?

sshuttle does exactly that. It’s basically a VPN that uses SSH tunnelling. If you have a host in the same network as the target machine, and you can SSH into it, sshuttle can route all TCP traffic between you and the target (or a subnet) through the host without having to bind local ports manually.

sshuttle -r ssh_server <hosts/subnets...>

This was my first thought.

Next in line is ssh -D 9999 remotehost which opens a socks5 proxy on localhost:9999 that tunnels all connections through the remote host. This is especially rad with proxy.pac …mozilla.org/…/Proxy_Auto-Configuration_PAC_file

And next in line is ssh -L 9999:target_host:80 (or whatever) which tunnels 127.0.0.1:9999 to target_host:80.

Proxy Auto-Configuration (PAC) file - HTTP | MDN

A Proxy Auto-Configuration (PAC) file is a JavaScript function that determines whether web browser requests (HTTP, HTTPS, and FTP) go directly to the destination or are forwarded to a web proxy server. The JavaScript function contained in the PAC file defines the function:

MDN Web Docs
Oh man this looks so much simpler than having to Google/man page how to ssh tunnel every 8-10 months.