Этот вопрос является продолжением Как скопировать файлы на ненадежный компьютер? Поскольку для этой цели, похоже, нет специального приложения, я сейчас ищу альтернативный вариант для http или ftp-сервера. В частности, я ищу легкий сервер, который можно использовать для простой однократной передачи файлов между компьютерами. Под этим я подразумеваю, что он должен действовать как замена rsync / scp для передачи файлов с одного компьютера на другой, а не как классический веб-сервер. Кроме того, он должен:
- запустить в пространстве пользователя
- быть тривиальным в настройке (т.е. без файла конфигурации, все выполнимо через командную строку)
- поддержка имени пользователя / пароля
- поддержка продолжения загрузок
- поддержка экспорта отдельных файлов вместо целых каталогов
Ответ dbr на предыдущий вопрос близок, но, конечно, это просто специальный взлом, в котором отсутствуют многие полезные функции.
Ответы:
Я часто использую этот быстрый взлом Python, чтобы обслуживать каталог по HTTP.
будет обслуживать текущий каталог.
По умолчанию он привязывается к порту 8000.
Чтобы выбрать другой порт:
Если вы выберете порт ниже 1024 для * nix, вам могут потребоваться права root, иначе bind () завершится с ошибкой.
источник
python3 -m http.server
Кто-то на ТАК указал мне на Гав . Минимальный httpd в python с интерфейсом, оптимизированным как раз для таких целей. На самом деле он не соответствует всем вашим требованиям, но, позволяя вам указать, сколько раз он будет подключаться, он позволяет вам использовать «Готовы ли вы? Я сейчас запускаю сервер». подход к обеспечению передачи.
Чтобы разрешить загрузку одного (1) соединения через
thisfile
порт 8080, просто запуститеЭто так просто.
Вот довольно злоупотребленный оригинал . Если тебе это нравится, иди голосуй за Нейта.
источник
Вы можете попробовать webfs, который доступен через репозиторий Ubuntu:
Другой вариант - HFS (Http File Server) , приложение для Windows, которое хорошо работает через Wine .
источник
Пожалуйста, игнорируйте, если вы не открыты для альтернатив, но тот факт, что вы хотите установить HTTP-сервер без каких-либо предпочтений, показывает мне, что вы хотите выполнить работу по передаче файла больше, чем как это делается -
Могу ли я порекомендовать вам установить FTP-сервер?
Это позволит вам в значительной степени делать все, что вам нужно, и, как правило, его очень легко настроить, вы даже можете настроить порт на использование 80, если это требуется.
источник
Могу ли я порекомендовать http://code.google.com/p/pyftpdlib/ ?
Это легковесно, загрузите исходный код и напишите скрипт на Python (достаточно просто скопировать часть быстрого запуска на домашней странице, 5-6 строк, задать имя пользователя и пароль, домашний каталог и т. Д.)
Я использую его для личного использования. Передача файлов с компьютера на компьютер (на Ubuntu Hardy). одна известная проблема (и я могу с этим смириться) заключается в том, что она не может хорошо обрабатывать Unicode (не ASCII).
источник
Ответ прост:
thttpd
. Он выигрывает в производительности, использовании памяти и безопасности. И под безопасностью я подразумеваю, что она безопасна благодаря грамотному замыслу и не делает ничего глупого, не то чтобы у нее были всевозможные «защитные» навороты. Это также почти оптимально с точки зрения размера и простоты.Если вам нужно еще меньше и проще, у BusyBox есть
httpd
апплет, который также может удовлетворить ваши потребности.Я не уверен, что они удовлетворяют некоторым вашим дополнительным требованиям, таким как обслуживание отдельных файлов, но вы можете сделать это с помощью оболочки, которая помещает символические ссылки в корень http. Однако, если вы сделаете это с thttpd, вам придется отключить ограничения символической ссылки.
(Я знаю, что этот вопрос старый, но это лучший результат в Google, и существующие ответы совсем не легки.)
источник
thttpd
Раньше это был мой любимый ответ, но он был удален из Debian, Ubuntu и RedHat в 2011 году, потому что он был «осиротевшим, с критическими ошибками в выпуске и мертвым апстримом». Я бы не рекомендовал это больше.Вы также можете попробовать HFS, также называемую HTTP File Server ( http://www.rejetto.com/hfs/ ). Хотя это приложение для Windows, оно хорошо работает с использованием WINE. Его очень низкие эксплуатационные расходы и даже полные новички, которые даже не знают, что такое файловый сервер, смогут использовать его без особых усилий. Он поддерживает функцию перетаскивания, и вы даже можете контролировать, какие IP-адреса могут обращаться к файлам, поддерживает учетные записи пользователей и контроль скорости загрузки.
источник