Firefox Sendをコマンドラインから使える「ffsend」

Windows

「ffsend」コマンドをインストールすれば、コマンドラインから「Firefox Send」へのアップロードやダウンロードができます。

Firefox Sendとは?

Firefox Sendは、無料で使えるファイル送信サービスです。他の人にファイルを送ったり、PCとスマホでファイルを送りあったりするのに使うことができます。送信時にファイルが暗号化されるため、安全にファイルをやりとりすることが可能です。詳しくは、以下の記事を参照してください。

Firefox Sendで簡単・安全にファイルを送信!無料なのに広告無し!Chromeなどでも利用可能!
Firefox Sendを使えば、簡単・安全・確実・快適にファイルを他の人に送れます。「Firefox」という名前がついていますが、別のブラウザでもOK。スマホでも使えます。無料で簡単に使えて、広告も表示されません。しかもセキュリティは万全...

ffsendとは?

Firefox Sendは、Webブラウザでファイルを送受信するサービスです。しかし、コマンドラインで操作している時に、わざわざブラウザに切り替えて操作するのは面倒です。そこで開発されたのが「ffsend」です。以下のGitHubページで開発されています。

GitHub - timvisee/ffsend: :mailbox_with_mail: Easily and securely share files from the command line. A fully featured Firefox Send client.
:mailbox_with_mail: Easily and securely share files from the command line. A fully featured Firefox Send client. - GitHub - timvisee/ffsend: :mailbox_with_mail:...

ffsendをインストールすれば、コマンドラインからFirefox Sendへのアップロードやダウンロードができるようになります。Linux・Windows・macOSにインストール可能です。本記事公開時点では「アルファ版」とされており、まだ実装途中の機能もあるようですが、アップロードやダウンロード、アップロード履歴やファイル情報の表示など、基本的な機能は問題なく動作しています。

ffsendのインストール

LinuxにSnapでインストール

UbuntuなどSnapに対応したLinuxディストリビューションなら、以下のコマンドを実行するだけで簡単にインストールできます。

sudo snap install ffsend

ただしSnapでインストールした場合、アップロードできるのはホームディレクトリ以下のファイルだけです。また、ホームディレクトリ以下であっても「.」からはじまるドットファイル(.bashrcなど)はアップロードできません。こうしたファイルもアップロードしたい場合は、次の手順で最新バイナリを手動インストールするとよいでしょう。

Linuxに最新バイナリを手動インストール

まず、必要なパッケージをインストールします。ディストリビューションにより異なりますが、UbuntuやDebianの場合は以下のコマンドを実行します。

sudo apt install -y openssl ca-certificates xclip

CentOS・RHEL・Fedoraの場合は以下のコマンドです。

sudo yum install -y openssl ca-certificates xclip

ブラウザでffsendのリリースページを開き、最新の「ffsend-vバージョン番号-linux-x64-static」をダウンロードしましょう。本記事公開時点の最新バージョンは「ffsend-v0.2.44-linux-x64-static」でした。

ダウンロードしたディレクトリで以下のコマンドを実行すれば、「/usr/local/bin/ffsend」としてインストールされます。

sudo install ffsend-*-linux-x64-static /usr/local/bin/ffsend

Windowsにscoopパッケージでインストール

Windowsにscoopをインストール済みなら、以下のコマンドで簡単にインストールできます。

scoop install ffsend

ffsendを使ってコマンドラインからファイルを送受信する

アップロード

ファイルをアップロードするには、以下のようにサブコマンド「upload」を指定して実行します。

ffsend upload ファイル

upload」を「u」に省略して、以下のように実行することもできます。

ffsend u ファイル

以下は、「test.pdf」をアップロードする例です。

$ ffsend upload test.pdf
Upload complete
301 Moved Permanently

-c」オプションをつけると、URLがクリップボードにコピーされます。以下は「mozilla.pdf」をアップロードし、URLをクリップボードにコピーする例です。

$ ffsend u -c mozilla.pdf 
Upload complete
301 Moved Permanently

-p パスワード」でパスワードを設定することもできます。「-P」を指定すると、自動生成したパスワードが設定されます。以下は、自動生成したパスワードを設定してアップロードする例です。

$ ffsend u -P test.cpp
Upload complete
301 Moved Permanently
Passphrase: Worry clump riot ajar Lever

生成されるパスワードには、上の例のようにスペースが含まれるので注意してください。

ダウンロード

アップロードされたファイルをダウンロードするには、以下のようにサブコマンド「download」を指定して実行します。

ffsend download URL

「download」を「d」に省略して、以下のように実行することもできます。

ffsend d URL

以下はパスワードを設定したファイルをダウンロードする場合の実行例です。正しいパスワードを入力した場合のみ、ダウンロードされます。

$ ffsend d https://send.firefox.com/download/f63abb8abe123670/#SbiTziRrTmXH10aJU1DM7Q
Password: 
Download complete

履歴の確認

アップロードしたファイルの履歴を出力するには、以下のようにサブコマンド「history(もしくはh)」を指定して実行します。URLと有効期限を確認できます。

$ ffsend history
#  LINK                                                                        EXPIRY  
1  https://send.firefox.com/download/ded4e927e82c099c/#G4Gpyay8m--aKTgU3Ag2Qw  23h49m  
2  https://send.firefox.com/download/f63abb8abe123670/#SbiTziRrTmXH10aJU1DM7Q  22h21m  
3  https://send.firefox.com/download/40cb0d56bdb5e3fb/#QlpAf9a6Fv4xCLAyXUBnmw  22h14m  
4  https://send.firefox.com/download/d7f8cfff1cbffd42/#U21-KLiMHnK8AjVG2Hmo_g  22h13m  
5  https://send.firefox.com/download/b32a5f2050e541c9/#zkYjVVNCs2oow6N06SnCUA  22h10m

主なサブコマンド

upload(u)」「download(d)」「history(h)」以外にも、さまざまなサブコマンドがあります。主なサブコマンドは以下の通りです。

upload(u)
ファイルをアップロード
download(d)
ファイルをダウンロード
delete(del)
ファイルを削除
exists(e)
ファイルがサーバーに存在するかを確認
history(h)
アップロード履歴を出力
info(i)
アップロードしたファイルの情報を出力
help
ヘルプを表示

「ffput」「ffget」で実行できるようにするには

Linuxの場合、「ffsend」へのシンボリックリンクを「ffput」と「ffget」で作成しておくと、「ffsend upload」の代わりに「ffput」、「ffsend download」の代わりに「ffget」が使えるようになります。コマンドが短くなるので、多用する場合に便利でしょう。ただし、Snapでインストールした場合は動作しません。「/usr/local/bin/」にシンボリックリンクを作るなら、以下のように実行します。

cd /usr/local/bin/
sudo ln -s $(which ffsend) ffput
sudo ln -s $(which ffsend) ffget
WindowsLinuxガイドネット便利技
\シェアお願いします/
LFI

コメント

タイトルとURLをコピーしました