fmweb is a java based filemanger for local or remote access.
It runs on OS/2, Linux, AIX, Windows/95 and Windows/NT.
The output of fmweb is HTML.
The user needs a WEB-Browser (currently only Netscape is supported)
to access fmweb from the same machine or from anywhere over the TCP/IP network.
Although fmweb is a plattform-independent java application, it offers many functions
that specialized file managers for the operating system provide.
Security
fmweb provides an authentication mechanism based on userid and password as well as a list
of allowed hosts (IP addresses).
If fmweb receives a request from a Web-Browser it checks first if the IP address of the
incomming request is in the list of allowed addresses.
If yes, the user is being asked for userid and password. If they are correct, the IP
address is set authenticated and following requests from this address are served.
To make it more difficult for hackers to use such an authenticated IP address for unallowed
access, the authentication is time-limited and expires after a configurable
time period.
The userid and password are prompted by a java applet that encodes the password
and sends it to the fmweb server host. If the browser has disabled java in the security
preferences, it does not load the Authentication applet. For this case fmweb can be startet
without client java support. Userid and password are then prompted by a HTML form and
transmitted via HTTP. The disadvantage of this method is that the password is visible in
the location field of the browser for short time and it is not encoded. For a better security
it is highly recommended to use the first authentication method wich requires java on
browser side.
The profile containing userid, password and access list should be placed in a secure directory
with restricted access (for example in AIX : /etc/security).
If fmweb runs on UNIX, the user of fmweb gets the same access rights to the filesystem as
the userid that started fmweb. If fmweb was started by user root or from the inittab,
the fmweb user gets all access rights of user root.
Multi-user capabilities
fmweb can handle multiple users simultaneously, if they are not located on the same
TCP/IP host. fmweb does not use session keys, so it cannot distinguish between two users
comming from the same host. fmweb holds "session information" based on the IP address of
the client, for example the current directory path.
Software Requirements
fmweb has been tested on the following operating systems :
AIX Version 4.1
OS/2 Version 4.0
Windows 95
Linux
Windows NT 4.0
fmweb requires the Java Runtime Environment to be installed.
The following combinations of java and operating systems have been tested :
java 1.1.4 on AIX
java 1.1.6 on Win95 and Win/NT (java 1.1.4 does not work !)
java 1.1.6 on OS/2 (java 1.1.4 should also work)
java 1.1.6v5 on Linux
If running on OS/2 fmweb requires a HPFS partition.
On client side a frames-capable Netscape version is required.
fmweb now uses Javascript, but still runs when javascript is disabled.
fmweb needs java 1.1 on browser side for the authentication applet. With lower security
fmweb can be run in a mode that does not require client side java.
Installation
Unzip the the fmweb.zip file (OS/2, Windows and Linux) or Un-tar the fmweb.tar file (AIX)
into a separate directory.
Edit the configuration files as described later. The sample config files will not
work without customization for your environment.
Configuration
fmweb reads its configuration parameters from the config file
fmweb.conf
and from 3 additional profiles :
FMAUTH.PRO
fmassoc.pro
mimetypes.conf .
The main configuration file fmweb.conf
This file must be located in the same directory as the .class files of fmweb.
The statement Port defines on wich TCP/IP port fmweb should listen.
FmwebRoot must point to the installation directory
containing for example all the .GIF files.
AccessLog gives the name of the log file where all transactions
are logged.
AuthorizationFile is the name of the security file containing
userid, password and the list of IP addresses allowed to access fmweb.
SystemEditor is the path and filename of the system editor used
to edit files if the access to fmweb is from the local machine.
SearchProgram is the fully qualified file name
of an external search program that is called from fmweb via the search button
and gets the actual directory as the only parameter. This parameter is only
meaningful for local access to fmweb.
AuthRefreshInterval is the time in minutes after wich new authentication with userid and password is required.
ClientJava must be set to "off" if the Web-browser has java disabled,
wich means a lower security in the password authentication procedure.
The security file FMAUTH.PRO
The first line contains userid and password.
The other lines are IP addresses of hosts that are allowed to access fmweb.
The Association file fmassoc.pro
With this file you can associate application programs to file patterns, for example
file extensions.
Each line contains a file name mask, that can include the asterisk (*) as a place holder,
and the path and name of the application program that should be started to work with
these files.
The list of mime types mimetypes.conf
This file tells fmweb wich mime type to associate to a given file extension.
The mime type is sent as part of the header of each HTML page to the Web Browser to
tell how the browser should handle this document.
If you have files with extensions not contained in the mimetypes.conf file, add them by
editing the list.
Starting fmweb
The PATH environment variable should contain the directory where the
java virtual machine executable (java) is located.
If the CLASSPATH environment variable does not contain the installation directory of fmweb,
you must change to this directory before calling
java fmweb
from the command prompt.
When the message
listening on port ...
is displayed, fmweb is ready for connections from Web-Browsers.
The URL for accessing fmweb is :
http://ipaddr_or_hostname:port/_fmweb
for example :
http://localhost:1998/_fmweb
Navigation
To navigate through the directory tree, click on the folder icon in front of the directory
name. If you want the files of a directory to be displayed in the right frame, click on the
directory name.
You can quickly return to a previosly visited directory via the
fastpath button. The most frequently visited directories are displayed on top of the
fastpath list.
If running on OS/2 or Windows fmweb shows a drive window, wich is refreshed every 120 seconds
to include new mounted network drives or exclude dismounted drives.
File Functions
Some frequently needed opeartions on files can be accessed via the icons in
front of the filename : View the file in the Browser Edit the file Delete the file Copy or Rename/Move the file
If fmweb is being accessed from the local machine, the edit function starts
the system editor as defined in the the configuration file fmweb.conf . Otherwise,
the file content is loaded in an edit window in the browser.
More functions on files can be accessed from the file meu, wich is opened
by a mouse click on the file's name.
One function is the compression/decompression of files. OS/2 and Windows : Info-ZIP's ZIP and UNZIP package must be installed and the
executables must be in a PATH directory.
If multiple files are selected and the compress button is pressed, you must
also specify the name of the destination ZIP file in the input field. UNIX : fmweb uses the compress/uncompress command to perform this function.
If multiple files are selected and the compress button is pressed, fmweb first creates a
tar archive from the files wich is then compressed. Extracting files is the a two step
function : first uncompress, then un-tar from the file funtion menu. Important Note : The compress functions removes the original files after
successfull compression! The uncompress function removes the .ZIP or .Z file
after successfull decompression !
Known Problems
Under OS/2 fmweb may cause "drive not ready" popup messages for diskette or
CD drives to appear when fweb queries the available drives and there is no medium in the drive. To circumvent this, place the following
statement in the config.sys : AUTOFAIL=YES
Currently there is no support for NLS special characters and spaces in file or directory
names (for example German umlauts).
Under OS/2 there seems to be a 64 KB size limit for multi-line text areas. The
result is that you cannot load more than 64 KB of text in the fmweb editor,
wich consists of a html text area displayed in the Netscape browser (Netscape for OS/2
crashes if larger text is loaded into a text area).
Looping symbolic links are a problem for fmweb's FindFile and Directory Statistics functions,
because java reports no difference between a symbolic link and a true directory. The result is
a looping thread of fmweb. So avoid having such links or don't use these functions for
directories containing looping links.
To run fmweb on Windows/NT a user must be logged on (it cannot be run as a service).
fmweb does not use the copy functions of the underlying operating system. Instead,
fmweb does the read and write operations by itself. This gives platform-independence, but the
result is that the copy destination file gets a new "last update" date and time. While
the content of the file is still the same after copy, the date/time is not. A second
disadvantage of this copy method is that additional attributes of the file (for example
OS/2 EA's) are not copied.
Contact the author
If you find a bug or have suggestions for improvement please send an e-mail to the author
frank_hoehnel@hotmail.com .