User reports say that tailscale works on openwrt with the static arm binary. The only extra step that's required is opkg install kmod-tun.
(This is complicated by the fact that there's more than one flavor of openwrt.)
Notes to self, looking in to how I can run OpenWRT in a VM:
https://openwrt.org/docs/guide-user/installation/openwrt_x86
https://downloads.openwrt.org/releases/19.07.3/targets/x86/64/
Yes, yes it does :)
That said, I needed opkg install ca-bundle kmod-tun on OpenWrt 19.07.4. ca-bundle is commonly installed to work from the command line though; I probably would have missed it too if I hadn't broken my firmware while experimenting and needed to reinstall.
Blog post with details and a simple init script: How I set up Tailscale on my WiFi router
@willangley, that's great, thanks!
@willangley, I pushed https://github.com/tailscale/tailscale/commit/5d8b88be8852fbdcdf90f96094549d78901ef4b1 to make things easier for people in the future too.
The new version has been tested. The installation can be used in OpenWrt R20.7.1.
But the open boot and pre-authentication keys are missing
Start and start also need script operation, can this be integrated;
It's rather painless to package for OpenWRT, I'm happy to assist.
A web interface like luci-app-tailscale would be an amazing carrot for adoption.
https://openwrt.org/docs/guide-developer/packages
https://openwrt.org/docs/guide-developer/helloworld/chapter3
There is no problem with the installation. It is mainly the integration of startup after boot, and I hope it can be integrated into the package. After installation, it can be started
``#!/bin/sh /etc/rc.common
USE_PROCD=1
START=80
start_service() {
procd_open_instance
procd_set_param command /usr/sbin/tailscaled
# Set the port to listen on for incoming VPN packets.
# Remote nodes will automatically be informed about the new port number,
# but you might want to configure this in order to set external firewall
# settings.
procd_append_param command --port 41641
# OpenWRT /var is a symlink to /tmp, so write persistent state elsewhere.
procd_append_param command --state /etc/tailscale/tailscaled.state
procd_set_param respawn
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
stop_service() {
/usr/sbin/tailscaled --cleanup
}
https://willangley.org/how-i-set-up-tailscale-on-my-wifi-router/
This service code is integrated into the application
Most helpful comment
@willangley, I pushed https://github.com/tailscale/tailscale/commit/5d8b88be8852fbdcdf90f96094549d78901ef4b1 to make things easier for people in the future too.