Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
15
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Firefox Sendを独自サーバーに導入

Firefox Send

「Firefox Send」は、2017年に実験的に提供され、2019年3月に正式版となったファイル共有サービスです。Githubでソースコードが公開されており、独自に構築することができます。
ファイル共有時に、ダウンロード回数やダウンロード可能な日数、パスワードをかけることができ、アップロードしたファイルは暗号化され、ダウンロード回数またはダウンロード日数を過ぎたものはアクセス不可になるなど、某ファイル共有サービスよりも安全に使用することができると思われます。
firefox_send.png

利用可能なWebブラウザ

Firefoxの他に、Google Chrome、Microsoft Edgeで動作確認できました。Internet Explorerは非常に古いWebブラウザのため対応していませんでした。

Firefox Sendを独自サーバーに入れる

とはいえ、Firefox Sendはhttps://send.firefox.com/で公開されていますが、そちらを使われると組織のITシステムを管理するものとしては不安です。そこで独自にサーバーを用意し、Firefox Sendを立ててしまいましょう。
https://send.firefox.com/にはアクセス制限をかけ、代わりに独自サーバーの方のFirefox Sendを使ってもらえば良いわけです。

用意したサーバー

特に制限はありませんのでお好みのIaaSで仮想サーバーを用意します。私は、IBM Cloud IaaSに、メモリ1GBの仮想サーバーを用意し、作業しました。

作業用ユーザーの作成

rootアカウントで発行されたと仮定します。
先ず、user1 という作業用ユーザーを作成します。

# apt-get update -y
# apt-get upgrade -y
# adduser user1
# gpasswd -a user1 sudo

Node.jsのインストール

続けて、Node.jsをインストールします。
一度SSH接続を閉じ、作業用ユーザーでサーバーにSSH接続します。Node.jsをインストール後、サーバーを再起動します。

$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
$ sudo apt-get install -y nodejs
$ sudo reboot

Fail2ban/git のインストール

作業用ユーザーでサーバーにSSH接続します。
SSHへの簡単なセキュリティ対策として総当たり攻撃を防ぐ「fail2ban」と、Firefox Sendのソースをダウンロードするために「git」をインストールします。

$ sudo apt-get install git
$ sudo apt-get install fail2ban
$ sudo systemctl start fail2ban
$ sudo systemctl enable fail2ban

Firfox Sendのインストールと起動。

続けてGithubから、Firefox Sendのソースコードを取得し、インストール。起動します。

$ git clone https://github.com/mozilla/send.git
$ cd send/
$ npm install
$ nohup npm start > out.log 2> err.log &

nohup npm start で起動しています。
この時点で、DNSへの紐づけを行っていなければ、「http://サーバーの公開IP:8080」にアクセスすることで、Firefox Sendを使用することができます。

Firefox Sendを使う

送信者:アップロード

独自サーバーに構築したFirefox Sendにファイルをアップロードしてみましょう。
Firefox Sendにアクセスし、ファイルをアップロードします。
「有効期間」や「有効なダウンロード回数」、「パスワード」をかけることができます。
firefox_send_share_1.png

送信者:共有URL

「アップロード」を実行すると、共有URLが発行されました。この共有URLをファイルを共有したい人にメールなどで伝えます。パスワードをかけてある場合は、別途伝えましょう。
firefox_send_share_2.png

受信者:ダウンロード

共有URLを受け取った人は、パスワードがかかっている場合はパスワードの入力を求められます。
firefox_send_share_3.png

ファイルをダウンロードします。
firefox_send_share_4.png

共有URLの無効化

ファイルアップロード時に送信側で、「有効期間」や「有効なダウンロード回数」を設定した場合、「有効期間」と「有効なダウンロード回数」のどちらかを満たすと共有URLが無効になり、ダウンロードできなくなります。
firefox_send_share_5.png

Firefox Sendの設定

Githubから複製したダウンロードしたFirefox Sendのソースコードのうち、server/config.js が設定ファイルに該当するようです。ドキュメントを読み、設定を変えてAmazon S3連携などを試してみましょう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
15
Help us understand the problem. What are the problem?