Máy chủ HTTP hoặc FTP nhẹ nào tốt cho việc truyền tệp đơn giản? [đóng cửa]


25

Câu hỏi này là phần tiếp theo Làm thế nào để sao chép tệp vào máy tính không tin cậy? , vì dường như không có một ứng dụng dành riêng cho mục đích này, tôi hiện đang tìm kiếm một máy chủ http hoặc ftp thay thế. Cụ thể hơn, tôi đang tìm kiếm một máy chủ gọn nhẹ có thể sử dụng để chuyển tập tin một lần đơn giản giữa các máy tính. Điều đó có nghĩa là nó nên hoạt động như một sự thay thế rsync / scp để lấy các tệp từ máy tính này sang máy tính khác, chứ không phải như một máy chủ web cổ điển. Hơn nữa, nó nên:

  • chạy trong không gian người dùng
  • không quan trọng để cấu hình (nghĩa là không có tệp cấu hình, mọi thứ đều có thể thực hiện được thông qua dòng lệnh)
  • hỗ trợ tên người dùng / mật khẩu
  • hỗ trợ tiếp tục tải xuống
  • hỗ trợ xuất các tệp đơn thay vì toàn bộ thư mục

Câu trả lời của dbr cho câu hỏi trước đã gần, nhưng tất nhiên chỉ là một bản hack ad hoc thiếu nhiều tính năng hữu ích.


Chỉ cần sử dụng Apache2 nó nhanh hơn python SimpleHTTPServer khoảng 4x.
o0omycomputero0o

Câu trả lời:


31

Tôi thường sử dụng hack Python nhanh này để phục vụ một thư mục qua HTTP.

python -m SimpleHTTPServer &

sẽ phục vụ thư mục hiện tại.

Theo mặc định, nó liên kết với cổng 8000.

Để chọn một cổng khác:

python -m SimpleHTTPServer 9090 &

Nếu bạn chọn một cổng thấp hơn 1024 trên * nix, bạn có thể cần quyền root, nếu không thì bind () sẽ thất bại.


3
Thực sự không chắc chắn tại sao câu hỏi này đã được đóng lại. Câu hỏi và câu trả lời đều rất hữu ích.
merlin2011

8
Hoặc tương đương Python 3:python3 -m http.server
Eliran Malka

6

Một người nào đó trên SO chỉ tôi vào Wagger . Một httpd tối thiểu trong python với giao diện được tối ưu hóa chỉ cho những mục đích sử dụng như vậy. Nó không thực sự đáp ứng tất cả các yêu cầu của bạn, nhưng bằng cách cho phép bạn chỉ định số lần nó sẽ kết nối, nó cho phép bạn sử dụng "Bạn đã sẵn sàng chưa? Tôi đang khởi động máy chủ ngay bây giờ." cách tiếp cận để đảm bảo việc chuyển nhượng.

Để cho phép một (1) kết nối tải xuống thisfiletrên cổng 8080, bạn chỉ cần chạy

$ woof thisfile

Nó là dễ dàng.

Đây là bản gốc khá lạm dụng . Nếu bạn thích nó, hãy bỏ phiếu cho Nate.


Cũng hoạt động tuyệt vời cho "tải lên" (trong trường hợp bạn cần một tệp từ người dùng không thể hoặc không tự cài đặt máy chủ)
golimar

3

Bạn có thể thử các webfs có sẵn thông qua kho lưu trữ Ubuntu:

Webfs (còn gọi là webfsd) là một máy chủ HTTP đơn giản cho nội dung hoàn toàn tĩnh. Ví dụ, bạn có thể sử dụng nó để phục vụ nội dung của máy chủ FTP thông qua HTTP. Nó cũng có thể được sử dụng để nhanh chóng xuất một số tệp bằng cách khởi động máy chủ httpd trong vài giây mà không cần chỉnh sửa tệp cấu hình trước.

Một tùy chọn khác là HFS (Máy chủ tệp http) , một ứng dụng Windows hoạt động tốt thông qua Wine .

HFS (Máy chủ tệp http) là phần mềm chia sẻ tệp cho phép bạn gửi và nhận tệp. Bạn có thể giới hạn việc chia sẻ này chỉ với một vài người bạn hoặc mở cửa ra toàn thế giới. HFS khác với chia sẻ tệp cổ điển vì không có mạng. [...] Vì thực sự là một máy chủ web, bạn bè của bạn có thể tải xuống các tệp như thể họ đang tải xuống từ một trang web bằng trình duyệt web.


1
Có gì với số phiếu giảm ở đây? OP đã yêu cầu các máy chủ http đơn giản và mọi người đã cung cấp chúng. Vì vậy, vấn đề là gì.
dmckee

HFS cũng hoạt động tuyệt vời để "tải lên" (trong trường hợp bạn cần một tệp từ người dùng không thể hoặc không tự cài đặt máy chủ)
golimar

1

