aboutsummaryrefslogtreecommitdiff
path: root/README
blob: fb6df08cc786c0fc5ea6b0759ff0e7952fd3ac53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
WFM - Web File Manager
======================
WFM is a web file management application. It allows to upload, download,
rename, delete files and organize directory / folder structure using a
standard web browser with CGI.

This program is written using portable C code and compiles natively
for many flavors of Unix. The output is a pure W3C certified HTML 4.01
and doesn't require JavaScript support in the browser. WFM will work in
most HTTP 1.1 web servers with CGI support.  Due to compact size and
lightning fast execution time it's ideal for small and embedded systems.


History
=======
The application begun its life in 1994 as a perl cgi script for CERN httpd
server to allow uploading data files by field support engineers. Later 
rewritten in C language, when CGIC library and Apache httpd were released
around 1996. Up to 2015 WFM has been a closed source commercial application,
supported by a few large enterprise and smaller corporation users. WFM is
now released as open source.


Installation
============
WFM binary is self contained including all icons/images. You only need
to copy the compiled wfm binary (with any name) to your cgi execution
directory. Include a config file of the same name as the binary file plus
.cfg extension. Example:

/home/user/web/cgi-bin
  wfm
  wfm.cfg

Edit the .cfg file according to your needs.

Point your browser to http://x.x.x.x/cgi-bin/wfm and you are done.

Configuration
=============
This application was designed with multiple instances in mind. An instance
is made by copying or linking WFM binary with a different name. In advanced
configuration different instances can suexec to different users.

In a more basic form each instance reads it's configuration file of 
instance name + .cfg extenstion from the current working directory.
For instance if you decide to use "ftpadmin" as name of the executable
(or link) it will read file named "ftpadmin.cfg" for the configuration.
Below is a simple, self explanatory configuration file example:

# tagline or application name
tagline=Web File Manager

# home directory
directory=/home/user/wfmdata

# recursively summarize directory sizes - only enable if you have
# fast disk (SSD) or a small directory tree structure
#recursive-du=true

# favicon / application icon, must be one of the embedded/compiled icon files
# by default wfmicon.gif
#favicon=home.gif

# When clicking on txt file - edit instead of download by default
#txt-default-edit=true

# Edit any file as it was txt
edit-any-file=false

# optional browser url prefix - aka "external link" - if defined, file
# names will be glued to it giving option to be opened directly with the
# external link button without going through cgi routines
browser-url=http://x.x.x.x/files/

# access lists - ace type is either access-ip or access-user
# mixable, eg access-ip=ro:* with number of access-user=rw
# level is ro|rw, one host or username per line  * denotes all hosts
# user is username:password combination
access-ip=ro:*
access-ip=rw:127.0.0.1
access-user=ro:guest:secret
access-user=rw:admin:password

If you use mixed ro/rw access for instance ip=ro:* and user=rw:admin
then in order to authenticate click on the lock sign on right side of
the top status bar.

Copyrights
==========
Copyright (c) 1994-2016 by Antoni Sawicki
Copyright (c) 1996-2011 by Thomas Boutell and Boutell.Com, Inc.
Copyright (c) 2002 by Aladdin Enterprises
Copyright (c) 1999-2009 by Paul Johnston
Copyright (c) 2010 by Yusuke Kamiyamane
WFM implemented by Antoni Sawicki
CGIC Library by Thomas Boutell
Server Side RFC 1321 implementation by L. Peter Deutsch
Client Side RFC 1321 implementation by Paul Johnston
Icons by Yusuke Kamiyamane