3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenWrt 用の Tailscale 自動アップデートスクリプトを作成した件

Last updated at Posted at 2024-05-07

2024/10/12 追記

@Bacalhau 氏がイチから作り直した良いスクリプトを公開しております。
圧倒的に参考になると思いますので、本記事の拙いスクリプトなんて見ずに、 ぜひご閲覧を。

P.S.
今になるまで気づきませんでしたが、本記事に頂いたコメントへ返信したつもりができておらず、長い沈黙を作ってしまいすみません。



はじめに

元を辿れば2022年に作成した話ですが、便利なものを共有しないのは勿体ないと思ったので記事にしておきます。

経緯

OpenWrtでTailscaleを使用する場合、opkgで取得できるパッケージではバージョンが古いため、バイナリを直接稼働させるかと思います。
バイナリの場合は、更新を手動で行う必要がありますが、Tailscaleはそこそこの頻度で更新があり、定期実行できるようにしたかったので作成しました。

使い方

下記にあるスクリプトのコードを保存して、アーキテクチャとTailscale起動オプションを環境に合わせて変更し、cronにて定期実行してください。

curlパッケージが必要なので、別途インストールしてください。

ソースコード

技術的な話

  • OpenWrtの既定シェルはashなので、それに準拠するよう作成しました
  • OpenWrtは多種多様な機種で動作し、バージョンによって仕様変更も大きいため、スクリプト冒頭においてアーキテクチャとTailscaleの起動オプションを設定できるようにしています
  • 最新バージョンの確認には GitHub API を、バイナリのダウンロードは公式のパッケージ配布サイトより取得しています
    • たまに最新バージョンのバイナリは配布されてないことがあるので、ダウンロードが可能であるかの確認もしています

あとがき

このスクリプトで約1年間は稼働しておりますが、問題なく自動更新できております。
何かございましたら、お気軽にコメントしてください。

3
2
8

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?