SphereFTP – FTP Server
SphereFTP is a small, simple and secure FTP server for Windows XP, and Windows CE platforms. Not to be confused with the Sphere (game) Server. It is very light weight and can run as an application or as an NT service. It is configured via the registry editor.
Check out the FileZilla server as well.
The development of SphereFTP began with the need to access some of the files on my home computer from the Internet. I could find no simple and secure FTP servers to do the job. The FTP server service with windows does not allow fine control over access of files without major complexity. It does not show in a simple concise way which users are allowed to which files. The Windows security model is very unwieldy for simple tasks.
I looked over the internet for FTP servers. WarFTP seemed the most feature full. I got burned very badly by it’s security holes. With many features comes many bugs. A security bug in my version of WarFTP allowed anonymous users to LIST any file on my system. Not cool. Time to write my own.
Features:
- This program (at least this version 1.4) is Freeware. Feel free to use it however you like.
- Compliant with RFC 765 return codes and features.
- A single thread finite state machine architecture that has been tested to handle hundreds of simultaneous connections.
- Acts as an NT service by simply running it at a Command Line prompt with the arguments of -Install or -Uninstall.
- 2 Log files of High and Low details are kept. They are renamed daily. Lookup and log of client host names.
- Resumes broken downloads and uploads.
- Limits the total number of connections. Limits the number of connections and non-logged in connections per IP to prevent Dos attacks. Checks for, logs and blocks password attacks.
- A simple list of users and group accesses. All user information is stored in the registry. Assuming no-one has access to your computers registry, the users, passwords and access restrictions are completely secure. Very simple. Users can be created with a password and assigned to a group which will be that users root. The groups have access to a directory and have read, write, create permissions. Groups may have any number of subgroups which appear as subdirectories to that group. Use REGEDIT to edit the \\HKEY_LOCAL_MACHINE\SOFTWARE\Menasoft\SphereFTP registry sub-tree. This allow multiple users to have multiple overlapping access to the file system in a fairly simple way.
- SphereFTP has been ported to Windows CE 3.0 as well. If anyone is interested in a CE build of SphereFTP for X86, ARM, MIPS, or PowerPC please send me email. I’ve found ActiveSync can be very unreliable and complex and did not work satisfactorily in almost any configuration.
- UNICODE file name support in version 2.0.
Requested Features:
- NT event log support
- Restrict account to IP or host name.
- Block IP ranges? leave this to a router?
- Pretty dialogs for configuring users, groups, and options.
- Nice real time display of current clients and log of activities.
Links to Compairable Products: (We try to be fair)
- FTP Serv-U
- WarFTP
- Microsoft FTP Service
- Titan FTP Server
- PeerFTP
Download:
SphereFTP v2.0 (~95K) | SphereFTP.EXE for WIN32. | |
SphereFTP v1.6 (~50K) | SphereFTP.EXE for WIN32. | |
SphereFTP_CE_Arm v1.8 (~20K) | SphereFTP.EXE for WIN CE Arm processor. | |
SphereFTP_CE_PPC v1.8 (~20K) | SphereFTP.EXE for WIN CE Power PC processor. | |
SphereFTP_CE_X86 v1.8 (~20K) | SphereFTP.EXE for WIN CE X86 processor. |
|
SphereFTP_CE_X86 v2.0 (~100K) | SphereFTP.EXE for WIN CE X86 processor. |
The SphereFTP server for CE(x86) seems to work nicely, but it also overwrites the registry with defaut values when it starts. Can this be switched off?
Regards
Comment by Mark Beddow — May 2, 2007 @ 10:08 am
Unfortunately, looking at the code it looks like it was hard coded. (BUG) I will have to build a new version to fix that. However it seems i dont have a platform config for x86 CE anymore. I have a PocketPC (ARM) platform for VS2005 but that wont work. If you have info where i can get the platform config for it send me an email and i can rebuild it for you if you want.
Comment by admin — May 3, 2007 @ 6:55 am
I test it under WCE 5.0 and it works very well !!!
PS: Dont forget to set the server name and the port number, wich not set in the registry by default
Comment by foobar — January 28, 2008 @ 12:04 pm
Does anyone know of a good WinCE library that I can use for an FTP client and supports resume and FTPS ? My device is a headless CE device.
Comment by kalyan — March 28, 2008 @ 9:05 am
Hi,
I have a WinCE system based on a closed source BSP from IEI. The module runs WinCE 5.0 and I compiled MS FTP into the image. Their FTP server is less than stellar to say the least and came here looking for alternatives. Is the source code for your server available?
I need to run the ftp server compiled with the IEI SDK, otherwise I fear it won’t work. I’ll try to run the current binary on the device but if it fails can I send you their SDK, so you compile it for me?
Comment by stas — May 20, 2008 @ 7:21 am
Unfortunately I cant give out the sources at the moment. It’s a bit tangled with other sources I’m not allowed to give out and haven’t had time to separate it.
But if you still need it, I will give it a shot to recompile it if you send me the SDK.
Comment by admin — May 29, 2008 @ 6:21 am
Hey,
Nice little program you have there.. could be quite useful if it would not overwrite the registry settings with the default values every time i start it (ARM version).
Is there a bug fix for this available ?
Thanks !
Comment by PR — September 23, 2008 @ 5:47 am
With limited knowledge of Windows CE.NET 4.2 I copied the “SphereFTP.EXE for WIN CE Arm processor” onto my device and ran it. At first because there is no GUI showing I thought it was not working but then realised it was. Only downside to the package I can see at the moment is as everyone else has pointed out the registry settings get overwritten by the defaults everytime the applications is started. I would really appriciate a fix to this as it is a really nice and tight package.
Thanks !!
Comment by AC — January 24, 2009 @ 6:14 pm
Where is the source code link?
Thanks
Comment by YDLU — January 30, 2009 @ 7:18 am
I tried the server in my Windows CE5.0 device, it is working under default parameters. But when i try to change the directory “cd myDirectory”, i always get error “550 Bad file or Path”. I am not sure what the problem is. It looks related to the permissions, but have no idea how to resolve.
Please help any body !
Comment by Faisal — August 3, 2009 @ 5:45 am
I’ve got old HP T5500 with win ce 4.2 I’d like to use SphereFTP server for CE(x86) but i have the same problem with registry witch overwrites with defaut values when it starts. Have you got version with fixed this bug?. I should be extremely grateful if you would send me that version. And one more is it posible to change name ftp server ? In my case ftp server shows “Device name + MenaSoft Sphere……”. Thanx for your time
Regards
Comment by sebber — February 24, 2010 @ 6:36 pm
I have the same problem of Faisal, i got the message “550 Bad file or Path 18” When i try to navigate in the directory. I check the PRIV key in the registry and it set to 0000FFFF. Anyone can help me?
Thanks for your help.
Comment by Guillaume — November 23, 2010 @ 3:26 pm
Hi,
I would like to use this server in our product (Win CE 6.0 based device) but the description does not talk much about security (encryption/decryption used if any). I would like to know more about this.
Can somebody respond with link to documentation of product or if anyone who has used the product can they respond?
Let me know.
Comment by sanjay — May 26, 2011 @ 3:00 pm
Hi,
I am tinkering with a MIPS CPU in WinCE 5.0 and searching for a good ftp server.
Can you email me the MIPS version of SphereFTP (or put it also in your blog) ?
Thank you,
Christian
Comment by Christian — November 3, 2011 @ 4:25 am
Hi!
I have a MIPS based moreTV receiver which has built-in ftp service on win ce 5.0. However it performs very low (only about 110kByte/s). I’m sure there’s room for improvement. Can you please send me sphereftp so i can see how well it performs?
Comment by Noume — August 13, 2012 @ 1:02 am
Does this support Unicode?
Comment by dsf — February 25, 2013 @ 5:38 am
No, No Unicode support at the moment. I haven’t seen a big demand for it. I’ll have to research how to extend the FTP protocol to handle Unicode file names.
The CE code is of course natively UNICODE but i’m assuming the file names get converted to UTF8 for the FTP system. I’ll have to check into this more.
Comment by admin — February 25, 2013 @ 11:01 am
Yup, I see there is no Unicode support for the server….A unicoded filename gets corrupted when tried to transfer over to the FTP server.
Comment by dsf — February 26, 2013 @ 9:35 am
Server name and port number can be set? How? Also, does this server support anonymous connections?
Comment by Programmer — April 5, 2013 @ 1:10 am
Hi, I tried it on a Windows CE 5.0 (ARM). I can connect, but if I call “dir” I get the response:
550 LIST failed 18 (tried with FileZilla and Windows Command FTP)
Comment by HBdieRE — April 16, 2013 @ 12:47 am
(Update Email-Adress)
Comment by HBdieRE — April 16, 2013 @ 1:16 am
I’m not seeing any error worded like that in the code. Can you be more specific? It should say something about SysError. Whats the exact text of the message? what is the version you are running ? Latest?
Comment by admin — May 19, 2013 @ 9:02 pm
yes . all via the registry settings. See the sample .Reg file.
The Options Section sets the name and port.
The anonymous connection via
[HKEY_LOCAL_MACHINE\SOFTWARE\Menasoft\GrayFTP\Accounts\Anonymous]
“GREET”=”Welcome to GrayFTP”
“GROUP”=”Public”
“PASS”=”*”
Comment by admin — May 19, 2013 @ 9:05 pm
Did you figure out what is causing the “List failed 18” error? I can login but then it seems that any data connection will cause the error. In passive mode, data connection is just aborted. (Windows CE 6.0, ARM)
Comment by lanex — August 22, 2013 @ 12:34 am
I have the exact same Problem. Windows CE 6.0 [ARM] with SphereFTP_CE_Arm v1.8.
Connection in passive mode just Abort. Connection in active mode lists the Directory.
But if i want to Change the Directory, the error “List failed 18” occurs.
Is there a work around or something?
Comment by turbman — September 6, 2013 @ 11:07 am
Hello, i got an IPC with windows embedded compact, version 7. My IPC uses a ArmCortexA8-MX53 Processor.
Does your FTP Server work with this system/Processor? Do you have any experience with it?
Best regards
Frank
Comment by Frank — May 16, 2014 @ 7:14 am
Would be great, but as I see, the ARM version is still overwriting the registry with default settings which is bad habit 🙁 Will this be corrected? Look a bug dating from 2007…
Comment by ZeZe — May 26, 2014 @ 5:02 am
I am on wince 5 arm edition. I am able to connect on the ftp but I not able to change directory or download any files. Do you have solution for it. Thank!
Comment by Chris — February 19, 2015 @ 9:25 am
Hi there,
We have found your nice sphere ftp server for Win CE arm which is exactly what we need. However there is big issue with overwriting registry with default settings, as you probably know. Herewith I want to ask you to let us know if there is Arm WinCE version of this ftp server available with this bug fixed. If you have it I would appreciate if you can send us or publish download link. Furthermore I would understand if you did not have time to fix bug and would like to offer to pay for your time to fix it.
I would appreciate your prompt answer and thank you in advance.
Ivan Milijic
Comment by Ivan Milijic — March 24, 2015 @ 3:55 pm
Sorry. I have not been actively working on this. I’ll take another look at the code if you are still interested. Its nice to see the code still being useful. Send me an email and I’ll check out the status. any at menasoft.com should reach me.
Comment by admin — April 22, 2015 @ 9:14 pm
Hi there, Like Ivan, I want that you work again on the project to repair the little problem. I like a lot this program. Thank!
Comment by Chris — April 23, 2015 @ 5:22 pm
Hello!
Just wanted to drop a thread here. I have been able to use this on Windows Embedded Compact. However as mentioned above, the Registry keys seem to be overwritten at FTP connection/execution. For example, I was able to connect to Admin user, but I wanted to extract one specific directory as opposed to “\”. At runtime my directory registry key was overwritten and set back to “\”. Fixing this bug would still be beneficial. Opening up the source works too.
Comment by Victor — January 19, 2016 @ 3:57 pm
Hi there,
Can you please fix the bug overwriting the Registry Values at runtime?
Or open up the source so developers can address this?
Thanks, good work on this server.
Victor
Comment by Victor — January 19, 2016 @ 3:59 pm
Hi there,
Can you please release the source, or fix the bug where all the registry values get overridden at runtime? Thanks
Victor
Comment by Victor — January 19, 2016 @ 4:19 pm
oops, sorry for sending 3 times
Comment by Victor — January 19, 2016 @ 4:20 pm
Hi there,
We also trying on the (Win CE 6.0 based) device and we also encountered the same problem on the WIN CE Arm processor, which always get error “550 Bad file or Path†when we try to change to others directory. It is a open source? Do you mind to send us the source code so we can help to fix it and release back you. Thanks
Comment by tbw — February 22, 2016 @ 6:24 am
Hi Tbw et all,
https://github.com/CubeCoders/mooftpserv Use this FTP server. This issue is likely never to be resolved.
Thanks,
Comment by Victor — March 1, 2016 @ 7:22 pm
Thanks and appreciate for the link. It helps.
Comment by tbw — March 6, 2016 @ 11:55 pm
Hello , there is a bug in version wince arm , we can not fix the In registration in real time every time you run changes reg . You do not have how you fix it ?
thank you.
Comment by Julio Cesar — August 14, 2016 @ 3:24 pm
Dear!
I´m system integrator and need a FTP Server to collect files from a machine. Interesting in SphereFTP.
Do you have a build to WINCE .net 4.2 (MIPS)?
Thanks for considerations.
Comment by Wagner Viana — February 6, 2020 @ 2:28 pm