|
The HttpFileServer is a Java based mechanism for providing web
access to a set of files on a server. This is very similar to Apache Directory
Indexing but provides the ability to upload files as well.
Skip the blub - download
now
What does it look like screenshot
This service is written for Apache Tomcat and should run ok on JDK1.4
and above, but it has not been tested on lots of different configurations.
I run it on JDK1.4.2 with tomcat 4.1
on both windoze2000 XP and Linux RedHat7 and Fedora Core 2
Dont believe the hype? - try
it out P.S. the data gets wiped on the hour so if something disappears
don't be suprised (what, doyou think i'm giving away web space ;o) )
There is a version of this page in the 'static' directory (if no one has
deleted it) to view it working as an editable webserver
to log in use viewer:password or manager:password
The system has the following features.
- Upload
- Download
- Security
- Zip Support
- Text editing
- Streaming MP3s
- Mime Types
- Relative URLs
- GPL
Feature details
- Security, the service is protected by webapp security
- Currently there are three roles viewers, uploaders and managers
- Viewers - view the files, download, stream playlists(optional)
- Uploaders - same as viewer plus the ability to upload (but not overwrite)
- Managers - view, download, upload, overwrite,
create directories, delete, edit text files and stream
playlists(optional)
- Zip support - Entired directories can be downloaded as a single
zip by clicking on the icon next to every directory.
Zip files will be generated and then streamed, this potentially can
be time consuming if you select a lot of files.
Zip upload, a zip can be uploaded as a normal file, or optionally, uploaded
and expanded on the server automatically. This provides the ability
to download your website, work on it locally, and then upload the whole
site when it is finished. All this without the need for FTP or any ports
open other than 80.
- Text editing support. If the mime type of a file is text/xxxxx
(for example text/html) the file can be edited directly in a browser.
This allows managers to make small changes to a site quickly without
having to download and upload the file.
- The ability to stream MP3 playlists to a M3U supporting player
e.g. Winamp (optional)
To use this feature you will need to run it on tomcat, other features
should work on any JSP server but this feature uses tomcat's URL session
key.
- This service will work over most firewalls. This allows site
managers to edit static sites from within firewalled environments (i.e.
at work) or from any browser. (i.e. in a internet cafe)
- Mime types are respected, so images will display in the browser.
Right mouse click to save the file in most browsers.
- URL based selection - Rather than using HTTP parameters the
URL is encoded so relative links work from within HTML pages. e.g /servlet/fs/DIRECTORY/fileName.gif
This enables the service to work as a normal web server serving pages
with embeded images. By simply selecting the directory instead of an
html file the directory becomes editable and modifications can be made
to the site(provided you are loggid in as a manager). By running the
service on a separte URL normal website uses can view the site as usual
but the website owner can edit the site from any machine running a normal
browser. Editing is protected by username and password and the service
can be run over https for added security.
- The source is open and free. (GPL)
The UI of the test version uses icons designed for Linux KDE, there are alternatives
provided in the iconpack module. If you are a graphic designer and would like to submit a skin
please get in
contact.
This service could be used for any or all of the following...
- Providing a secure editable website, like a wiki for people who are
happy to code in html.
- Providing an editable interface to an existing website (could be PHP
or scripted) so it can be maintained from anywhere with a browser.
e.g. you can fix typos or broken links as soon as you find them rather
than waiting to get back to base.
- Providing public file space for file secure transfers over a firewall,
for example a public space to send and recieve files from customers
or friends without the size limits of many email accounts.
The client groups feature (disabled by dsefault) allows you to setup
different directories for different groups of clients or friends using
the same instance of the server.
This would be quite handy for large companies spread geographically
too, providing secure file space publicly grouped by project.
- Providing a web site of all your music, but securing it with a password
so only you can access it, from anywhere.
Clearly if you put all your music on the web for public/insecure access, you can expect people
to find out, nick it, and for record companies to get annoyed and sue.
If you secure it no one knows you are doing it, and you are not making
music available to the public anyway, however you can listen to your
tunes from your mates house.
This option may be legally dodgy in some places, but no more so than
copying file to an MP3 player, I think.
- Simply putting your files and documents on the net so when you are
away from your servers you can still get at files you need. And not
have everyone else get access to them.
Turning off security for viewing files.
It is possible to turn off security for the viewer and/or manager roles. This
enables anyone to download the files without logging in.
To do this the web.xml file must be edited.
To make viewing and downloading files available with out logging in simply
comment out or delete the <security-constraint> with display name
manager, viewer
<!--security-constraint>
<display-name>manager, viewer</display-name>
<web-resource-collection>
<web-resource-name>files</web-resource-name>
<url-pattern>/servlet/fs/*</url-pattern>
<url-pattern>/servlet/m3u/*</url-pattern>
<url-pattern>/servlet/download/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>manager</role-name>
<role-name>viewer</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint-->
This site (like all good sites) is hosted by
|
|
|