윈도우용 간이서버 ftp web서버
binary edit 2.rrr first byte a - R
간이 웹서버 FTP서버 for Windows
240706.10ys
Installing TinyWeb
To install TinyWeb server just create a shortcut in Startup menu with the following properties:
Target | c:\www\bin\tiny.exe c:\www\root |
Start In | c:\www\log |
c:\www\bin\tiny.exe is the path to TinyWeb executable, c:\www\root is the path to www home (root) directory, and c:\www\log is the directory for log files TinyWeb keeps.
TinyWeb is neither windowed nor console application, moreover, it is not a Windows Service. Once started, tiny.exe
will appear in Task List. There is no way to stop Tiny Web except End Task operation.
Command-line Options
- First parameter (mandatory) is a path www home (root) directory.
- Second parameter (optional) is a port number. By default it is 80 for HTTP and 443 for HTTPS(SSL/TLS).
- Third parameter (optional) is a dotted-decimal IP address to bind the server. By default, TinyWeb binds to all available local addresses.
Examples
Run TinyWeb on port 8000:
c:\www\bin\tiny.exe c:\www\root 8000
Run TinyWeb on port 8000 and address 212.56.194.250:
c:\www\bin\tiny.exe c:\www\root 8000 212.56.194.250
240705.16 tiny.exe .\www, tiny.exe .\이렇게 상대경로를 지정하면 Forbidden이 뜬다. tiny.exe d:\tiny\www와 같이 해줘야한다. 폰에서 http스트리밍 요청시 잘 되지 않는다. 미흡한 점. ys
What does TinyWeb do
Handles http-requests!
Path to home directory is taken from command line as a first parameter. The second parameter is bind-port and the third is bind-address, both are optional, don't use them if unsure.The default directory root file name is index.html
. If index.html
file is not found in a directory, TinyWEB then looks for index.htm
. If none of these two files are found, a file with name index
and extension from PATHEXT environment variable is executed as a CGI from cgi-bin
directory. If you have no such files in cgi-bin
, make sure that index.html
or index.htm
exist in the directory first command line paramenter points to. Please refer to error_log
in case of any troubles. The only GET
, HEAD
and POST
commands are handled.
Executes CGI applications!
The following environment variables are passed to application:
- PATH_INFO
- PATH_TRANSLATED
- REMOTE_HOST
- REMOTE_ADDR
- GATEWAY_INTERFACE
- SCRIPT_NAME
- REQUEST_METHOD
- HTTP_ACCEPT
- HTTP_ACCEPT_CHARSET
- HTTP_ACCEPT_ENCODING
- HTTP_ACCEPT_LANGUAGE
- HTTP_FROM
- HTTP_HOST
- HTTP_REFERER
- HTTP_USER_AGENT
- QUERY_STRING
- SERVER_SOFTWARE
- SERVER_NAME
- SERVER_PROTOCOL
- SERVER_PORT
- CONTENT_TYPE
- CONTENT_LENGTH
- USER_NAME
- USER_PASSWORD
- AUTH_TYPE
To learn more about CGI, please search for "Common Gatewey Interface".CGI interface was tested with ActivePerl for NT, which is available at http://www.activestate.com/CGI application are being executed from /cgi-bin/
directory only. All files requested from /cgi-bin/
directory will be treated as CGI and executed, so don't put non-CGI files into /cgi-bin/
directory.TinyWeb handles "Location" and "Status" CGI script output directives. "Location" may only contain an URL, local file redirections are not supported.The samples to test CGI are provided in cgitest.zip
package within TinyWeb archive.Note that TinyWeb extracts content-types, associated to file extensions, and script interpreters (e.g. Perl) from Windows Registry, so make sure that .html
, .htm
, .pl
are registered file types. It means that I recommend to use .pl
as an extension for CGI-scripts written in Perl.The information is being taken from registry (to TinyWeb's cache) on TinyWeb's startup, so if you made some content-type or file-assotiation-related changes of registry, you must reload TinyWeb in order to take effect.
Keeps logs!
TinyWeb keeps Apache-compatible The Common Logfile Format log files: access_log
, agent_log
, referer_log
and error_log
, which can be analyzed by any compatible log analyzer.Logs are kept in a derectory from that TinyWeb was started. Make sure that "Start In" directory of TinyWeb properties is set properly.Please note that TinyWeb doesn't support W3C's Extended Log File Format.
Allows using CGI instead of index.html
As mentioned below, if an URI with empty name part specified (only path part is specified) and no index.html or index.htm found on this path, TinyWeb can run CGI application. Examples when only path part is specified are http://www.ritlabs.com/
or http://www.ritlabs.com/tinyweb/
. In that case TinyWEB first looks for index.html
or index.htm
and, if none of them found, runs a file with name index
and extension from PATHEXT environment variable. For example, if PATHEXT is set to .pl
and /mydir/
is requested, /cgi-bin/mydir/index.pl
will be run. TinyWeb caches these CGI handler application pathnames, so if you had /cgi-bin/mydir/index.pl
for /mydir/
and then removed that index.pl
and put index.exe
instead, you should reload TinyWeb.
What does TinyWeb not support
Administration and setup
- Administer server from browser
- Graphical wizard-based automated setup routine
- Non-browser graphical-based setup
- GUI-based maintenance
- Remote maintenance
- Real-time performance measurement tools
Logging
- Logging with Event Log
- W3C extended log format
- Log to ODBC database
- Log files can be automatically cycled or archived
- Normal (hit) log entries can be customized
- Possiblilty write to multiple logs
- Generating non-hit log entries and comments
- CGI scripts creating their own log entries
- Performance measurment logs
- Tracking individual users in log
Protocol Support and Includes
- Selecting documents based on Accept header
- Selecting documents based on User-Agent header
- Including based on HTML comments
- Including based on request headers
- Forced includes
- Automatic include if any HTTP headers in responses
- Built-in scripting language
- Built-in image-map handling
- Support of HTTP/1.1 PUT
- Understanding of full URIs in HTTP/1.1 requests
- Non-supported methods to invoke a scrip
- SNMP agent
- Support of Netscape Server API
- Support of Microsoft ISAPI
Security
- Support of PCT
- Prohibiting access by domain name
- Prohibiting access by IP address
- Configurable user groups, not just a single user list
- Hiding part of a document based on security rules
- Security rules based on URLs
- Integrated certificate server
Searching and Indexing
- Internal search engine
- Scriptable and programable searches
- Automatic index updates when changes are made
- Limiting queries by directory
- Highlighting hits from searches
- Return document properties in query results
Other Features
- Script or action based on output media type
- Automatic directory tree
- User directories
- Direct (non-CGI) link to a DBMS
- User interaction tools
- NCSA-server-side imagemaps
- Non-blocking DNS
- Act as caching HTTP proxy server
The open-source mini HTTP server - Small and elegent
Introduction
MiniWeb is a mini HTTP server implementation written in C language, featuring low system resource consumption, high efficiency, good flexibility and high portability. It is capable to serve multiple clients with a single thread, supporting GET and POST methods, authentication, dynamic contents (dynamic web page and page variable substitution) and file uploading. MiniWeb runs on POSIX complaint OS, like Linux, as well as Microsoft Windows (Cygwin, MinGW and native build with Visual Studio). The binary size of MiniWeb can be as small as 20KB (on x86 Linux). The target of the project is to provide a fast, functional and low resource consuming HTTP server that is embeddable in other applications (as a static or dynamic library) as well as a standalone web server.
MiniWeb supports transparent 7-zip decompression. Web contents can be compressed into 7-zip archieves and clients can access the contents inside the 7-zip archive just like in a directory.
MiniWeb can also be used in audio/video streaming applications, or more specific, VOD (video-on-demand) service. Currently a VOD client/server is being developed on MiniWeb.
Source Code
The source code of MiniWeb is in SourceForge repository. You can view the the source code instantly here.
Links
MediaCoder - the universal media transcoder which uses MiniWeb as the built-in HTTP daemon.
MiniWeb (C)2005-2012 All rights reserved by Stanley Huang
240705.17 Mini Web
콘솔 대화형 간단한 웹서버. 업로드 기능 있다는데 안되는것 같음. ys
MiniWeb is a high-efficiency, cross-platform, small-footprint HTTP server implementation in C language. It implements GET and POST methods and works on multiple platforms ranging from server, desktop, game console and IoT hardware.
Features
- small footprint HTTP server written in pure C language
- GET & POST actions with basic HTTP authentication
- easy-to-extend with URL handler callbacks
- cross-platform and scalable
- serial port access via HTTP
- integrated UDP server interacting with HTTP server
-h : display this help screen
-v : log status/error info\n"
-p : specifiy http port [default 80]\n"
-r : specify http document directory [default htdocs]\n"
-l : specify log file\n"
-m : specifiy max clients [default 32]\n"
-M : specifiy max clients per IP\n"
-s : specifiy download speed limit in KB/s [default: none]\n"
-n : disallow multi-part download [default: allow]\n"
-d : disallow directory listing [default ON]\n\n");
acWEB
OVERVIEW
acWEB is a small and simple, but feature rich and extrimely stable
HTTP-server for Win32. We host tens domains on this server platform
for last 2 years.
Server use Forth language (SPF dialect) for server-side scripting,
but compatible with most others scripting engines - PHP, Perl,
extern ForthScript, etc.
INSTALLING
To install acWEB as a system service (to run it invisible in
background) - just extract zip-file and run install_NT_service.cmd
Than use start_acWEB.bat and stop_acWEB.bat to start/stop service.
You may run acWEB as console application too - this allows
interactively debug your own plugins. To run it as console
instead of service - uncomment line \ Plugin: plugins\console
in the file conf\OnStartupPlugins.rules.txt and comment out
the line Plugin: plugins\service
In this case to start acWEB just run acWEB.exe.
TESTS
In the default configuration server listen all interfaces of
80 TCP-port, so you may access your server by URLs:
http://localhost/
or http://your_server_name/
or http://your_server_IP/
and you'll see few samples of pages and scripts.
MONITORING
Server log - acWEB.log. Its format by default compatible
with Apache log format. So you may use most of Apache statistics
application. For example, Analog. See http://www.analog.cx/
and conf\analog.cfg.
Internal ForthScript's stdout is also redirected to acWEB.log.
Extern scripts (CGI) output goes to client's browser.
CONFIGURING
The sample acWEB configuration is in the folder conf\.
Main configuration files are:
conf\OnStartup.rules.txt (port number, plugins set)
conf\http\OnRequest.rules.txt (directories, virtual hosts, CGI, authorization)
Mail any questions to spf@users.sourceforge.net
Or (better) post them to the forum at http://acWEB.sf.net/
2002-12-12
acFTP
오후 6:32 2024-06-30
acFTP는 acWEB과 달리 서비스로 작동되지 않음. 아직 미완성으로 끝난 프로그램으로 보임
콘솔 대화형으로만 가능함
acFTP - FTP-server daemon for Win32 platform.
acFTP is an OpenSource replacement for
Microsoft FTP server and other proprietary FTP
servers for Windows. Unlike MS FTP, acFTP supports
extended FTP commands set, including APPE and REST
for resuming broken uploads and downloads.
acFTP can operate under any Win32 platform -
Windows95/98/ME/NT/2000. It compatible with
existing acWEB and acFreeProxy projects (uses
the same networking kernel and configuration rules).
ac Free Proxy Server for Win32 / acFP-1.78 beta8
New plugins added:
console
service
syslog
black_list
ads_block
cache
authorization
Michel Hegeraat - 2009-12-28
Hi, I run the proxy server on a local machine to get access to the lab while on VPN. Problem is that the log file will grow, so I need to, either do a logrotate on the logfile or stop logging. The later is my preferred solution. I would also like to limit access to the proxy to a range so only vpn users use the proxy. I saw there is still CVS activity on this project. New version anytime soon? Cheers, Michel
Kiran Juikar - 2009-12-30
can you explain me how you have configured this application?
Michel Hegeraat - 2009-12-30
I'm running it out of the box. I don't know how to configure it. I'm trying to to pull some of the Russian through the online translators but the translation doesn't make much sense most of the time. But it says more about the translator quality then of the program I think.
All I did:
I unpacked into a directory,
I ran the conf\plugins\service\install_service.bat and started the service.
On the first try it failed and gave me an error in Russian, but created a file conf\http-proxy\ip-list.rules.txt
In there I put my PC's IP address to TRUE And then it worked
Michel Hegeraat - 2009-12-30
So I answer my own question. In conf/OnThreadConnect.rules.txt and conf/http_proxy/OnThreadConnect.rules.txt I put LogLevel: 0
Andrey if you read this, I like to know how think to progress on this project. I see you update the cvs but it it is quite a while since you made a binary. I hope I'm not missing out on anything exciting :-) Also if you have any docs on your project I'm interested. Even if they are Russian.
Cheers, Michel