>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
TypeScript

クラウドもドラムダンスも不要! домашний PCからファイルを共有する方法

こんな経験はありませんか?50GBのフォトライブラリや、SSDの半分を占めるディスクイメージを友達に送りたいとき。Telegramでアップロード?遅くて不便。Google DriveやYandex.Disk?容量が足りない、有料サブスクリプションが必要。FTPサーバーやNginxの設定に手を出す?一回限りのタスクには大げさすぎます。

そこで登場するのがHFS(HTTP File Server)です。このプロジェクトは、わずか1クリックでPCをファイル共有用の本格的なWebサーバーに変えてしまいます。そしてこれは新しい趣味レベルのプロジェクトではありません:Delphiで書かれた元のHFSは、2000年代のインターネット伝説だったんです。現在、このプロジェクトはTypeScriptとNode.jsで生まれ変わり、クロスプラットフォームでモダンになりました。

logo and motto

HFSとは

HFSは、ローカルファイルをブラウザ経由で公開できるコンパクトなWebサーバーです。バイナリを実行し、共有したいフォルダを追加すれば、リンクを知っている人就なら誰でもダウンロードできるようになります。

Pythonのhttp.serverモジュールとの主な違いは、完全な管理パネル、ユーザ管理、レジューム可能なダウンロード、そしてPCにファイルをアップロードり返す機能があることです。そして複雑な設定なしで、箱から出してすぐに動作します。

практическое применение

ホームサーバーの動画を見たり、音楽を聞いたりすることをよくあります。HFSはこの問題をシンプルに解決してくれます。

仮想ファイルシステム

ファイルを特別なフォルダにコピーする必要はありませんwww。HFSインターフェースで仮想構造を作成できます。例えば、ファイルC:\Work\Project\final_report.pdfをリンクваш-айпи/report.pdfで共有できます。元ファイルはそのまま残り、Web用の「別名」を付与するだけ です。

重量級データの即時処理

100GBのフォルダを共有する必要がある場合、HFSはアーカイブの作成が完了するまで待たせません。ユーザーが「ZIPとしてダウンロード」をクリックした瞬間、サーバーはアーカイブをリアルタイムで生成し、すぐにブラウザへのストリーミングを開始します。これにより、時間もディスク容量も節約できます。

アクセス制御と制限

公衆ネットワークでファイルを共有する場合は、アップロード速度を制限(スロットリング)して、HFSが帯域幅を全て消費しないようにできます。アカウントの作成も簡単です:例えば、友達はダウンロードのみ許可し、同僚は特定のフォルダにファイルをアップロードできるようにするといった設定が可能です。

ジオグラフィックファイアウォールとセキュリティ

設定では、特定国からのアクセスをブロックしたり、HTTPSを設定したりできます。証明書生成が組み込まれているので、OpenSSLを手動で操作する必要はありません。

技術的な側面

このプロジェクトはTypeScriptで書かれています。ビルド済みバイナリをダウンロードしたくない場合は、npx hfs@latest経由で実行できます。これはNode.jsが既にインストールされているサーバーでのクイックチェックに便利です。

HFSはほとんどどこでも動作します:Windows(バージョン10以上)、Linux、macOS、さらにはFreeBSD。コンテナ化爱好者向けに、公式のDockerイメージも用意されています。

興味深い詳細:管理パネルとフロントエンドは完全に分離されています。HTMLとCSSで外観をカスタマイズしたり、独自のプラグインを書いたりできます。現在、サムネイル生成、LDAP認証、ブルートフォース保護用のプラグインがあります。

始め方

ほとんどの人にとって最も簡単な方法は、OS用のリリースページからアーカイブをダウンロードすることです。起動後、サーバーはデフォルトでlocalhostに管理パネルを開きます。

コンソールやSSHで作業している場合は、このコマンドで素早く管理者をを作成できます:

echo "create-admin: ВАШ_ПАРОЛЬ" > config.yaml

その後、HFSが設定を読み込み、別のデバイスからブラウザでコントロールパネルにログインできるようになります。

こんな人におすすめ

HFSはセルフホスティングを重視する人のためのツールです。こんな用途に最適です:

  • ローカルネットワークやインターネット越しで大きなファイルを素早く転送する。
  • チーム用の一時的なファイル交換を作成する。
  • ホームメディアライブラリを整理する(HFSにはオーディオとビデオ用の組み込みプレーヤーがあります)。
  • 他のユーザーからファイルを集める(アップロード機能)。

このプロジェクトの素晴らしい点は、そのシンプルさです。システム管理者でなくても、2分でプロフェッショナルに見えて動作するサーバーを起動できます。クラウドサービスの制限に依存することにうんざりしているなら、HFSはデータのコントロールを取り戻す最も手軽な方法の1つです。

プロジェクトはGitHubで試すことができます。APIドキュメントや、自動ログインや検索用のURLパラメータといった隠れた宝藏を含む、詳細なWikiもあります。

関連プロジェクト