Vui lòng bỏ qua nếu bạn không mở các lựa chọn thay thế, nhưng thực tế là bạn sẵn sàng cài đặt máy chủ HTTP không có tùy chọn cho tôi thấy rằng bạn muốn hoàn thành công việc chuyển tệp nhiều hơn so với cách thực hiện -

Tôi có thể khuyên bạn nên cài đặt máy chủ FTP không?

Nó sẽ cho phép bạn thực hiện khá nhiều thứ bạn cần và thường rất dễ thiết lập, thậm chí bạn có thể định cấu hình cổng để sử dụng 80 nếu đó là một yêu cầu.


1
FTP tất nhiên cũng sẽ ổn, nhưng hầu hết các máy chủ FTP mà tôi biết không chính xác nhẹ và đi kèm với nhiều hành lý xấu xí khiến chúng không thể chuyển tập tin một lần đơn giản (nghĩa là yêu cầu quyền root, tài khoản trên máy để truy cập mật khẩu , xử lý thư mục không linh hoạt, vv). Với Pure-FTPd, tôi thậm chí không thể tìm ra cách khởi động nó như người dùng không root.
Grumbel

1
Đã đồng ý. Nó được gọi là Giao thức truyền tệp vì một lý do. Mặt khác, HTTP là Giao thức truyền siêu văn bản. Có thể bạn không quan tâm đến HyperText ngay bây giờ.
Lee B

1
FTP không phải là một ý tưởng ngu ngốc, nhưng bạn có gợi ý cho một thứ đơn giản không có thật để thiết lập như OP đã yêu cầu không?
dmckee

1
Ưu điểm của http là mỗi máy tính sử dụng chung đều có trình duyệt web và người dùng sẽ cảm thấy thoải mái khi sử dụng nó. OK, nó cũng hỗ trợ ftp, nhưng dù sao bạn cũng sẽ sử dụng trình duyệt web ...
dmckee

2
Wil, chúng ta không nói về các máy chủ có mục đích chung như Apache ở đây. Chúng ta đang nói về các công cụ tối thiểu, có mục đích đặc biệt. Wagger làm cho chttpd trông nặng nề .
dmckee

0

Tôi có thể giới thiệu http://code.google.com.vn/p/pyftpdlib/ không?
Nó nhẹ, tải xuống nguồn và viết một tập lệnh Python (chỉ cần sao chép phần bắt đầu nhanh trên trang chủ là đủ, 5-6 dòng, đặt tên người dùng và mật khẩu, thư mục chính, v.v.)
Tôi sử dụng nó cho cá nhân chuyển tập tin pc sang pc (Trên Ubuntu Hardy). một vấn đề đã biết (và tôi có thể giải quyết được) là nó không thể xử lý tốt Unicode (không phải ASCII).


0

Câu trả lời rất đơn giản : thttpd. Nó chiến thắng về hiệu năng, sử dụng bộ nhớ và bảo mật. Và bởi an ninh, ý tôi là nó an toàn nhờ thiết kế có thẩm quyền và không làm điều gì ngu ngốc, không phải nó có tất cả các loại chuông và còi "bảo mật". Nó cũng gần như tối ưu đối với kích thước và sự đơn giản.

Nếu bạn cần thậm chí nhỏ hơn và đơn giản hơn, BusyBox có một httpdapplet cũng có thể đáp ứng nhu cầu của bạn.

Tôi không chắc liệu họ có đáp ứng một số yêu cầu khác của bạn như phục vụ các tệp đơn lẻ hay không, nhưng bạn có thể làm điều đó với trình bao bọc đặt liên kết tượng trưng trong thư mục gốc http. Tuy nhiên, nếu bạn thực hiện việc này với thttpd, bạn sẽ phải tắt các hạn chế liên kết tượng trưng.

(Tôi biết câu hỏi này đã cũ, nhưng đó là kết quả hàng đầu trên Google và các câu trả lời hiện có là bất cứ điều gì ngoài trọng lượng nhẹ.)


2
thttpdTrước đây cũng từng là câu trả lời yêu thích của tôi, nhưng nó đã bị xóa khỏi Debian, Ubuntu và RedHat vào năm 2011 vì nó "mồ côi, có các lỗi nghiêm trọng về phát hành và đã chết." Tôi sẽ không đề nghị nó nữa.
poolie

0

Bạn cũng có thể dùng thử HFS cũng được gọi là Máy chủ tệp HTTP ( http://www.rejetto.com/hfs/ ) Mặc dù đây là một ứng dụng Windows, nhưng nó được cho là hoạt động tốt khi sử dụng WINE. Bảo trì rất thấp và thậm chí những người mới hoàn thành thậm chí không biết File Server là gì sẽ có thể sử dụng nó mà không cần nỗ lực nhiều. Nó hỗ trợ chức năng kéo và thả và thậm chí bạn có thể kiểm soát địa chỉ IP nào có thể truy cập các tệp và hỗ trợ tài khoản người dùng và kiểm soát tốc độ tải xuống.


1
Làm thế nào mà trả lời câu hỏi? Hãy cụ thể hơn.
người dùng 99572 vẫn ổn vào
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.