|
|
|
RC-FTPd3 is being coded on again (for the third time I've had to start from scratch), but there are some major differences
to the old rc-ftpd 2.x series. Since losing the source for rc-ftpd 2.74 a lot of people have thought that was the end, but the
only part of that source that was going to get used and has been lost was the layout code for the Drag'n'Drop of the main
GUI - everything else was being rewritten from scratch anyway, so apart from the lack of time on my part, there aren't any
problems with doing it!
RC-FTPd3 is being designed differently to before, among other things it will be multi-platform. Starting on Classic Amiga,
it'll then get compiled to be AmigaOS4 and MorphOS native with hopefully very few changes needed (the code itself will be
done to be easily maintainable). After that will come a *nix version, then I will try to do a windoze version. Only the
Amiga versions will be guaranteed to have GUIs, though there will be remote admin.
The GUI itself will be going external to the main program, as will the Prefs. There is a new plugin API which allows things
such as the GUI, Prefs, ARexx and remote admin (plus any other extensions) to be on the server only when needed. It will
also be able to talk to other rc-ftpd servers to allow transparent file-sharing networks, with either rsync style (ie, every
server has the same contents updated regularly), or networked storage style (ie, every server has it's own set of files, but
the client doesn't need to connect to any specific server to get them).
Registration will also be changing, with different levels of registration. A lot of people use it unregistered, but only
occasionally, so I will keep it useable for them, at the same time making it more attractive for business use.
| Unregistered | Unlimited LAN use, NET use gets a per-user command "lag" - so the more users connected the longer each command takes to react (note: xfer speeds won't be affected, only time taken) |
| Single User | Run on one machine on one public IP, no lag added |
| Small Business | Run on multiple machines on a LAN (one public IP) - they talk to each other to share resources, such as what machines carry what files - so you don't need to add network traffic via SAMBA etc for serving files. |
| Corporate | Multiple machines on multiple IP's - as above, but will also let the send/recv IP's be public IP's - and not just send the same IP, this way you can have ie local mirrors transparent to the client. |
Plugins are planned for Compress (ie, "RECV file.Z" - this will also be an example plugin for source), MD5 checksum
generation/checking, security (SSH etc), remote admin (web based, on a non-standard port, using SSL), usage stats, per-user/group
transfer limits, ARexx, and hopefully anything else useful enough, that shouldn't be part of the main server (for security etc).
The remote admin and MUI prefs will both be a kind of script supporting idea - they will basically get information from the
server on *what* to display, but it will be up to them how they actually display it. It sounds complicated, but what it means
is that whenever a new feature or plugin is added, the prefs support it immediately, with no recompiling needed unless it's a
new type of data to be displayed that can't be made from previous types.
There will be per-ip access (built into the user+group code), so you can limit people to set users, or users to set ips (or
ranges). There will also be a banlist to prevent individuals or ip ranges from accessing the ftp. With multi-server setups
they will keep in sync properly (that counts for all config changes - it'll automatically propagate). There will be built-in
asynchronous DNS lookups, and even the option for reverse-dns lookups, so you can anything needing an IP, and have IP, hostname,
IP-range (or subnet mask), or even hostmask.
There is no beta version as of yet - and when ready it will probably be announced on here, so please don't ask me when it'll
be ready - I've got a young family, a job, and a whole bunch of commitments, so it'll be ready when I've had enough time ;-)
|