単純なファイル転送に適している軽量のHTTPまたはFTPサーバーはどれですか?[閉まっている]


25

この質問は、信頼できないコンピューターにファイルをコピーする方法のフォローアップです。、この目的のための専用アプリがないように思われるので、代わりにhttpまたはftpサーバーを検索しています。より具体的には、コンピューター間の単純な1回限りのファイル転送に使用できる軽量サーバーを探しています。つまり、従来のWebサーバーとしてではなく、あるコンピューターから別のコンピューターにファイルを取得するためのrsync / scpの置き換えとして機能する必要があるということです。さらに、次のことを行う必要があります。

  • ユーザースペースで実行
  • 簡単に構成できます(つまり、構成ファイルはなく、すべてコマンドラインで実行可能)
  • ユーザー名/パスワードをサポート
  • ダウンロードの継続をサポート
  • ディレクトリ全体ではなく、単一ファイルのエクスポートをサポートします

前の質問に対するdbrの答えは近づきますが、もちろん、多くの便利な機能を欠いたアドホックハックにすぎません。


Apache2を使用するのは、Python SimpleHTTPServerよりも約4倍高速です。
-o0omycomputero0o

回答:


31

私は頻繁にこの簡単なPythonハックを使用して、HTTP経由でディレクトリを提供しています。

python -m SimpleHTTPServer &

現在のディレクトリを提供します。

デフォルトでは、ポート8000​​にバインドします。

別のポートを選択するには:

python -m SimpleHTTPServer 9090 &

* nixで1024未満のポートを選択すると、root権限が必要になる場合があります。そうしないと、bind()は失敗します。


3
なぜこの質問が閉じられたのか本当に分かりません。質問と回答は両方とも非常に役に立ちました。
merlin2011

8
またはPython 3と同等:python3 -m http.server
Eliran Malka

6

SO上の誰かがで私に指摘ウーフ。このような用途に最適化されたインターフェースを備えた、Pythonの最小限のhttpd。実際にはすべての要件を満たしているわけではありませんが、接続する回数を指定できるようにすることで、「準備はできていますか?今サーバーを起動しています」を使用できます。転送を保護するアプローチ。

1つの接続をthisfileポート8080でダウンロードできるようにするには、単に実行します

$ woof thisfile

とても簡単です。

これはかなり乱用されたオリジナルです。気に入ったら、ネイトに投票してください。


また、「アップロード」にも
適し

3

Ubuntuリポジトリから入手できるwebfsを試すことができます。

Webfs(別名webfsd)は、純粋に静的なコンテンツ用のシンプルなHTTPサーバーです。たとえば、HTTP経由でFTPサーバーのコンテンツを提供するために使用できます。また、設定ファイルを最初に編集せずに、数秒でhttpdサーバーを起動することにより、いくつかのファイルをすばやくエクスポートするためにも使用できます。

別のオプションはHFS(Http File Server)で、Wineを介して適切に動作するWindowsアプリです。

HFS(Http File Server)は、ファイルを送受信できるファイル共有ソフトウェアです。この共有を数人の友人に制限するか、全世界に公開することができます。HFSは、ネットワークがないため、従来のファイル共有とは異なります。[...]実際にはWebサーバーであるため、友人はWebブラウザを使用してWebサイトからダウンロードしているようにファイルをダウンロードできます。


1
ここで下票はどうなっていますか?OPは単純なhttpサーバーを要求し、人々はそれらを提供しました。それで問題は何ですか。
dmckee

HFSは「アップロード」にも最適です(サーバーからインストールできない、またはインストールしないユーザーのファイルが必要な場合)
golimar

1

他の選択肢に開かれていない場合は無視してください。ただし、設定なしでHTTPサーバーをインストールしても構わないという事実から、ファイルを転送する方法よりもファイルを転送するという仕事をやりたいことがわかります。

FTPサーバーをインストールすることをお勧めしますか?

それはあなたが必要とするほとんどすべてを行うことを可能にし、通常は設定が非常に簡単です。それが要件である場合は80を使用するようにポートを設定することさえできます。


1
FTPももちろん問題ありませんが、私が知っているほとんどのFTPサーバーは正確に軽量ではなく、単純な1回限りのファイル転送には適さない多くのい余分な荷物が付属しています(つまり、パスワードアクセスにはルート権限、マシンのアカウントが必要です) 、柔軟性のないディレクトリ処理など)。Pure-FTPdでは、root以外のユーザーとして起動する方法すらわかりませんでした。
グランベル

1
同意した。理由により、ファイル転送プロトコルと呼ばれます。一方、HTTPはHyperText Transfer Protocolです。現在、HyperTextに興味がないかもしれません。
リーB

1
FTPは馬鹿げたアイデアではありませんが、OPが要求したように簡単に設定できる沼地であるものに対する提案はありますか?
dmckee

1
httpの利点は、すべての汎用コンピューターにWebブラウザーがあり、ユーザーが快適に使用できることです。OK、それはあまりにもftpをサポートしていますが、...あなたは、とにかくWebブラウザを使用する予定がある場合
dmckee

2
ウィル、ここではApacheのような汎用サーバーについては話していません。私たちは、特別な目的の最小限のツールについて話しています。Woofはchttpdを重く見せます。
dmckee

0

http://code.google.com/p/pyftpdlib/をお勧めしますか?
それは軽量だし、ソースをダウンロードし、Pythonのスクリプトを記述(単にホームページのクイックスタートパーツ等、十分に、5-6ライン、設定したユーザー名とパスワード、ホームディレクトリでコピー)
私は個人的のためにそれを使用しますPCからPCへのファイル転送(Ubuntu Hardyの場合)。既知の問題の1つ(そして私が耐えることができる)は、Unicode(非ASCII)をうまく処理できないことです。


0

答えは簡単ですthttpd。パフォーマンス、メモリ使用量、セキュリティの面で勝ち続けています。そしてセキュリティとは、有能な設計と愚かなことをしないことで安全であることを意味します。あらゆる種類の「セキュリティ」機能が備わっているということではありません。また、サイズとシンプルさに関しても最適に近いものです。

もっと小さくてシンプルなものが必要な場合、BusyBoxにはhttpdあなたのニーズを満たすアプレットがあります。

単一のファイルを提供するなど、より多くの要件を満たしているかどうかはわかりませんが、httpルートにシンボリックリンクを配置するラッパーでそれを行うことができます。ただし、thttpdでこれを行う場合は、シンボリックリンクの制限を無効にする必要があります。

(私はこの質問が古いことを知っていますが、それはグーグルでの最高の結果であり、既存の答えは軽量ではありません。)


2
thttpd以前は私のお気に入りの回答でもありましたが、2011年にDebian、Ubuntu、およびRedHatから削除されました。「孤立しており、リリースクリティカルなバグがあり、アップストリームで死んでいます」。もうお勧めしません。
-poolie

0

HTTPファイルサーバー(http://www.rejetto.com/hfs/)とも呼ばれるHFSを試すこともできます。これはWindowsアプリケーションですが、WINEを使用するとうまく機能すると言われています。メンテナンスが非常に少なく、ファイルサーバーが何であるかさえ知らない完全な初心者でも、多くの労力をかけずに使用できます。ドラッグアンドドロップ機能をサポートし、ファイルにアクセスできるIPアドレスを制御したり、ユーザーアカウントとダウンロード速度の制御をサポートしたりすることもできます。


1
それは質問にどのように答えますか?具体的に。
ユーザー99572は
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.