Transfer file secara langsung antara dua komputer di Internet


27

Saya mencari cara sederhana namun langsung untuk mentransfer file dalam bentuk apa pun dan ukuran apa pun di antara dua orang. Jika memungkinkan, hanya memiliki peramban web, sementara itu file tidak disimpan di mesin ketiga.

Saya ingin melakukannya tanpa mengharuskan pengguna akhir untuk terhubung ke server ketiga, karena dengan begitu data akan mengalir melalui mesin xyz.com, mungkin memperlambat transfer, dan menimbulkan risiko keamanan.

Saya ingin menghindari pengaturan seluruh server FTP hanya untuk transfer file sesekali. Sejauh ini saya telah menemukan JetBytes , Click2Copy dan PipeBytes . Layanan-layanan web tersebut harus memudahkan transfer. Namun lalu lintas melewati server mereka sehingga mereka tidak baik dengan apa yang saya inginkan.

Saya ingin transfer langsung antara klien dan saya. Enkripsi akan menjadi fitur tambahan yang bagus.

Saya tahu bahwa dengan melakukan itu saya harus membuka satu port di komputer saya, dan mengkonfigurasi pengalihan port bit pada router saya. Namun, NAT traversal akan menjadi tambahan yang bagus juga.

Pertanyaanku adalah:

Apakah ada cara sederhana untuk satu transfer file langsung ujung ke ujung antara dua komputer, menghindari pihak ketiga? (jika mungkin, dengan enkripsi dan NAT traversal)


apakah Anda mencari solusi yang hanya mentransfer melalui HTTP atau apa?
Pacerier

Secara pribadi saya menggunakan chroot server web yang dipenjara dengan autoindexing dihidupkan untuk berbagi file dengan orang lain. Kemudian saya memiliki akun anonim ftp yang dipenjara yang dapat digunakan orang untuk mengirim file langsung kepada saya. Solusi Skype adalah sesuatu yang akan saya beri tahu ibu saya jika dia ingin berbagi file dengan seseorang. Itu lebih baik daripada menggunakan lampiran email setidaknya.
isuldor

1
mungkin mengarahkan program transfer file sourceforge.net/projects/file-transfer - open source, drag and drop, menjanjikan opsional upnp (pada xp?), teredo, koneksi aman dan penemuan otomatis, (barang opsional perlu kutu di halaman pengaturan )
n611x007

Bisakah kita buka kembali ini? Saya menulis ulang ini untuk mengimplementasikan saran
n611x007

Jawaban:


13

Cara paling kotor jika Anda menggunakan * nix adalah menggunakan netcat ( nc) untuk menyimpan file ke host jarak jauh. Tetapi jika Anda ingin enkripsi, Anda mungkin juga menggunakan SCP / SSH.

