İnternetteki iki bilgisayar arasında bir dosyanın doğrudan aktarılması


27

İki kişi arasında her türlü ve her boyutta bir dosyayı aktarmak için basit ama doğrudan bir yol arıyorum . Mümkünse, bu arada üçüncü bir makinede saklanan dosya olmadan, sadece bir web tarayıcısına sahip olmak.

Son kullanıcıların üçüncü bir sunucuya bağlanmalarını istemeden yapmak istiyorum , çünkü bu şekilde veriler makineden akacak xyz.com, muhtemelen transferi yavaşlatacak ve güvenlik riskleri oluşturacak.

Sadece arada bir dosya aktarımı için bütün bir FTP sunucusunu kurmaktan kaçınmak istiyorum. Şimdiye kadar JetBytes , Click2Copy ve PipeBytes'i keşfettim . Bu web servisleri transferi kolaylaştırmalıdır. Ancak trafik, sunucularından geçiyor, bu yüzden istediklerime karşı iyi değiller.

Transferin müşteri ile benim aramda doğrudan olmasını istiyorum. Şifreleme güzel bir ek özellik olacaktır.

Bunu yaptığımda, bilgisayarımda bir bağlantı noktası açmam ve yönlendiricimde bir bit bağlantı noktası yeniden yönlendirmesi yapılandırmam gerektiğini biliyorum. Bununla birlikte, NAT geçişi de iyi bir ek olacaktır.

Sorum şu:

İki bilgisayar arasında tek bir baştan sona doğrudan dosya aktarımı yapmanın, üçüncü taraflardan kaçınmanın basit bir yolu var mı? (mümkünse şifreleme ve NAT geçişi ile)


sadece HTTP üzerinden transfer eden bir çözüm mü arıyorsunuz?
Pacerier

Şahsen ben dosyaları başka insanlarla paylaşmak için autoindexing'in açık olduğu chroot hapisli bir web sunucusu kullanıyorum. Sonra, insanların bana doğrudan dosya göndermek için kullanabilecekleri isimsiz bir hesabım var. Skype çözümü, bir dosyayı birisiyle paylaşmak istiyorsa anneme söyleyeceğim bir şey. En azından e-posta eklerini kullanmaktan daha iyidir.
izuldür

1
belki doğrudan dosya transferi programı sourceforge.net/projects/file-transfer - açık kaynak, sürükle ve bırak, (? xp üzerine) upnp isteğe sözler, teredo, güvenli bağlantıların ve otomatik keşif, (opsiyonel şeyler ihtiyaçları içinde keneler ayarlarla sayfası)
n611x007

Bunu tekrar açabilir miyiz? Bunu önerileri
n611x007

Yanıtlar:


13

* Nix kullanıyorsanız en kirli yol nc, dosyayı uzak ana bilgisayara yakalamak için netcat ( ) işlevini kullanmaktır . Ancak şifreleme istiyorsanız, SCP / SSH'yi de kullanabilirsiniz.

Her iki tarafın da NAT'ın arkasında olması ve bağlantı noktası iletmeyi ayarlamak istemiyorsanız, önce üçüncü taraf bir sunucuya bağlanmadan doğrudan bir bağlantı kurmanın imkansız olduğunu anlamalısınız. Sunucu mutlaka trafiği iletmek zorunda değildir (bkz. Http://en.wikipedia.org/wiki/UDP_hole_punching ) ve çoğu bant genişliği kadar pahalı değildir.

Örneğin, Skype trafiği süper düğümlerinden geçirmeye geri dönmeden önce doğrudan bağlantı kurmak için birçok NAT geçiş yöntemini kullanmaya çalışacaktır. (Skype çok P2P bir ağdır.)

Hesap problemine gelince. Sanırım kaçınılmaz. Tüm yöntemler, bir hesaba kaydolmaktan daha zor olan bir tür yapılandırma veya kurulum gerektirecektir.


3
cryptcat şifreleme ile netcat olduğunu
Journeyman Geek

netcat, Windows için de kullanılabilir. Bu şekilde seviyorum.
Benoit

Referans için, Skype artık P2P kullanmıyor: support.skype.com/en/faq/FA12381/what-is-the-cloud
Radderz

10

