24 ポイント 投稿者 xguru 2024-10-11 | 2件のコメント | WhatsAppで共有
  • ファイルを共有できる軽量サーバーで、指定したダウンロード回数または日数が経過すると期限切れになる
  • サービス終了したFirefox Sendに似ているが、ファイルをアップロードできるのは管理者のみ
  • 企業や個人がファイルを非常に簡単に共有し、後から削除して容量を節約できるほか、サーバー上のファイルをダウンロードする人を制御可能
  • APIを提供し、同一ファイルは重複排除される
  • ローカルストレージの代わりにAWS S3とBackblaze B2を利用可能
  • HTML/CSSの知識があればカスタマイズできる
  • エンドツーエンド(E2E)暗号化を含む

2件のコメント

 
kunggom 2024-10-11

少し前に、クラウド上のVMにあるギガバイト級のファイルを別の場所へ転送する必要がありました。
移動先が自分のPCなら croc のようなツールを使えば済んだのですが、ファイルを受け取る側ではWebブラウザ以外のツールを使いにくい状況でした。そこで最初はWebブラウザベースのファイル転送ソリューションをいくつか試してみたのですが、速度が遅かったり、理由は分からないものの転送の終盤で完了しない問題がありました。

そこで最終的には dufs を使ってVMを一時的なファイルサーバーにしました。ファイアウォールで適当なポートを開け、mkcert で自己署名証明書をひとまず1つ作り、ファイルのダウンロード権限だけを持つ一時ユーザーアカウントを実行オプションで作って使いました。
結果として問題はうまく解決しましたが、ファイルサーバー側で自己署名証明書まで作ってくれたら、もう少し便利だっただろうとも感じました。

今回紹介されているこのツールはまだ使っていませんが、自己署名証明書を作る機能まで内蔵しているようです。その代わり、初回のインストール手順は少し複雑そうですが、おそらく一度立ち上げて継続的に使うことを想定しているからではないかと思います。とにかく、大きなファイルを渡したりファイルをやり取りしたりする際に、Webブラウザ以外を使うのが難しいなら、ファイル共有サーバーをセルフホストするのも悪くない選択肢だと思います。

 
kunggom 2024-10-11

仕事の後で、これに似たツールがほかにもあるか探してみたところ、Simple Web Server や HFS(https://www.rejetto.com/hfs/) などがありました。これらのツールはいずれも独自の HTTPS 証明書生成をサポートしています。

Simple Web Server は独自の GUI を備えたマルチプラットフォームツールで、特に複数の Web サーバーを同時に立ち上げられる点が際立っています。ただし、全体的にはファイル配信そのものよりも Web フロントエンド開発向けという印象のほうが強いです。
たとえばファイルアップロードを許可することはできますが、HTTP PUT メソッドを直接呼び出す必要があり、デフォルトで提供されるインデックスページにはファイルアップロード機能がまったく組み込まれていません。また HTTP Basic Auth をサポートしてはいるものの、ユーザーアカウントは 1 つしか扱えません。さらに、些細な欠点かもしれませんが、Electron ベースのためインストーラーのサイズは 100 MiB を超えます。

HFS は、Web を通じたファイル共有により特化したツールに見えます。起動するとデフォルトブラウザーで Admin ユーザーインターフェースが表示され、詳細な権限がそれぞれ異なる複数アカウントの作成や、アップロード/ダウンロード速度制限、ロギングはもちろん、GeoIP や Dynamic DNS のような機能まで備えています。自己署名証明書の生成が可能なのはもちろん、さらに Let's Encrypt 証明書を自動更新するオプションまであるようです。
参考までに、リリースされている実行ファイルには Node.js ランタイムが内蔵されており、サイズは 40 MiB を少し超える程度です。それが嫌で、なおかつ Node.js がすでにインストールされているなら、npx hfs@latest で十分です。
今後、ファイルの受け渡し先で別のツールを使うのが難しく、自前でファイルサーバーを立ち上げる必要がある状況なら、とりあえずこれを選ぶことになりそうです.