eftepede - a FTP server that doesn't suck
So, here is the story: I got a linux box and proftpd. If you know proftpd, and you know me, you know that at this point I am angry. I have a very simple task:
- Setup an FTP server with n users
- Each user should see only a specific directory
- Some master user sees everything
Not too complicated, uh? Well, not so fast, Mr. It turns out that proftpd has a huge, complex XML configuration where you can specify each and every individual piece of code ... but user management turns out to be by default linked to linux users, which is something I most definitely don't want. I also don't want to turn on LDAP or some other weired authorization scheme; I don't want to take a three weeks course. God damnit, setting up FTP shouldn't be that complex.
Features
- It just works. For me, at least ;)
- Can use sqlite (default: requires no database setup), postgresql and mysql.
- FTP users are unrelated to system (Linux) users.
- Written in Python, works on Windows as well as on Linux.
Download
Linux archive: eftepede.tar.bz2
Windows binaries: eftepede.zip
Prerequisites for Linux
- You need python2.6 on the path. Other versions may work, but I haven't bothered checking it out.
- You need the python cryptography toolkit. If you're on debian, try an "apt-get install python-crypto"
- You need pyftpdlib
Prerequisites for Windows
- None
Installation on Linux
- Unpack the archive
python eftepede_admin.py add user USERNAME PASSWORD HOMEDIRECTORY
. Repeat and rinse for all users you want to definepython eftepede_daemon.py
Installation on Windows
- Unpack the service archive
eftepede_admin.exe add user USERNAME PASSWORD HOMEDIRECTORY
. Repeat and rinse for all users you want to defineeftepede_server.exe
Alternatively, you can install eftepede as a Windows NT Service:
- Unpack the service archive
eftepede_admin.exe add user USERNAME PASSWORD HOMEDIRECTORY
. Repeat and rinse for all users you want to defineeftepede_service.exe -install
net start eftepede
Other databases
The default setup uses sqlite, which is great! and doesn't require any sort of setup.
If you want to use postgresql or mysql, open eftepede_config.ini
and check out the comments: it should be
pretty straightforward.
Support, Security, FAQ etc.
Use the source, luke!