WebRTC tabanlı çözümler ihtiyacınız olanı, belki de en basit biçimde verir. Üçüncü taraf bir web sitesine bağlanırsınız ancak bu yalnızca dosya aktarma bölümünü değil, eşleri bağlamak içindir.

Örnek hizmetler:
https://www.justbeamit.com/
https://www.sharedrop.io/

EDIT: Bunun OP'nin tüm şartlarını yerine getirmediğini biliyorum ama başka, çok kullanışlı bir çözüm var: Firefox Gönder . Bunu kullanarak, dosyanızı üçüncü taraf bir sunucuya şifreli biçimde yüklersiniz. Hizmet, başkalarıyla paylaşabileceğiniz bir URL verir. URL, dosyanın şifresini çözmek için de anahtar içerir. Daha sonra dosyayı indirebilirler. Dosya, belirli sayıda indirme işleminden sonra veya 24 saat sonra otomatik olarak silinir. Sunucu anahtarı asla görmez ve bu nedenle dosyanın şifresini çözemez. Üçüncü taraf sunucu kullanmanın avantajı, paylaşım partisinin ve indiren tarafın aynı anda çevrimiçi olması gerekmemesidir.


Kurumsal (yüksek güvenlikli) ağımda, reep.io işe yaramadı, ama justbeamit.com yaptı! Her iki hizmetin de WebRTC teknolojisine dayandığından dolayı aynı şekilde çalışmasını beklerdim, ancak bu durum bundan biraz daha karmaşık görünüyor. Teşekkürler çok ipucu için!
gaborous 11

8

Bir rsync kullanarak dosyaları uzak bilgisayarlar arasında senkronize edebilirsiniz. Bu yardımcı program Windows için cygwin'de mevcuttur veya önceden paketlenmiş cwRsync ile yükleyebilirsiniz .

Önceki cevabımı burada tam olarak bırakacağım, ancak NSA ile ilgili son vahiyler verildiğinde, güvenli dosya aktarımı için artık Skype'ı önermem.

Bir dosyayı doğrudan Skype kullanarak başka bir kişiye gönderebilirsiniz . Skype bazen her iki kullanıcı da NAT'ın arkasında olduğunda çalışır. Yönlendiricinizde bir bağlantı noktası açacak kadar boşsa, bunu yapmanız doğrudan bağlantı kurma olasılığını artıracaktır.

Daha genel olarak, birçok sohbet programı bir dosya paylaşım / gönderme mekanizması içerir. Çoğu, Skype gibi varsayılan olarak şifreleme sağlamaz. Ancak siz ve alıcınız aynı sohbet istemcisine sahip olduğunuz sürece, dosyaları paylaşmak için "basit bir araca" sahipsiniz.


Bu cevap için teşekkür ederim. Buradaki sorun, her zaman üçüncü bir şirkete güvenmem, özel olarak bunun için bir hesap oluşturmam ve hizmetin kesintiye uğraması ya da hizmet şartlarının değişmesidir. Mümkünse bundan kaçınmak istiyorum. Ancak, Skype'ın doğrudan bir bağlantı ile pazarlık edebileceğini bilmiyordum. Yine de cevabınızdan bu her zaman böyle olmadığı sonucuna varabilirim?
Benoit

@Benoit - Hiç bir skype'ım dosya gönderemedi. Skype sunucularına giden tek trafik, bağlantıyı kurmaktır. Tüm veriler, sizinle alıcı arasındadır. Dosya şartı olarak çok hafif olan hizmet şartları ise skype'ın merkezi bir parçasıdır.
Nifle

@Benoit Skype her zaman doğrudan bağlantı kullanır; Skype kullanıcılarının bile veritabanları dağıtılmaktadır. Skype'ın avantajı, uçtan uca şifrelemedir; Skype, ilettiğiniz verileri göremiyor. (+1 btw)
squircle

5

Linux / unix ssh kullanıyorsanız, dosyaları bir istemci sunucu modelinde iletmenin güvenli bir yoluysa NAT olsa da, gelen bağlantılarda bağlantı noktası iletme gerekli.


3

FTP. Uzun zamandır buralardaydı. Heck gibi güvensiz. Ve bu basit.

Hem sunucu hem de istemci olarak çalışabilen Filezilla'yı indirin. Güvenlik duvarınızın çıkışa izin verecek şekilde ayarlandığından emin olun. Hedefinizin filezilla dosyasını indirmesini ve filezilla sunucunuza bağlanmasını sağlayın. Dosya aktar

Aynen böyle, tüm bitleriniz arka bahçedeki esintiyle çevrilmiş çamaşırları görmek gibi herkesin görmesi için internete atıldı.


Aynı zamanda güvenilir değil. Elindeki şeyin tam olarak gönderdiklerinden emin olmak için hash çeklerine ihtiyacın var. TCP / IP güvenilir gibi görünüyor ancak günün sonunda% 100 değil. Örneğin, birkaç giga bayt yedeği göndermeye çalıştım ve yaptığım sıkıştırmanın hedefte hatalar olduğunu ama kaynağında olmadığını tespit etti. Hata gösterilmedi. Bütün için hash iyidir, ama yine de sana yanlış bir tamam verebilir. Her biri 1 mb noktasında birkaç karma daha iyidir. Yani iki bilgisayar arasındaki torrent büyük bir dosya için daha iyi olurdu.
rxantos

FTP gerçekten çok büyük dosyalarla zor anlar yaşar (dosyaların geliştirilmesinde bugün olduğu kadar büyük dosya kullanımını asla düşünmez). SFTP, daha büyük dosyalar için daha iyi donanımlı bir protokoldür ve aynı zamanda FTP'den çok daha güvenlidir.
MaQleod

3

Bir keresinde Python'un yerleşik HTTP sunucusuyla dosya aktarımı hakkında bir blog yazısı yazdım . Kısacası, Python'u kurun, cdpaylaşılacak ve yürütülecek dosyaların bulunduğu bir komut istemi açın python -m SimpleHTTPServer. Python varsayılan olarak yüklendiğinden Linux veya OS X kullanıyorsanız çok kullanışlıdır (Windows'a da yüklenmesi kolaydır).

Bir NAT'ın arkasındaysanız, yönlendiricinizde bağlantı noktası iletmeyi ayarlamanız gerekir (zaten bildiğinizi varsayıyorum).


1
'blog yazısı' bağlantısı bir spam sitesine gider
MFB

@MFB Meşru web sitesine giderdi sanırım, ama o sitenin kontrolünü kaybetti ve şimdi park edilmiş alan türü sayfasına yönlendiriyor. Şimdilik bağlantıyı düzenledim. Pune etmek için, bunu görürseniz, lütfen bağlantıyla ilgili yorum yapın. Blog postasının bir kopyasının artık başka bir yerde olması durumunda, onu düzenleyebilirsiniz, ancak kasıtlı olarak spam’e bağlanmanın hoş görülmeyeceğini unutmayın.
nhinkle

uzun zaman önce blog
yazısını kurtardım

2

UPnP NAT geçişini yapabilen bir web sunucusu çalışır, alıcının sadece bir web tarayıcısına ihtiyacı olur. Bir bonus şifreleme bir web sunucusu ile kolay olduğu için, sadece https kullanın.

İşte bir örnek (ödemeli yazılım 99USD) RaidenHTTPD





1

Neden kimse IRC DCC transferinden bahsetmiyor? https://en.wikipedia.org/wiki/Direct_Client-to-Client , HexChat istemcisini alıyorsunuz, her iki bilgisayara da yüklüyorsunuz, girelim Freenode diyelim ve sonra ikisinin de katılması için bir kanal oluşturalım, sonra sağ tıklayın diğer "contact / PC" ve dosya gönderin. Her zaman çalışan eski teknoloji, 1995-1998 dolaylarında, çevirmeli bağlantı için Hyperterminal dışında, DCC, müzik ve film indirmenin en yaygın yoluydu.


1

Magic Wormhole bunun için kullanılabilir. Ubuntu'da apt-get ile kurabilirsiniz (Python pipi ile de mevcuttur):

sudo apt install magic-wormhole

Bir dosyayı göndermek için ne göndereceğinizi söyleyin

wormhole send README.md

Bu, alıcı uçta çalıştırmanız gereken komut satırını verecektir. Buna gizli bir anahtar (telefondan da okuyabileceğiniz şekilde) dahildir. Herhangi bir makine adı veya IP adresi belirtmezsiniz. Solucan deliği bağlantıyı otomatik olarak kurar ve aktarılacak dosyaları şifreler.

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.