ユーティリティ

[TailScale] iPhoneとLinux間でのファイル転送(TailDrop)

最近、Wiregrardの技術を使ったVPNサービスであるTailscaleに興味を持って色々触っていますがずっと課題に感じていた iPhone ⇔ Linux 間でのデータ転送を簡単に P2P で実行することとができました。TailScaleは、基本はP2PでのPVNを簡単に作ることができるサービスです。認証部分はTailScaleのサービスがGoogle認証などを促しクライアントに情報を伝達し、通信自体はP2Pで行われる形になる形式の模様です。(TailScaleは認可を担っている)

Install&Howto

この転送機能をtailscaleでは、taildrop (AirDropのもじりですね)と呼んでいます。
https://tailscale.com/kb/1106/taildrop/?tab=macos
内容はこの公式ガイドライン通りなので少しなぞって説明しておきます。

Linux

Linux側の導入は、公式ガイドに沿って実施すれば問題ありません。https://tailscale.com/download/linux 今回はマニュアルでインストールしました。プルダウンから該当するディストリビューションの種類を選んで実行します。

Linux側の注意点としては、tailscale自体が root権限で動いている点です。そのため受信したファイルは root権限のファイルとなっていまいます。接続(tailscale up)後に以下のコマンドで受信ができます。

~/D/tmp
❯❯❯ sudo tailscale file get .

上記のコマンドで受信モードになります。ディレクトリ内のファイルの権限は注意

-rw-r--r-- 1 root root 49212 1月 23 20:22 IMG_7881.PNG
-rw-r--r-- 1 root root 1293555 1月 23 20:15 IMG_7918.PNG

上記実施後、tailscale file コマンドは終了します。

P2Pと言いながらも以前に送信したものが送られてくる感じのタイミングがありました。(tailscale file get を後で実行したら)TialDrop自体のデータがどこかを経由してキャッシュしているのかそのタイミングでiPhone側から送られてきているのかちょっと未検証

iPhone

導入は以下のQRコードで読み取ったAppStoreのアプリをいれるだけす。

アプリは「VPN」アプリとして登録されますので、「設定」→「VPN」でON/OFFすることができます。他のVPNアプリと違って右上にvpnのマークが出てこないため接続されていることを認識しづらさがありますが基本的には使い方は同じで利用したいときだけONにしておけばよいです。
TailDropのやり方は、通常のアプリ共有と同じ方法でできます。複数のファイルを一度に送ることもできますので非常に便利

https://tailscale.com/kb/1106/taildrop/iphone-to-mac.mp4

注意点

便利なtailscaleですが、ローカルのデーモンは root権限で動作します。このため認可を行っているtailscaleやローカルのデーモンのセキュリティホールなどが見つかった場合には非常に危険な動作となります。これらのことを理解したうえで、なるべくであればモジュールのUpdateなどは毎日行う事ができる環境のマシンに導入することを強くおすすめします。

今時のLoopbackデバイスがないの環境での isoファイルのMount

今どきの構成はLoopbackデバイスがないために普通に iso ファイルをマウントしようとすると以下のようにエラーになります。

❯❯❯ sudo mount -o loop -t iso9660 ./D2.12A-enUS.iso /mnt/iso/
mount: /mnt/iso/: failed to setup loop device for ./D2.12A-enUS.iso.
hideaki at pop-os in /m/h/0/U/t/D/D/w/D/D2_D2LOD-1.12
❯❯❯ sudo mount -t iso9660 ./D2.12A-enUS.iso /mnt/iso/
mount: /mnt/iso: スペシャルデバイス ./D2.12A-enUS.iso が存在しません.

このような場合には losetup を使います。

sudo losetup -f ./D2-1.12A-enUS.iso
sudo mount /dev/loop0 /mnt/iso

いくつも実行した場合には loop1と追加されています

❯❯❯ sudo losetup -a
/dev/loop1: [2051]:34150 (/media/hideaki/01D495160FB2C420/Users/tokih/Desktop/Diablo2/work/Diablo_Images/D2_D2LOD-1.12/D2LOD-1.12A-enUS.iso)
/dev/loop0: [2051]:34170 (/media/hideaki/01D495160FB2C420/Users/tokih/Desktop/Diablo2/work/Diablo_Images/D2_D2LOD-1.12/D2-1.12A-enUS.iso)

最後は sudo lopsetup -D で消しておきます。

Ubuntu/POP_OS でMacのQuickLookを実現する – Gnome-Sushi

UbuntuのNautlusの拡張でQuickLookと同じような挙動をするプラグインがありましたのでご紹介です。

suto apt install gnome-sushi

テキスト系や画像は問題なくQuicklookできるようになっています、これだけでもだいぶ便利ですね。操作は同じく space barをクリックするだけです

Image
Makefile

対応していれば上記のように色もついた感じで表示されます。Macを使っていてとても便利に感じた機能ですが同じようなことができるのでおすすめです。

システムの情報を表示するneofetch

コンソールでシステムの情報を表示させているデモ画像をよく見ます。調べてみるとこれは neofetch というプログラムで動いているようでしたので早速入れてみました。

sudo apt install neofetch

かんたんですね、特に目立った依存関係もなく入ると思います。実際に実行してみると以下のようになります。OS毎に左の画像が変わるので面白いです。

本題とは関係ないのですがPOP_OSに入れ直したので記念にスクショ

利用が多いディレクトリを調査する – Disk Usage Analyzer

(このツールは標準で入っていたのか覚えてないのですが)GUIで視覚的にどのディレクトリがよく利用されているかを把握することが出来ます。

メニューから「Disk Usage Analyzer」を起動します。実態は、 /usr/bin/baobab --gapplication-serviceというプログラムですね。私の環境では 3.34 というバージョンが導入されています。ない場合には sudo apt install baobab で導入します。

得に説明は不要ですが視覚的にどのディレクトリが多いかを表示してくれます。和体の場合にはPictureフォルダ配下の .trash に40G近いゴミが入っていました。 Linuxの場合にはクリーナーとか得にはないのでこのようなツールで見つけるのが良いです。

同様のソフトウェアで、Cli ツールは ncdu というものがありますのでGUIがいらない人やサーバで使うにはそちらを使うと良いです。

ディスクフルになると色々問題がおこるので定期的に掃除していきましょう。

上部へスクロール