web-dev-qa-db-ja.com

インターネット上の2台のコンピューター間でのファイルの直接転送

簡単なしかし直接の方法で、あらゆる種類のファイルを2人の間で転送する方法を探しています。可能であれば、ファイルを3番目のマシンに保存せずに、Webブラウザーのみを使用します。

エンドユーザーに3番目のサーバーへの接続を要求せずになしで実行したいのです。これにより、データがマシンを通過するため、転送が遅くなる可能性がありますxyz.com。セキュリティリスクを提起します。

たまにファイルを転送するためだけにFTPサーバー全体をセットアップすることは避けたいです。これまでに JetBytesClick2Copy および PipeBytes を発見しました。これらのWebサービスにより、転送が簡単になります。ただし、トラフィックはサーバーを通過するため、私が望むものには適していません。

転送はクライアントと私の間で直接行われるようにします。 暗号化は素晴らしい追加機能です。

そのため、コンピューターで1つのポートを開き、ルーターでビットポートリダイレクトを構成する必要があることを知っています。 ただし、NATトラバーサルも追加されます。

私の質問は:

サードパーティを回避して、2つのコンピュータ間で1つのエンドツーエンドの直接ファイル転送を行う簡単な方法はありますか?(可能な場合、暗号化とNATトラバーサルを使用)

30
Benoit

* nixを使用する場合の最も汚い方法は、netcat(nc)を使用してファイルをリモートホストにcatすることです。ただし、暗号化が必要な場合は、SCP/SSHを使用することもできます。

いずれかのパーティがNAT=の背後にあり、ポート転送を設定したくない場合は、最初にサードパーティのサーバーに接続せずに直接接続することは不可能であることを理解する必要があります。サーバーは必ずしもトラフィックを中継する必要はなく( http://en.wikipedia.org/wiki/UDP_hole_punching を参照)、帯域幅にコストがかかるため、ほとんどのトラフィックは中継しません。

たとえば、Skypeは多くのNATトラバーサルメソッドを使用して直接接続を確立してから、スーパーノードを介したトラフィックのリレーにフォールバックします(Skypeは非常にP2Pネットワークです)。

アカウントの問題も。やむを得ないと思います。すべての方法には、アカウントの登録よりも通常難しい何らかの構成またはセットアップが必要です。

13
billc.cn

WebRTCベースのソリューションは、おそらく最も単純な形で、必要なものを提供します。サードパーティのWebサイトに接続しますが、これはピアを接続するためだけであり、ファイル転送部分ではありません。

サービスの例:
https://www.justbeamit.com/
https://www.sharedrop.io/

編集:私はこれがOPのすべての要件を満たしていないことを理解していますが、別の非常に使いやすい解決策があります: Firefox Send 。これを使用して、ファイルを暗号化された形式でサードパーティのサーバーにアップロードします。このサービスは、他のユーザーと共有できるURLを提供します。 URLには、ファイルを復号化するためのキーも含まれています。その後、ファイルをダウンロードできます。ファイルは、設定されたダウンロード数の後、または24時間後に自動的に削除されます。サーバーはキーを認識しないため、ファイルを復号化できません。サードパーティのサーバーを使用する利点は、共有側とダウンロード側が同時にオンラインである必要がないことです。

11
r.v

Rsyncを使用して、リモートコンピュータ間でファイルを同期できます。このユーティリティは、Windowsの cygwin で利用できます。または、あらかじめパッケージ化された cwRsync を使用してインストールできます。

私は以前の答えはそのままにしておきますが、NSAに関する最近の啓示を考えると、安全なファイル転送のためにSkypeをお勧めしません。

Skype を使用して、ファイルを別の人に直接送信できます。 Skypeは、両方のユーザーがNATの背後にいる場合でも機能することがあります。ルーターのポートを開くのに十分な状況にある場合は、直接接続をネゴシエートする可能性が高くなります。

より広くは、多くのチャットプログラムには、ファイル共有/送信メカニズムが含まれています。ほとんどの場合、Skypeのようにデフォルトで暗号化を提供していません。しかし、あなたと受信者が同じチャットクライアントを持っている限り、ファイルを共有するための「シンプルなツール」があります。

8
isuldor

実行中のLinux/unix sshがクライアントサーバーモデルでファイルを送信する安全な方法である場合。 NATの背後にある場合、着信接続でポート転送が必要です。

5
squareborg

Pythonの組み込みHTTPサーバーでファイルを転送する に関するブログ記事を書いたことがあります。つまり、Pythonをインストールし、コマンドプロンプトcdを開いて、共有するファイルがあるディレクトリに移動し、python -m SimpleHTTPServerを実行します。 Pythonはデフォルトでインストールされるため、LinuxまたはOS Xを使用している場合は非常に便利です(Windowsにも簡単にインストールできます)。

NATの背後にいる場合は、ルーターなどでポート転送を設定する必要があります(私はすでに知っていると思います)。

3
phunehehe

FTP。それは古くからありました。それは一体として安全ではありません。そして、それは簡単です。

サーバーとクライアントの両方として機能できるFilezillaをダウンロードします。ファイアウォールが送信を許可するように設定されていることを確認してください。宛先でfilezillaをダウンロードして、filezillaサーバーに接続します。ファイルを転送します。

ちょうどそのように、裏庭のそよ風で洗濯物がひっくり返るように見えるように、すべてのビットがインターネット上に投げられます。

3
music2myear

ビットトレント同期は、Web経由でフォルダーを同期します。ファイルも暗号化されます。見てみな。

http://www.bittorrent.com/sync

2
peter42y

PnP NATトラバーサル を実行できるWebサーバーは機能しますが、レシーバーはWebブラウザーのみを必要とします。Webサーバーでのボーナス暗号化は簡単なので、httpsを使用するだけです。

以下に一例を示します(ペイウェア99USD) RaidenHTTPD

2
Nifle

あなたはチェックアウトする必要があります http://filesovermiles.com それはあなたが望むことを正確に行うように見えます。ブラウザ経由の直接P2P転送(フラッシュ)。

1
Trevor

マジックワームホールを使用できます。 Ubuntuでは、apt-getを介してインストールできます(Python pip)を介して入手することもできます):

Sudo apt install magic-wormhole

ファイルを送信するには、何を送信するかを指示するだけです

wormhole send README.md

これにより、受信側で実行する必要があるコマンドラインが出力されます。これには秘密鍵が含まれます(これは電話でも読み取ることができるようなものです)。マシン名やIPアドレスは指定しません。ワームホールは接続を自動的に確立し、転送されるファイルを暗号化します。

https://magic-wormhole.readthedocs.io/en/latest/welcome.html

1
Juha Palomäki

IRC DCC転送? https://en.wikipedia.org/wiki/Direct_Client-to-Client と記載されているのはなぜですか?両方のコンピューターで、たとえばFreenodeと入力して、両方が参加するためのチャネルを作成してから、他の「連絡先/ PC」を右クリックしてファイルを送信します。 1995〜1998年、DCCは音楽や映画をダウンロードするための主流の方法でした。

1
Zacharias

インターネット上の2台のコンピュータ間でファイルを直接転送できる http://www.foldertransfer.com からフォルダ転送を試すことができます。それはあなたのニーズを完全に満たすことができます。

1
user290488