Anda harus menyadari bahwa jika salah satu pihak berada di belakang NAT dan Anda tidak ingin mengatur port forwarding, maka tidak mungkin untuk membuat koneksi langsung tanpa menghubungkan ke server pihak ketiga terlebih dahulu. Server tidak harus menyampaikan lalu lintas (lihat http://en.wikipedia.org/wiki/UDP_hole_punching ) dan kebanyakan dari mereka tidak melakukannya karena bandwidth mahal.

Sebagai contoh, Skype akan mencoba menggunakan banyak metode NAT traversal untuk membuat koneksi langsung sebelum jatuh kembali untuk menyampaikan lalu lintas melalui super node mereka. (Skype adalah jaringan yang sangat P2P.)

Adapun masalah akun. Saya kira itu tidak bisa dihindari. Semua metode akan memerlukan beberapa jenis konfigurasi atau pengaturan yang biasanya lebih sulit daripada mendaftarkan akun.


3
cryptcat adalah netcat dengan enkripsi
Journeyman Geek

netcat juga tersedia untuk Windows. Saya suka cara ini.
Benoit

Untuk Referensi, Skype tidak lagi menggunakan P2P: support.skype.com/en/faq/FA12381/what-is-the-cloud
Radderz

10

Solusi berbasis webRTC memberikan apa yang Anda butuhkan, mungkin dalam bentuk yang paling sederhana. Anda terhubung ke situs web pihak ketiga tetapi itu hanya untuk membuat rekan-rekan terhubung dan bukan bagian transfer file.

Contoh layanan:
https://www.justbeamit.com/
https://www.sharedrop.io/

EDIT: Saya mengerti ini tidak memenuhi semua persyaratan OP tetapi ada solusi lain yang sangat berguna: Firefox Kirim . Dengan ini, Anda mengunggah file Anda ke server pihak ketiga dalam bentuk terenkripsi. Layanan memberi Anda URL, yang dapat Anda bagikan dengan orang lain. URL juga berisi kunci untuk mendekripsi file. Mereka kemudian dapat mengunduh file. File secara otomatis dihapus setelah jumlah unduhan yang ditentukan atau setelah 24 jam. Server tidak pernah melihat kunci sehingga tidak dapat mendekripsi file. Keuntungan menggunakan server pihak ketiga adalah bahwa pihak berbagi dan pihak pengunduh tidak perlu online secara bersamaan.


Di jaringan korporat saya (sangat aman), reep.io tidak berfungsi, tetapi justbeamit.com berhasil! Saya berharap kedua layanan bekerja sama karena keduanya berbasis pada teknologi WebRTC, tetapi tampaknya sedikit lebih rumit dari itu. Terima kasih banyak atas petunjuknya!
Gaborous

8

Anda dapat menyinkronkan file antara komputer jarak jauh menggunakan rsync. Utilitas ini tersedia untuk Windows di cygwin , atau Anda dapat menginstalnya dengan cwRsync pra-paket .

Saya akan membiarkan jawaban saya sebelumnya di sini tetap utuh, tetapi mengingat wahyu terbaru tentang NSA, saya tidak akan lagi merekomendasikan Skype untuk transfer file yang aman.

Anda dapat mengirim file langsung ke orang lain menggunakan Skype . Skype terkadang bahkan berfungsi ketika kedua pengguna berada di belakang NAT. Jika Anda cukup kuat untuk membuka port pada router Anda, hal itu akan meningkatkan kemungkinan negosiasi koneksi langsung.

Secara lebih luas, banyak program obrolan menyertakan mekanisme berbagi / mengirim file. Sebagian besar tidak menyediakan enkripsi secara default seperti Skype. Tetapi selama Anda dan penerima memiliki klien obrolan yang sama, Anda memiliki "alat sederhana" untuk berbagi file.


Terima kasih atas jawaban ini. Masalahnya di sini adalah bahwa saya selalu harus bergantung pada perusahaan ketiga, membuat akun khusus untuk itu, dan bahwa layanan dapat mengganggu atau ketentuan layanan dapat berubah. Jika mungkin saya ingin menghindari itu. Namun saya tidak tahu bahwa Skype dapat menegosiasikan koneksi langsung. Masih dari jawaban Anda, saya dapat menyimpulkan bahwa ini tidak selalu terjadi?
Benoit

@ Benit - Saya tidak pernah gagal skype untuk dapat mengirim file. Satu-satunya traffic yang masuk ke server skype adalah mengatur koneksi. Semua data berada di antara Anda dan penerima Anda. Adapun persyaratan layanan yang sangat tidak enak karena berbagi file adalah bagian utama dari skype.
Nifle

@Benoit Skype selalu menggunakan koneksi langsung; bahkan basis data pengguna Skype didistribusikan. Manfaat Skype adalah enkripsi ujung ke ujungnya; Skype tidak dapat melihat data yang Anda kirimkan. (+1 btw)
squircle

5

Jika Anda menjalankan Linux / unix ssh adalah cara aman untuk mengirimkan file dalam model server klien. port forward dibutuhkan pada koneksi yang masuk jika di belakang NAT sekalipun.


3

FTP. Sudah ada sejak lama. Ini tidak aman sebagai neraka. Dan itu sederhana.

Unduh Filezilla, yang dapat berfungsi sebagai server dan klien. Pastikan firewall Anda diatur untuk memungkinkannya keluar. Minta tujuan Anda mengunduh filezilla dan sambungkan ke server filezilla Anda. Transfer file.

Sama seperti itu, semua bit Anda terlempar ke internet untuk dilihat semua orang seperti banyak cucian yang tertiup angin di halaman belakang.


Juga tidak bisa diandalkan. Anda perlu cek hash untuk memastikan apa yang Anda dapatkan adalah persis apa yang Anda kirim. TCP / IP berpura-pura dapat diandalkan tetapi pada akhirnya tidak 100%. Misalnya Hanya mencoba mengirim cadangan beberapa giga byte dan menemukan bahwa zip yang saya buat memiliki kesalahan pada target, tetapi tidak pada sumbernya. Tidak ada kesalahan yang ditampilkan. Hash untuk keseluruhan bagus, tetapi masih bisa memberikan Anda ok palsu. Beberapa hash masing-masing pada 1 mb poin masing-masing lebih baik. Jadi torrent antara dua komputer akan lebih baik untuk file besar.
rxantos

FTP memang mengalami kesulitan dengan file yang benar-benar besar (benar-benar tidak pernah mempertimbangkan penggunaan file sebesar yang kita miliki saat ini ketika dikembangkan). SFTP adalah protokol yang dilengkapi jauh lebih baik untuk file yang lebih besar dan juga jauh, jauh lebih aman daripada FTP.
MaQleod

3

Saya pernah menulis posting blog tentang mentransfer file dengan server HTTP bawaan Python . Singkatnya, instal Python, buka command prompt, cdke direktori dengan file untuk dibagikan dan dieksekusi python -m SimpleHTTPServer. Sangat nyaman jika Anda menggunakan Linux atau OS X karena Python diinstal secara default (juga mudah untuk diinstal pada Windows).

Jika Anda berada di belakang NAT, maka Anda perlu mengatur port forwarding pada router Anda atau sesuatu (yang saya anggap sudah Anda ketahui).


1
Tautan 'posting blog' menuju ke situs spam
MFB

@ MFB Saya menduga itu digunakan untuk pergi ke situs web yang sah, tapi dia sejak kehilangan kendali situs dan sekarang dialihkan ke halaman jenis domain yang diparkir. Saya telah mengedit tautan untuk saat ini. Untuk phhehehe, jika Anda melihat ini, silakan komentar tentang tautan. Jika Anda memiliki salinan posting blog di tempat lain sekarang Anda dapat mengeditnya, tetapi berhati-hatilah bahwa dengan sengaja menautkan ke spam tidak akan ditoleransi.
nhinkle

akhirnya saya telah memulihkan posting blog, diperbarui :)
phunehehe

