External Connections
External Connections is the bi-directional way aMule has to communicate with external utilities, like the aMuleWeb and aMuleCMD. So, when a user is controlling aMule remotely, it is sending the commands through the External Connections port and aMule is reading them there (when controlling through a web browser, what is really happening is that aMuleWeb is getting the actions, interpreting them and sending the commands to the External Connection ports).
If both aMule and their utilities run on the same machine, there's no need to redirect the External Connections port in a Firewalled environment (NAT network with a router, etc...). If you had to connect to the External Connections port from somewhere out of the network, it would be necessary to configure the router/Firewall/etc properly to accept connections through the External Connection port (this would happen, for example, connecting through aMuleCMD from somewhere outside the network).
As of aMule 2.0.0-rc8, External Connections reached version 2.0 (*cough*). This version is a complete rewrite of the protocol and is NOT backwards compatible, so it is heavily suggested to upgrade to both a server (that is, aMule) and client supporting it. Information about External Connections v2 can be reached here.
NOTE: | You can create the value for the needed ECPassword like that: $ echo -n yourpasswordhere | md5sum | cut -d ' ' -f 1 |
NOTE: There are alternate ways of communicating with aMule although External Connections is the only bi-directional way. Other ways of communication with aMule would be the Online Signature (outgoing direction) and ED2KLinks file (ingoing direction).
NOTE for CVS users: It is very important to use a server (i.e. aMule or aMuled) and a client (aMuleWeb, aMuleCMD) from the same CVS tarball. As development goes on, there are binary incompatibilities between versions, and - in the case of CVS versions - they might cause crashes, burn your house, feed your dog, donate all your hardware to aMule developers, etc. Before you'd fall into total despair, extreme care is taken by developers that this cannot happen between releases! If you're using a server and a client from different releases (not CVS tarballs, relases!), most likely you will only get a message "Invalid protocol version." And that's all.