What should I do if I do not know what proxy a user will need to use and what the correct settings are?

Previous  Top  Next

This is actually a common problem where software is deployed on a wide scale which developers should consider addressing.

 

Be sure that your program can use all of various proxy support we offer and you should read all of our Knowlege Base items concerning using Indy with Firewall and Proxies.

 

The topics you should read are:

 

How do I use Indy with a Proxy?
How do I use a TIdFTP with a FTP Proxy?
How do I use a TIdFTP with a SOCKS proxy?
How do I use a TIdHTTP with a HTTP Proxy?
How do I use a TIdTCPClient with a HTTP Tunneling Proxy?
How do I use a TIdTCPClient with a SOCKS Proxy?
How do I use a TIdUDPClient with a SOCKS Proxy?
How do I use Indy with a NAT (Network Address Translator)?
How do I use FTP with SSL behind a NAT?

 

For TCP Clients, we recommend that you enable SOCKS proxy support and if you are using Indy 10, be sure that you offer configuration settings for using a HTTP Tunneling Proxy.  If you are using TIdHTTP, be sure that you offer your users settings for using a HTTP proxy.  If you are using functionality in TIdFTP, you should offer your users configuration settings for FTP proxies and you should permit a user to choose between using PORT (TIdFTP.Passive = False) and PASV (TIdFTP.Passive = True) data transfers.   For UDP clients in Indy 10 build 51, you should offer your users configuration settings for SOCKS version 5 Proxies. Your program defaults should be for users who do not require proxy support at all because most users on dial-up PPP Internet Service Provider Accounts, some network configurations, and usually, NAT's do not require any special settings unless you are using FTP with SSL behind a NAT.

 

The key is making the options available through easily edited configuration files, command-line switches, or configuration dialog-boxes where settings are saved in configuration files or the registry in Win32.  Just be careful that you do not intimidate users with all sorts of proxy/firewall options initially in a configuration dialog box or offer them in an initial program configuration wizard.  You may also wish to state in your documentation and configuration dialog-boxes that if the user does not know what their proxy configuraiton is that they should contact their administrators or have the administrator configure the proxy settings in the program.  It is also helpful to tell the user that if they are using a dial-up PPP Internet Service Provider account, that they probably should just leave your program with the default settings.