# Script: Update Tailscale on (nearly) all devices

**URL:** <https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582>\
**Category:** Router\
**Tags:** KB\
**Created:** [January 21, 2024, 12:27pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582 "2024-01-21T12:27:43Z")\
**Posts on this page:** 20\
**Page:** 10

<div class="post-metadata">

**Author:** ![qubenpete](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/q/bb73d2/32.png) [@qubenpete](https://forum.gl-inet.com/u/qubenpete)\
**Post date:** [September 12, 2024, 7:08pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/193 "2024-09-12T19:08:28Z")

</div>

eventually this worked:

```auto
opkg remove tailscale --force-depends
opkg install tailscale
sudo ./update-tailscale.sh

```

---

<div class="post-metadata">

**Author:** ![admon](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/admon/32/32880_2.png) [@admon](https://forum.gl-inet.com/u/admon)\
**Post date:** [September 12, 2024, 7:10pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/194 "2024-09-12T19:10:04Z")

</div>

Great to hear!

`sudo` isn't necessary on OpenWrt, btw. Everything runs as root by default.

---

<div class="post-metadata">

**Author:** ![qubenpete](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/q/bb73d2/32.png) [@qubenpete](https://forum.gl-inet.com/u/qubenpete)\
**Post date:** [September 12, 2024, 7:11pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/195 "2024-09-12T19:11:33Z")

</div>

right, of course..... 🤦

---

<div class="post-metadata">

**Author:** ![dunsky](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/dunsky/32/17717_2.png) [@dunsky](https://forum.gl-inet.com/u/dunsky)\
**Post date:** [September 13, 2024, 9:35am UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/196 "2024-09-13T09:35:37Z")

</div>

Thanks a lot for your work! I can confirm that this script not only working on my GL-MT3000 but also on my three Xiaomi AX3000T OpenWRT 23.05.2 routers. It also frees up some space greatly since non-tiny Tailscale.ipk is about 10mb but your script is updating it to tiny version of Tailscale.

---

<div class="post-metadata">

**Author:** ![MucFlyer](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/m/67e7ee/32.png) [@MucFlyer](https://forum.gl-inet.com/u/MucFlyer)\
**Post date:** [September 20, 2024, 11:24am UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/197 "2024-09-20T11:24:23Z")

</div>

Script also doesn't like GL-E750 :

```auto
root@GL-E750:~# uname -a
Linux GL-E750 5.10.176 #0 Sun Apr 9 12:27:46 2023 mips GNU/Linux
root@GL-E750:~# grep 'machine' /proc/cpuinfo | awk -F ': ' '{print $2}'
GL.iNet GL-E750
root@GL-E750:~#

```

But :

```auto
[2024-09-20 13:19:16] [→] Checking if prerequisites are met
[2024-09-20 13:19:16] [✓] Firmware version: 4
[2024-09-20 13:19:16] [✓] Architecture: mips
[2024-09-20 13:19:16] [✓] Available space: 82 MB
[2024-09-20 13:19:16] [!] xz is not installed. We can install it for you later.
[2024-09-20 13:19:16] [✓] Prerequisites are met.

```

---

<div class="post-metadata">

**Author:** ![Dorin](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/d/df788c/32.png) [@Dorin](https://forum.gl-inet.com/u/Dorin)\
**Post date:** [September 20, 2024, 4:33pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/198 "2024-09-20T16:33:38Z")

</div>

Hi Admon,

I checked your script on GL-E750 V2 (Mudi), it downloads an install version which crashes. Do you know any version of updated Tailscale which can run on this device (without replacing the entire firmware...)

---

<div class="post-metadata">

**Author:** ![admon](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/admon/32/32880_2.png) [@admon](https://forum.gl-inet.com/u/admon)\
**Post date:** [September 20, 2024, 5:40pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/199 "2024-09-20T17:40:37Z")

</div>

@Dorin@MucFlyer  
I don't own a Mudi and can't test - but I assumed it might use "mipsel" instead of "mips".  
Could you please re-try the newest version of the script?

---

<div class="post-metadata">

**Author:** ![Dorin](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/d/df788c/32.png) [@Dorin](https://forum.gl-inet.com/u/Dorin)\
**Post date:** [September 24, 2024, 6:43pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/202 "2024-09-24T18:43:00Z")

</div>

I wrote [a post](https://hetz.me/fudpi), mentioning your update script as well as the official binaries from Tailscale with some simple explanation.

---

<div class="post-metadata">

**Author:** ![mrjware](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/m/2bfe46/32.png) [@mrjware](https://forum.gl-inet.com/u/mrjware)\
**Post date:** [October 12, 2024, 4:50pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/203 "2024-10-12T16:50:46Z")

</div>

Illegal instruction error on script exit

I also have a Mundi GL-E750 that failed to install. Mundi had a full factory reset just prior to running the script:

- Version4.0
- Firmware Type0319release3
- root@GL-E750:~# uname -a  
Linux GL-E750 5.10.176 #0 Sun Apr 9 12:27:46 2023 **mips** GNU/Linux  
root@GL-E750:~# grep 'machine' /proc/cpuinfo | awk -F ': ' '{print $2}'  
GL.iNet GL-E750

[2024-10-12 11:40:40] [→] Checking if prerequisites are met  
[2024-10-12 11:40:40] [✓] Firmware version: 4  
[2024-10-12 11:40:40] [✓] Architecture: mips  
[2024-10-12 11:40:40] [✓] Available space: 88 MB  
[2024-10-12 11:40:40] [!] xz is not installed. We can install it for you later.  
[2024-10-12 11:40:40] [✓] Prerequisites are met.  
┌──────────────────────────────────────────────────┐  
| Are you sure you want to continue? (y/N) |  
└──────────────────────────────────────────────────┘  
y  
[2024-10-12 11:40:47] [→] Detecting latest tiny tailscale version  
update-tailscale.sh: line 134: tailscale: not found  
[2024-10-12 11:40:48] [→] The latest tailscale version is: 1.76.0  
[2024-10-12 11:40:48] [→] Downloading latest tailscale version  
[2024-10-12 11:40:56] [→] Creating backup of tailscale config  
tar: etc/config/tailscale: No such file or directory  
tar: error exit delayed from previous errors  
[2024-10-12 11:40:56] [✓] Backup created: /root/tailscale\_config\_backup/2024-10-12\_11-40-56.tar.gz  
[2024-10-12 11:40:56] [→] The binaries will not be backed up, you can restore them by using the --restore flag.  
[2024-10-12 11:40:56] [→] Stopping tailscale  
[2024-10-12 11:41:01] [→] Moving tailscale to /usr/sbin  
[2024-10-12 11:41:01] [→] Removing temporary files  
[2024-10-12 11:41:01] [→] Modifying gl\_tailscale script to work with the new tailscale version  
sed: /usr/bin/gl\_tailscale: No such file or directory  
[2024-10-12 11:41:01] [✓] gl\_tailscale script modified successfully  
[2024-10-12 11:41:01] [→] Restarting tailscale  
┌────────────────────────────────────────────────────────────────────────────────┐  
| The update was successful. Do you want to make the installation permanent? |  
| This will make your tailscale installation persistent over firmware upgrades. |  
| Please note that this is not officially supported by GL.iNet. |  
| It could lead to issues, even if not likely. Just keep that in mind. |  
| In worst case, you might need to remove the config from /etc/sysupgrade.conf |  
└────────────────────────────────────────────────────────────────────────────────┘

> Do you want to make the installation permanent? (y/N)  
> y  
> [2024-10-12 11:41:04] [→] Making installation permanent  
> [2024-10-12 11:41:05] [→] Modifying /etc/sysupgrade.conf  
> [2024-10-12 11:41:05] [✓] Script finished successfully. The new tailscale version (software, daemon) is:  
> Illegal instruction  
> Illegal instruction

---

<div class="post-metadata">

**Author:** ![admon](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/admon/32/32880_2.png) [@admon](https://forum.gl-inet.com/u/admon)\
**Post date:** [October 12, 2024, 4:52pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/204 "2024-10-12T16:52:11Z")

</div>

Mudi is unfortunately not supported yet, I am sorry ☹

---

<div class="post-metadata">

**Author:** ![notagolfer](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/n/87869e/32.png) [@notagolfer](https://forum.gl-inet.com/u/notagolfer)\
**Post date:** [October 12, 2024, 7:34pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/205 "2024-10-12T19:34:44Z")

</div>

Just wanted to say thank you to @admon for writing and maintaining the script!

---

<div class="post-metadata">

**Author:** ![kaz050457](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/k/d78d45/32.png) [@kaz050457](https://forum.gl-inet.com/u/kaz050457)\
**Post date:** [October 12, 2024, 11:40pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/206 "2024-10-12T23:40:00Z")

</div>

Hi @admon do you have script like this on zerotier? Gl-zerotier version 1.10 latest version is 1.14.

---

<div class="post-metadata">

**Author:** ![admon](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/admon/32/32880_2.png) [@admon](https://forum.gl-inet.com/u/admon)\
**Post date:** [October 13, 2024, 6:41am UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/207 "2024-10-13T06:41:39Z")

</div>

Unfortunately not, I am sorry.

---

<div class="post-metadata">

**Author:** ![mrjware](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/m/2bfe46/32.png) [@mrjware](https://forum.gl-inet.com/u/mrjware)\
**Post date:** [October 14, 2024, 4:44pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/208 "2024-10-14T16:44:42Z")

</div>

No worries, I am happy to setup SSH/GUI access if you would like to remote in and review what it might take to make it work.

---

<div class="post-metadata">

**Author:** ![admon](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/admon/32/32880_2.png) [@admon](https://forum.gl-inet.com/u/admon)\
**Post date:** [October 14, 2024, 4:45pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/209 "2024-10-14T16:45:35Z")

</div>

I know the issue, I am just not able to build a working version without having hands on.  
Maybe I will buy a MudiV2 in future and try it.

---

<div class="post-metadata">

**Author:** ![ngtimofeev](https://forum-assets.gl-inet.com/letter_avatar_proxy/v4/letter/n/c67d28/32.png) [@ngtimofeev](https://forum.gl-inet.com/u/ngtimofeev)\
**Post date:** [October 25, 2024, 3:27pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/210 "2024-10-25T15:27:46Z")

</div>

Hi Admon!

Good job, script worked well on my Brume2.  
However, when I tried to update Tailscale on Mango router (GL-MT300N-V2) it didn't work.  
Most probably because Mango has mipsle (MIPS 32-bit little-endian) architecture.  
I've checked Router original files (v1.32.3-1) with Cygwin:

 ![2024-10-25_105953](https://forum-static.gl-inet.com/original/3X/c/e/ce0108f834c881f76c028da6995069a275f43187.jpeg)

I managed to update it manually using these binaries:

- mipsle: [tailscale\_1.76.1\_mipsle.tgz](https://pkgs.tailscale.com/stable/tailscale_1.76.1_mipsle.tgz)

---

<div class="post-metadata">

**Author:** ![admon](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/admon/32/32880_2.png) [@admon](https://forum.gl-inet.com/u/admon)\
**Post date:** [October 25, 2024, 5:41pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/211 "2024-10-25T17:41:32Z")

</div>

Thanks for your information, I added support for the Mango as well 🙂

---

<div class="post-metadata">

**Author:** ![glinoob](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/glinoob/32/13899_2.png) [@glinoob](https://forum.gl-inet.com/u/glinoob)\
**Post date:** [October 31, 2024, 11:32pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/212 "2024-10-31T23:32:23Z")

</div>

Hi, thanks for your effort with this.

 ![image](https://forum-static.gl-inet.com/original/3X/c/d/cd2d1b6b815e58b77c044ef1e5f308924313c54f.png)

Is `ts.net lan` an expected, non-problematic value for this field after running this script? I didn't realize more than one suffix could live in that field..?

---

<div class="post-metadata">

**Author:** ![admon](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/admon/32/32880_2.png) [@admon](https://forum.gl-inet.com/u/admon)\
**Post date:** [November 1, 2024, 7:31am UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/213 "2024-11-01T07:31:46Z")

</div>

My script does not modify this so I can't tell. Must be something you added by yourself.

---

<div class="post-metadata">

**Author:** ![glinoob](https://forum-assets.gl-inet.com/user_avatar/forum.gl-inet.com/glinoob/32/13899_2.png) [@glinoob](https://forum.gl-inet.com/u/glinoob)\
**Post date:** [November 1, 2024, 9:15pm UTC](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582/214 "2024-11-01T21:15:04Z")

</div>

I'm almost certain I didn't put `ts.net` in myself, but I can't prove it because my memory is Swiss cheese. I had to factory reset one of my routers and will be installing Tailscale and updating via your script, I'll let you know if it shows up again.

Edit: It's also set like that on my Beryl AX - I may be only 92% sure I didn't set that myself on one device, but I'm like 99.8% sure I didn't set it myself on two of them.

Am I correct in thinking that field can't normally contain a space-separated list of values?

[Previous page](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582.md?page=9)

[Next page](https://forum.gl-inet.com/t/script-update-tailscale-on-nearly-all-devices/37582.md?page=11)