2

Server web yang dapat melakukan UPnP NAT traversal akan berfungsi, penerima hanya membutuhkan browser web. Karena enkripsi bonus mudah dilakukan dengan server web, cukup gunakan https.

Berikut adalah salah satu contoh (payware 99USD) RaidenHTTPD





1

Mengapa tidak ada yang menyebutkan transfer IRC DCC? https://en.wikipedia.org/wiki/Direct_Client-to-Client , Anda mendapatkan Anda klien HexChat, menginstalnya di kedua komputer, Anda masukkan katakanlah Freenode dan kemudian buat saluran untuk keduanya bergabung, lalu klik kanan pada "kontak / PC" lainnya dan kirim file. Teknologi lama yang selalu berfungsi, selain Hyperterminal untuk koneksi langsung dial up, sekitar 1995-1998, DCC adalah cara utama untuk mengunduh musik dan film.


1

Magic Wormhole dapat digunakan untuk ini. Di Ubuntu Anda dapat menginstal melalui apt-get (juga tersedia melalui Python pip):

sudo apt install magic-wormhole

Untuk mengirim file, Anda cukup memberi tahu apa yang harus dikirim

wormhole send README.md

Ini akan menampilkan baris perintah yang harus Anda jalankan di sisi penerima. Ini termasuk kunci rahasia (yang sedemikian rupa sehingga Anda juga dapat membacanya melalui telepon). Anda tidak menentukan nama mesin atau alamat IP apa pun. Wormhole membuat koneksi secara otomatis dan mengenkripsi file yang akan ditransfer.

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.