- HTTP File Server 2.3m Build 300
- Основная информация о программе
- Simple http file server windows
- Simple http file server windows
- About
- HFS — маленький и удобный HTTP-файл сервер
- Читают сейчас
- Редакторский дайджест
- Похожие публикации
- Бесплатные панели управления серверами в 2021 году
- Выше облаков: а не построить ли сервер в космосе?
- ARM серверы подходят для облачного хостинга лучше чем x86? Проверим
- Заказы
- Минуточку внимания
- Комментарии 16
- Best lightweight web server (only static content) for Windows [closed]
- 8 Answers 8
- Python 3
HTTP File Server 2.3m Build 300
Автор | Massimo Melina |
Языки | Английский |
Лицензия | Freeware (Бесплатная) |
Основная информация о программе
HFS — HTTP File Server — это HTTP сервер, который позволит вам легко выкладывать файлы в Интернет, а вашим пользователям — легко их качать. Приложение превращает ваш компьютер в HTTP сервер и все пользователи, которые хотят скачать ваши файлы могут сделать это путем загрузки простой страницы в браузере.
HFS — HTTP File Server включает в себя большое количество настроек, которые позволят вам изменить все — от способа закачки файлов, до внешнего вида создаваемой страницы.
Программа позволяет установить IP адрес, который вы хотите использовать для своего сервера. Кроме того, вы можете устанавливать ограничения на количество закачек и блокировать использование менеджеров закачек со стороны пользователей. Есть возможность установить виртуальную файловую систему.
Если вы хотите «расшарить» новые файлы, то вам достаточно просто перетащить их мышкой в главное окно программы. С другой стороны, правым кликом в левой панели вы можете предоставить доступ ко всей папке, будь она виртуальная или реальная.
Simple http file server windows
This is a simple python HTTP multithreaded server which supports uploads. The following operations are supported:
GET path/to/file will return the content of path relative to the directory the server was started from.
GET path/to/dir will return the contents of the directory relative to the directory the server was started from. The contents are returned in json format: a dictionary whose keys define the filenames of childs and the value is the type of the child: either directory , file or other string specifying the type of the member.
PUT path/to/file will upload a file to the path relative to the directory the server was started from. Any existing directories are automatically created. PUT fails if the given path identifies an existing directory or creating needed directories would overwrite an existing file.
The server supports serving multiple streams concurrently. This is useful if the server will serve many concurrent large streams over slow connection
Just start the server by command line:
In case the default number of concurrent connections is not enough, increase the number of listener threads:
The server implements a simple permission system. Users authenticate via HTTP Basic authentication. The permissions are stored in a python file (see below):
The server must be put behind a SSL reverse proxy in order to protect credentials and uploaded or downloaded from exposure.
The following shows full list of accepted command line arguments:
The permissions and user authentication information are specified via a json file. The server expects to be supplied with user and password via HTTP Basic authentication. If HTTP request specifies user and the user is not found in the database or the password does not match, the request always fail. If no authentication information is supplied then the server assumes user «*» as far as permissions are concerned.
Three permissions are supported: «read», «list» and «write» which correspond to «read file», «list directory» and «upload file» operations. Whether a particular operation is supported depends on what permissions are specified for the path in question and its parent paths.
The permissions are determined as follows:
- if the current path has permissions for the current user, then:
- «r», «rw», «rl», «rwl» allow read file operation
- «l», «rl», «wl», «rwl» allow list directory operation
- «w», «rw», «wl», «rwl» allow upload operation
- «» allows neither
- otherwise, if the current path has permissions for the user «*», then
- «r», «rw», «rl», «rwl» allow read file operation
- «l», «rl», «wl», «rwl» allow list directory operation
- «w», «rw», «wl», «rwl» allow upload operation
- «» allows neither
- otherwise, the permissions set for the parent path determines whether the operation is allowed.
Note in particular, that permissions set for a different user, except * , are ignored. By default the user «*» has no permissions.
The format of the json file is as follows:
specifies path relative to the server start directory to apply permissions for. . specifies the server root (the start directory itself).
specifies the name of the user. All users used in the paths section must be listed in the users section. Listing the default user * is optional.
a combination of r , w and l characters specifying the permissions.
the passphrase of the user. Pick a complex passphrase if the server is exposed on the internet because no measures against bruteforcing are implemented.
An example permission file:
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Simple http file server windows
How it looks like?
Command Line Arguments
Install by cargo
- Windows support (with colored log)
- Specify listen address (ip, port)
- Specify running threads
- Specify root directory
- Pretty log
- Nginx like directory view (directory entries, link, filesize, modfiled date)
- Breadcrumb navigation
- (default enabled) Guess mime type
- (default enabled) HTTP cache control
- Sending Last-Modified / ETag
- Replying 304 to If-Modified-Since
- (default enabled) Partial request
- Accept-Ranges: bytes([ByteRangeSpec; length=1])
- [Range, If-Range, If-Match] => [Content-Range, 206, 416]
- (default disabled) Automatic render index page [index.html, index.htm]
- (default disabled) Upload file
- A CSRF token is generated when upload is enabled and must be sent as a parameter when uploading a file
- (default disabled) HTTP Basic Authentication (by username:password)
- Sort by: filename, filesize, modifled
- HTTPS support
- Content-Encoding: gzip/deflate
- Added CORS headers support
- Silent mode
About
Simple http server in Rust (Windows/Mac/Linux)
HFS — маленький и удобный HTTP-файл сервер
Пробежался поиском по хабру и удивился тому, что об этой программе никто не упоминал, хотя про тот же Dropbox неоднократно писали.
Итак, встречайте — HFS. Программа, которая позволяет в два клика поднять собственный HTTP-файл сервер, расшарить файлы и выдать ссылку на скачку другу.
Чем хорош такой подход? Тем, что не надо ничего никуда заливать — файлы скачиваются прямо с вас. Тем же он, правда, и плох — работать будет только в случае, если компьютер включен и имеет доступ к сети (желательно, не через GPRS 🙂
Существует возможность настройки прав доступа как по IP, так и через учетные записи. Плюс — возможность заливки файлов (аналогично — файлы заливаются сразу к вам на компьютер).
Веб-интерфейс достаточно приятен глазу. Программа работает как под винду, так и под линукс через Wine.
Из минусов — вроде как требуется внешний IP (статика или динамика), однако я не проверял возможность работы без него. А так — штука дико удобная, особенно когда расшаренная папка содержит файлы, которые постоянно изменяются. Хотя, фанаты Dropbox не оценят.
Читают сейчас
Редакторский дайджест
Присылаем лучшие статьи раз в месяц
Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.
Похожие публикации
Бесплатные панели управления серверами в 2021 году
Выше облаков: а не построить ли сервер в космосе?
ARM серверы подходят для облачного хостинга лучше чем x86? Проверим
Заказы
AdBlock похитил этот баннер, но баннеры не зубы — отрастут
Минуточку внимания
Комментарии 16
В плане файл-сервера — понятно что нет 🙂
Я просто имел ввиду в сравнении с тем же Dropbox.
43296 2003-10-20 HTTP File Server (HFS) User Ban Access Persistence Weakness
43298 2004-04-11 HTTP File Server (HFS) Username Case Insensitivity Weakness
43297 2004-04-11 HTTP File Server (HFS) Unspecified DoS
43299 2004-04-11 HTTP File Server (HFS) «Get passworded URL» Unspecified Password Disclosure
43300 2006-03-27 HTTP File Server (HFS)
files.lst Filename Information Disclosure
43301 2006-10-24 HTTP File Server (HFS)
files.lst Unspecified Issue
43302 2006-11-30 HTTP File Server (HFS) Title Bar Build Version Information Disclosure
43304 2007-01-28 HTTP File Server (HFS) «Show Customized Options» Password Disclosure
43303 2007-01-28 HTTP File Server (HFS) Crafted Graph Request DoS
42507 2007-12-06 HTTP File Server (HFS) Traversal Arbitrary File Upload
42508 2008-01-23 HTTP File Server (HFS) Account Name Logging Traversal Arbitrary File / Directory Manipulation
42509 2008-01-23 HTTP File Server (HFS) Account Name Log Overflow DoS
42511 2008-01-23 HTTP File Server (HFS) base64 Representation Basic Authentication Log File Arbitrary Text Injection
42513 2008-01-23 HTTP File Server (HFS) Basic Authentication Crafted Element Request Information Disclosure
не очень оптимистичный перечень
Действительно, грустно. Однако, для тех целей, для которых его юзаю я — раздавать ссылки друзьям — вполне подходит.
Best lightweight web server (only static content) for Windows [closed]
Want to improve this question? Update the question so it’s on-topic for Stack Overflow.
Closed 8 years ago .
I got application server running in Windows – IIS6.0 with Zend Server to execute PHP. I am looking for lightweight static content only web server on this same machine which will relive IIS form handling static content and increase performance.
It need to be only static content web server – maximum small and maximum effective – lighttpd seems too big because allow to FastCGI.
I am looking for: Windows, static content only, fast, and lightweight.
I am using Windows Server 2003.
8 Answers 8
- single executable
- very small memory footprint
- allows multiple worker threads
- easy to install as service
- configurable with a configuration file if required
You can use Python as a quick way to host static content. On Windows, there are many options for running Python, I’ve personally used CygWin and ActivePython.
To use Python as a simple HTTP server just change your working directory to the folder with your static content and type python -m SimpleHTTPServer 8000 , everything in the directory will be available at http:/localhost:8000/
Python 3
To do this with Python, 3.4.1 (and probably other versions of Python 3), use the http.server module:
The smallest one I know is lighttpd.
Security, speed, compliance, and flexibility — all of these describe lighttpd (pron. lighty) which is rapidly redefining efficiency of a webserver; as it is designed and optimized for high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more) lighttpd is the perfect solution for every server that is suffering load problems. And best of all it’s Open Source licensed under the revised BSD license.
Edit: removed Windows version link, now a spam/malware plugin site.