A-FTP Server on X1000

Today for my first (delayed) blog entry for 2013 I want to take a look at the recently released A-FTP Server application on AmigaOS4 for the X1000!

A-FTP Server was written using the Hollywood Development application, AISS and MUI-Royale for the GUI by Paul Bloedel. It is available to download from www.os4depot.net

A-FTP Server requires AISS to run, which is also available on OS4Depot. I already have AISS installed previously.

As the name implies, A-FTP Server is an FTP Server for AmigaOS4, which enables file transfers between computers using an FTP client. I was very keen to try it out so let's get into it!

Once you have downloaded it, the archive simply needs to be extracted where you want it. I chose System:Internet.

Once extracted you get a nice A-FTP_Server folder and two icons, one to start A-FTP Server manually, and a StartHidden program which can be added to WBStartup (accessed now via Prefs) to get A-FTP Server to start automatically on boot:

The Readme explains some more about the program, including which FTP client programs for Windows, Amiga and Android have been tested and confirmed working with A-FTP Server:

Once launched, A-FTP Server presents a simple interface, which requires some configuration to get working:

First, I clicked the checkbox to enable Allow Anonymous Access, and then selected WORK:downloads.2013 as the path for anonymous users.

Next, I went to click Add User and then realised that it didn't do anything. You have to type in the username you want to use first, then click Add User. I used epsilon as the username. This will make the greyed out options available to be configured - Password, User Path and the level of access (read only or read and write access).

Note that for the User Path I had to create a folder called WORK:A-FTP and a sub folder called Epsilon manually before selecting the path, since the requester box does not give the option to create the folder at that time. Perhaps this could be included in the future is it is unlikely on initial configuration that this folder structure would be in place!:

 Ok, so now we have configured everything as below, and ready to start the Server:

We start the server by clicking on the Start Server button, with options (once started) to stop or close the GUI (so A-FTP Server runs in the background - a nice touch):

But what IP address do I connect to, in order to reach my X1000 via FTP client? One of my pet irritations in AmigaOS4 until recently was that there is no easy way to determine your IP address if it is DHCP assigned.

Update 4/2/2013 - Thanks to Chris_Y on AmigaWorld.net for the tip - I know now that you can get your IP address from the shell under AmigaOS4 by typing in shownetstatus.

Further Update 4/2/2013 - Thanks for Kicko on AmigaWorld.net for letting me know that there is a tooltype available on A-FTP (turned off by default) that allows the local IP address to be displayed on A-FTP when it is running! Simply right click on the A-FTP_Server icon and select Information from the menu that appears. Next, select the Icon tab, and then remove the brackets around LOCAL_IP=TRUE, as shown below:

Then, when A-FTP is run, you will now see the local IP address of the X1000 on the A-FTP screen just above the "Server is OFF-line" message, as shown below:

Ok, so now I know where I am connecting to! So next I need to setup an FTP client on my Windows 7 PC. Given I didn't have one installed I decided to try out one of the programs on the AFTP-Server README list of  compatible FTP clients. So, next I switched to my Windows 7 Pro 64Bit PC and I downloaded SmartFTP, which is a commercial product that needs to be registered after 30 days:

Once installed, I was presented with the following SmartFTP interface:

So I chose to open a remote connection which prompted me for the AmigaOne X1000's connection information, which initially I decided to test using anonymous authentication:

After clicking ok, SmartFTP went a connected to the AmigaOne X1000 straight away - success:

I then opened a local browser session, which nicely shows the local Windows 7 harddisk and the AmigaOne X1000 FTP session in a split window, very similar to DOpus on Classic Amiga, except SmartFTP enables me to use drag and drop to transfer files between the windows:

I then changed the Windows 7 localdisk to Downloads.2013 and transferred amiupdate.lha as a first test, which worked! I then opened the archive on my PC (as below) and viewed the release_notes.txt to confirm the transfer worked ok:

On the AmigaOne side, I checked the X1000 A-FTP UI to see the events as I transferred additional files:

Now, for those unfamiliar with FTP, anonymous access is read only access. This means you cannot transfer files to the FTP server using anonymous access, only download them. As a test, I tried to upload a file (WO2097CD.iso.lha) to the A-FTP Server using anonymous access.

I expected to be told I didn't have access, or something similar but that wasn't what happened - SmartFTP kept re-trying to upload the file, and A-FTP stops the FTP Server and comes up with a nasty error instead:

The error doesn't crash the application, so next I looked at the event log on the A-FTP Server (shown below). It looks like it doesn't capture this type of event. Perhaps it can be fixed in future releases to refuse the connection and log an error message to that effect...

Anyway, let's now test authenticated access from SmartFTP, creating a new connection to the X1000, using the epsilon username/password I set up on the A-FTP Server earlier:

As before, SmartFTP immediately connects to the X1000 and the session is established - no files are in the Epsilon folder assigned to the epsilon user, but it is ready to receive files:

Next I transferred gemrb archive across to the X1000, which worked well:

You can see the file is now on the X1000, in the Epsilon folder:

I then set about trying to transfer other files, watching the transfers in the A-FTP Event log window as it went:

And here are the transferred files on the X1000:

I then extracted and open GemRB as a test to make sure the files transferred correctly - it worked fine:

So, as a last test I wanted to see the performance when copying files across to A-FTP. My switch is a gigabit switch and the PC is connected at gigabit speed. The X1000 however - I am not sure what speed it uses for the network interface so this test should expose that. I used an iso file to test, and switched the SmartFTP tabs at the bottom to show the Speed tab so I could see the transfer speed:

I was surprised that it only transfers files at 10MB/s maximum! I then tested copying scanned PDF's (around 14GB of files) and found a similar result:

Is this speed a limitation of A-FTP Server or the network interface driver under AmigaOS4 on the X1000? If it is AmigaOS4, I hope the speed can be improved in AmigaOS4.2.

When I have some more time, I also want to try the FTP clients out on my Amiga4000T and Mac to connect to the X1000 in due course.

For now, I am very happy as this provides me a method to transfer large files between the PC and X1000, and as a free product A-FTP server works well and is recommended for AmigaOS4 and X1000 owners.