[Twisted-Python] FTP Proxy

Hi,
I need to develop a customised FTP proxy for one of our systems, and would like to consider Twisted for this project.
The t.p.ftp module seems to have the server and the client more or less ready to use, so I think I am good to start, but just wanted to check with you guys if there are any gotchas that I should be aware of. The system is intended to work as follows:
- Users authenticate directly with the proxy, not the backend-server, using a Drupal site for authentication (either through some sort of API-call or by accessing the database directly - to be decided) - The client-part of the proxy connects with a master-user/password to one or more backend FTP-servers running in passive mode behind firewalls. - The master-user has access to the union of all file and directory sets that each individual user has access to. - The root folder presented to the user should contain either all the available hosts, or a virtualised overview of all main directories on all the hosts that the user may access. - Any file access or directory listing will be filtered against an ACL to allow only certain files and directories to be accessed by the user.
Is there anything I should be aware of that may be a showstopper or otherwise overly complicate this project by using t.p.ftp, or am I good to go?
Will producers/consumers be an appropriate way of transferring data between the client-part and the server-part of the proxy, and is t.p.pcp something I should look into?
Any suggestions, especially mentions of/links to similar projects, would be most helpful and appreciated.
Cheers, Einar S. Idsř

On 09:01 am, einar.twisted@norsk-esport.no wrote:
Hi,
I need to develop a customised FTP proxy for one of our systems, and would like to consider Twisted for this project.
The t.p.ftp module seems to have the server and the client more or less ready to use, so I think I am good to start, but just wanted to check with you guys if there are any gotchas that I should be aware of. The system is intended to work as follows:
- Users authenticate directly with the proxy, not the backend-server,
using a Drupal site for authentication (either through some sort of API-call or by accessing the database directly - to be decided)
- The client-part of the proxy connects with a master-user/password to
one or more backend FTP-servers running in passive mode behind firewalls.
- The master-user has access to the union of all file and directory
sets that each individual user has access to.
- The root folder presented to the user should contain either all the
available hosts, or a virtualised overview of all main directories on all the hosts that the user may access.
- Any file access or directory listing will be filtered against an ACL
to allow only certain files and directories to be accessed by the user.
Is there anything I should be aware of that may be a showstopper or otherwise overly complicate this project by using t.p.ftp, or am I good to go?
Will producers/consumers be an appropriate way of transferring data between the client-part and the server-part of the proxy, and is t.p.pcp something I should look into?
twisted.protocols.pcp isn't that useful. You can probably build what you need without it.
Jean-Paul
Any suggestions, especially mentions of/links to similar projects, would be most helpful and appreciated.
Cheers, Einar S. Ids9
Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
participants (2)
-
Einar S. Idsø
-
exarkun@twistedmatrix.com