Szukam prostego, ale bezpośredniego sposobu na przeniesienie pliku dowolnego rodzaju i dowolnej wielkości między dwojgiem ludzi. Jeśli to możliwe, posiadanie tylko przeglądarki internetowej, bez konieczności przechowywania pliku na trzecim komputerze.
Chcę to zrobić bez wymagania od użytkowników końcowych łączenia się z trzecim serwerem, ponieważ w ten sposób dane będą przepływać przez maszynę xyz.com
, prawdopodobnie spowalniając transfer i stwarzając zagrożenie bezpieczeństwa.
Chciałbym uniknąć konfigurowania całego serwera FTP tylko do sporadycznych transferów plików. Do tej pory odkryłem JetBytes , Click2Copy i PipeBytes . Te usługi sieciowe powinny ułatwić transfer. Jednak ruch przechodzi przez ich serwery, więc nie są dobre do tego, czego chcę.
Chcę, aby przelew odbywał się bezpośrednio między klientem a mną. Szyfrowanie byłoby miłą dodatkową funkcją.
Wiem, że tak robię, muszę otworzyć jeden port na komputerze i skonfigurować przekierowanie portów na routerze. Jednak przemiana NAT byłaby również miłym dodatkiem.
Moje pytanie brzmi:
Czy istnieje prosty sposób na jeden bezpośredni transfer plików między dwoma komputerami, bez stron trzecich? (jeśli to możliwe, z szyfrowaniem i translacją NAT)
źródło
Odpowiedzi:
Najbrudniejszym sposobem używania * nix jest użycie polecenia netcat (
nc
) w celu przechwycenia pliku na zdalnym hoście. Ale jeśli chcesz szyfrować, równie dobrze możesz użyć SCP / SSH.Musisz zdać sobie sprawę, że jeśli którakolwiek ze stron stoi za NAT i nie chcesz konfigurować przekierowania portów, to niemożliwe jest nawiązanie bezpośredniego połączenia bez uprzedniego połączenia z serwerem innej firmy. Serwer niekoniecznie musi przekazywać ruch (patrz http://en.wikipedia.org/wiki/UDP_hole_punching ) i większość z nich nie musi, ponieważ przepustowość jest kosztowna.
Na przykład Skype spróbuje użyć wielu metod przejścia NAT w celu ustanowienia bezpośredniego połączenia, zanim wróci do przekazywania ruchu przez swoje superwęzły. (Skype to bardzo sieć P2P).
Jeśli chodzi o problem z kontem. Myślę, że to nieuniknione. Wszystkie metody wymagają pewnego rodzaju konfiguracji lub konfiguracji, które są zwykle trudniejsze niż rejestracja konta.
źródło
Rozwiązania oparte na WebRTC dają to, czego potrzebujesz, w być może najprostszej formie. Łączysz się z witryną strony trzeciej, ale służy to tylko połączeniu peerów, a nie części transferu plików.
Przykładowe usługi:
https://www.justbeamit.com/
https://www.sharedrop.io/
EDYCJA: Rozumiem, że to nie spełnia wszystkich wymagań OP, ale istnieje inne, bardzo użyteczne rozwiązanie: Firefox Send . Korzystając z tego, przesyłasz plik na serwer innej firmy w postaci zaszyfrowanej. Usługa daje ci adres URL, który możesz udostępnić innym. Adres URL zawiera również klucz do odszyfrowania pliku. Następnie mogą pobrać plik. Plik jest automatycznie usuwany po określonej liczbie pobrań lub po 24 godzinach. Serwer nigdy nie widzi klucza, więc nie może odszyfrować pliku. Zaletą korzystania z serwera innej firmy jest to, że strona udostępniająca i strona pobierająca nie muszą być jednocześnie online.
źródło
Możesz synchronizować pliki między komputerami zdalnymi za pomocą rsync. To narzędzie jest dostępne dla systemu Windows w programie Cygwin lub można je zainstalować za pomocą wstępnie spakowanego programu cwRsync .
Moja poprzednia odpowiedź pozostawiam nietknięta, ale biorąc pod uwagę ostatnie informacje na temat NSA, nie polecam już Skype'a do bezpiecznego przesyłania plików.
Możesz wysłać plik bezpośrednio do innej osoby za pomocą Skype . Czasami Skype działa nawet wtedy, gdy obaj użytkownicy stoją za NAT. Jeśli jesteś wystarczająco bystry, aby otworzyć port na routerze, zwiększy to prawdopodobieństwo negocjacji bezpośredniego połączenia.
Mówiąc szerzej, wiele programów do czatu zawiera mechanizm udostępniania / wysyłania plików. Większość nie zapewnia domyślnie szyfrowania, takiego jak Skype. Ale dopóki ty i twój odbiorca macie tego samego klienta czatu, macie „proste narzędzie” do udostępniania plików.
źródło
Jeśli działający system Linux / unix ssh jest bezpiecznym sposobem przesyłania plików w modelu serwera klienta. port wymaga przekazywania na połączeniach przychodzących, jeśli jest za NAT.
źródło
FTP. Jest już od wieków. To niepewne, jak do cholery. I to jest proste.
Pobierz Filezilla, która może działać zarówno jako serwer, jak i klient. Upewnij się, że zapora sieciowa jest skonfigurowana tak, aby zezwalała na wychodzenie. Poproś docelową aplikację filezilla i połącz się z serwerem filezilla. Prześlij plik.
Tak po prostu, wszystkie twoje kawałki są rzucane przez Internet, aby wszyscy widzieli jak tyle prania przewiewanego na wietrze na podwórku.
źródło
Kiedyś napisałem post na blogu o przesyłaniu plików za pomocą wbudowanego serwera HTTP Pythona . Krótko mówiąc, zainstaluj Python, otwórz wiersz polecenia
cd
do katalogu z plikami do udostępnienia i wykonaniapython -m SimpleHTTPServer
. Jest to bardzo wygodne, jeśli korzystasz z systemu Linux lub OS X, ponieważ Python jest instalowany domyślnie (łatwy w instalacji również w systemie Windows).Jeśli jesteś za NAT, musisz skonfigurować przekierowanie portów na routerze lub coś takiego (co zakładam, że już znasz).
źródło
Działałby serwer WWW, który może wykonywać translację UPnP NAT , odbiornik potrzebowałby tylko przeglądarki internetowej. Ponieważ szyfrowanie premiowe jest łatwe w przypadku serwera WWW, wystarczy użyć https.
Oto jeden przykład (payware 99USD) RaidenHTTPD
źródło
Bit Torrent Sync synchronizuje foldery w Internecie. Pliki są również szyfrowane. Sprawdź to.
http://www.bittorrent.com/sync
źródło
Powinieneś sprawdzić http://filesovermiles.com Wygląda na to, że robi dokładnie to, co chcesz. Bezpośredni transfer P2P przez przeglądarkę (flash).
źródło
Możesz wypróbować Transfer folderów ze strony http://www.foldertransfer.com , który może bezpośrednio przesyłać pliki między dwoma komputerami w Internecie. Może w pełni zaspokoić twoje potrzeby.
źródło
Dlaczego nikt nie wspomina o transferze IRC DCC? https://en.wikipedia.org/wiki/Direct_Client-to-Client , dostaniesz klienta HexChat, zainstaluj go na obu komputerach, wpisz powiedzmy Freenode, a następnie utwórz kanał dla obu, aby się przyłączyć, a następnie kliknij prawym przyciskiem myszy inny „kontakt / komputer” i wyślij plik. Stara technologia, która zawsze działa, oprócz Hyperterminal do bezpośredniego połączenia dial-up, około 1995-1998, DCC był głównym sposobem pobierania muzyki i filmów.
źródło
Można do tego użyć Magic Wormhole. W systemie Ubuntu można zainstalować za pomocą apt-get (jest również dostępny przez pip Python):
Aby wysłać plik, po prostu powiedz, co wysłać
Spowoduje to wyświetlenie wiersza polecenia, który należy uruchomić na końcu odbierającym. Obejmuje to tajny klucz (taki, że można go również odczytać przez telefon). Nie podajesz żadnych nazw komputerów ani adresów IP. Wormhole ustanawia połączenie automatycznie i szyfruje pliki do przesłania.
https://magic-wormhole.readthedocs.io/en/latest/welcome.html
źródło