Я ищу простой, но прямой способ передачи файла любого типа и любого размера между двумя людьми. Если возможно, имея только веб-браузер, без сохранения файла на третьем компьютере.
Я хочу сделать это, не требуя от конечных пользователей подключения к третьему серверу, потому что таким образом данные будут проходить через машину xyz.com
, что может замедлить передачу и создать угрозу безопасности.
Я хотел бы избежать настройки всего FTP-сервера только для случайной передачи файлов. До сих пор я обнаружил JetBytes , Click2Copy и PipeBytes . Эти веб-сервисы должны упростить передачу. Однако трафик проходит через их серверы, поэтому они не соответствуют тому, что я хочу.
Я хочу, чтобы перевод был прямым между клиентом и мной. Шифрование было бы хорошей дополнительной функцией.
Я знаю, что для этого мне нужно открыть один порт на моем компьютере и настроить перенаправление битовых портов на моем маршрутизаторе. Тем не менее, NAT-обход также будет хорошим дополнением.
Мой вопрос:
Есть ли простой способ для одной прямой сквозной передачи файлов между двумя компьютерами, избегая третьих лиц? (если возможно, с шифрованием и прохождением NAT)
источник
Ответы:
Самый грязный способ, если вы используете * nix, - это использовать netcat (
nc
) для пересылки файла на удаленный хост. Но если вам нужно шифрование, вы также можете использовать SCP / SSH.Вы должны понимать, что если какая-либо сторона находится за NAT и вы не хотите настраивать переадресацию портов, то невозможно установить прямое соединение, не подключившись сначала к стороннему серверу. Сервер не обязательно должен ретранслировать трафик (см. Http://en.wikipedia.org/wiki/UDP_hole_punching ), и большинство из них этого не делают, поскольку пропускная способность является дорогостоящей.
Например, Skype попытается использовать многие методы обхода NAT для установления прямого соединения, прежде чем вернуться к ретрансляции трафика через свои супер узлы. (Skype очень P2P-сеть.)
Что касается проблемы с учетной записью. Я думаю, это неизбежно. Все методы потребуют некоторой конфигурации или настройки, которые обычно сложнее, чем регистрация учетной записи.
источник
Решения на основе WebRTC дают то, что вам нужно, возможно, в самой простой форме. Вы подключаетесь к стороннему веб-сайту, но это только для подключения пиров, а не для передачи файлов.
Примеры услуг:
https://www.justbeamit.com/
https://www.sharedrop.io/
РЕДАКТИРОВАТЬ: Я понимаю, что это не отвечает всем требованиям OP, но есть другое, очень полезное решение: Firefox Send . Используя это, вы загружаете свой файл на сторонний сервер в зашифрованном виде. Сервис дает вам URL, которым вы можете поделиться с другими. URL-адрес также содержит ключ для расшифровки файла. Затем они могут скачать файл. Файл автоматически удаляется после определенного количества загрузок или через 24 часа. Сервер никогда не видит ключ и поэтому не может расшифровать файл. Преимущество использования стороннего сервера заключается в том, что сторонняя сторона и загружающая сторона не должны одновременно находиться в сети.
источник
Вы можете синхронизировать файлы между удаленными компьютерами, используя rsync. Эта утилита доступна для Windows в Cygwin , или вы можете установить ее с помощью предварительно упакованного cwRsync .
Я оставлю свой предыдущий ответ здесь без изменений, но, учитывая недавние откровения о АНБ, я бы больше не рекомендовал Skype для безопасной передачи файлов.
Вы можете отправить файл напрямую другому человеку, используя Skype . Скайп иногда даже работает, когда оба пользователя находятся за NAT. Если вы достаточно осторожны, чтобы открыть порт на своем маршрутизаторе, это увеличит вероятность согласования прямого соединения.
В более широком смысле, многие программы чата включают механизм совместного использования / отправки файлов. Большинство не предоставляют шифрование по умолчанию, как Skype. Но если вы и ваш получатель используете один и тот же клиент чата, у вас есть «простой инструмент» для обмена файлами.
источник
Если вы используете Linux / Unix ssh - это безопасный способ передачи файлов в модели клиент-сервер. перенаправление портов необходимо на входящих соединениях, если за NAT все же.
источник
FTP. Это было вокруг целую вечность. Это небезопасно, черт возьми. И это просто.
Загрузите Filezilla, который может функционировать как сервер и клиент. Убедитесь, что ваш брандмауэр разрешен для исходящих. Загрузите filezilla и подключитесь к серверу filezilla. Передача файла.
Точно так же, все ваши вещи разбросаны по Интернету, чтобы все могли видеть, как много белья переворачивается на ветру на заднем дворе.
источник
Однажды я написал сообщение в блоге о передаче файлов со встроенного HTTP-сервера Python . Короче говоря, установите Python, откройте командную строку,
cd
в каталог с файлами для совместного использования и выполненияpython -m SimpleHTTPServer
. Очень удобно, если вы работаете в Linux или OS X, потому что Python установлен по умолчанию (его легко установить и в Windows).Если вы находитесь за NAT, то вам нужно настроить переадресацию портов на вашем маршрутизаторе или что-то еще (что, я полагаю, вы уже знаете).
источник
Веб- сервер, который может выполнять обход UPnP NAT, будет работать, получателю потребуется только веб-браузер. Как бонусное шифрование легко с веб-сервером, просто используйте https.
Вот один пример (Payware 99USD) RaidenHTTPD
источник
Bit Torrent Sync синхронизирует папки через Интернет. Файлы также зашифрованы. Проверьте это.
http://www.bittorrent.com/sync
источник
Вы должны проверить http://filesovermiles.com, кажется, делать именно то, что вы хотите. Прямая передача P2P через браузер (flash).
источник
Вы можете попробовать переместить папку с http://www.foldertransfer.com , которая может напрямую передавать файл между двумя компьютерами в Интернете. Он может полностью удовлетворить ваши потребности.
источник
Почему никто не упоминает о передаче IRC DCC? https://en.wikipedia.org/wiki/Direct_Client-to-Client , вы получаете клиент HexChat, устанавливаете его на обоих компьютерах, вводите, скажем, Freenode, а затем создаете канал для присоединения обоих, затем щелкните правой кнопкой мыши на Другой "контакт / ПК" и отправить файл. Старая технология, которая всегда работает, кроме Hyperterminal для прямой телефонной связи, примерно в 1995-1998 годах, DCC была основным способом загрузки музыки и фильмов.
источник
Волшебная червоточина может быть использована для этого. В Ubuntu вы можете установить через apt-get (он также доступен через Python pip):
Чтобы отправить файл, просто скажите, что отправить
Это выведет командную строку, которую вы должны запустить на принимающей стороне. Это включает в себя секретный ключ (который также можно прочитать по телефону). Вы не указываете имена компьютеров или IP-адреса. Wormhole устанавливает соединение автоматически и шифрует файлы для передачи.
https://magic-wormhole.readthedocs.io/en/latest/welcome.html
источник