Home file hosting in Perl

    History, in fact, does not begin far far away, but rather recently.
    My friends at work are denied access to everything that is possible, especially to half of the sites and FTP. This unpleasant fact does not allow us to quickly, conveniently and efficiently exchange files with us, as a result of which everything was sent by mail. And the task in this case is extremely simple - to “share” any programs, documents or photos in the public domain.
    A relatively old HP NX6125 laptop and a 10 Mb / s channel are available at home, which, in principle, is fast enough to make a backup and file server out of this.
    I will not describe the process of installing Debian and configuring everything, since the habrally people have written excellent articles about this more than once. And I’ll tell you better about how I solved the problem of downloading files directly.
    As I said above, the problem is that 2/3 of our team has only the 80th port available, i.e. HTTP Accordingly, the easiest and most Orthodox way to upload via FTP is no longer due to its incompatibility with life. It only remained to use the ready-made file manager, or write one yourself.
    As a result of viewing a dozen or two projects, I still decided to write something of my own, since it is much easier to sort out my code, and there were almost no completely free projects.

    Before writing, the following tasks were set:

    - do everything smartly and technologically, with might and main use Ajax / XML / Javascript and other webdanol;
    - simplicity is not at the expense of functionality;
    - cross-breeding and cross-platform (yes, so that it can be run on the windows, diesel fuel and in general).

    The project decided to write in Perl, as it steers and is very vigorous for this task. And here is the result:

    image

    The beast was not originally called Home File Sharing and was released under the GPL (source can be taken here ).

    What he can do:
    - upload files, including in parallel (you can open several windows), progress bars are displayed;
    - copy / delete / move / rename files and folders;
    - create folders.

    What will he be able to when my hands reach:
    - Drag and Drop;
    - archives (unpacking ZIP on the server, maybe packaging).

    Tested on the Debian platform (where this miracle now lives) and Windows XP (where it was just tested); works great from Firefox, Opera, Safari, IE7 (not tested in the six). It requires only Perl and a web server, no databases are needed.

    Yes, and of course, the demo can be seen here , but nothing can be done with files in the demo. So just crawl, look at the interface, poke buttons.

    Also popular now: