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


27

私は、2人の間であらゆる種類およびサイズのファイルを転送するためのシンプルだが直接的な方法を探しています。可能であれば、ファイルを3番目のマシンに保存せずに、Webブラウザーのみを使用します。

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

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

クライアントと私との間で直接転送を行いたい。暗号化は素晴らしい追加機能です。

そのためには、コンピューターで1つのポートを開き、ルーターでビットポートリダイレクトを構成する必要があります。ただし、NATトラバーサルも追加すると便利です。

私の質問は:

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


HTTPのみを使用して転送するソリューションをお探しですか?
-Pacerier

個人的には、他の人とファイルを共有するために、自動索引付けをオンにしてchrootでジェイルされたWebサーバーを使用します。それから私は人々が私に直接ファイルを送信するのに使用できる投獄されたftp匿名アカウントを持っています。Skypeソリューションは、誰かとファイルを共有したい場合に母親に伝えるものです。少なくとも電子メールの添付ファイルを使用するよりも優れています。
isuldor

1
多分、直接ファイル転送プログラムsourceforge.net/projects/file-transfer -オープンソース、ドラッグ&ドロップ、約束は、必要に応じて(XP上?)のUPnP、Teredoの、安全な接続および自動検出、(オプションのスタッフのニーズがでダニ設定ページ)
n611x007

これを再開できますか?私が実装し、これを言い換え提案
n611x007

回答:


13

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

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

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

アカウントの問題に関しては。避けられないことだと思います。すべての方法では、通常、アカウントを登録するよりも困難な構成またはセットアップが必要になります。


3
cryptcatは暗号化されたnetcat
ジャーニーマンオタク

netcatはWindowsでも使用できます。私はこの方法が好きです。
ブノワ

参考のために、SkypeはもはやP2Pを使用しない:support.skype.com/en/faq/FA12381/what-is-the-cloud
Radderz

10

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

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

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


私の企業(高度に保護された)ネットワークでは、reep.ioは機能しませんでしたが、justbeamit.comは機能しました!どちらもWebRTCテクノロジーに基づいているため、両方のサービスが同じように機能することを期待していましたが、それよりも少し複雑なようです。ヒントをありがとうございます!
貪欲な

8

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

ここでは以前の回答をそのまま残しますが、NSAに関する最近の啓示を受けて、Skypeを安全なファイル転送に使用することはお勧めしません。

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

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


この答えをありがとう。ここでの問題は、私が常にサードパーティに依存し、そのために特別にアカウントを作成しなければならず、そのサービスが中断したり、利用規約が変更されたりすることです。可能であれば、それを避けたいと思います。しかし、Skypeが直接接続をネゴシエートできることを知りませんでした。それでもあなたの答えから、これは必ずしもそうではないと推測できますか?
ブノワ

@Benoit-スカイプでファイルを送信できなかったことはありません。スカイプサーバーに向かう唯一のトラフィックは、接続をセットアップすることです。すべてのデータは、あなたと受取人の間でやり取りされます。ファイル共有はskypeの中心部分であるため、サービス条件に関しては非常に軽微です。
ライフル

@Benoit Skypeは常に直接接続を使用します。Skypeユーザーのデータベースも配布されます。Skypeの利点は、エンドツーエンドの暗号化です。Skypeは、送信しているデータを見ることができません。(+1 btw)
squircle

5

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


3

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

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

ちょうどそのように、あなたのすべてのビットがインターネット全体に投げ込まれ、すべての人が裏庭で風になびくのを見ることができます。


また、それほど信頼できません。取得したものが送信したものと正確に一致することを確認するには、ハッシュチェックが必要です。TCP / IPは信頼できるふりをしますが、1日の終わりには100%ではありません。たとえば、数ギガバイトのバックアップを送信しようとしましたが、作成したzipにはターゲットにはエラーがありますが、ソースにはエラーがないことがわかりました。エラーは表示されません。全体のハッシュは良好ですが、それでも間違ったOKを与える可能性があります。それぞれが1 mbポイントにあるいくつかのハッシュが優れています。そのため、2つのコンピューター間のトレントは、大きなファイルには適しています。
rxantos

FTPは、本当に非常に大きなファイルを扱うのに苦労します(開発時の今日のような大きなファイルの使用を考慮したことはありません)。SFTPは、より大きなファイルに対応する優れたプロトコルであり、FTPよりもはるかに安全です。
MaQleod

3

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

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


1
「ブログ投稿」リンクがスパムサイトに移動
-MFB

@MFBかつて彼の正当なウェブサイトにアクセスしていたと思いますが、彼はその後サイトの制御を失い、現在はパークされたドメインタイプのページにリダイレクトしています。今のところリンクを編集しました。プネヘヘに、あなたがこれを見るならば、リンクに関してコメントしてください。ブログの投稿のコピーを他の場所に持っている場合は、ここで編集できますが、意図的にスパムにリンクすることは許されないことに注意してください。
ヒンクル

ついに私はブログの投稿を回復しました:)
phunehehe

2

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

1つの例(ペイウェア99USD)雷電HTTPD




1

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


1

なぜIRC DCC転送に言及していないのですか?https://en.wikipedia.org/wiki/Direct_Client-to-Client、HexChatクライアントを取得し、両方のコンピューターにインストールし、Freenodeと入力して、参加する両方のチャンネルを作成し、右クリックします他の「連絡先/ PC」およびファイルを送信します。1995年から1998年頃のダイヤルアップ直接接続用のハイパーターミナルを除き、常に機能する古い技術は、DCCが音楽や映画をダウンロードする主流の方法でした。


1

これにはマジックワームホールを使用できます。Ubuntuでは、apt-get経由でインストールできます(Python pip経由でも利用可能です)。

sudo apt install magic-wormhole

ファイルを送信するには、単に何を送信するかを伝えるだけです

wormhole send README.md

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.