EyeFTP
From eyeOS Wiki
Description
eyeFTP is the eyeOS client to connect to FTP servers through eyeOS. You can use it to browse, transfer and manage files on a remote server, using your eyeOS host server as a proxy for your connections.
Main features
- Connect to any FTP server through the machine hosting your eyeOS
- List files with their details (name, size, date, ...) and browse folders
- Create folders
- Delete, rename and move files and folders
- Download and upload files from/to eyeOS
- Download and upload files through eyeOS:
- First transfer between FTP and eyeOS,
- then between eyeOS and your local machine, depending on transfer direction
so you can download/upload files from/to FTP servers even if your port 21 is unusable.
- Save and manage connection profiles
Author: Nanawel (nanawel {at} eyeos[dot]org)
Downloads
| 3.x.x Serie (eyeOS 1.5+) | 2.x.x Serie (eyeOS 1.0 - 1.2.x.x) | Intermediate releases (deprecated) (eyeOS 1.0 - 1.2.x.x) |
| 3.0.0 release (Deprecated - Use the eyeOS built-in version) | 2.0.5 *final* release | 2.0.4 release 2.0.3 release |
News
You may want to take a look at the changelog.
2008-Apr-25
Release 3.0.2 is out!
As many applications in the new eyeOS 1.6 release, eyeFTP has been improved!
Now the window of the application can be resized and maximized. Some refresh problems have also been fixed.
As this application is now fully integrated in the default eyeOS system, no external package will be available for this release. This is also due to the fact that some used features are only available in the latest eyeOS version.
2008-Jan-15
Release 3.0.0 is out! Following to the huge improvements included in eyeOS 1.5 "Gala", eyeFTP had to be upgraded to the latest evolutions of the API. That's why I entirely redesigned the app for a better integration in the new version. I hope it will be appreciated, feel free to submit suggestions and report bugs in my mailbox!
Download the package: 3.0.0 release
2008-Jan-09
Release 2.0.5 final is out! This version is the last one of the 2.x.x serie. It is made to keep a full compatibility with eyeOS versions before 1.5. A brand new version 3 is currently in testing phase and will be integrated in the new eyeOS (download the RC2 here).
Download the package: 2.0.5 release
2007-Dec-05
Release 2.0.4 is out!
Following to some bug fixes and added features thanks to Jose Carlos (eyeOS Core team member), this release now integrates browsing on double-click! On files, double-click is now used to download to eyeOS. A few bugs have also been fixed. Right-click may be integrated in a future release soon.
NOTE: This release contains features only available with eyeOS 1.2.0.3 and later.
Download the package: 2.0.4 release
2007-Nov-23
Stable 2.0.3 replaces previous 2.0.2 release.
Thanks to Pau (eyeOS Core team member) who discovered another bug, this release is really reliable and must be considered as the most stable of the previous 2.0.x versions. You can now connect to public FTP servers even when your eyeOS server is behind a firewall/router, and normally, there's no more problems with spaces in directories names.
This release is also integrated in the eyeOS 1.2.0.3 release.
Download the package: 2.0.3 release
2007-Nov-21
Stable 2.0.2 has been released!
This version fixes several bugs and imperfections that I found during tests. For people using the version provided in eyeOS 1.2.0.2, it is highly recommended to update to eyeOS 1.2.0.3 (which includes eyeFTP 2.0.2) to fix troubles that may occur.
Download the package: 2.0.2 release
2007-Oct-17
Stable 2.0.1 is out!
The most important point of this version is that it will be integrated in the eyeOS release to come (October 20th)! I'm very proud this app is quoted nearly has an "example" because of the massive use of the eyeOS API.
I fixed some things not very important, and changed the way some processes are executed so it's more friendly for the user.
Finally I added a new section in this page which was (I think) needed: a FAQ.
Download the package: 2.0.1 release
2007-Sep-28
Stable 2.0 is out!
This release brings a lot of changes, first the features allowing to transfer files between eyeOS and the FTP server (so you can download/upload files from/to your eyeOS space). Then a huge feature that was really needed: the ability to save and manage connection profiles so that you don't need to retype the various informations every time you want to connect.
I think the app is now quite complete so next release will probably only fix bugs but not add features.
Download the package: 2.0 stable release
2007-Aug-30
Beta 1.1 has been released.
I added the upload feature which was in great demand and which was such a pain to implement.
In this connection, I would like to warn that I still have problems to use it on my test server. It works well on local but I can't transfer files bigger than 5KB on a remote server. Don't know if the problem is just with me or with the app, so test it and let me know your troubles if you have some.
Download the package: beta 1.1 release
2007-Aug-25
First beta available!
In fact this is just the alpha 0.3.1 with some adjustments and a textfield above the table which indicates the current path.
Download the package: beta 1.0 release
2007-Aug-20 11:00pm
I realized in the middle of the day that it was much better to use a Box widget than a Container to group the action buttons. I also discovered that it was really easy to display icons representing filetypes in the list. This day was really full of surprises :)
So here is the release that integrates those changes: alpha 0.3.1 release
2007-Aug-20 03:00am
Version 0.3alpha is out! I made a lot of changes, in the design and in the behaviour, so I hope it will become a significant step for the app. I had a lot of problems to make this release stable and finally it is less than I wanted, but it works. Anyway, it's still an alpha so bugs are authorized :)
Feel free to send me your comments and suggestions: nanawel {at} gmail[dot]com.
You can find the package here: alpha 0.3 release
2007-Aug-16
Version 0.2alpha has been released. Only few main features are implemented. You can find it here: alpha 0.2 release
Help
FAQ
Why do I have this ugly display when using Internet Explorer?
Because as many softwares Microsoft provides, Internet Explorer meets Microsoft's and not W3C standards.
So the PNG icons often have a grey background instead of a transparent one, and the space layouts are not well respected.
I advise you to use Mozilla Firefox (or Opera, even if some problems could appear with it) to use eyeFTP, eyeOS, and most generally to browse the Web.
However, despite those display-related problems, you can use all the features provided by eyeFTP from Internet Explorer.
I tried to download (or upload) a "big" file from/to a FTP server with eyeFTP but after a while nothing happens or I get an error message. Why?
This question is quite pertinent and I need to bring some light on it.
("TECHNICAL" EXPLANATIONS FOLLOW, BE ADVISED)
As you could suppose, eyeFTP runs on the server holding eyeOS, which is an HTTP server (Apache in most cases), well. This server, when you browse an FTP server, plays the role of a kind of proxy. So every action you make to the FTP server from your browser with eyeFTP, actually this is the HTTP server which really makes it for you, including transfers.
In this connection, the transfer processings are made twice, for instance in the case of an upload: once from your computer to the HTTP server, then from the HTTP server to the FTP server. This explains why transfers are longer than with a classic FTP client.
From the last example, the second transfer is handled by the HTTP server through PHP. But this one has a security protection which makes that an operation (a request you make) cannot last more than a defined time (30 seconds by default). After this time, the operation is stopped, even if the process (your transfer) has not finished yet.
(END OF "TECHNICAL" EXPLANATIONS)
So, to sum up, the different problems that could lead a transfer to fail are:
- your file is bigger than the limit the HTTP/PHP server can handle (2 MBytes by default, can be changed in the configuration file) [UPLOAD]
- the HTTP/PHP server does not have time enough to perform entirely the operation because of the security protection (see above) [DOWNLOAD/UPLOAD]
- other reasons can be that the PHP server is not authorized to create temporary files big enough to hold your data [DOWNLOAD/UPLOAD]
Why do I have problems to transfer files with names containing special characters when using my eyeOS server running under Windows?
This is a character encoding problem. A lot of (public) FTP servers run under *NIX so they use a standard called UTF-8. If your eyeOS server is installed on a Windows platform (using ISO-8859-1 standard encoding for example), you may encouter problems with accents and other special characters when trying to download files from FTP to your eyeOS because of the encoding differences.
There is no real solution except of course to avoid using accents and non-ASCII characters in filenames.
Why the problem I encountered is not solved here?
Because there is so many little troubles that could happen that I did not experienced them all.
You are free to send me an e-mail with its description so I can try to fix it or explain in this section why it may happen.
Additional informations
- Data transfers are done in passive mode (releases 2.0.3 to 2.0.5 only, mode can be chosen with 3.x.x releases)
- Passwords are stored in the user's configuration file without any encryption. Just pay attention to that.
- FTP operations performed by eyeFTP are supported by the standard PHP API, which is quite limited. It may partially explain the limitations of the app.
- If a problem appears during execution (files list not well refreshed, etc.), close eyeFTP and run it again. This is mainly due to a bad interpretation of special characters in filenames.
Development
Known bugs
3.x.x
- Still encoding problems with some servers
- Remote files list does not perform an automatic refresh after a client->FTP upload (Firefox 2.0.0.11)
"Stable" 2.0.x
- (None at that time)
Encoding troubles can be avoided not using filenames with accents and special characters.
"Stable" 2.0
- [Same as beta 1.1]
Beta 1.1
- [Same as beta 1.0]
Beta 1.0
- [Same as alpha 0.3]
(encoding troubles may particularly be present on Windows FTP servers)
Alpha 0.3 Release
- Execution timeout error when trying to download big files (still...)
- Unable to make operations on filenames containing special characters (accents, etc.). May freeze the app.
Alpha 0.2 Release
- Refresh problem with some filenames (due to special characters? combinations?)
- Execution timeout error when trying to download big files (unfortunately I don't know how to proceed to avoid this...)
ToDo list
- Feel free to add tasks! (sign with your [nick]name)
- Possibly SFTP support (I have no idea how hard I would be to implement)
- Answer: Yes it could be a good feature. But currently there's no library easy to use in the PHP API, and I can't be sure how secure the result would be anyway. If someone has a more precise idea, let me know!
- Have you considered http://ca3.php.net/manual/en/function.ssh2-sftp.php ? The documentation itself is a bit sparse, but the comments should help you greatly. Keilaron 22:51, 11 September 2008 (EDT)
- Answer: I saw this library previously, but it is not default one. In any case, it's a very interesting and needed feature for eyeFTP so I'll probably add it in a near future. Thanks. Nanawel 17:24, 14 September 2008 (EDT)
- Have you considered http://ca3.php.net/manual/en/function.ssh2-sftp.php ? The documentation itself is a bit sparse, but the comments should help you greatly. Keilaron 22:51, 11 September 2008 (EDT)
- Answer: Yes it could be a good feature. But currently there's no library easy to use in the PHP API, and I can't be sure how secure the result would be anyway. If someone has a more precise idea, let me know!
- The IE-png issues can easily be fixed in an IE-specific way (that is, in a way that will not affect other browsers not validity - I'm not sure how easy it is to add CSS in an eyeApp though). You use a filter to accomplish this. Keilaron 22:51, 11 September 2008 (EDT)
- Answer: That's right. And that's what is done in other parts of eyeOS I think. I'll see this with the Core team. Thanks. Nanawel 17:24, 14 September 2008 (EDT)
-
Add i18n support - Use the Net_FTP or Net_FTP2 PEAR package to handle the FTP communications.
- Copy directories? (this would solve a problem copying many files into EyeOS from "localhost").
- Answer: Very good feature. I thought about it previously but never had time to code it. I keep it in mind for a future release! Thanks! Nanawel 16:00, 9 September 2008 (EDT)
Changes, improvements
3.1.0
(integrated in the eyeOS 1.6.0.1 release on May 27th 2008)
- Redesign of the "Manage hosts" dialog
- Added "Enter" events to the textboxes (now you can just hit "Enter" to execute the action)
- Improved console (icons, colors, right direction scrolling, ...)
- Fixed problems with sorting on the tables
- Additional bugs fixes
3.0.2
(integrated in the eyeOS 1.6 release on April 25th 2008)
- Added window resize feature
- Improved refresh of the files tables (no more "ghost" remaining line)
- Fixed bad directory files listing on connect
- Minor bugs fixes
3.0.1
(integrated in the eyeOS 1.5 release on January 15th 2008)
- Added double-click support on the hosts table
- Additional bugs fixes
3.0.0
- Entire redesign of the app, many things added!
Stable 2.0.5
- Fixed bug introduced in 2.0.4 (with double-click) with rename and delete operations
- Additional bugs fixes
Stable 2.0.4
- Added double-click support on files list (browse for folders, download to eyeOS for files)
- Minor bugs fixes
Stable 2.0.3
- Fixed latest bug with spaces in directories names
- Added support for transfers in passive mode
Stable 2.0.2
- Prevent multiple instances of the manage hosts dialog
- List now all files, including hidden
- Sort the files list so the folders are placed first
- Fixed bug with directories names containing spaces
Stable 2.0.1
(integrated in the eyeOS 1.2 release on October 20th 2007)
- Fixed some stuffs... (to sum up)
Stable 2.0
- Added download/upload features from/to eyeOS
- Added host connection profiles management feature
Beta 1.1
- Added upload feature
Beta 1.0
- Added textfield containing current path
- Removed size of folders in the table
Alpha 0.3.1 Release
- Added filetypes icons
Alpha 0.3 Release
- File list refresh problems fixed
- Added new functions:
- Create folder
- Rename/move file/folder
- Delete file/folder
- Design improved
- Bugs fixes

