Pipasoft logo
my geek blog free java code
azstats filenabber
maccc nator

FileNabber 1.3

What is it?
Why?
Requirements
Features
License
Source Code/Modifications:
Download/Install
Running
Parameters
Future
Contact

FileNabber is free for home use and is not disabled in any way. Use it at home for as long as you like for free. But...if you really like it and use it, feel free to send me a buck or two (or more) to support its development. Here is a link that will allow you to donate whatever you want to it via Paypal.

What is it?
Have you ever been away from your computer and wanted to download a new game demo, an upgrade for a application, or maybe a new driver for your video card? With Filenabber you can. With FileNabber running on your computer, you can remotely access your computer and tell it to download files for you.....when you get home, they will be waiting on your computer for you. You can also upload files to it. FileNabber is a J2EE web-app (packaged as a .war file) that supports download file via HTTP and FTP and also supports uploading files via HTTP.

Why?
I would often visit various websites while away from my home PC and when I saw a new program was released, I would email myself the URL to download it when I got home. It finally dawned on me that my cable modem is on all the time and it just sits there at home not being used. I figured there was some way I could get it to download files for me while I'm at work so that when I get home I'll have them already. FileNabber is what resulted. I have been using it for over 2 years now and it works great. I figured it was time to release it to the world and let others do it too :)

Requirements:

  • A J2EE-compatible servlet engine that supports .war files such as Tomcat, Enhydra, iPlanet, jo!, etc. It will work on other servlet engines that don't support .wars, but it's a pain to setup - if you know what you're doing you can make it work. (I highly recommend the jo! servlet engine - it's free and really easy to use with FileNabber)
  • You must be able to remotely access your servlet engine (it's not too useful if the client/server are the same machine) - you need either a static IP address (if you have DSL you probably have one), or, if you have a dynamic IP address (like a cable modem), you'll need some way to access you computer with the IP address or some other URL. I recommend using http://www.dyndns.org

Features:

  • configurable login/password required to access the functionality (or it can be configured NOT to require a password)
  • can download files via FTP and/or HTTP - shows progress bar for downloads
  • can handle HTTP uploads - even shows progress bar for uploads!
  • status page for all downloads that shows the current progress
  • configurable download/upload directory
  • automatic notification (in the webpages themselves) of FileNabber updates
  • supports themes so you can change the colors/images of the webpages that are displayed
  • completely free for non-commercial use
  • code has been tested for over 2 years now so it is VERY stable

License:
FileNabber is completely free for non-commercial (home) use. If you are using this in a business (either for your employees or your customers) and your business makes money, then you should purchase a commercial license for it. The license fees are VERY affordable. Please email me for details on commercial licensing.

Source Code/Modifications:
I have decided not to release the source code to the general public at this time and the code is obfuscated. If you are a home user and are curious how I did something, just ask. If you are a commercial user and would like to customize FileNabber, please contact me about purchasing the source code.

If your company wants a version of FileNabber that looks or acts differently, I am available for contract work and can make the modifications for you.

My contact email is:

download.jpg
Download page (default theme)
status.jpg
Status page (purple theme)
themes.jpg
Themes page (using terminal theme)
upload.jpg
Upload page (white theme)

Download/Install:
Download the .war file here then install it into your servlet engine (how to do this varies depending on which servlet engine you are using - consult your server's docs) Most require you to put the filenabber.war file into the deploy directory then reboot your servlet engine but check your servlet engine's manual for complete instructions. Once you have it installed and you hit the main page, you can look in the log for some info on what directory it is using, what theme, the valid users, etc.

Running FileNabber:
Simply connect to your machine using a browser using a URL like this: http://yourmachine:port/context/nabit
Usually you install to a context of "filenabber" so this URL will work if your server is running on port 80:
http://localhost/filenabber/nabit

Parameters:
Even though it is configurable, you don't HAVE to configure anything. It will work as-is but it can be configured to your liking. There are 5 parameters in the web.xml file that are configurable:

  • simpleauth - if this is set to true, a name and password will have to be entered before anything can be uploaded or downloaded. If simpleauth is set to false (or it is not present), no login is required - anyone with access to your server can upload or download files. If you want to use your servlet engine's built-in security, set this to false and change the web.xml to have a security constraint
  • downloaddir - this is the directory where all uploaded/downloaded files will be saved. If this parameter is not present, a default directory will be chosen under the web app's context (the download dir will be printed out in the log when the web app is initialized).
  • usersdir - if this parameter is set and simpleauth is being used, the servlet will look in this directory for the users file. If the usersdir is not specified or the users file is not found, it will default to a user named admin with a password of admin.NOTE: make sure you don't put the users file in a directory that is being served up by your webserver/servlet engine
  • theme - this is the theme that will be used by default when FileNabber starts. You can always change the theme after it has started by going to the themes page. If you always want this theme to be used, you can delete all the themes from the /themes directory except for the one you want to use. You can also easily create your own theme - take a look in the themes directory - it should be obvious how to create new ones (if not, email me - )
  • separatedirs - if true, each user will put files into downloaddir/username. If false or not present, all files will go to downloaddir
Format of users file:
the format of the file is:
user=password
with each user on a separate line. So, if you want 2 users, bob and sarah, with bob's password 12345 and sarah's password abcdef, your users file would look like this:
bob=12345
sarah=abcdef

Contact:
If you have ANY questions at all, don't hesitate to email me at . I have tried this on every servlet engine I could get my hands on and it has worked with no problems on 99% of them. I want this to be easy to use/setup so if something is not clear, let me know so I can make it explain it better. Also, if there are any features you want FileNabber to have, let me know - I'm always looking to add more functionality.

If you are an HTML guru and want to redesign the FileNabber webpages that are displayed, email me - I'd be more than happy to provide a link that says something like "HTML designed by ?????" on all of the pages. Also, I could use a cool FileNabber graphic/logo (I suck at graphics). If anyone wants to make one for me, I'll use it and I'll make sure I give you credit everywhere it is used.

The latest version can always be found at http://filenabber.pipasoft.com

Future:

  • A better status page with support for stopping/starting/resuming downloads
  • Implement a queue so that you can set how many simultaneous downloads occur
  • Allow moving items up/down in the queue
  • (maybe - if requested enough) Provide the upload/progress bar functionality for others to use in their servlets
  • (maybe - if requested enough) Provide the login functionality for others to use in their servlets

©2000-2005 Brian Pipa and PipaSoft All rights reserved.