<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://test.amule.szerverem.hu/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://test.amule.szerverem.hu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Colin</id>
		<title>AMule Project FAQ - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://test.amule.szerverem.hu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Colin"/>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Special:Contributions/Colin"/>
		<updated>2026-04-05T09:00:24Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User:Colin</id>
		<title>User:Colin</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User:Colin"/>
				<updated>2008-03-07T23:43:15Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: + hirnriss.net&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Satisfied amule user since September 2004.&lt;br /&gt;
----&lt;br /&gt;
I am also known as '''ezeltje''' in the forum (''ezel'' means &amp;quot;mule&amp;quot; in Dutch, in case anyone is wondering).&lt;br /&gt;
&lt;br /&gt;
Things I have done there:&lt;br /&gt;
&lt;br /&gt;
* created the [[Events]] pages with the example script&lt;br /&gt;
* reorganized [[AMuleWeb]] and rewrote the intro&lt;br /&gt;
* expanded [[AMuleCMD]]&lt;br /&gt;
* complained about the CVS flag, just to find out Kry can be a sarcastic condescending son of a bitch.&lt;br /&gt;
&lt;br /&gt;
and other smaller fixes elsewhere...&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I keep forgetting where this is: [http://www.hirnriss.net/?area=cvs daily CVS snapshot]&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== amuleCVSfx ==&lt;br /&gt;
&lt;br /&gt;
Here is a simple script to remove the obligatory command-line parameter you need to use to run aMule CV. Run it in the ../amule-cvs directory. It will make a backup of the original file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
FileIn=src/amule.cpp&lt;br /&gt;
FileOut=_^$$.tmp&lt;br /&gt;
[ -e $FileOut ] &amp;amp;&amp;amp; rm -f $FileOut&lt;br /&gt;
awk &amp;lt; &amp;quot;$FileIn&amp;quot; &amp;gt; &amp;quot;$FileOut&amp;quot; '	&lt;br /&gt;
	Found &amp;lt; 1 &amp;amp;&amp;amp; /.!cmdline\.Found/ {&lt;br /&gt;
        n = 6&lt;br /&gt;
	print &amp;quot;//      ------ Commented out by amuleCVSfx ------&amp;quot;&lt;br /&gt;
	Found = 1&lt;br /&gt;
  	}&lt;br /&gt;
	n &amp;gt; 0 {&lt;br /&gt;
        $0 = &amp;quot;// &amp;quot; $0&lt;br /&gt;
        n--	&lt;br /&gt;
        }&lt;br /&gt;
{print}'&lt;br /&gt;
mv -f $FileIn $FileIn~  2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f $FileOut $FileIn  2&amp;gt;&amp;amp;1&lt;br /&gt;
# end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
You can view the changes using diff: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ diff --side-by-side --suppress-common-lines src/amule.cpp src/amule.cpp~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Libupnp</id>
		<title>Libupnp</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Libupnp"/>
				<updated>2007-01-13T15:22:13Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: #redirect Universal_Plug_and_Play&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Universal_Plug_and_Play]]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Universal_Plug_and_Play</id>
		<title>Universal Plug and Play</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Universal_Plug_and_Play"/>
				<updated>2007-01-13T15:21:17Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: terse --&amp;gt; explain&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Universal Plug and Play (uPnP)''' is a new feature of [[aMule]] (CVS) which allows you to automatically configure the ports on your router, provided your router supports uPnP. This functionality is still being tested and should appear soon in an official release.&lt;br /&gt;
&lt;br /&gt;
To use uPnP, you will need to install an external library, '''libupnp'''. It is highly recommended that you use libupnp version 1.4.1. You can download the source tarball from the project page at sourceforge [http://pupnp.sourceforge.net/] or install one of the packages available for various distros.&lt;br /&gt;
&lt;br /&gt;
'''OpenSuse 10.2''' by [http://forum.amule.org/profile.php?userid=5567 Gerd78]&lt;br /&gt;
* [http://gw78.ja-nee.de/suse/10.2/i586/libupnp-1.4.1-0.i586.rpm libupnp-1.4.1-0.i586.rpm]&lt;br /&gt;
* [http://gw78.ja-nee.de/suse/10.2/i586/libupnp-devel-1.4.1-0.i586.rpm libupnp-devel-1.4.1-0.i586.rpm]&lt;br /&gt;
&lt;br /&gt;
'''Ubuntu 6.10''' by [http://forum.amule.org/profile.php?userid=3842 Wuischke]&lt;br /&gt;
* [http://wuischke.hateworx.org/download/libupnp/libupnp_1.4.1-1_i386.deb libupnp_1.4.1-1_i386.deb]&lt;br /&gt;
&lt;br /&gt;
'''Fedora Core 4, 5 and 6'''&lt;br /&gt;
* libupnp is included in Fedora Extras.&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Universal_Plug_and_Play &amp;quot;Universal Plug and Play&amp;quot;]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/MD4_hash</id>
		<title>MD4 hash</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/MD4_hash"/>
				<updated>2006-12-28T20:28:54Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: reword&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An '''MD4 hash''' is a unique value produced by a mathematical calculation. It provides a 128-bit (16 [[byte]]s, 32 hex chars) key from the data input which is claimed to be unique. As such, MD4 hashes are used to ensure data integrity. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] uses MD4 hashes to ensure that no transmission errors corrupt in the files you share. Its MD4 algorithm is based on [[libcrypto|Crypto++]].&lt;br /&gt;
&lt;br /&gt;
MD4 was developed by MIT professor Ronald L. Rivest. It was accepted by the RSA in October 1990.&lt;br /&gt;
&lt;br /&gt;
Both MD4, and its successor MD5, are optimized for 32-bit machines. Its predecessor MD2 was optimized for 8-bit machines. MD4 is known to be fast, but possibly not absolutely secure. On the other hand, MD5  is not as fast as MD4 but offers much more assurance of data security.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://www.faqs.org/rfcs/rfc1186.html RFC 1186: MD4]&lt;br /&gt;
* [http://www.faqs.org/rfcs/rfc1319.html RFC 1319: MD2]&lt;br /&gt;
* [http://www.faqs.org/rfcs/rfc1320.html RFC 1320: MD4] &lt;br /&gt;
* [http://theory.lcs.mit.edu/~rivest Home page of Ronald L. Rivest]&lt;br /&gt;
* [http://www.rsa.com RSA]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Events</id>
		<title>Events</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Events"/>
				<updated>2006-12-26T11:43:07Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: oops, bug somewhere&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[events-de|German]] | [[events-nds|Low-Saxon]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Events''' are actions aMule can take upon when certain things happen. These actions are configured on the [[Usage_Preferences#Events|Events]] tab of the [[Usage_Preferences]] notebook or, if you are running amuled, in the [UserEvents] section of [[amule.conf]].&lt;br /&gt;
&lt;br /&gt;
There are two kinds of Events supported at the moment:&lt;br /&gt;
* Download completed&lt;br /&gt;
* New chat session&lt;br /&gt;
* Out of space&lt;br /&gt;
* Error on completion&lt;br /&gt;
&lt;br /&gt;
When one of these events is triggered, you can configure aMule to execute a&lt;br /&gt;
* core command&lt;br /&gt;
* GUI command&lt;br /&gt;
&lt;br /&gt;
A core command is a command that will be executed by a flavor of aMule that has a core (aMule daemon or aMule monolithic). A GUI command is a command that will be executed by a flavor of aMule that has GUI (aMule GUI or aMule monolithic). Notice that if you specify both, aMule monolithic will execute both.&lt;br /&gt;
&lt;br /&gt;
=== Download completed ===&lt;br /&gt;
&lt;br /&gt;
When aMule completes a download, a Download completed event is triggered. The following variables can be accessed:&lt;br /&gt;
* %NAME - the name of the downloaded file with full path&lt;br /&gt;
* %FILE - the name of the downloaded file without path&lt;br /&gt;
* %HASH - the ed2k hash of the downloaded file&lt;br /&gt;
* %SIZE - the size in bytes of the downloaded file&lt;br /&gt;
* %DLACTIVETIME - the total time the download was active&lt;br /&gt;
&lt;br /&gt;
=== New chat session ===&lt;br /&gt;
&lt;br /&gt;
When someone initiates a chat session with you, the New chat session event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %Sender - username of the person initiating the chat&lt;br /&gt;
&lt;br /&gt;
=== Out of space ===&lt;br /&gt;
&lt;br /&gt;
When aMule runs out of diskspace on the partition which it uses for its temporary files, the Out of space event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %PARTITION&lt;br /&gt;
&lt;br /&gt;
=== Error on completion ===&lt;br /&gt;
&lt;br /&gt;
When aMule is unable to move a file from the &amp;quot;temporary&amp;quot; directory to the &amp;quot;incoming&amp;quot; directory, an Error on completion event is triggered. This is typically caused by lack of diskspace on the partition where the incoming directory is located. When this happens, the following variable can be accessed:&lt;br /&gt;
* %FILE&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&lt;br /&gt;
Event commands can be either a single or compound shell command, or a shell script. In the Core command field, enter the command or script name followed by the optional parameters like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh %NAME %FILE %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the filename contains spaces, the variable names should be enclosed in quotes like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Your shell script can obtain the values in the parameters the customary way, ie, by evaluating $1, $2, $3, etc.&lt;br /&gt;
&lt;br /&gt;
You need to make sure your script is in your PATH or that you supply the full pathname.&lt;br /&gt;
&lt;br /&gt;
=== Errors ===&lt;br /&gt;
&lt;br /&gt;
If your script fails to execute for any reason, this will be logged in aMule's [[logfile]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
A simple command might look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;aMule error: %PARTITION is full.&amp;quot; | mail -s Warning mymail@domain.tld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This inserts the variable %PARTITION in the text of a one-line email message and sends it to the email address specfied.&lt;br /&gt;
&lt;br /&gt;
For more elaborate purposes, you will will want to call an external script. &lt;br /&gt;
&lt;br /&gt;
Here the bash script by '''Ezeltje''' from [http://forum.amule.org/thread.php?threadid=11695 aMule-Forum] which will send you an email every time a download is completed. To use it, enter your email address where indicated and save it to a location in your PATH. Then add this line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to the Core command field of the Download completed section of the Events page. It will now be invoked everytime aMule finishes a download.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  #&lt;br /&gt;
  # doneDL.sh - sends an email upon completion of an aMule download&lt;br /&gt;
  # Used in conjuction with aMule's Event feature&lt;br /&gt;
  #&lt;br /&gt;
  # Call like this: doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
  #&lt;br /&gt;
  # Enter your email address here:&lt;br /&gt;
  eMail=&lt;br /&gt;
  #&lt;br /&gt;
  NameShort=$1&lt;br /&gt;
  NameLong=$2&lt;br /&gt;
  Hash=$3&lt;br /&gt;
  Size=$4&lt;br /&gt;
  DLtime=$5&lt;br /&gt;
  {&lt;br /&gt;
  echo aMule completed this download:&lt;br /&gt;
  echo ------------------------------&lt;br /&gt;
  echo&lt;br /&gt;
  echo File: &amp;quot;$NameLong&amp;quot;&lt;br /&gt;
  echo Hash: $Hash&lt;br /&gt;
  echo -n &amp;quot;Time: &amp;quot;&lt;br /&gt;
  date | awk '{print $4 &amp;quot; &amp;quot; $5}'&lt;br /&gt;
  echo -n Size: $Size bytes &lt;br /&gt;
  if [ $Size -gt 102400 ] ; then echo &amp;quot; (&amp;quot;$(($(($Size / 1024)) / 1024)) &amp;quot;Mb)&amp;quot; ; fi&lt;br /&gt;
  if [ ! -z &amp;quot;$DLtime&amp;quot; ] ; then echo &amp;quot;Active download time:&amp;quot; $DLtime ; fi&lt;br /&gt;
  echo&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  cas&lt;br /&gt;
  echo -n &amp;quot;Resident memory: &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $6}') kB&lt;br /&gt;
  echo -n &amp;quot;Virtual memory:  &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $5}') kB&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  } | mail -s &amp;quot;$NameShort&amp;quot; $eMail&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Events</id>
		<title>Events</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Events"/>
				<updated>2006-12-26T11:39:04Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: =Download completed= + /&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[events-de|German]] | [[events-nds|Low-Saxon]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Events''' are actions aMule can take upon when certain things happen. These actions are configured on the [[Usage_Preferences#Events|Events]] tab of the [[Usage_Preferences]] notebook or, if you are running amuled, in the [UserEvents] section of [[amule.conf]].&lt;br /&gt;
&lt;br /&gt;
There are two kinds of Events supported at the moment:&lt;br /&gt;
* Download completed&lt;br /&gt;
* New chat session&lt;br /&gt;
* Out of space&lt;br /&gt;
* Error on completion&lt;br /&gt;
&lt;br /&gt;
When one of these events is triggered, you can configure aMule to execute a&lt;br /&gt;
* core command&lt;br /&gt;
* GUI command&lt;br /&gt;
&lt;br /&gt;
A core command is a command that will be executed by a flavor of aMule that has a core (aMule daemon or aMule monolithic). A GUI command is a command that will be executed by a flavor of aMule that has GUI (aMule GUI or aMule monolithic). Notice that if you specify both, aMule monolithic will execute both.&lt;br /&gt;
&lt;br /&gt;
=== Download completed ===&lt;br /&gt;
&lt;br /&gt;
When aMule completes a download, a Download completed event is triggered. The following variables can be accessed:&lt;br /&gt;
* %NAME - the name of the downloaded file with full path&lt;br /&gt;
* %FILE - the name of the downloaded file without path&lt;br /&gt;
* %HASH - the ed2k hash of the downloaded file&lt;br /&gt;
* %SIZE - the size in bytes of the downloaded file&lt;br /&gt;
* %DLACTIVETIME - the total time the download was active&lt;br /&gt;
&lt;br /&gt;
=== New chat session ===&lt;br /&gt;
&lt;br /&gt;
When someone initiates a chat session with you, the New chat session event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %Sender - username of the person initiating the chat&lt;br /&gt;
&lt;br /&gt;
=== Out of space ===&lt;br /&gt;
&lt;br /&gt;
When aMule runs out of diskspace on the partition which it uses for its temporary files, the Out of space event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %PARTITION&lt;br /&gt;
&lt;br /&gt;
=== Error on completion ===&lt;br /&gt;
&lt;br /&gt;
When aMule is unable to move a file from the &amp;quot;temporary&amp;quot; directory to the &amp;quot;incoming&amp;quot; directory, an Error on completion event is triggered. This is typically caused by lack of diskspace on the partition where the incoming directory is located. When this happens, the following variable can be accessed:&lt;br /&gt;
* %FILE&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&lt;br /&gt;
Event commands can be either a single or compound shell command, or a shell script. In the Core command field, enter the command or script name followed by the optional parameters like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh %NAME %FILE %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the filename contains spaces, the variable names should be enclosed in quotes like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Your shell script can obtain the values in the parameters the customary way, ie, by evaluating $1, $2, $3, etc.&lt;br /&gt;
&lt;br /&gt;
You need to make sure your script is in your PATH or that you supply the full pathname.&lt;br /&gt;
&lt;br /&gt;
=== Errors ===&lt;br /&gt;
&lt;br /&gt;
If your script fails to execute for any reason, this will be logged in aMule's [[logfile]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[events-de|German]] | [[events-nds|Low-Saxon]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Events''' are actions aMule can take upon when certain things happen. These actions are configured on the [[Usage_Preferences#Events|Events]] tab of the [[Usage_Preferences]] notebook or, if you are running amuled, in the [UserEvents] section of [[amule.conf]].&lt;br /&gt;
&lt;br /&gt;
There are two kinds of Events supported at the moment:&lt;br /&gt;
* Download completed&lt;br /&gt;
* New chat session&lt;br /&gt;
* Out of space&lt;br /&gt;
* Error on completion&lt;br /&gt;
&lt;br /&gt;
When one of these events is triggered, you can configure aMule to execute a&lt;br /&gt;
* core command&lt;br /&gt;
* GUI command&lt;br /&gt;
&lt;br /&gt;
A core command is a command that will be executed by a flavor of aMule that has a core (aMule daemon or aMule monolithic). A GUI command is a command that will be executed by a flavor of aMule that has GUI (aMule GUI or aMule monolithic). Notice that if you specify both, aMule monolithic will execute both.&lt;br /&gt;
&lt;br /&gt;
=== Download completed ===&lt;br /&gt;
&lt;br /&gt;
When aMule completes a download, a Download completed event is triggered. The following variables can be accessed:&lt;br /&gt;
* %NAME - the name of the downloaded file with full path&lt;br /&gt;
* %FILE - the name of the downloaded file without path&lt;br /&gt;
* %HASH - the ed2k hash of the downloaded file&lt;br /&gt;
* %SIZE - the size in bytes of the downloaded file&lt;br /&gt;
* %DLACTIVETIME - the total time the download was active&lt;br /&gt;
&lt;br /&gt;
=== New chat session ===&lt;br /&gt;
&lt;br /&gt;
When someone initiates a chat session with you, the New chat session event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %Sender - username of the person initiating the chat&lt;br /&gt;
&lt;br /&gt;
=== Out of space ===&lt;br /&gt;
&lt;br /&gt;
When aMule runs out of diskspace on the partition which it uses for its temporary files, the Out of space event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %PARTITION&lt;br /&gt;
&lt;br /&gt;
=== Error on completion ===&lt;br /&gt;
&lt;br /&gt;
When aMule is unable to move a file from the &amp;quot;temporary&amp;quot; directory to the &amp;quot;incoming&amp;quot; directory, an Error on completion event is triggered. This is typically caused by lack of diskspace on the partition where the incoming directory is located. When this happens, the following variable can be accessed:&lt;br /&gt;
* %FILE&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&lt;br /&gt;
Event commands can be either a single or compound shell command, or a shell script. In the Core command field, enter the command or script name followed by the optional parameters like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh %NAME %FILE %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the filename contains spaces, the variable names should be enclosed in quotes like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Your shell script can obtain the values in the parameters the customary way, ie, by evaluating $1, $2, $3, etc.&lt;br /&gt;
&lt;br /&gt;
You need to make sure your script is in your PATH or that you supply the full pathname.&lt;br /&gt;
&lt;br /&gt;
=== Errors ===&lt;br /&gt;
&lt;br /&gt;
If your script fails to execute for any reason, this will be logged in aMule's [[logfile]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
A simple command might look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;aMule error: %PARTITION is full.&amp;quot; | mail -s Warning mymail@domain.tld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This inserts the variable %PARTITION in the text of a one-line email message and sends it to the email address specfied.&lt;br /&gt;
&lt;br /&gt;
For more elaborate purposes, you will will want to call an external script. &lt;br /&gt;
&lt;br /&gt;
Here the bash script by '''Ezeltje''' from [http://forum.amule.org/thread.php?threadid=11695 aMule-Forum] which will send you an email every time a download is completed. To use it, enter your email address where indicated and save it to a location in your PATH. Then add this line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to the Core command field of the Download completed section of the Events page. It will now be invoked everytime aMule finishes a download.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  #&lt;br /&gt;
  # doneDL.sh - sends an email upon completion of an aMule download&lt;br /&gt;
  # Used in conjuction with aMule's Event feature&lt;br /&gt;
  #&lt;br /&gt;
  # Call like this: doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
  #&lt;br /&gt;
  # Enter your email address here:&lt;br /&gt;
  eMail=&lt;br /&gt;
  #&lt;br /&gt;
  NameShort=$1&lt;br /&gt;
  NameLong=$2&lt;br /&gt;
  Hash=$3&lt;br /&gt;
  Size=$4&lt;br /&gt;
  DLtime=$5&lt;br /&gt;
  {&lt;br /&gt;
  echo aMule completed this download:&lt;br /&gt;
  echo ------------------------------&lt;br /&gt;
  echo&lt;br /&gt;
  echo File: &amp;quot;$NameLong&amp;quot;&lt;br /&gt;
  echo Hash: $Hash&lt;br /&gt;
  echo -n &amp;quot;Time: &amp;quot;&lt;br /&gt;
  date | awk '{print $4 &amp;quot; &amp;quot; $5}'&lt;br /&gt;
  echo -n Size: $Size bytes &lt;br /&gt;
  if [ $Size -gt 102400 ] ; then echo &amp;quot; (&amp;quot;$(($(($Size / 1024)) / 1024)) &amp;quot;Mb)&amp;quot; ; fi&lt;br /&gt;
  if [ ! -z &amp;quot;$DLtime&amp;quot; ] ; then echo &amp;quot;Active download time:&amp;quot; $DLtime ; fi&lt;br /&gt;
  echo&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  cas&lt;br /&gt;
  echo -n &amp;quot;Resident memory: &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $6}') kB&lt;br /&gt;
  echo -n &amp;quot;Virtual memory:  &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $5}') kB&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  } | mail -s &amp;quot;$NameShort&amp;quot; $eMail&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Hash</id>
		<title>Hash</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Hash"/>
				<updated>2006-12-22T20:23:42Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[Hash-hu|Magyar]] | [[Hash-es|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hashes''' are mathematical algorithms which generate a unique code for a piece of data. They are used to uniquely identify files or groups of data.&lt;br /&gt;
&lt;br /&gt;
In the [[FAQ_ed2k|ed2k network]], the most commonly used type of hash is the [[MD4 hash]], although [http://www.faqs.org/rfcs/rfc3174.html SHA-1] hashes are also used.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User:Colin</id>
		<title>User:Colin</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User:Colin"/>
				<updated>2006-12-22T03:24:36Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: =amuleCVSfx=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Satisfied amule user since September 2004.&lt;br /&gt;
----&lt;br /&gt;
I am also known as '''ezeltje''' in the forum (''ezel'' means &amp;quot;mule&amp;quot; in Dutch, in case anyone is wondering).&lt;br /&gt;
&lt;br /&gt;
Things I have done there:&lt;br /&gt;
&lt;br /&gt;
* created the [[Events]] pages with the example script&lt;br /&gt;
* reorganized [[AMuleWeb]] and rewrote the intro&lt;br /&gt;
* expanded [[AMuleCMD]]&lt;br /&gt;
&lt;br /&gt;
and other smaller fixes elsewhere...&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== amuleCVSfx ==&lt;br /&gt;
&lt;br /&gt;
Here is a simple script to remove the obligatory command-line parameter you need to use to run aMule CV. Run it in the ../amule-cvs directory. It will make a backup of the original file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
FileIn=src/amule.cpp&lt;br /&gt;
FileOut=_^$$.tmp&lt;br /&gt;
[ -e $FileOut ] &amp;amp;&amp;amp; rm -f $FileOut&lt;br /&gt;
awk &amp;lt; &amp;quot;$FileIn&amp;quot; &amp;gt; &amp;quot;$FileOut&amp;quot; '	&lt;br /&gt;
	Found &amp;lt; 1 &amp;amp;&amp;amp; /.!cmdline\.Found/ {&lt;br /&gt;
        n = 4&lt;br /&gt;
	print &amp;quot;//      ------ Commented out by amuleCVSfx ------&amp;quot;&lt;br /&gt;
	Found = 1&lt;br /&gt;
  	}&lt;br /&gt;
	n &amp;gt; 0 {&lt;br /&gt;
        $0 = &amp;quot;// &amp;quot; $0&lt;br /&gt;
        n--	&lt;br /&gt;
        }&lt;br /&gt;
{print}'&lt;br /&gt;
mv -f $FileIn $FileIn~  2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f $FileOut $FileIn  2&amp;gt;&amp;amp;1&lt;br /&gt;
# end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can view the changes using diff: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ diff --side-by-side --suppress-common-lines src/amule.cpp src/amule.cpp~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User:Colin</id>
		<title>User:Colin</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User:Colin"/>
				<updated>2006-12-22T03:23:17Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: =amuleCVSfx=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Satisfied amule user since September 2004.&lt;br /&gt;
----&lt;br /&gt;
I am also known as '''ezeltje''' in the forum (''ezel'' means &amp;quot;mule&amp;quot; in Dutch, in case anyone is wondering).&lt;br /&gt;
&lt;br /&gt;
Things I have done there:&lt;br /&gt;
&lt;br /&gt;
* created the [[Events]] pages with the example script&lt;br /&gt;
* reorganized [[AMuleWeb]] and rewrote the intro&lt;br /&gt;
* expanded [[AMuleCMD]]&lt;br /&gt;
&lt;br /&gt;
and other smaller fixes elsewhere...&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== amuleCVSfx ==&lt;br /&gt;
&lt;br /&gt;
Here is a simple script to remove the obligatory command-line parameter you need to use to run aMule CV. Run it in the ../amule-cvs directory. It will make a backup of the original file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
FileIn=src/amule.cpp&lt;br /&gt;
FileOut=_^$$.tmp&lt;br /&gt;
[ -e $FileOut ] &amp;amp;&amp;amp; rm -f $FileOut&lt;br /&gt;
awk &amp;lt; &amp;quot;$FileIn&amp;quot; &amp;gt; &amp;quot;$FileOut&amp;quot; '	&lt;br /&gt;
	Found &amp;lt; 1 &amp;amp;&amp;amp; /.!cmdline\.Found/ {&lt;br /&gt;
        n = 4&lt;br /&gt;
	print &amp;quot;//      ------ Commented out by amuleCVSfx ------&amp;quot;&lt;br /&gt;
	Found = 1&lt;br /&gt;
  	}&lt;br /&gt;
	n &amp;gt; 0 {&lt;br /&gt;
        $0 = &amp;quot;// &amp;quot; $0&lt;br /&gt;
        n--	&lt;br /&gt;
        }&lt;br /&gt;
{print}'&lt;br /&gt;
mv -f $FileIn $FileIn~  2&amp;gt;&amp;amp;1&lt;br /&gt;
mv -f $FileOut $FileIn  2&amp;gt;&amp;amp;1&lt;br /&gt;
# end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can view the changes with this command: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ diff -b --side-by-side --suppress-common-lines src/amule.cpp src/amule.cpp~&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Rpm</id>
		<title>Rpm</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Rpm"/>
				<updated>2006-12-21T22:06:11Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: #REDIRECT RPM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[RPM]]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Usage_aLinkCreatorConsole</id>
		<title>Usage aLinkCreatorConsole</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Usage_aLinkCreatorConsole"/>
				<updated>2006-12-21T22:04:33Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: #REDIRECT ALinkCreatorConsole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[ALinkCreatorConsole]]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole</id>
		<title>ALinkCreatorConsole</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole"/>
				<updated>2006-12-21T22:03:54Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: reorg and merge contents of Usage_aLinkCreatorConsole&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[aLinkCreatorConsole-de|Deutsch]] |[[aLinkCreatorConsole-es|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''ALinkCreatorConsole (alcc)''' is a command-line tool for creating [[Ed2k link]]s for files. It is a text-only equivalent of [[ALinkCreator]] (alc). alcc, like alc, calculates the ed2k hashes of files and displays the output formatted as a link that you can, for example, save in a file, paste in a web page, or send to a friend. &lt;br /&gt;
&lt;br /&gt;
alcc is also able to create part-hashes, i.e. hashes for incomplete files.&lt;br /&gt;
&lt;br /&gt;
alcc can be used without having the full aMule package installed.&lt;br /&gt;
&lt;br /&gt;
== Installing alcc ==&lt;br /&gt;
&lt;br /&gt;
Many of not most distros have an aMule package in their repositories. If you install aMule by means of RPM, DEB, or other package management system, alcc will be included in the installation.&lt;br /&gt;
&lt;br /&gt;
This is the easiest and preferred method of installing alcc.&lt;br /&gt;
&lt;br /&gt;
== Compiling alcc == &lt;br /&gt;
&lt;br /&gt;
If you have not installed aMule by means of a package, you will need to compile it from source.&lt;br /&gt;
&lt;br /&gt;
alcc is not compiled separately; it is compiled at the same time you compile aMule by using the --enable-alcc flag when you run configure. (See the [[Main Page]] for links to pages on compiling aMule for various operating systems). &lt;br /&gt;
&lt;br /&gt;
== Using alcc ==&lt;br /&gt;
&lt;br /&gt;
To run alcc, type &amp;quot;alcc&amp;quot; on the command line in a terminal followed by a file name:&lt;br /&gt;
&lt;br /&gt;
:$ alcc &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multiple filenames can be supplied, separated by spaces: &lt;br /&gt;
&lt;br /&gt;
:$ alcc &amp;lt;filename1&amp;gt; &amp;lt;filename1&amp;gt; &amp;lt;filename3&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You can copy its output from screen for use elsewhere.&lt;br /&gt;
&lt;br /&gt;
:'''Note:''' If you intend to build an [[rpm]] by using the [[Spec_file|specfile]], aMule is shipped with, you need to add the entry ''%{_bindir}/alcc'' in the file-section. Otherise, an error message will displayed, &amp;quot;/usr/bin/alcc installed but not packaged&amp;quot;,and rpmbuild will abort.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Spec_file</id>
		<title>Spec file</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Spec_file"/>
				<updated>2006-12-21T01:01:35Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: style, grammar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[Spec_file-de|Deutsch]] | [[Spec_file-es|Spanish]] &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A '''spec file''' is included in the [[aMule CVS]] tarball with which you can easily generate an [[RPM]] package.&lt;br /&gt;
&lt;br /&gt;
It works like this:&lt;br /&gt;
&lt;br /&gt;
# Download the latest aMule CVS tarball. It must be tarball of the ''same day'', these RPMs can only be built on the same day you download them.&lt;br /&gt;
#Run: ''rpmbuild -ta aMule-CVS-tarball.tar.bz2''&lt;br /&gt;
#When it is completed, you will have an RPM file which you can install with rpm.&lt;br /&gt;
&lt;br /&gt;
:'''Not:''' You must have everything required to compile aMule previously installed in your system.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/RPM</id>
		<title>RPM</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/RPM"/>
				<updated>2006-12-20T13:57:42Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: new e&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''RPM''' is an abbreviation for '''Redhat Package Manager''', a package management system used by many Linux distros.&lt;br /&gt;
&lt;br /&gt;
Installing an [[aMule]] RPM is easier than compiling from source. Many if not most distros have aMule RPMs available in their repositories.&lt;br /&gt;
&lt;br /&gt;
==External link==&lt;br /&gt;
&lt;br /&gt;
* [http://rpm.org rpm.org]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Tar</id>
		<title>Tar</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Tar"/>
				<updated>2006-12-20T13:53:06Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: new entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''tar''' is a command-line program for creating and unpacking file archives. It is widely used in the Unix environment.&lt;br /&gt;
&lt;br /&gt;
tar archives are identified by the &amp;quot;.tar&amp;quot; suffix. If they have been compressed, the suffix will be &amp;quot;tar.gz&amp;quot; or &amp;quot;tar.bz2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To compile the [[AMule]] source code, you first need to unpack the .tar archive. To do this, type&lt;br /&gt;
&lt;br /&gt;
:$ tar xvjf [amule-source-tarball]  &lt;br /&gt;
&lt;br /&gt;
If you want to unpack the archive in a location other than the current directory, use the -C [destination] flag.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:$ tar xvjf aMule-CVS-20061202.tar.bz2 -C /usr/local/src&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_SVN</id>
		<title>AMule SVN</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_SVN"/>
				<updated>2006-12-20T13:41:10Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: fxs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' |  [[AMule_CVS-es|Spanish]]  | [[AMule_CVS-de|Deutsch]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''AMule CVS''' is a [[tar]] archive of the latest developmental source code of [[aMule]]. It is automatically updated every night and can be downloaded from [http://amule.hirnriss.net hirnriss.net]. &lt;br /&gt;
&lt;br /&gt;
:'''Note:''' There are no guarantees that aMule CVS will compile and/or work properly. aMule CVS is a work-in-progress for users who want to keep up with the latest bleeding-edge developments. ''Use at your own risk!''&lt;br /&gt;
&lt;br /&gt;
To run aMule CVS, you need to supply a mandatory command-line parameter which is changed regularly. To disable this, run this script: [[User:Colin#amuleCVSfx | amuleCVSfx]].&lt;br /&gt;
&lt;br /&gt;
== RPM ==&lt;br /&gt;
To create an [[RPM]] package from an aMule CVS source tarball, use the included   &amp;quot;spec file&amp;quot;  See [[spec file]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Distro-specific sources ==&lt;br /&gt;
&lt;br /&gt;
'''Gentoo''' users can grab the amule-cvs ebuild by consulting [[HowTo Compile In Gentoo]].&lt;br /&gt;
&lt;br /&gt;
'''ArchLinux''' users can grab an unofficial amule-cvs PKGBUILD and binary by following [http://gift.altervista.org/index_en.php?section=40 this link] (No official support)&lt;br /&gt;
&lt;br /&gt;
'''Debian testing/sid''' users can add this unofficial repository to their source.repo file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(See [http://forum.amule.org/thread.php?threadid=5776] for more information)&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X''' users can find CVS builds by following the instructions in [http://forum.amule.org/thread.php?threadid=5051 in this thread] on the forum.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User:Colin</id>
		<title>User:Colin</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User:Colin"/>
				<updated>2006-12-20T13:23:24Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: subh&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Satisfied amule user since September 2004.&lt;br /&gt;
----&lt;br /&gt;
I am also known as '''ezeltje''' in the forum (''ezel'' means &amp;quot;mule&amp;quot; in Dutch, in case anyone is wondering).&lt;br /&gt;
&lt;br /&gt;
Things I have done there:&lt;br /&gt;
&lt;br /&gt;
* created the [[Events]] pages with the example script&lt;br /&gt;
* reorganized [[AMuleWeb]] and rewrote the intro&lt;br /&gt;
* expanded [[AMuleCMD]]&lt;br /&gt;
&lt;br /&gt;
and other smaller fixes elsewhere...&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== amuleCVSfx ==&lt;br /&gt;
&lt;br /&gt;
Here is a simple script to remove the obligatory command-line parameter you need to use to run aMule CVS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*bin/true;exec rexx &amp;quot;$0&amp;quot; &amp;quot;$@&amp;quot;;exit # REXX */&lt;br /&gt;
&lt;br /&gt;
/* --------- amuleCVSfx --------- */&lt;br /&gt;
&lt;br /&gt;
/* &lt;br /&gt;
   run this script in ../amule-cvs&lt;br /&gt;
   It will modify src/amule.cpp and save the &lt;br /&gt;
   original at src/amule.cpp~&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
FileIn  = &amp;quot;src/amule.cpp&amp;quot;&lt;br /&gt;
FileOut = &amp;quot;_tmp.tmp&amp;quot;&lt;br /&gt;
Found   = 0&lt;br /&gt;
&lt;br /&gt;
do while lines(FileIn) &amp;gt; 0&lt;br /&gt;
	OneLine = lineIn(FileIn)&lt;br /&gt;
		if pos(&amp;quot;!cmdline.Found&amp;quot;,OneLine) &amp;gt; 1 &amp;amp; Found &amp;lt;&amp;gt; 1 then&lt;br /&gt;
			do &lt;br /&gt;
			call LineOut FileOut, &amp;quot;//	------ Commented out by amuleCVSfx ------ &amp;quot;&lt;br /&gt;
			call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
			do i = 0 to 4&lt;br /&gt;
				OneLine = lineIn(FileIn)&lt;br /&gt;
				call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
				i = i + 1&lt;br /&gt;
			end&lt;br /&gt;
			Found = 1&lt;br /&gt;
		    end&lt;br /&gt;
		else&lt;br /&gt;
			call LineOut FileOut, OneLine&lt;br /&gt;
	end&lt;br /&gt;
if Found = 1 then&lt;br /&gt;
	do&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileIn FileIn || '~'  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileOut FileIn  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	say &amp;quot;Fixed!&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
else&lt;br /&gt;
	do&lt;br /&gt;
	say &amp;quot;Not found&amp;quot;&lt;br /&gt;
	&amp;quot;rm -f&amp;quot; FileOut&lt;br /&gt;
	end&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to run it in the &amp;quot;amule-cvs&amp;quot; directory before issuing the &amp;quot;make&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
It is written in '''Rexx''', so you will need to have a Rexx interpreter on your system to run it. To install Rexx in Fedora, type &lt;br /&gt;
&amp;quot;yum install oorexx&amp;quot;. For Ubuntu, type &amp;quot;apt-get install rexx-regina&amp;quot;. Other distros probably have Rexx in their repositories under one name or another. Or you can download the source in various forms from sourceforge: [http://sourceforge.net/project/showfiles.php?group_id=119701]&lt;br /&gt;
&lt;br /&gt;
I originally wrote it as a shell script, but file I/O works much better in Rexx, which is designed for this kind of thing.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_SVN</id>
		<title>AMule SVN</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_SVN"/>
				<updated>2006-12-20T01:26:35Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: style &amp;amp; grammar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' |  [[AMule_CVS-es|Spanish]]  | [[AMule_CVS-de|Deutsch]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''AMule CVS''' is the nightly [[aMule]] development tarball. It can be downloaded from [http://amule.hirnriss.net hirnriss.net].&lt;br /&gt;
&lt;br /&gt;
By using amule-cvs, you understand that this version has no guarantees that it will compile and/or work properly. amule-cvs is a work-in-progress for users who want to keep up with the latest developments. ''Use at your own risk!''&lt;br /&gt;
&lt;br /&gt;
* As of the 14th of March, 2005, a [[spec file]] is available in the [http://amule.hirnriss.net aMule CVS tarball] so that you may easily generate an [http://www.rpm.org RPM]. Read about it [[spec file| here]].&lt;br /&gt;
&lt;br /&gt;
* [http://www.gentoo.org Gentoo] users can grab the amule-cvs ebuild by [[HowTo_Compile_In_Gentoo|following this link]].&lt;br /&gt;
&lt;br /&gt;
* [http://www.archlinux.org ArchLinux] users can grab an unofficial amule-cvs PKGBUILD and binary by following [http://gift.altervista.org/index_en.php?section=40 this link] (No official support)&lt;br /&gt;
&lt;br /&gt;
* [http://www.debian.org Debian] testing/sid unofficial repository (daily CVS packages. See [http://forum.amule.org/thread.php?threadid=5776 this] for more information):&lt;br /&gt;
:deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
&lt;br /&gt;
* [http://www.apple.com/macosx/ Mac OS X] users can find CVS builds [http://forum.amule.org/thread.php?threadid=5051 in this thread] on the forum.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Universal_plug_and_play</id>
		<title>Universal plug and play</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Universal_plug_and_play"/>
				<updated>2006-12-20T01:21:41Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: #REDIRECT Universal Plug and Play&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Universal Plug and Play]]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/External_Connections</id>
		<title>External Connections</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/External_Connections"/>
				<updated>2006-12-20T01:20:33Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: reorg, grammar &amp;amp; spelling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''''External Connections''' (EC)  is a bi-directional interface [[aMule]] uses to communicate with external utilities, specifically:&lt;br /&gt;
&lt;br /&gt;
* [[aMuleWeb]] &lt;br /&gt;
* [[aMuleCMD]]&lt;br /&gt;
* [[aMuleGUI]]&lt;br /&gt;
&lt;br /&gt;
When a user is using one of these programs, it is sending the commands via the External Connections port and [[aMule]] is reading them there. &lt;br /&gt;
&lt;br /&gt;
Unless [[aMule]] and the external utilities are used on the same machine, you may need to configure your firewall and/or router to manage the ports properly, ie, open them to incoming traffic.&lt;br /&gt;
&lt;br /&gt;
The [[Firewall]] article has instructions on how to do this. &lt;br /&gt;
&lt;br /&gt;
As of December 2006, aMule CVS has experimental code enabling [[Universal plug and play]] (uPnP), which enables you to configure the ports on a uPnP-compatible router automatically. This functionality should soon be available in a general release.&lt;br /&gt;
&lt;br /&gt;
'''NOTE for [[aMule_CVS|CVS]] users:''' It is very important that the aMuleWeb, aMuleCMD, and aMuleGUI you use are built from the same daily CVS tarball as aMule; mixing versions you are liable to experience crashes. For official releases, the developers take extra care that the worst that happens when you mix versions is a message &amp;quot;Invalid protocol version.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''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 [[Signature|Online Signature]] (outgoing direction) and [[ED2KLinks file]] (ingoing direction).&lt;br /&gt;
&lt;br /&gt;
For more information on the EC protocol, see [[ECv2|External Connections v2]].&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMuleCMD</id>
		<title>AMuleCMD</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMuleCMD"/>
				<updated>2006-12-20T00:55:32Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: =Configuring aMuleCMD=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''AMuleCMD''' is a command-line utility that allows you to control [[aMule]] or [[aMuled]] either locally or remotely. The character-oriented interface offers a subset of aMule functionality, including searching for files, initializing downloads, and viewing your download queue. It also displays status information and allows you to change certain options.&lt;br /&gt;
&lt;br /&gt;
To run aMuleCMD, type &amp;quot;amulecmd&amp;quot; on the command line. The program will start up and display the &amp;quot;aMulecmd$&amp;quot; prompt. The following commands are available:&lt;br /&gt;
&lt;br /&gt;
*Available&lt;br /&gt;
*Add&lt;br /&gt;
*Cancel&lt;br /&gt;
*Connect&lt;br /&gt;
*Disconnect&lt;br /&gt;
*Exit&lt;br /&gt;
*Get&lt;br /&gt;
*Help&lt;br /&gt;
*Pause&lt;br /&gt;
*Quit&lt;br /&gt;
*Reload&lt;br /&gt;
*Resume&lt;br /&gt;
*Set&lt;br /&gt;
*Show&lt;br /&gt;
*Shutdown&lt;br /&gt;
*Statistics&lt;br /&gt;
*Status&lt;br /&gt;
&lt;br /&gt;
For full instructions on how to use each command type 'help &amp;lt;command&amp;gt;' from within AmuleCMD.&lt;br /&gt;
&lt;br /&gt;
In addition to running these commands from within aMuleCMD, you can also run them on the shell command line with the &amp;quot;-c&amp;quot; flag, like this:&lt;br /&gt;
&lt;br /&gt;
:$amulecmd -c [command]&lt;br /&gt;
&lt;br /&gt;
This enables you to call aMuleCMD from other scripts or from cron. See&lt;br /&gt;
[[FAQ amulecmd]] for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
== Installing aMuleCMD ==&lt;br /&gt;
&lt;br /&gt;
Many of not most distros have an aMule package in their repositories. If you install aMule by means of RPM, DEB, or other package management system, aMuleCMD will be included in the installation.&lt;br /&gt;
&lt;br /&gt;
This is the easiest and preferred method of installing aMule and aMuleCMD.&lt;br /&gt;
&lt;br /&gt;
== Compiling aMuleCMD ==&lt;br /&gt;
&lt;br /&gt;
If you have not installed aMule by means of a package, you will need to compile it from source.&lt;br /&gt;
&lt;br /&gt;
aMuleCMD is not compiled separately; it is compiled at the same time you compile aMule by using the --enable-amulecmd flag when you run configure. (See the Main Page for links to pages on compiling aMule for various operating systems). &lt;br /&gt;
&lt;br /&gt;
== Configuring aMuleCMD ==&lt;br /&gt;
&lt;br /&gt;
To use aMuleCMD, you first need to set several opions in aMule's Preferences notebook. On the &amp;quot;Remote Controls&amp;quot; page, you will need to:&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Accept External Connections&amp;quot;.&lt;br /&gt;
* Enter a password for External Connections.&lt;br /&gt;
&lt;br /&gt;
You can also modifiy the default External Connections port (4712) here as well, but if you do so, you will need to restart aMule for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
(If you are running aMuled and don't want to use aMule to configure aMuleCMD, you can also edit &amp;quot;[ExternalConnect]&amp;quot; section of [[amule.conf file |amule.conf]]; see the instructions on the [[AMuleWeb]] page.)&lt;br /&gt;
&lt;br /&gt;
Next, you need to do is generate [[remote.conf]], the file where aMuleCMD stores its configuration information. (It can be found in the .aMule directory.) Among other things, this file contains the port number which aMule uses for External Connections as well as the password needed to access aMule.  &lt;br /&gt;
&lt;br /&gt;
To create a ''remote.conf'' file, enter at the command line:&lt;br /&gt;
&lt;br /&gt;
:amulecmd --create-config-from=/home/username/.aMule/amule.conf&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;username&amp;quot; is your user name. &lt;br /&gt;
&lt;br /&gt;
aMuleCMD will read the necessary configuration information from amule.conf and generate a ''remote.conf'' file.&lt;br /&gt;
&lt;br /&gt;
To do this on a remote system, enter this:&lt;br /&gt;
&lt;br /&gt;
:amulecmd -h hostname -p ECport -P ECpassword -w&lt;br /&gt;
&lt;br /&gt;
By default, the port is 4712, as indicated above.&lt;br /&gt;
&lt;br /&gt;
'''Tip''' You can also simply copy ''remote.conf'' from the host system to the the remote computer, changing the hostname line accordingly.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User:Colin</id>
		<title>User:Colin</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User:Colin"/>
				<updated>2006-12-19T19:12:14Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: + sf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Satisfied amule user since September 2004.&lt;br /&gt;
----&lt;br /&gt;
I am also known as '''ezeltje''' in the forum (''ezel'' means &amp;quot;mule&amp;quot; in Dutch, in case anyone is wondering).&lt;br /&gt;
&lt;br /&gt;
Things I have done there:&lt;br /&gt;
&lt;br /&gt;
* created the [[Events]] pages with the example script&lt;br /&gt;
* reorganized [[AMuleWeb]] and rewrote the intro&lt;br /&gt;
* expanded [[AMuleCMD]]&lt;br /&gt;
&lt;br /&gt;
and other smaller fixes elsewhere...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here is a simple script to remove the obligatory command-line parameter you need to use to run aMule CVS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*bin/true;exec rexx &amp;quot;$0&amp;quot; &amp;quot;$@&amp;quot;;exit # REXX */&lt;br /&gt;
&lt;br /&gt;
/* --------- amuleCVSfx --------- */&lt;br /&gt;
&lt;br /&gt;
/* &lt;br /&gt;
   run this script in ../amule-cvs&lt;br /&gt;
   It will modify src/amule.cpp and save the &lt;br /&gt;
   original at src/amule.cpp~&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
FileIn  = &amp;quot;src/amule.cpp&amp;quot;&lt;br /&gt;
FileOut = &amp;quot;_tmp.tmp&amp;quot;&lt;br /&gt;
Found   = 0&lt;br /&gt;
&lt;br /&gt;
do while lines(FileIn) &amp;gt; 0&lt;br /&gt;
	OneLine = lineIn(FileIn)&lt;br /&gt;
		if pos(&amp;quot;!cmdline.Found&amp;quot;,OneLine) &amp;gt; 1 &amp;amp; Found &amp;lt;&amp;gt; 1 then&lt;br /&gt;
			do &lt;br /&gt;
			call LineOut FileOut, &amp;quot;//	------ Commented out by amuleCVSfx ------ &amp;quot;&lt;br /&gt;
			call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
			do i = 0 to 4&lt;br /&gt;
				OneLine = lineIn(FileIn)&lt;br /&gt;
				call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
				i = i + 1&lt;br /&gt;
			end&lt;br /&gt;
			Found = 1&lt;br /&gt;
		    end&lt;br /&gt;
		else&lt;br /&gt;
			call LineOut FileOut, OneLine&lt;br /&gt;
	end&lt;br /&gt;
if Found = 1 then&lt;br /&gt;
	do&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileIn FileIn || '~'  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileOut FileIn  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	say &amp;quot;Fixed!&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
else&lt;br /&gt;
	do&lt;br /&gt;
	say &amp;quot;Not found&amp;quot;&lt;br /&gt;
	&amp;quot;rm -f&amp;quot; FileOut&lt;br /&gt;
	end&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to run it in the &amp;quot;amule-cvs&amp;quot; directory before issuing the &amp;quot;make&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
It is written in '''Rexx''', so you will need to have a Rexx interpreter on your system to run it. To install Rexx in Fedora, type &lt;br /&gt;
&amp;quot;yum install oorexx&amp;quot;. For Ubuntu, type &amp;quot;apt-get install rexx-regina&amp;quot;. Other distros probably have Rexx in their repositories under one name or another. Or you can download the source in various forms from sourceforge: [http://sourceforge.net/project/showfiles.php?group_id=119701]&lt;br /&gt;
&lt;br /&gt;
I originally wrote it as a shell script, but file I/O works much better in Rexx, which is designed for this kind of thing.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User:Colin</id>
		<title>User:Colin</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User:Colin"/>
				<updated>2006-12-19T19:09:04Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: fxs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Satisfied amule user since September 2004.&lt;br /&gt;
----&lt;br /&gt;
I am also known as '''ezeltje''' in the forum (''ezel'' means &amp;quot;mule&amp;quot; in Dutch, in case anyone is wondering).&lt;br /&gt;
&lt;br /&gt;
Things I have done there:&lt;br /&gt;
&lt;br /&gt;
* created the [[Events]] pages with the example script&lt;br /&gt;
* reorganized [[AMuleWeb]] and rewrote the intro&lt;br /&gt;
* expanded [[AMuleCMD]]&lt;br /&gt;
&lt;br /&gt;
and other smaller fixes elsewhere...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here is a simple script to remove the obligatory command-line parameter you need to use to run aMule CVS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*bin/true;exec rexx &amp;quot;$0&amp;quot; &amp;quot;$@&amp;quot;;exit # REXX */&lt;br /&gt;
&lt;br /&gt;
/* --------- amuleCVSfx --------- */&lt;br /&gt;
&lt;br /&gt;
/* &lt;br /&gt;
   run this script in ../amule-cvs&lt;br /&gt;
   It will modify src/amule.cpp and save the &lt;br /&gt;
   original at src/amule.cpp~&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
FileIn  = &amp;quot;src/amule.cpp&amp;quot;&lt;br /&gt;
FileOut = &amp;quot;_tmp.tmp&amp;quot;&lt;br /&gt;
Found   = 0&lt;br /&gt;
&lt;br /&gt;
do while lines(FileIn) &amp;gt; 0&lt;br /&gt;
	OneLine = lineIn(FileIn)&lt;br /&gt;
		if pos(&amp;quot;!cmdline.Found&amp;quot;,OneLine) &amp;gt; 1 &amp;amp; Found &amp;lt;&amp;gt; 1 then&lt;br /&gt;
			do &lt;br /&gt;
			call LineOut FileOut, &amp;quot;//	------ Commented out by amuleCVSfx ------ &amp;quot;&lt;br /&gt;
			call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
			do i = 0 to 4&lt;br /&gt;
				OneLine = lineIn(FileIn)&lt;br /&gt;
				call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
				i = i + 1&lt;br /&gt;
			end&lt;br /&gt;
			Found = 1&lt;br /&gt;
		    end&lt;br /&gt;
		else&lt;br /&gt;
			call LineOut FileOut, OneLine&lt;br /&gt;
	end&lt;br /&gt;
if Found = 1 then&lt;br /&gt;
	do&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileIn FileIn || '~'  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileOut FileIn  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	say &amp;quot;Fixed!&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
else&lt;br /&gt;
	do&lt;br /&gt;
	say &amp;quot;Not found&amp;quot;&lt;br /&gt;
	&amp;quot;rm -f&amp;quot; FileOut&lt;br /&gt;
	end&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to run it in the &amp;quot;amule-cvs&amp;quot; directory before issuing the &amp;quot;make&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
It is written in '''Rexx''', so you will need to have a Rexx interpreter on your system to run it. To install Rexx in Fedora, type &lt;br /&gt;
&amp;quot;yum install oorexx&amp;quot;. For Ubuntu, type &amp;quot;apt-get install rexx-regina&amp;quot;. Other distros probably have Rexx in their repositories under one name or another.&lt;br /&gt;
&lt;br /&gt;
I originally wrote it as a shell script, but file I/O works much better in Rexx, which is designed for this kind of thing.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Universal_Plug_and_Play</id>
		<title>Universal Plug and Play</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Universal_Plug_and_Play"/>
				<updated>2006-12-19T19:02:56Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: new entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Universal Plug and Play (uPnP)''' is a new feature of [[aMule]] (CVS) which allows you to automatically configure the ports on your router, provided your router supports uPnP. This functionality is still being tested and should appear soon in an official release.&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Universal_Plug_and_Play &amp;quot;Universal Plug and Play&amp;quot;]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/UPnP</id>
		<title>UPnP</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/UPnP"/>
				<updated>2006-12-19T18:58:02Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: #REDIRECT Universal Plug and Play&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Universal Plug and Play]]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Firewall</id>
		<title>Firewall</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Firewall"/>
				<updated>2006-12-19T18:54:26Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: =Firewalls= fmt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[Firewall-es|Español]] | [[Firewall-de|Deutsche]] &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Firewalls ==&lt;br /&gt;
&lt;br /&gt;
By default, firewalls and routers block incoming ports. To achieve the best results with aMule, you need to configure your firewall or router to open certain ports which aMule uses.&lt;br /&gt;
&lt;br /&gt;
:'''Note''' As of mid-December 2006, aMule (CVS) has [[Universal Plug and Play]] (uPnP) capabilities which you can use to automatically configure the ports on your router, provided your router supports uPnP. This functionality is still being tested and should appear soon in an official release.&lt;br /&gt;
&lt;br /&gt;
=== SuSE ===&lt;br /&gt;
&lt;br /&gt;
'''[http://www.suse.com SuSE Linux]''' users try [[Firewall_SuSE|this HowTo]].&lt;br /&gt;
&lt;br /&gt;
=== RedHat / Fedora Core ===&lt;br /&gt;
&lt;br /&gt;
'''[http://fedora.redhat.com RedHat / Fedora Core]''' users try [[Firewall_Fedora|this HowTo]].&lt;br /&gt;
&lt;br /&gt;
=== IPTables Configuration ===&lt;br /&gt;
&lt;br /&gt;
If you set [http://www.ietf.org/rfc/rfc793.txt TCP] port in [[aMule]] to XX and [http://www.faqs.org/rfcs/rfc768.html UDP] port to YY then you have to set your firewall like this:&lt;br /&gt;
&lt;br /&gt;
''iptables -A INPUT -p tcp  --dport '''XX''' -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables  -A INPUT -p udp  --dport '''XX+3''' -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -A INPUT  -p udp  --dport '''YY''' -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are building your iptables-rules from scratch, you also need to allow ''ESTABLISHED'' and ''RELATED'' traffic to come through your firewall: &lt;br /&gt;
&lt;br /&gt;
''iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT''&lt;br /&gt;
&lt;br /&gt;
And you must enable traffic to leave your machine aswell, by either allowing all outgoing traffic: &lt;br /&gt;
&lt;br /&gt;
''iptables -P OUTPUT ACCEPT''&lt;br /&gt;
&lt;br /&gt;
or specifying special rules.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' for [http://www.mandrake.com Mandrake] 10.0 Official and [http://www.iptables.org iptables] you may have to change the multi-port entry to ''iptables  -A INPUT -p udp  --dport '''XX:ZZ''' -j ACCEPT'' where ''XX'' is the same [http://www.ietf.org/rfc/rfc793.txt TCP] port number used in first line and ''ZZ'' is that number plus 3 (eg: ''4662:4665'')&lt;br /&gt;
&lt;br /&gt;
If you want to setup [[aMule]] behind a NAT gateway, you should add these lines to your [http://www.netfilter.org iptables] configuration script, on the gateway :&lt;br /&gt;
&lt;br /&gt;
''EXTIF'' is your external interface&lt;br /&gt;
&lt;br /&gt;
''EMULEPORT='''4662'''''&amp;lt;br&amp;gt;&lt;br /&gt;
''EMULEUDP='''4672'''''&amp;lt;br&amp;gt;&lt;br /&gt;
''EMULEUDP2=`expr $EMULEPORT + 3`''&amp;lt;br&amp;gt;&lt;br /&gt;
''EMULEHOST='''10.0.0.2'''''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -t nat -A PREROUTING -i $EXTIF -p tcp --destination-port $EMULEPORT -j DNAT --to-destination $EMULEHOST:$EMULEPORT''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -t nat -A PREROUTING -i $EXTIF -p udp --destination-port $EMULEUDP -j DNAT --to-destination $EMULEHOST:$EMULEUDP''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -t nat -A PREROUTING -i $EXTIF -p udp --destination-port $EMULEUDP2 -j DNAT --to-destination $EMULEHOST:$EMULEUDP2''&lt;br /&gt;
&lt;br /&gt;
You also should make sure that your FORWARD-string is set up correctly. Usually, you will have an entry like this:&lt;br /&gt;
&lt;br /&gt;
''iptables -A FORWARD -i $EXTIF -o $INTIF -d $EMULEHOST -m state --state ESTABLISHED,RELATED -j ACCEPT''&lt;br /&gt;
&lt;br /&gt;
where ''INTIF'' is your internal interface and ''EMULEHOST'' is the host running the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k]] [[server]] on your internal network.&lt;br /&gt;
&lt;br /&gt;
This will prevent new connections. So, you should allow all forwarding for [[aMule]]-related ports:&lt;br /&gt;
&lt;br /&gt;
''iptables -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport $EMULEPORT -d $EMULEHOST -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -A FORWARD -i $EXTIF -o $INTIF -p udp --dport $EMULEUDP -d $EMULEHOST -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -A FORWARD -i $EXTIF -o $INTIF -p udp --dport $EMULEUDP2 -d $EMULEHOST -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once everything is set, you can check [http://www.amule.org/testport.php here] if your ports are now open.&lt;br /&gt;
&lt;br /&gt;
== Routers ==&lt;br /&gt;
&lt;br /&gt;
Here is a list of routers and how to set them up to forward their ports to [[aMule]].&lt;br /&gt;
&lt;br /&gt;
In the descriptions below, examples are using the default ports (that is, ''4662'' for the [[Standard client TCP port]], ''4672'' for the [[Extended client UDP port]] and ''4665'' for the [[Extended server requests UDP port]].&lt;br /&gt;
&lt;br /&gt;
=== Linksys WRT54GSV4 ===&lt;br /&gt;
&lt;br /&gt;
#Open your web browser, ''http://192.168.1.1'' and log into it&lt;br /&gt;
#Go under ''Gaming applications''&lt;br /&gt;
#Now forward the ports to your computer:&lt;br /&gt;
##[[Standard client TCP port]]&lt;br /&gt;
###Change both ''Ports start'' and ''End'' to ''4662''&lt;br /&gt;
###In the next field set ''TCP''&lt;br /&gt;
###In the field, the last 3 digits of your LAN [[IP]]&lt;br /&gt;
##[[Extended client UDP port]]&lt;br /&gt;
###Change both ''Ports start'' and ''End'' to ''4672''&lt;br /&gt;
###In the next field set ''UDP''&lt;br /&gt;
###In the field, the last 3 digits of your LAN [[IP]]&lt;br /&gt;
##[[Extended server requests UDP port]]&lt;br /&gt;
###Change both ''Ports start'' and ''End'' to ''4665''&lt;br /&gt;
###In the next field set ''UDP''&lt;br /&gt;
###In the field, the last 3 digits of your LAN [[IP]]&lt;br /&gt;
#Now check ''Enable''&lt;br /&gt;
#And click ''Save settings''&lt;br /&gt;
#Then restart aMule :)&lt;br /&gt;
&lt;br /&gt;
''--by '''Diablo69'''''&lt;br /&gt;
&lt;br /&gt;
=== [http://www.linksys.com Linksys] Router configuration ===&lt;br /&gt;
&lt;br /&gt;
This portion of the wiki applies only to stock versions of the [http://www.linksys.com Linksys] firmware. If you are using a [http://www.linksys.com Linksys] router running a variant of the [[GPL]] code, please follow the guides directly above as you are most likely using iptables.&lt;br /&gt;
&lt;br /&gt;
Log into your [http://www.linksys.com Linksys] router. After successfully logging in, click on the main menu link labeled '''Applications &amp;amp; Gaming''' after which you should see an additional submenu list for this section. Make sure you are under the correct submenu by clicking '''Port Range Forwarding'''.&lt;br /&gt;
&lt;br /&gt;
At this point, you should see a table with 6 columns. The columns are: ''Application'', ''Start to'', ''End'', ''Protocol'', ''IP Address'', ''Enable''.&lt;br /&gt;
&lt;br /&gt;
'''The Application column'''&amp;lt;br&amp;gt;&lt;br /&gt;
Friendly name for the service. Put anything you want here, [[aMule]] being suggested.&lt;br /&gt;
&lt;br /&gt;
'''The Start to -&amp;gt; End column'''&amp;lt;br&amp;gt;&lt;br /&gt;
Start and end ports. '''Start to''' should be ''4662'' but, in the end, this should reflect whatever port you have defined in [[aMule]] ''Preferences'' -&amp;gt; ''Connection'' -&amp;gt; ''Client TCP Port''. '''End''' should be ''4672'' but, in the end, this should reflect whatever port you have defined in [[aMule]] ''Preferences'' -&amp;gt; ''Connection'' -&amp;gt; ''eMule extended UDP Port''.&lt;br /&gt;
&lt;br /&gt;
I suggest using 2 separate entries for each port unless this is not possible.&lt;br /&gt;
&lt;br /&gt;
'''The Protocol column'''&amp;lt;br&amp;gt;&lt;br /&gt;
Protocol to listen for. If you use one line to open your [[aMule]] ports, set this option to '''Both'''. If you use a separate entry line for each, select option '''TCP''' for [[FAQ_ed2k#What_does_each_port_do?|Client TCP Port]] and option '''UDP''' for [[eMule]] [[FAQ_ed2k#What_does_each_port_do?|extended UDP Port]].&lt;br /&gt;
&lt;br /&gt;
'''The IP Address column'''&amp;lt;br&amp;gt;&lt;br /&gt;
Internal [[IP|IP address]] to forward requests to. This is typically the internal (private) [[IP|IP address]] of the computer that will use [[aMule]].&lt;br /&gt;
&lt;br /&gt;
'''The Enable column'''&amp;lt;br&amp;gt;&lt;br /&gt;
Enable rule. You'll need to check this in order to enable your [[aMule]] rules.&lt;br /&gt;
&lt;br /&gt;
After adding your rule, make sure you save your settings. You can verify whether your rules work by [http://www.amule.org/testport.php testing your ports].&lt;br /&gt;
&lt;br /&gt;
=== [http://www.dlink.com DLink] Router configuration ===&lt;br /&gt;
&lt;br /&gt;
Log in to your [http://www.dlink.com DLink] router.  There are three steps to take to enable your [[aMule]] [[port]]s.&lt;br /&gt;
&lt;br /&gt;
'''IP Address setup'''&lt;br /&gt;
&lt;br /&gt;
In the Home tab, click the DHCP button.  This page displays the current [[IP address]]es assigned by the router, both static and dynamic. Look for the name or MAC address of the computer you'll be running [[aMule]] on. If your computer is receiving dynamically assigned [[IP address]]es, you will have to change your settings every so often if your [[IP address]] changes. To avoid this, use the Static DHCP section, and perform the following steps:&lt;br /&gt;
&lt;br /&gt;
*'''Name''': Type in the name of your computer here, could be anything&lt;br /&gt;
*'''IP''': The [[IP address]] you want the router to always assign to your computer&lt;br /&gt;
*'''MAC Address''': The MAC address of your computer. You should be already connected to the router, so you can find your computer in the ''DHCP Client'' drop-down menu, and click clone, to populate this number&lt;br /&gt;
*Click ''Apply''&lt;br /&gt;
&lt;br /&gt;
Now your computer will always receive the same [[IP address]].&lt;br /&gt;
&lt;br /&gt;
Now click on the ''Advanced'' tab, and there are two areas that need to be updated:&lt;br /&gt;
&lt;br /&gt;
'''Virtual Server'''&lt;br /&gt;
*Click the ''Virtual Server'' button. This page forwards external requests to a specific internal [[IP address]] in your network&lt;br /&gt;
*Click ''Enabled''&lt;br /&gt;
*Enter a name in the ''Name'' entry box, eg ''aMule TCP''&lt;br /&gt;
*Enter your static [[IP address]] in the ''Private IP'' box&lt;br /&gt;
*Select [http://www.ietf.org/rfc/rfc793.txt TCP] in ''Protocol type''&lt;br /&gt;
*Private [[port]] is the [[port]] that the router will forward the requests to on your computer. This can be anything, a good value is the default [[aMule]] [http://www.ietf.org/rfc/rfc793.txt TCP] [[port]], ''4662''&lt;br /&gt;
*Public [[port]] is the [[port]] that the router will receive requests on. Again, a good value is the [[aMule]] [http://www.ietf.org/rfc/rfc793.txt TCP] [[port]] of ''4662''&lt;br /&gt;
*Schedule is the times at which the port is open. Select ''Always'', or whatever times you wish&lt;br /&gt;
*Click ''Apply''&lt;br /&gt;
&lt;br /&gt;
'''Applications'''&lt;br /&gt;
*Click the ''Applications'' button. This page allows you to enter a range of [[port]]s to open for application usage&lt;br /&gt;
*Click ''Enabled''&lt;br /&gt;
*Enter the [http://www.ietf.org/rfc/rfc793.txt TCP] [[port]] in the first ''Trigger Port'' box, a good value being ''4662''&lt;br /&gt;
*Select ''Trigger Type'' as [http://www.ietf.org/rfc/rfc793.txt TCP]&lt;br /&gt;
*In ''Public Port'', enter the range from your [[aMule]] [http://www.ietf.org/rfc/rfc793.txt TCP] [[port]] to your [[aMule]] [http://www.faqs.org/rfcs/rfc768.html UDP] [[port]], usually ''4662''-''4672''&lt;br /&gt;
*Select ''UDP'' as the ''Public Type''&lt;br /&gt;
*Click ''Apply''&lt;br /&gt;
&lt;br /&gt;
You should now be all set, assuming that your computer firewall is setup to allow access on the selected [[port]]s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Alternate Configuration (ie instead of Applications) for D-Link '''&lt;br /&gt;
*Go back to virtual server and set 2 other virtual servers for the UDP ports&lt;br /&gt;
(It works only that way on my D-Link DI-804HV)&lt;br /&gt;
&lt;br /&gt;
*Virtual server aMuleUDP4665 - select your IP address and UDP and 4665 (port)&lt;br /&gt;
&lt;br /&gt;
*Virtual Server aMuleUDP4672 - select your ip address and UDP and 4672 (port)&lt;br /&gt;
&lt;br /&gt;
(disable the above amule applications if you did try and it do not work).&lt;br /&gt;
Then you shoudl have all arrows green ( and 3 virtual servers running for amule, 1 for TCP and 2 for UDP).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Netgear router ===&lt;br /&gt;
&lt;br /&gt;
First, go to your router control page, locate at [http://routerlogin.net/start.htm http://routerlogin.net/start.htm]. Then, on the left side of the screen, under the Advanced group of options, click &amp;quot;Port Forwarding/Port Triggering.&amp;quot; Click the &amp;quot;Add Custom Service&amp;quot; button, name it aMule1 (or whatever), set it as a TCP-only forwarding, with the starting and ending port being 4662 and the server IP address being whatever local address you're using (probably 192.168.1.2, if you're the only one connected to the router, but check), and click Apply. Repeat the process with aMule2 and aMule 3, using UDP-only ports for both and starting and ending ports of 4665 and 4672, respectively. (That is, the same starting and ending port within aMule2 and aMule3, but aMule2=4665 and aMule3=4672.) Make sure that iptables is properly set up on the machine which will run aMule (as above), and you're done.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TRENDnet router TW100  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First connect to your router: usually open a browser and type directly the router IP address: such as 192.168.0.1 (or 192.168.1.1), then the login box should appear ( depending on your router config) - if so answer the message log message with ‘admin’ as username and nothing as password (or you password if &lt;br /&gt;
you did set one). &lt;br /&gt;
&lt;br /&gt;
Then On the left side Menu, Select Internet and thenselect Advanced Setup (Advanced Internet). Then click/select, [Special Applications]: &lt;br /&gt;
&lt;br /&gt;
Add or replace  2 lines in the Special Applications list: &lt;br /&gt;
(Try not to remove something which you are using and which is already enabled) &lt;br /&gt;
(just add the new application for amule at the end in position Nr. 5 or Nr.6 in the list  for example): &lt;br /&gt;
&lt;br /&gt;
Create the entries as follows: &lt;br /&gt;
&lt;br /&gt;
amuleU4665 TCP-4665-4665  UDP-4665-4665  &lt;br /&gt;
&lt;br /&gt;
amuleU4672 TCP-4672-4672 UDP-4672-4672 ) &lt;br /&gt;
&lt;br /&gt;
(In my Application List the “amuleU4665” and “amule4672” are in Nr1 and Nr2 but it can be in any position in  your list). &lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Click on the small box [ ] on the left for both lines of your amuleUxxxx applications  to enable the special  applications to work! &lt;br /&gt;
&lt;br /&gt;
Then click on [Save], then click on [Close] &lt;br /&gt;
&lt;br /&gt;
Then click on [Save] again on the page – Advanced Internet . &lt;br /&gt;
&lt;br /&gt;
The next and last step is to click on the “Virtual Servers” menu on the left side, then the “Virtual Server  page will appear”: &lt;br /&gt;
&lt;br /&gt;
Add a new virtual server named like: AmuleTCP &lt;br /&gt;
&lt;br /&gt;
Select your computer* IP Address: in the DropDown Menu &lt;br /&gt;
&lt;br /&gt;
Select: TCP &lt;br /&gt;
&lt;br /&gt;
Write the 4662 Port and 4662 port (both fields the same port)&lt;br /&gt;
&lt;br /&gt;
Then [Add as new server] &lt;br /&gt;
&lt;br /&gt;
Then you are set to have High ID and Kad ON. Finished with the Low-ID, yellow arrows and Kad Firewalled. Now all you arrows should be green and you should have access to Kad and ed2K.  &lt;br /&gt;
 &lt;br /&gt;
''Important Note:''&lt;br /&gt;
*Be careful in the case that your computer is using the DHCP protocol (ie to obtain IP  address from the router). &lt;br /&gt;
The router might not give all the time the same IP address to your computer. &lt;br /&gt;
(normally it does so... but sometimes it can change). &lt;br /&gt;
You have two solutions if you see that you have a low- ID then: (2 solutions)&lt;br /&gt;
&lt;br /&gt;
1) log back to the router go back to the virtual server, select the amuleTCP virtual server that you created and just reselect you computer in the “PC(server)” entry box. And select [Update this server] and log out. It should do the job. &lt;br /&gt;
&lt;br /&gt;
Or an alternative solution : &lt;br /&gt;
&lt;br /&gt;
2)You can Set-up your computer with a fixed IP address if you want. If this problem of low-ID happens too often because you DHCP router gives different IP address to your computer, then you can put your  computer in static mode or DHCP reserved address. But you need to know your DNS server(s) before to do that – so check with your ISP which are your DNS servers. Then configure your computer to run with a fixed DHCP/ Static address / Manual Address (name depends what OS you are running). For that go to your network settings and put the P address you want, and the  gateway (you router IP address) and the DNS from your ISP – All this to be done ion the Other / PC Database (Admin) page of the router.&lt;br /&gt;
&lt;br /&gt;
'''In the case that your TRENDNet router crashes or stop forwarding any''' traffic from/to your aMule computer . (it happened to me), then :&lt;br /&gt;
 &lt;br /&gt;
- reduce the Connection limit (in Preferences-&amp;gt;Connection) to 100 (or to 50)&lt;br /&gt;
- reduce the &amp;quot;Max new connections / 5 secs&amp;quot; (in Preferences-&amp;gt;Core Tweaks) to 10 (or to 5) &lt;br /&gt;
Stop amule and restart aMule so that configuration will be validated.&lt;br /&gt;
&lt;br /&gt;
Make some tests to find your best config. It should give more stability to your router and avoid your router to crash ( ie you would have to reset and/or turn it on and off). This might be true for other routers as well(?). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''(TRENDnet Firewall from RFV - --[[User:Robert364|Robert364]] 17:05, 5 Nov 2006 (CET))&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OpenBSD  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The firewall that comes with OpenBSD is called packetfilter (pf). To get aMule running, you must add the following rules to your pf.conf (/etc/pf.conf):&lt;br /&gt;
&lt;br /&gt;
''# aMule TCP and UDP''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on EXTIF proto tcp from any to any port 4662 -&amp;gt; IPADDR''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on EXTIF proto udp from any to any port 4672 -&amp;gt; IPADDR''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on EXTIF proto udp from any to any port 4665 -&amp;gt; IPADDR''&lt;br /&gt;
&lt;br /&gt;
EXTIF is the name of your network-device that is connected with the internet.&amp;lt;br&amp;gt;&lt;br /&gt;
IPADDR is the internal ip-address of the computer in your network that runns aMule.&lt;br /&gt;
&lt;br /&gt;
Example (device is '''/dev/xl0''', ip of computer running aMule is '''192.168.1.10'''):&lt;br /&gt;
&lt;br /&gt;
''# aMule TCP and UDP''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on '''xl0''' proto tcp from any to any port 4662 -&amp;gt; '''192.168.1.10''' ''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on '''xl0''' proto udp from any to any port 4672 -&amp;gt; '''192.168.1.10''' ''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on '''xl0''' proto udp from any to any port 4665 -&amp;gt; '''192.168.1.10''' ''&lt;br /&gt;
&lt;br /&gt;
Of course, the computer running aMule must also have access to the internet so add the following rules too:&lt;br /&gt;
&lt;br /&gt;
''nat on EXTIF from IPADDR to any -&amp;gt; (EXTIF)''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EXTIF is the name of your network-device that is connected with the internet.&amp;lt;br&amp;gt;&lt;br /&gt;
IPADDR is the internal ip-address of the computer in your network that runns aMule.&lt;br /&gt;
&lt;br /&gt;
Example (like above):&lt;br /&gt;
&lt;br /&gt;
''nat on '''xl0''' from '''192.168.1.10''' to any -&amp;gt; ('''xl0''')''&lt;br /&gt;
&lt;br /&gt;
Up to now there is no way (I could think of), to give KAD a better connection than &amp;quot;firewalled&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Firewall</id>
		<title>Firewall</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Firewall"/>
				<updated>2006-12-19T18:53:34Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: + uPnP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[Firewall-es|Español]] | [[Firewall-de|Deutsche]] &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Firewalls ==&lt;br /&gt;
&lt;br /&gt;
By default, firewalls and routers block incoming ports. To achieve the best results with aMule, you need to configure your firewall or router to open certain ports which aMule uses.&lt;br /&gt;
&lt;br /&gt;
:'''uPnP''' As of mid-December 2006, aMule (CVS) has [[Universal Plug and Play]] (uPnP) capabilities which you can use to automatically configure the ports on your router, provided your router supports uPnP. This functionality is still being tested and should appear soon in an official release. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SuSE ===&lt;br /&gt;
&lt;br /&gt;
'''[http://www.suse.com SuSE Linux]''' users try [[Firewall_SuSE|this HowTo]].&lt;br /&gt;
&lt;br /&gt;
=== RedHat / Fedora Core ===&lt;br /&gt;
&lt;br /&gt;
'''[http://fedora.redhat.com RedHat / Fedora Core]''' users try [[Firewall_Fedora|this HowTo]].&lt;br /&gt;
&lt;br /&gt;
=== IPTables Configuration ===&lt;br /&gt;
&lt;br /&gt;
If you set [http://www.ietf.org/rfc/rfc793.txt TCP] port in [[aMule]] to XX and [http://www.faqs.org/rfcs/rfc768.html UDP] port to YY then you have to set your firewall like this:&lt;br /&gt;
&lt;br /&gt;
''iptables -A INPUT -p tcp  --dport '''XX''' -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables  -A INPUT -p udp  --dport '''XX+3''' -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -A INPUT  -p udp  --dport '''YY''' -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are building your iptables-rules from scratch, you also need to allow ''ESTABLISHED'' and ''RELATED'' traffic to come through your firewall: &lt;br /&gt;
&lt;br /&gt;
''iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT''&lt;br /&gt;
&lt;br /&gt;
And you must enable traffic to leave your machine aswell, by either allowing all outgoing traffic: &lt;br /&gt;
&lt;br /&gt;
''iptables -P OUTPUT ACCEPT''&lt;br /&gt;
&lt;br /&gt;
or specifying special rules.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' for [http://www.mandrake.com Mandrake] 10.0 Official and [http://www.iptables.org iptables] you may have to change the multi-port entry to ''iptables  -A INPUT -p udp  --dport '''XX:ZZ''' -j ACCEPT'' where ''XX'' is the same [http://www.ietf.org/rfc/rfc793.txt TCP] port number used in first line and ''ZZ'' is that number plus 3 (eg: ''4662:4665'')&lt;br /&gt;
&lt;br /&gt;
If you want to setup [[aMule]] behind a NAT gateway, you should add these lines to your [http://www.netfilter.org iptables] configuration script, on the gateway :&lt;br /&gt;
&lt;br /&gt;
''EXTIF'' is your external interface&lt;br /&gt;
&lt;br /&gt;
''EMULEPORT='''4662'''''&amp;lt;br&amp;gt;&lt;br /&gt;
''EMULEUDP='''4672'''''&amp;lt;br&amp;gt;&lt;br /&gt;
''EMULEUDP2=`expr $EMULEPORT + 3`''&amp;lt;br&amp;gt;&lt;br /&gt;
''EMULEHOST='''10.0.0.2'''''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -t nat -A PREROUTING -i $EXTIF -p tcp --destination-port $EMULEPORT -j DNAT --to-destination $EMULEHOST:$EMULEPORT''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -t nat -A PREROUTING -i $EXTIF -p udp --destination-port $EMULEUDP -j DNAT --to-destination $EMULEHOST:$EMULEUDP''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -t nat -A PREROUTING -i $EXTIF -p udp --destination-port $EMULEUDP2 -j DNAT --to-destination $EMULEHOST:$EMULEUDP2''&lt;br /&gt;
&lt;br /&gt;
You also should make sure that your FORWARD-string is set up correctly. Usually, you will have an entry like this:&lt;br /&gt;
&lt;br /&gt;
''iptables -A FORWARD -i $EXTIF -o $INTIF -d $EMULEHOST -m state --state ESTABLISHED,RELATED -j ACCEPT''&lt;br /&gt;
&lt;br /&gt;
where ''INTIF'' is your internal interface and ''EMULEHOST'' is the host running the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k]] [[server]] on your internal network.&lt;br /&gt;
&lt;br /&gt;
This will prevent new connections. So, you should allow all forwarding for [[aMule]]-related ports:&lt;br /&gt;
&lt;br /&gt;
''iptables -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport $EMULEPORT -d $EMULEHOST -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -A FORWARD -i $EXTIF -o $INTIF -p udp --dport $EMULEUDP -d $EMULEHOST -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
''iptables -A FORWARD -i $EXTIF -o $INTIF -p udp --dport $EMULEUDP2 -d $EMULEHOST -j ACCEPT''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once everything is set, you can check [http://www.amule.org/testport.php here] if your ports are now open.&lt;br /&gt;
&lt;br /&gt;
== Routers ==&lt;br /&gt;
&lt;br /&gt;
Here is a list of routers and how to set them up to forward their ports to [[aMule]].&lt;br /&gt;
&lt;br /&gt;
In the descriptions below, examples are using the default ports (that is, ''4662'' for the [[Standard client TCP port]], ''4672'' for the [[Extended client UDP port]] and ''4665'' for the [[Extended server requests UDP port]].&lt;br /&gt;
&lt;br /&gt;
=== Linksys WRT54GSV4 ===&lt;br /&gt;
&lt;br /&gt;
#Open your web browser, ''http://192.168.1.1'' and log into it&lt;br /&gt;
#Go under ''Gaming applications''&lt;br /&gt;
#Now forward the ports to your computer:&lt;br /&gt;
##[[Standard client TCP port]]&lt;br /&gt;
###Change both ''Ports start'' and ''End'' to ''4662''&lt;br /&gt;
###In the next field set ''TCP''&lt;br /&gt;
###In the field, the last 3 digits of your LAN [[IP]]&lt;br /&gt;
##[[Extended client UDP port]]&lt;br /&gt;
###Change both ''Ports start'' and ''End'' to ''4672''&lt;br /&gt;
###In the next field set ''UDP''&lt;br /&gt;
###In the field, the last 3 digits of your LAN [[IP]]&lt;br /&gt;
##[[Extended server requests UDP port]]&lt;br /&gt;
###Change both ''Ports start'' and ''End'' to ''4665''&lt;br /&gt;
###In the next field set ''UDP''&lt;br /&gt;
###In the field, the last 3 digits of your LAN [[IP]]&lt;br /&gt;
#Now check ''Enable''&lt;br /&gt;
#And click ''Save settings''&lt;br /&gt;
#Then restart aMule :)&lt;br /&gt;
&lt;br /&gt;
''--by '''Diablo69'''''&lt;br /&gt;
&lt;br /&gt;
=== [http://www.linksys.com Linksys] Router configuration ===&lt;br /&gt;
&lt;br /&gt;
This portion of the wiki applies only to stock versions of the [http://www.linksys.com Linksys] firmware. If you are using a [http://www.linksys.com Linksys] router running a variant of the [[GPL]] code, please follow the guides directly above as you are most likely using iptables.&lt;br /&gt;
&lt;br /&gt;
Log into your [http://www.linksys.com Linksys] router. After successfully logging in, click on the main menu link labeled '''Applications &amp;amp; Gaming''' after which you should see an additional submenu list for this section. Make sure you are under the correct submenu by clicking '''Port Range Forwarding'''.&lt;br /&gt;
&lt;br /&gt;
At this point, you should see a table with 6 columns. The columns are: ''Application'', ''Start to'', ''End'', ''Protocol'', ''IP Address'', ''Enable''.&lt;br /&gt;
&lt;br /&gt;
'''The Application column'''&amp;lt;br&amp;gt;&lt;br /&gt;
Friendly name for the service. Put anything you want here, [[aMule]] being suggested.&lt;br /&gt;
&lt;br /&gt;
'''The Start to -&amp;gt; End column'''&amp;lt;br&amp;gt;&lt;br /&gt;
Start and end ports. '''Start to''' should be ''4662'' but, in the end, this should reflect whatever port you have defined in [[aMule]] ''Preferences'' -&amp;gt; ''Connection'' -&amp;gt; ''Client TCP Port''. '''End''' should be ''4672'' but, in the end, this should reflect whatever port you have defined in [[aMule]] ''Preferences'' -&amp;gt; ''Connection'' -&amp;gt; ''eMule extended UDP Port''.&lt;br /&gt;
&lt;br /&gt;
I suggest using 2 separate entries for each port unless this is not possible.&lt;br /&gt;
&lt;br /&gt;
'''The Protocol column'''&amp;lt;br&amp;gt;&lt;br /&gt;
Protocol to listen for. If you use one line to open your [[aMule]] ports, set this option to '''Both'''. If you use a separate entry line for each, select option '''TCP''' for [[FAQ_ed2k#What_does_each_port_do?|Client TCP Port]] and option '''UDP''' for [[eMule]] [[FAQ_ed2k#What_does_each_port_do?|extended UDP Port]].&lt;br /&gt;
&lt;br /&gt;
'''The IP Address column'''&amp;lt;br&amp;gt;&lt;br /&gt;
Internal [[IP|IP address]] to forward requests to. This is typically the internal (private) [[IP|IP address]] of the computer that will use [[aMule]].&lt;br /&gt;
&lt;br /&gt;
'''The Enable column'''&amp;lt;br&amp;gt;&lt;br /&gt;
Enable rule. You'll need to check this in order to enable your [[aMule]] rules.&lt;br /&gt;
&lt;br /&gt;
After adding your rule, make sure you save your settings. You can verify whether your rules work by [http://www.amule.org/testport.php testing your ports].&lt;br /&gt;
&lt;br /&gt;
=== [http://www.dlink.com DLink] Router configuration ===&lt;br /&gt;
&lt;br /&gt;
Log in to your [http://www.dlink.com DLink] router.  There are three steps to take to enable your [[aMule]] [[port]]s.&lt;br /&gt;
&lt;br /&gt;
'''IP Address setup'''&lt;br /&gt;
&lt;br /&gt;
In the Home tab, click the DHCP button.  This page displays the current [[IP address]]es assigned by the router, both static and dynamic. Look for the name or MAC address of the computer you'll be running [[aMule]] on. If your computer is receiving dynamically assigned [[IP address]]es, you will have to change your settings every so often if your [[IP address]] changes. To avoid this, use the Static DHCP section, and perform the following steps:&lt;br /&gt;
&lt;br /&gt;
*'''Name''': Type in the name of your computer here, could be anything&lt;br /&gt;
*'''IP''': The [[IP address]] you want the router to always assign to your computer&lt;br /&gt;
*'''MAC Address''': The MAC address of your computer. You should be already connected to the router, so you can find your computer in the ''DHCP Client'' drop-down menu, and click clone, to populate this number&lt;br /&gt;
*Click ''Apply''&lt;br /&gt;
&lt;br /&gt;
Now your computer will always receive the same [[IP address]].&lt;br /&gt;
&lt;br /&gt;
Now click on the ''Advanced'' tab, and there are two areas that need to be updated:&lt;br /&gt;
&lt;br /&gt;
'''Virtual Server'''&lt;br /&gt;
*Click the ''Virtual Server'' button. This page forwards external requests to a specific internal [[IP address]] in your network&lt;br /&gt;
*Click ''Enabled''&lt;br /&gt;
*Enter a name in the ''Name'' entry box, eg ''aMule TCP''&lt;br /&gt;
*Enter your static [[IP address]] in the ''Private IP'' box&lt;br /&gt;
*Select [http://www.ietf.org/rfc/rfc793.txt TCP] in ''Protocol type''&lt;br /&gt;
*Private [[port]] is the [[port]] that the router will forward the requests to on your computer. This can be anything, a good value is the default [[aMule]] [http://www.ietf.org/rfc/rfc793.txt TCP] [[port]], ''4662''&lt;br /&gt;
*Public [[port]] is the [[port]] that the router will receive requests on. Again, a good value is the [[aMule]] [http://www.ietf.org/rfc/rfc793.txt TCP] [[port]] of ''4662''&lt;br /&gt;
*Schedule is the times at which the port is open. Select ''Always'', or whatever times you wish&lt;br /&gt;
*Click ''Apply''&lt;br /&gt;
&lt;br /&gt;
'''Applications'''&lt;br /&gt;
*Click the ''Applications'' button. This page allows you to enter a range of [[port]]s to open for application usage&lt;br /&gt;
*Click ''Enabled''&lt;br /&gt;
*Enter the [http://www.ietf.org/rfc/rfc793.txt TCP] [[port]] in the first ''Trigger Port'' box, a good value being ''4662''&lt;br /&gt;
*Select ''Trigger Type'' as [http://www.ietf.org/rfc/rfc793.txt TCP]&lt;br /&gt;
*In ''Public Port'', enter the range from your [[aMule]] [http://www.ietf.org/rfc/rfc793.txt TCP] [[port]] to your [[aMule]] [http://www.faqs.org/rfcs/rfc768.html UDP] [[port]], usually ''4662''-''4672''&lt;br /&gt;
*Select ''UDP'' as the ''Public Type''&lt;br /&gt;
*Click ''Apply''&lt;br /&gt;
&lt;br /&gt;
You should now be all set, assuming that your computer firewall is setup to allow access on the selected [[port]]s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Alternate Configuration (ie instead of Applications) for D-Link '''&lt;br /&gt;
*Go back to virtual server and set 2 other virtual servers for the UDP ports&lt;br /&gt;
(It works only that way on my D-Link DI-804HV)&lt;br /&gt;
&lt;br /&gt;
*Virtual server aMuleUDP4665 - select your IP address and UDP and 4665 (port)&lt;br /&gt;
&lt;br /&gt;
*Virtual Server aMuleUDP4672 - select your ip address and UDP and 4672 (port)&lt;br /&gt;
&lt;br /&gt;
(disable the above amule applications if you did try and it do not work).&lt;br /&gt;
Then you shoudl have all arrows green ( and 3 virtual servers running for amule, 1 for TCP and 2 for UDP).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Netgear router ===&lt;br /&gt;
&lt;br /&gt;
First, go to your router control page, locate at [http://routerlogin.net/start.htm http://routerlogin.net/start.htm]. Then, on the left side of the screen, under the Advanced group of options, click &amp;quot;Port Forwarding/Port Triggering.&amp;quot; Click the &amp;quot;Add Custom Service&amp;quot; button, name it aMule1 (or whatever), set it as a TCP-only forwarding, with the starting and ending port being 4662 and the server IP address being whatever local address you're using (probably 192.168.1.2, if you're the only one connected to the router, but check), and click Apply. Repeat the process with aMule2 and aMule 3, using UDP-only ports for both and starting and ending ports of 4665 and 4672, respectively. (That is, the same starting and ending port within aMule2 and aMule3, but aMule2=4665 and aMule3=4672.) Make sure that iptables is properly set up on the machine which will run aMule (as above), and you're done.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TRENDnet router TW100  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First connect to your router: usually open a browser and type directly the router IP address: such as 192.168.0.1 (or 192.168.1.1), then the login box should appear ( depending on your router config) - if so answer the message log message with ‘admin’ as username and nothing as password (or you password if &lt;br /&gt;
you did set one). &lt;br /&gt;
&lt;br /&gt;
Then On the left side Menu, Select Internet and thenselect Advanced Setup (Advanced Internet). Then click/select, [Special Applications]: &lt;br /&gt;
&lt;br /&gt;
Add or replace  2 lines in the Special Applications list: &lt;br /&gt;
(Try not to remove something which you are using and which is already enabled) &lt;br /&gt;
(just add the new application for amule at the end in position Nr. 5 or Nr.6 in the list  for example): &lt;br /&gt;
&lt;br /&gt;
Create the entries as follows: &lt;br /&gt;
&lt;br /&gt;
amuleU4665 TCP-4665-4665  UDP-4665-4665  &lt;br /&gt;
&lt;br /&gt;
amuleU4672 TCP-4672-4672 UDP-4672-4672 ) &lt;br /&gt;
&lt;br /&gt;
(In my Application List the “amuleU4665” and “amule4672” are in Nr1 and Nr2 but it can be in any position in  your list). &lt;br /&gt;
&lt;br /&gt;
-&amp;gt;Click on the small box [ ] on the left for both lines of your amuleUxxxx applications  to enable the special  applications to work! &lt;br /&gt;
&lt;br /&gt;
Then click on [Save], then click on [Close] &lt;br /&gt;
&lt;br /&gt;
Then click on [Save] again on the page – Advanced Internet . &lt;br /&gt;
&lt;br /&gt;
The next and last step is to click on the “Virtual Servers” menu on the left side, then the “Virtual Server  page will appear”: &lt;br /&gt;
&lt;br /&gt;
Add a new virtual server named like: AmuleTCP &lt;br /&gt;
&lt;br /&gt;
Select your computer* IP Address: in the DropDown Menu &lt;br /&gt;
&lt;br /&gt;
Select: TCP &lt;br /&gt;
&lt;br /&gt;
Write the 4662 Port and 4662 port (both fields the same port)&lt;br /&gt;
&lt;br /&gt;
Then [Add as new server] &lt;br /&gt;
&lt;br /&gt;
Then you are set to have High ID and Kad ON. Finished with the Low-ID, yellow arrows and Kad Firewalled. Now all you arrows should be green and you should have access to Kad and ed2K.  &lt;br /&gt;
 &lt;br /&gt;
''Important Note:''&lt;br /&gt;
*Be careful in the case that your computer is using the DHCP protocol (ie to obtain IP  address from the router). &lt;br /&gt;
The router might not give all the time the same IP address to your computer. &lt;br /&gt;
(normally it does so... but sometimes it can change). &lt;br /&gt;
You have two solutions if you see that you have a low- ID then: (2 solutions)&lt;br /&gt;
&lt;br /&gt;
1) log back to the router go back to the virtual server, select the amuleTCP virtual server that you created and just reselect you computer in the “PC(server)” entry box. And select [Update this server] and log out. It should do the job. &lt;br /&gt;
&lt;br /&gt;
Or an alternative solution : &lt;br /&gt;
&lt;br /&gt;
2)You can Set-up your computer with a fixed IP address if you want. If this problem of low-ID happens too often because you DHCP router gives different IP address to your computer, then you can put your  computer in static mode or DHCP reserved address. But you need to know your DNS server(s) before to do that – so check with your ISP which are your DNS servers. Then configure your computer to run with a fixed DHCP/ Static address / Manual Address (name depends what OS you are running). For that go to your network settings and put the P address you want, and the  gateway (you router IP address) and the DNS from your ISP – All this to be done ion the Other / PC Database (Admin) page of the router.&lt;br /&gt;
&lt;br /&gt;
'''In the case that your TRENDNet router crashes or stop forwarding any''' traffic from/to your aMule computer . (it happened to me), then :&lt;br /&gt;
 &lt;br /&gt;
- reduce the Connection limit (in Preferences-&amp;gt;Connection) to 100 (or to 50)&lt;br /&gt;
- reduce the &amp;quot;Max new connections / 5 secs&amp;quot; (in Preferences-&amp;gt;Core Tweaks) to 10 (or to 5) &lt;br /&gt;
Stop amule and restart aMule so that configuration will be validated.&lt;br /&gt;
&lt;br /&gt;
Make some tests to find your best config. It should give more stability to your router and avoid your router to crash ( ie you would have to reset and/or turn it on and off). This might be true for other routers as well(?). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''(TRENDnet Firewall from RFV - --[[User:Robert364|Robert364]] 17:05, 5 Nov 2006 (CET))&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OpenBSD  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The firewall that comes with OpenBSD is called packetfilter (pf). To get aMule running, you must add the following rules to your pf.conf (/etc/pf.conf):&lt;br /&gt;
&lt;br /&gt;
''# aMule TCP and UDP''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on EXTIF proto tcp from any to any port 4662 -&amp;gt; IPADDR''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on EXTIF proto udp from any to any port 4672 -&amp;gt; IPADDR''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on EXTIF proto udp from any to any port 4665 -&amp;gt; IPADDR''&lt;br /&gt;
&lt;br /&gt;
EXTIF is the name of your network-device that is connected with the internet.&amp;lt;br&amp;gt;&lt;br /&gt;
IPADDR is the internal ip-address of the computer in your network that runns aMule.&lt;br /&gt;
&lt;br /&gt;
Example (device is '''/dev/xl0''', ip of computer running aMule is '''192.168.1.10'''):&lt;br /&gt;
&lt;br /&gt;
''# aMule TCP and UDP''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on '''xl0''' proto tcp from any to any port 4662 -&amp;gt; '''192.168.1.10''' ''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on '''xl0''' proto udp from any to any port 4672 -&amp;gt; '''192.168.1.10''' ''&amp;lt;br&amp;gt;&lt;br /&gt;
''rdr on '''xl0''' proto udp from any to any port 4665 -&amp;gt; '''192.168.1.10''' ''&lt;br /&gt;
&lt;br /&gt;
Of course, the computer running aMule must also have access to the internet so add the following rules too:&lt;br /&gt;
&lt;br /&gt;
''nat on EXTIF from IPADDR to any -&amp;gt; (EXTIF)''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EXTIF is the name of your network-device that is connected with the internet.&amp;lt;br&amp;gt;&lt;br /&gt;
IPADDR is the internal ip-address of the computer in your network that runns aMule.&lt;br /&gt;
&lt;br /&gt;
Example (like above):&lt;br /&gt;
&lt;br /&gt;
''nat on '''xl0''' from '''192.168.1.10''' to any -&amp;gt; ('''xl0''')''&lt;br /&gt;
&lt;br /&gt;
Up to now there is no way (I could think of), to give KAD a better connection than &amp;quot;firewalled&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMuleCMD</id>
		<title>AMuleCMD</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMuleCMD"/>
				<updated>2006-12-19T18:45:12Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: =Configuring aMuleCMD= sp.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''AMuleCMD''' is a command-line utility that allows you to control [[aMule]] or [[aMuled]] either locally or remotely. The character-oriented interface offers a subset of aMule functionality, including searching for files, initializing downloads, and viewing your download queue. It also displays status information and allows you to change certain options.&lt;br /&gt;
&lt;br /&gt;
To run aMuleCMD, type &amp;quot;amulecmd&amp;quot; on the command line. The program will start up and display the &amp;quot;aMulecmd$&amp;quot; prompt. The following commands are available:&lt;br /&gt;
&lt;br /&gt;
*Available&lt;br /&gt;
*Add&lt;br /&gt;
*Cancel&lt;br /&gt;
*Connect&lt;br /&gt;
*Disconnect&lt;br /&gt;
*Exit&lt;br /&gt;
*Get&lt;br /&gt;
*Help&lt;br /&gt;
*Pause&lt;br /&gt;
*Quit&lt;br /&gt;
*Reload&lt;br /&gt;
*Resume&lt;br /&gt;
*Set&lt;br /&gt;
*Show&lt;br /&gt;
*Shutdown&lt;br /&gt;
*Statistics&lt;br /&gt;
*Status&lt;br /&gt;
&lt;br /&gt;
For full instructions on how to use each command type 'help &amp;lt;command&amp;gt;' from within AmuleCMD.&lt;br /&gt;
&lt;br /&gt;
In addition to running these commands from within aMuleCMD, you can also run them on the shell command line with the &amp;quot;-c&amp;quot; flag, like this:&lt;br /&gt;
&lt;br /&gt;
:$amulecmd -c [command]&lt;br /&gt;
&lt;br /&gt;
This enables you to call aMuleCMD from other scripts or from cron. See&lt;br /&gt;
[[FAQ amulecmd]] for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
== Installing aMuleCMD ==&lt;br /&gt;
&lt;br /&gt;
Many of not most distros have an aMule package in their repositories. If you install aMule by means of RPM, DEB, or other package management system, aMuleCMD will be included in the installation.&lt;br /&gt;
&lt;br /&gt;
This is the easiest and preferred method of installing aMule and aMuleCMD.&lt;br /&gt;
&lt;br /&gt;
== Compiling aMuleCMD ==&lt;br /&gt;
&lt;br /&gt;
If you have not installed aMule by means of a package, you will need to compile it from source.&lt;br /&gt;
&lt;br /&gt;
aMuleCMD is not compiled separately; it is compiled at the same time you compile aMule by using the --enable-amulecmd flag when you run configure. (See the Main Page for links to pages on compiling aMule for various operating systems). &lt;br /&gt;
&lt;br /&gt;
== Configuring aMuleCMD ==&lt;br /&gt;
&lt;br /&gt;
To use aMuleCMD, you first need to set several opions in aMule's Preferences notebook. On the &amp;quot;Remote Controls&amp;quot; page, you will need to:&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Accept External Connections&amp;quot;.&lt;br /&gt;
* Enter a password for External Connections.&lt;br /&gt;
&lt;br /&gt;
You can also modifiy the default aMuleCMD port (4711) and External Connections port (4712) here as well, but if you do so, you will need to restart aMule for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
(If you are running aMuled and don't want to use aMule to configure aMuleCMD, you can also edit &amp;quot;[ExternalConnect]&amp;quot; section of [[amule.conf file |amule.conf]]; see the instructions on the [[AMuleWeb]] page.)&lt;br /&gt;
&lt;br /&gt;
Next, you need to do is generate [[remote.conf]], the file where aMuleCMD stores its configuration information. (It can be found in the .aMule directory.) Among other things, this file contains the port number which aMule uses for External Connections as well as the password needed to access aMule.  &lt;br /&gt;
&lt;br /&gt;
To create a ''remote.conf'' file, enter at the command line:&lt;br /&gt;
&lt;br /&gt;
:amulecmd --create-config-from=/home/username/.aMule/amule.conf&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;username&amp;quot; is your user name. &lt;br /&gt;
&lt;br /&gt;
aMuleCMD will read the necessary configuration information from amule.conf and generate a ''remote.conf'' file.&lt;br /&gt;
&lt;br /&gt;
To do this on a remote system, enter this:&lt;br /&gt;
&lt;br /&gt;
:amulecmd -h hostname -p ECport -P ECpassword -w&lt;br /&gt;
&lt;br /&gt;
'''Tip''' You can also simply copy ''remote.conf'' from the host system to the the remote computer, changing the hostname line accordingly.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMuleCMD</id>
		<title>AMuleCMD</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMuleCMD"/>
				<updated>2006-12-19T18:43:52Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: reorg, expand&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''AMuleCMD''' is a command-line utility that allows you to control [[aMule]] or [[aMuled]] either locally or remotely. The character-oriented interface offers a subset of aMule functionality, including searching for files, initializing downloads, and viewing your download queue. It also displays status information and allows you to change certain options.&lt;br /&gt;
&lt;br /&gt;
To run aMuleCMD, type &amp;quot;amulecmd&amp;quot; on the command line. The program will start up and display the &amp;quot;aMulecmd$&amp;quot; prompt. The following commands are available:&lt;br /&gt;
&lt;br /&gt;
*Available&lt;br /&gt;
*Add&lt;br /&gt;
*Cancel&lt;br /&gt;
*Connect&lt;br /&gt;
*Disconnect&lt;br /&gt;
*Exit&lt;br /&gt;
*Get&lt;br /&gt;
*Help&lt;br /&gt;
*Pause&lt;br /&gt;
*Quit&lt;br /&gt;
*Reload&lt;br /&gt;
*Resume&lt;br /&gt;
*Set&lt;br /&gt;
*Show&lt;br /&gt;
*Shutdown&lt;br /&gt;
*Statistics&lt;br /&gt;
*Status&lt;br /&gt;
&lt;br /&gt;
For full instructions on how to use each command type 'help &amp;lt;command&amp;gt;' from within AmuleCMD.&lt;br /&gt;
&lt;br /&gt;
In addition to running these commands from within aMuleCMD, you can also run them on the shell command line with the &amp;quot;-c&amp;quot; flag, like this:&lt;br /&gt;
&lt;br /&gt;
:$amulecmd -c [command]&lt;br /&gt;
&lt;br /&gt;
This enables you to call aMuleCMD from other scripts or from cron. See&lt;br /&gt;
[[FAQ amulecmd]] for more details on how to do this.&lt;br /&gt;
&lt;br /&gt;
== Installing aMuleCMD ==&lt;br /&gt;
&lt;br /&gt;
Many of not most distros have an aMule package in their repositories. If you install aMule by means of RPM, DEB, or other package management system, aMuleCMD will be included in the installation.&lt;br /&gt;
&lt;br /&gt;
This is the easiest and preferred method of installing aMule and aMuleCMD.&lt;br /&gt;
&lt;br /&gt;
== Compiling aMuleCMD ==&lt;br /&gt;
&lt;br /&gt;
If you have not installed aMule by means of a package, you will need to compile it from source.&lt;br /&gt;
&lt;br /&gt;
aMuleCMD is not compiled separately; it is compiled at the same time you compile aMule by using the --enable-amulecmd flag when you run configure. (See the Main Page for links to pages on compiling aMule for various operating systems). &lt;br /&gt;
&lt;br /&gt;
== Configuring aMuleCMD ==&lt;br /&gt;
&lt;br /&gt;
To use aMuleCMD, you first need to set several opions in aMule's Preferences notebook. On the &amp;quot;Remote Controls&amp;quot; page, you will need to:&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Accept External Connections&amp;quot;.&lt;br /&gt;
* Enter a password for External Connections.&lt;br /&gt;
&lt;br /&gt;
You can also modifiy the default aMuleCMD port (4711) and External Connections port (4712) here as well, but if you do so, you will need to restart aMule for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
(If you are running aMuled and don't want to use aMule to configure aMuleCMD, you can also edit &amp;quot;[ExternalConnect]&amp;quot; section of [[amule.conf file |amule.conf]]; see the instructions on the [[AMuleWeb]] page.)&lt;br /&gt;
&lt;br /&gt;
Next, you need to do is generate [[remote.conf]], the file where aMuleCMD stores its configuration information. (It can be found in the .aMule directory.) Among other things, this file contains the port number which aMule uses for External Connections as well as the password needed to access aMule.  &lt;br /&gt;
&lt;br /&gt;
To create a ''remote.conf'' file, enter at the command line:&lt;br /&gt;
&lt;br /&gt;
:amulecmd --create-config-from=/home/username/.aMule/amule.conf&lt;br /&gt;
&lt;br /&gt;
were &amp;quot;username&amp;quot; is your user name. &lt;br /&gt;
&lt;br /&gt;
aMuleCMD will read the necessary configuration information from amule.conf and generate a ''remote.conf'' file.&lt;br /&gt;
&lt;br /&gt;
To do this on a remote system, enter this:&lt;br /&gt;
&lt;br /&gt;
:amulecmd -h hostname -p ECport -P ECpassword -w&lt;br /&gt;
&lt;br /&gt;
'''Tip''' You can also simply copy ''remote.conf'' from the host system to the the remote computer, changing the hostname line accordingly.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMulecmd</id>
		<title>AMulecmd</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMulecmd"/>
				<updated>2006-12-19T18:13:30Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: #REDIRECT AMuleCMD&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[AMuleCMD]]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Events</id>
		<title>Events</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Events"/>
				<updated>2006-12-18T21:58:04Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: fmt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[events-de|German]] | [[events-nds|Low-Saxon]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Events''' are actions aMule can take upon when certain things happen. These actions are configured on the [[Usage_Preferences#Events|Events]] tab of the [[Usage_Preferences]] notebook or, if you are running amuled, in the [UserEvents] section of [[amule.conf]].&lt;br /&gt;
&lt;br /&gt;
There are two kinds of Events supported at the moment:&lt;br /&gt;
* Download completed&lt;br /&gt;
* New chat session&lt;br /&gt;
* Out of space&lt;br /&gt;
* Error on completion&lt;br /&gt;
&lt;br /&gt;
When one of these events is triggered, you can configure aMule to execute a&lt;br /&gt;
* core command&lt;br /&gt;
* GUI command&lt;br /&gt;
&lt;br /&gt;
A core command is a command that will be executed by a flavor of aMule that has a core (aMule daemon or aMule monolithic). A GUI command is a command that will be executed by a flavor of aMule that has GUI (aMule GUI or aMule monolithic). Notice that if you specify both, aMule monolithic will execute both.&lt;br /&gt;
&lt;br /&gt;
=== Download completed ===&lt;br /&gt;
&lt;br /&gt;
When aMule completes a download, a Download completed event is triggered. The following variables can be accessed:&lt;br /&gt;
* %NAME - the name of the downloaded file with full path&lt;br /&gt;
* %FILE - the name of the downloaded file without path&lt;br /&gt;
* %HASH - the ed2k hash of the downloaded file&lt;br /&gt;
* %SIZE - the size in bytes of the downloaded file&lt;br /&gt;
* %DLACTIVETIME - the total time the download was active&lt;br /&gt;
&lt;br /&gt;
=== New chat session ===&lt;br /&gt;
&lt;br /&gt;
When someone initiates a chat session with you, the New chat session event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %Sender - username of the person initiating the chat&lt;br /&gt;
&lt;br /&gt;
=== Out of space ===&lt;br /&gt;
&lt;br /&gt;
When aMule runs out of diskspace on the partition which it uses for its temporary files, the Out of space event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %PARTITION&lt;br /&gt;
&lt;br /&gt;
=== Error on completion ===&lt;br /&gt;
&lt;br /&gt;
When aMule is unable to move a file from the &amp;quot;temporary&amp;quot; directory to the &amp;quot;incoming&amp;quot; directory, an Error on completion event is triggered. This is typically caused by lack of diskspace on the partition where the incoming directory is located. When this happens, the following variable can be accessed:&lt;br /&gt;
* %FILE&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&lt;br /&gt;
Event commands can be either a single or compound shell command, or a shell script. In the Core command field, enter the command or script name followed by the optional parameters like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh %NAME %FILE %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the filename contains spaces, the variable names should be enclosed in quotes like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Your shell script can obtain the values in the parameters the customary way, ie, by evaluating $1, $2, $3, etc.&lt;br /&gt;
&lt;br /&gt;
You need to make sure your script is in your PATH or that you supply the full pathname.&lt;br /&gt;
&lt;br /&gt;
=== Errors ===&lt;br /&gt;
&lt;br /&gt;
If your script fails to execute for any reason, this will be logged in aMule's [[logfile]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
A simple command might look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;aMule error: %PARTITION is full.&amp;quot; | mail -s Warning mymail@domain.tld&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This inserts the variable %PARTITION in the text of a one-line email message and sends it to the email address specfied.&lt;br /&gt;
&lt;br /&gt;
For more elaborate purposes, you will will want to call an external script. &lt;br /&gt;
&lt;br /&gt;
Here the bash script by '''Ezeltje''' from [http://forum.amule.org/thread.php?threadid=11695 aMule-Forum] which will send you an email every time a download is completed. To use it, enter your email address where indicated and save it to a location in your PATH. Then add this line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to the Core command field of the Download completed section of the Events page. It will now be invoked everytime aMule finishes a download.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  #&lt;br /&gt;
  # doneDL.sh - sends an email upon completion of an aMule download&lt;br /&gt;
  # Used in conjuction with aMule's Event feature&lt;br /&gt;
  #&lt;br /&gt;
  # Call like this: doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
  #&lt;br /&gt;
  # Enter your email address here:&lt;br /&gt;
  eMail=&lt;br /&gt;
  #&lt;br /&gt;
  NameShort=$1&lt;br /&gt;
  NameLong=$2&lt;br /&gt;
  Hash=$3&lt;br /&gt;
  Size=$4&lt;br /&gt;
  DLtime=$5&lt;br /&gt;
  {&lt;br /&gt;
  echo aMule completed this download:&lt;br /&gt;
  echo ------------------------------&lt;br /&gt;
  echo&lt;br /&gt;
  echo File: &amp;quot;$NameLong&amp;quot;&lt;br /&gt;
  echo Hash: $Hash&lt;br /&gt;
  echo -n &amp;quot;Time: &amp;quot;&lt;br /&gt;
  date | awk '{print $4 &amp;quot; &amp;quot; $5}'&lt;br /&gt;
  echo -n Size: $Size bytes &lt;br /&gt;
  if [ $Size -gt 102400 ] ; then echo &amp;quot; (&amp;quot;$(($(($Size / 1024)) / 1024)) &amp;quot;Mb)&amp;quot; ; fi&lt;br /&gt;
  if [ ! -z &amp;quot;$DLtime&amp;quot; ] ; then echo &amp;quot;Active download time:&amp;quot; $DLtime ; fi&lt;br /&gt;
  echo&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  cas&lt;br /&gt;
  echo -n &amp;quot;Resident memory: &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $6}') kB&lt;br /&gt;
  echo -n &amp;quot;Virtual memory:  &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $5}') kB&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  } | mail -s &amp;quot;$NameShort&amp;quot; $eMail&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Events</id>
		<title>Events</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Events"/>
				<updated>2006-12-18T21:54:52Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: =Examples= fmt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[events-de|German]] | [[events-nds|Low-Saxon]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Events''' are actions aMule can take upon when certain things happen. These actions are configured on the [[Usage_Preferences#Events|Events]] tab of the [[Usage_Preferences]] notebook or, if you are running amuled, in the [UserEvents] section of [[amule.conf]].&lt;br /&gt;
&lt;br /&gt;
There are two kinds of Events supported at the moment:&lt;br /&gt;
* Download completed&lt;br /&gt;
* New chat session&lt;br /&gt;
* Out of space&lt;br /&gt;
* Error on completion&lt;br /&gt;
&lt;br /&gt;
When one of these events is triggered, you can configure aMule to execute a&lt;br /&gt;
* core command&lt;br /&gt;
* GUI command&lt;br /&gt;
&lt;br /&gt;
A core command is a command that will be executed by a flavor of aMule that has a core (aMule daemon or aMule monolithic). A GUI command is a command that will be executed by a flavor of aMule that has GUI (aMule GUI or aMule monolithic). Notice that if you specify both, aMule monolithic will execute both.&lt;br /&gt;
&lt;br /&gt;
=== Download completed ===&lt;br /&gt;
&lt;br /&gt;
When aMule completes a download, a Download completed event is triggered. The following variables can be accessed:&lt;br /&gt;
* %NAME - the name of the downloaded file with full path&lt;br /&gt;
* %FILE - the name of the downloaded file without path&lt;br /&gt;
* %HASH - the ed2k hash of the downloaded file&lt;br /&gt;
* %SIZE - the size in bytes of the downloaded file&lt;br /&gt;
* %DLACTIVETIME - the total time the download was active&lt;br /&gt;
&lt;br /&gt;
=== New chat session ===&lt;br /&gt;
&lt;br /&gt;
When someone initiates a chat session with you, the New chat session event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %Sender - username of the person initiating the chat&lt;br /&gt;
&lt;br /&gt;
=== Out of space ===&lt;br /&gt;
&lt;br /&gt;
When aMule runs out of diskspace on the partition which it uses for its temporary files, the Out of space event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %PARTITION&lt;br /&gt;
&lt;br /&gt;
=== Error on completion ===&lt;br /&gt;
&lt;br /&gt;
When aMule is unable to move a file from the &amp;quot;temporary&amp;quot; directory to the &amp;quot;incoming&amp;quot; directory, an Error on completion event is triggered. This is typically caused by lack of diskspace on the partition where the incoming directory is located. When this happens, the following variable can be accessed:&lt;br /&gt;
* %FILE&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&lt;br /&gt;
Event commands can be either a single or compound shell command, or a shell script. In the Core command field, enter the command or script name followed by the optional parameters like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh %NAME %FILE %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the filename contains spaces, the variable names should be enclosed in quotes like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Your shell script can obtain the values in the parameters the customary way, ie, by evaluating $1, $2, $3, etc.&lt;br /&gt;
&lt;br /&gt;
You need to make sure your script is in your PATH or that you supply the full pathname.&lt;br /&gt;
&lt;br /&gt;
=== Errors ===&lt;br /&gt;
&lt;br /&gt;
If your script fails to execute for any reason, this will be logged in aMule's [[logfile]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
A simple command might look like this:&lt;br /&gt;
&lt;br /&gt;
:echo &amp;quot;aMule error: %PARTITION is full.&amp;quot; | mail -s Warning mymail@domain.tld&lt;br /&gt;
&lt;br /&gt;
This inserts the variable %PARTITION in the text of a one-line email message and sends it to the email address specfied.&lt;br /&gt;
&lt;br /&gt;
For more elaborate purposes, you will will want to call an external script. &lt;br /&gt;
&lt;br /&gt;
Here the bash script by '''Ezeltje''' from [http://forum.amule.org/thread.php?threadid=11695 aMule-Forum] which will send you an email every time a download is completed. To use it, enter your email address where indicated and save it to a location in your PATH. Then add this line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to the Core command field of the Download completed section of the Events page. It will now be invoked everytime aMule finishes a download.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  #&lt;br /&gt;
  # doneDL.sh - sends an email upon completion of an aMule download&lt;br /&gt;
  # Used in conjuction with aMule's Event feature&lt;br /&gt;
  #&lt;br /&gt;
  # Call like this: doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
  #&lt;br /&gt;
  # Enter your email address here:&lt;br /&gt;
  eMail=&lt;br /&gt;
  #&lt;br /&gt;
  NameShort=$1&lt;br /&gt;
  NameLong=$2&lt;br /&gt;
  Hash=$3&lt;br /&gt;
  Size=$4&lt;br /&gt;
  DLtime=$5&lt;br /&gt;
  {&lt;br /&gt;
  echo aMule completed this download:&lt;br /&gt;
  echo ------------------------------&lt;br /&gt;
  echo&lt;br /&gt;
  echo File: &amp;quot;$NameLong&amp;quot;&lt;br /&gt;
  echo Hash: $Hash&lt;br /&gt;
  echo -n &amp;quot;Time: &amp;quot;&lt;br /&gt;
  date | awk '{print $4 &amp;quot; &amp;quot; $5}'&lt;br /&gt;
  echo -n Size: $Size bytes &lt;br /&gt;
  if [ $Size -gt 102400 ] ; then echo &amp;quot; (&amp;quot;$(($(($Size / 1024)) / 1024)) &amp;quot;Mb)&amp;quot; ; fi&lt;br /&gt;
  if [ ! -z &amp;quot;$DLtime&amp;quot; ] ; then echo &amp;quot;Active download time:&amp;quot; $DLtime ; fi&lt;br /&gt;
  echo&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  cas&lt;br /&gt;
  echo -n &amp;quot;Resident memory: &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $6}') kB&lt;br /&gt;
  echo -n &amp;quot;Virtual memory:  &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $5}') kB&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  } | mail -s &amp;quot;$NameShort&amp;quot; $eMail&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Events</id>
		<title>Events</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Events"/>
				<updated>2006-12-18T21:53:40Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: fxs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[events-de|German]] | [[events-nds|Low-Saxon]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Events''' are actions aMule can take upon when certain things happen. These actions are configured on the [[Usage_Preferences#Events|Events]] tab of the [[Usage_Preferences]] notebook or, if you are running amuled, in the [UserEvents] section of [[amule.conf]].&lt;br /&gt;
&lt;br /&gt;
There are two kinds of Events supported at the moment:&lt;br /&gt;
* Download completed&lt;br /&gt;
* New chat session&lt;br /&gt;
* Out of space&lt;br /&gt;
* Error on completion&lt;br /&gt;
&lt;br /&gt;
When one of these events is triggered, you can configure aMule to execute a&lt;br /&gt;
* core command&lt;br /&gt;
* GUI command&lt;br /&gt;
&lt;br /&gt;
A core command is a command that will be executed by a flavor of aMule that has a core (aMule daemon or aMule monolithic). A GUI command is a command that will be executed by a flavor of aMule that has GUI (aMule GUI or aMule monolithic). Notice that if you specify both, aMule monolithic will execute both.&lt;br /&gt;
&lt;br /&gt;
=== Download completed ===&lt;br /&gt;
&lt;br /&gt;
When aMule completes a download, a Download completed event is triggered. The following variables can be accessed:&lt;br /&gt;
* %NAME - the name of the downloaded file with full path&lt;br /&gt;
* %FILE - the name of the downloaded file without path&lt;br /&gt;
* %HASH - the ed2k hash of the downloaded file&lt;br /&gt;
* %SIZE - the size in bytes of the downloaded file&lt;br /&gt;
* %DLACTIVETIME - the total time the download was active&lt;br /&gt;
&lt;br /&gt;
=== New chat session ===&lt;br /&gt;
&lt;br /&gt;
When someone initiates a chat session with you, the New chat session event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %Sender - username of the person initiating the chat&lt;br /&gt;
&lt;br /&gt;
=== Out of space ===&lt;br /&gt;
&lt;br /&gt;
When aMule runs out of diskspace on the partition which it uses for its temporary files, the Out of space event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %PARTITION&lt;br /&gt;
&lt;br /&gt;
=== Error on completion ===&lt;br /&gt;
&lt;br /&gt;
When aMule is unable to move a file from the &amp;quot;temporary&amp;quot; directory to the &amp;quot;incoming&amp;quot; directory, an Error on completion event is triggered. This is typically caused by lack of diskspace on the partition where the incoming directory is located. When this happens, the following variable can be accessed:&lt;br /&gt;
* %FILE&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&lt;br /&gt;
Event commands can be either a single or compound shell command, or a shell script. In the Core command field, enter the command or script name followed by the optional parameters like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh %NAME %FILE %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the filename contains spaces, the variable names should be enclosed in quotes like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Your shell script can obtain the values in the parameters the customary way, ie, by evaluating $1, $2, $3, etc.&lt;br /&gt;
&lt;br /&gt;
You need to make sure your script is in your PATH or that you supply the full pathname.&lt;br /&gt;
&lt;br /&gt;
=== Errors ===&lt;br /&gt;
&lt;br /&gt;
If your script fails to execute for any reason, this will be logged in aMule's [[logfile]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
A simple command might look like this:&lt;br /&gt;
&lt;br /&gt;
:echo &amp;quot;aMule error: %PARTITION is full.&amp;quot; | mail -s Warning mymail@domain.tld&lt;br /&gt;
&lt;br /&gt;
This inserts the variable %PARTITION in the text of a one-line email message and sends it to the email address specfied.&lt;br /&gt;
&lt;br /&gt;
For more elaborate purposes, you will will want to call an external script. &lt;br /&gt;
&lt;br /&gt;
Here the bash script by '''Ezeltje''' from [http://forum.amule.org/thread.php?threadid=11695 aMule-Forum] which will send you an email every time a download is completed. To use it, enter your email address where indicated and save it to a location in your PATH. Then add this line: &lt;br /&gt;
&lt;br /&gt;
:doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the Core command field of the Download completed section of the Events page. It will now be invoked everytime aMule finishes a download.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  #&lt;br /&gt;
  # doneDL.sh - sends an email upon completion of an aMule download&lt;br /&gt;
  # Used in conjuction with aMule's Event feature&lt;br /&gt;
  #&lt;br /&gt;
  # Call like this: doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
  #&lt;br /&gt;
  # Enter your email address here:&lt;br /&gt;
  eMail=&lt;br /&gt;
  #&lt;br /&gt;
  NameShort=$1&lt;br /&gt;
  NameLong=$2&lt;br /&gt;
  Hash=$3&lt;br /&gt;
  Size=$4&lt;br /&gt;
  DLtime=$5&lt;br /&gt;
  {&lt;br /&gt;
  echo aMule completed this download:&lt;br /&gt;
  echo ------------------------------&lt;br /&gt;
  echo&lt;br /&gt;
  echo File: &amp;quot;$NameLong&amp;quot;&lt;br /&gt;
  echo Hash: $Hash&lt;br /&gt;
  echo -n &amp;quot;Time: &amp;quot;&lt;br /&gt;
  date | awk '{print $4 &amp;quot; &amp;quot; $5}'&lt;br /&gt;
  echo -n Size: $Size bytes &lt;br /&gt;
  if [ $Size -gt 102400 ] ; then echo &amp;quot; (&amp;quot;$(($(($Size / 1024)) / 1024)) &amp;quot;Mb)&amp;quot; ; fi&lt;br /&gt;
  if [ ! -z &amp;quot;$DLtime&amp;quot; ] ; then echo &amp;quot;Active download time:&amp;quot; $DLtime ; fi&lt;br /&gt;
  echo&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  cas&lt;br /&gt;
  echo -n &amp;quot;Resident memory: &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $6}') kB&lt;br /&gt;
  echo -n &amp;quot;Virtual memory:  &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $5}') kB&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  } | mail -s &amp;quot;$NameShort&amp;quot; $eMail&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Logfile_file</id>
		<title>Logfile file</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Logfile_file"/>
				<updated>2006-12-17T16:32:54Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: + logfile.bak&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== File ==&lt;br /&gt;
&lt;br /&gt;
'''Name:''' ''logfile''&lt;br /&gt;
&lt;br /&gt;
'''Location:''' ''~/.aMule/''&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
This [[file]] contains the [[log]] of the last (or current if still active) [[aMule]] execution.&lt;br /&gt;
&lt;br /&gt;
It contains all errors, warning and messages aMule has reported.&lt;br /&gt;
&lt;br /&gt;
When aMule starts, it creates a new log. The previous log is stored as &amp;quot;logfile.bak&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
It's format is very simple:&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;Date&amp;gt; &amp;lt;Time&amp;gt;: &amp;lt;Log-line&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
This are the field's meanings:&lt;br /&gt;
*'''Date''': Stands for the date when the log line was reported (in YYYY-MM-DD foramt)&lt;br /&gt;
*'''Time''': Stands for the time when the log line was reported (in HH:MM:SS format)&lt;br /&gt;
*'''Log-line''': Stands for the log line itself&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
This is the contents of a possible log file:&lt;br /&gt;
&lt;br /&gt;
 2005-12-11 06:57:57: Creditfile loaded, 21523 clients are known&lt;br /&gt;
 2005-12-11 06:57:58:&lt;br /&gt;
 2005-12-11 06:57:58:  - This is aMule CVS using wxGTK2 v2.6.1 (Unicoded) (Snapshot: rev. 5953) based on eMule.&lt;br /&gt;
 2005-12-11 06:57:58:    Running on Linux 2.6.14.3 i686&lt;br /&gt;
 2005-12-11 06:57:58:  - Visit http://www.amule.org to check if a new version is available.&lt;br /&gt;
 2005-12-11 06:57:58:&lt;br /&gt;
 2005-12-11 06:57:58: Loading ipfilter.dat files.&lt;br /&gt;
 2005-12-11 06:57:58: Loaded 571 IP-ranges from 'ipfilter.dat'. 1 malformed lines were discarded.&lt;br /&gt;
 2005-12-11 06:57:59: Loaded 0 IP-ranges from 'ipfilter_static.dat'. 0 malformed lines were discarded.&lt;br /&gt;
 2005-12-11 06:57:59: Loading server.met file: /home/jacobo/.aMule/server.met&lt;br /&gt;
 2005-12-11 06:57:59: 73 servers in server.met found&lt;br /&gt;
 2005-12-11 06:58:01: Found 168 part files&lt;br /&gt;
 2005-12-11 06:58:01: *** TCP socket (ECServer) listening on 0.0.0.0:4712&lt;br /&gt;
 2005-12-11 06:58:01: Found 87 known shared files&lt;br /&gt;
 2005-12-11 06:58:06: AICH Thread: Syncronization thread started.&lt;br /&gt;
 2005-12-11 06:58:06: AICH Thread: Masterhashes of known files have been loaded.&lt;br /&gt;
 2005-12-11 06:58:06: AICH Thread: No new files found.&lt;br /&gt;
 2005-12-11 06:58:06: AICH Thread: Terminated.&lt;br /&gt;
 2005-12-11 06:58:06: Connecting&lt;br /&gt;
 2005-12-11 06:58:07: Connecting to Rasorpack 2.0 (19.25.44.23 - 19.25.44.23:80)&lt;br /&gt;
 2005-12-11 06:58:07: Read 0 Kad contacts&lt;br /&gt;
 2005-12-11 06:58:08: Connecting to Rasorpack 3 (20.1.16.36 - 20.1.16.36:5000)&lt;br /&gt;
 2005-12-11 06:58:08: Connected to Rasorpack 2.0 (19.25.44.23:4661)&lt;br /&gt;
 2005-12-11 06:58:08: Connected to Kad (firewalled)&lt;br /&gt;
 2005-12-11 06:58:09: Connection established on: Rasorpack 2.0 &lt;br /&gt;
 2005-12-11 06:58:09: Connected to Rasorpack 2.0 with HighID&lt;br /&gt;
 2005-12-11 06:58:09: New clientid is 675249139&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: server version 17.7 (lugdunum)&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: Rasorpack 2 - Dual Opteron Server / www.rasorpack2.com&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: .&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: We cannot be held responsible for any illegal use that could be made of this server&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: .&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: Use an up-to-date client to get better results&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: Information about the last versions of eD2k clients :&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: http://www.rasorpack2.com/fr/faqs/msg/48&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: .&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: Urgente : Mejorad la seguridad de vuestra mula : http://www.rasorpack2.com/fr/faqs/msg/50&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: .&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: Descarga rapidissima y sin limite - Prueben gratis&lt;br /&gt;
 2005-12-11 06:58:09: ServerMessage: .&lt;br /&gt;
 2005-12-11 06:59:00: Downloading Make.aMule.mine.rar&lt;br /&gt;
 2005-12-11 06:59:33: Deleting file: Old.free.film.avi&lt;br /&gt;
 2005-12-11 07:01:53: Connected to Kad (ok)&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
If a log line contains more than just one single line, it will only be given a date and time once, at the beginning of the first line.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Logfile</id>
		<title>Logfile</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Logfile"/>
				<updated>2006-12-17T16:31:58Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Logfile file]]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amule.conf_file</id>
		<title>Amule.conf file</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amule.conf_file"/>
				<updated>2006-12-17T16:27:35Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: =File=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[Amule.conf_file-de|German]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File ==&lt;br /&gt;
'''Name:''' ''amule.conf''&lt;br /&gt;
&lt;br /&gt;
'''Location:''' ''~/.aMule/''&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This file contains [[aMule]]'s configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''English''' | [[Amule.conf_file-de|German]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File ==&lt;br /&gt;
'''Name:''' ''amule.conf''&lt;br /&gt;
&lt;br /&gt;
'''Location:''' ''~/.aMule/''&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This file contains [[aMule]]'s configuration.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
amule.conf is a plain text file which you can open and modify using any standard editor.&lt;br /&gt;
&lt;br /&gt;
'#' is a special character; any text after this character is identified as a comment and will be ignored.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Following an amule.conf file fresh after a new install:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[eMule]&lt;br /&gt;
AppVersion=aMule 2.1.0&lt;br /&gt;
Nick=http://www.aMule.org&lt;br /&gt;
NewVersionCheck=0&lt;br /&gt;
StartupMinimized=0&lt;br /&gt;
ConfirmExit=0&lt;br /&gt;
EnableTrayIcon=0&lt;br /&gt;
MinToTray=0&lt;br /&gt;
ToolTipDelay=1&lt;br /&gt;
MaxDownload=0&lt;br /&gt;
MaxUpload=0&lt;br /&gt;
SlotAllocation=2&lt;br /&gt;
DownloadCapacity=3&lt;br /&gt;
UploadCapacity=3&lt;br /&gt;
Port=4662&lt;br /&gt;
UDPPort=4672&lt;br /&gt;
UDPDisable=0&lt;br /&gt;
MaxSourcesPerFile=300&lt;br /&gt;
MaxConnections=500&lt;br /&gt;
ConnectToED2K=1&lt;br /&gt;
ConnectToKad=1&lt;br /&gt;
Autoconnect=1&lt;br /&gt;
Reconnect=1&lt;br /&gt;
ShowOverhead=0&lt;br /&gt;
RemoveDeadServer=1&lt;br /&gt;
DeadServerRetry=2&lt;br /&gt;
Serverlist=0&lt;br /&gt;
AddServersFromServer=1&lt;br /&gt;
AddServersFromClient=1&lt;br /&gt;
Scoresystem=1&lt;br /&gt;
SmartIdCheck=1&lt;br /&gt;
SafeServerConnect=0&lt;br /&gt;
AutoConnectStaticOnly=0&lt;br /&gt;
ManualHighPrio=0&lt;br /&gt;
ICH=1&lt;br /&gt;
AICHTrust=0&lt;br /&gt;
AddNewFilesPaused=0&lt;br /&gt;
DAPPref=1&lt;br /&gt;
PreviewPrio=0&lt;br /&gt;
UAPPref=1&lt;br /&gt;
FullChunkTransfers=1&lt;br /&gt;
StartNextFile=0&lt;br /&gt;
StartNextFileSameCat=0&lt;br /&gt;
CheckDiskspace=1&lt;br /&gt;
MinFreeDiskSpace=1&lt;br /&gt;
ExecOnCompletion=0&lt;br /&gt;
ExecOnCompletionCommand=sh -c '~/example.sh &amp;quot;%FILE&amp;quot; %HASH'&lt;br /&gt;
IncomingDir=/home/ihmselbst/.aMule/Incoming&lt;br /&gt;
TempDir=/home/ihmselbst/.aMule/Temp&lt;br /&gt;
ShareHiddenFiles=0&lt;br /&gt;
VideoPlayer=&lt;br /&gt;
VideoPreviewBackupped=1&lt;br /&gt;
StatGraphsInterval=3&lt;br /&gt;
StatsAverageMinutes=5&lt;br /&gt;
VariousStatisticsMaxValue=100&lt;br /&gt;
statsInterval=30&lt;br /&gt;
MaxConnectionsPerFiveSeconds=20&lt;br /&gt;
FileBufferSizePref=16&lt;br /&gt;
QueueSizePref=50&lt;br /&gt;
ServerKeepAliveTimeout=0&lt;br /&gt;
3DDepth=10&lt;br /&gt;
AutoSortDownloads=0&lt;br /&gt;
ShowInfoOnCatTabs=0&lt;br /&gt;
ShowRatesOnTitle=0&lt;br /&gt;
VerticalToolbar=0&lt;br /&gt;
SeeShare=2&lt;br /&gt;
IPFilterAutoLoad=1&lt;br /&gt;
IPFilterURL=&lt;br /&gt;
FilterLevel=127&lt;br /&gt;
FilterLanIPs=1&lt;br /&gt;
OnlineSignature=0&lt;br /&gt;
OnlineSignatureUpdate=5&lt;br /&gt;
OSDirectory=/home/ihmselbst/.aMule/&lt;br /&gt;
FilterMessages=0&lt;br /&gt;
FilterAllMessages=0&lt;br /&gt;
MessagesFromFriendsOnly=0&lt;br /&gt;
MessageFromValidSourcesOnly=1&lt;br /&gt;
FilterWordMessages=0&lt;br /&gt;
MessageFilter=&lt;br /&gt;
VerboseDebug=0&lt;br /&gt;
Language=&lt;br /&gt;
SplitterbarPosition=75&lt;br /&gt;
YourHostname=&lt;br /&gt;
DateTimeFormat=%A, %x, %X&lt;br /&gt;
IndicateRatings=1&lt;br /&gt;
AllcatType=0&lt;br /&gt;
ShowAllNotCats=0&lt;br /&gt;
DisableKnownClientList=0&lt;br /&gt;
DisableQueueList=0&lt;br /&gt;
MaxMessageSessions=50&lt;br /&gt;
PermissionsFiles=416&lt;br /&gt;
PermissionsDirs=488&lt;br /&gt;
Address=&lt;br /&gt;
StatColor0=4194304&lt;br /&gt;
StatColor1=16761024&lt;br /&gt;
StatColor2=8454016&lt;br /&gt;
StatColor3=53760&lt;br /&gt;
StatColor4=32768&lt;br /&gt;
StatColor5=8421631&lt;br /&gt;
StatColor6=200&lt;br /&gt;
StatColor7=140&lt;br /&gt;
StatColor8=16750230&lt;br /&gt;
StatColor9=12583104&lt;br /&gt;
StatColor10=8454143&lt;br /&gt;
StatColor11=0&lt;br /&gt;
StatColor12=8454016&lt;br /&gt;
StatColor13=53760&lt;br /&gt;
StatColor14=32768&lt;br /&gt;
TableSortingServer=0&lt;br /&gt;
TableWidthsServer=150,140,25,150,25,40,45,60,40,40,80&lt;br /&gt;
TableSortingDownload=0&lt;br /&gt;
TableWidthsDownload=260,60,65,65,65,170,50,55,70,110,220,220&lt;br /&gt;
TableSortingUploads=0&lt;br /&gt;
TableWidthsUploads=150,275,100,60,65,60,60,110,100,100,100&lt;br /&gt;
TableSortingShared=0&lt;br /&gt;
TableWidthsShared=250,100,50,70,220,100,100,120,120,120,220&lt;br /&gt;
[FakeCheck]&lt;br /&gt;
Browser=0&lt;br /&gt;
CustomBrowser=&lt;br /&gt;
BrowserTab=1&lt;br /&gt;
[ExternalConnect]&lt;br /&gt;
UseSrcSeeds=0&lt;br /&gt;
ShowPercent=0&lt;br /&gt;
ShowProgressBar=1&lt;br /&gt;
AcceptExternalConnections=0&lt;br /&gt;
ECAddress=&lt;br /&gt;
ECPort=4712&lt;br /&gt;
ECPassword=&lt;br /&gt;
IpFilterOn=1&lt;br /&gt;
UseSecIdent=1&lt;br /&gt;
[Statistics]&lt;br /&gt;
MaxClientVersions=0&lt;br /&gt;
TotalDownloadedBytes=0&lt;br /&gt;
TotalUploadedBytes=0&lt;br /&gt;
[SkinGUIOptions]&lt;br /&gt;
UseSkinFile=0&lt;br /&gt;
SkinFile=&lt;br /&gt;
[Razor_Preferences]&lt;br /&gt;
FastED2KLinksHandler=1&lt;br /&gt;
NoNeededSourcesHandling=2&lt;br /&gt;
FullQueueSources=0&lt;br /&gt;
HighQueueRankingSources=0&lt;br /&gt;
HighQueueRanking=1200&lt;br /&gt;
AutoDropTimer=240&lt;br /&gt;
MAIN_X_POS=217&lt;br /&gt;
MAIN_Y_POS=100&lt;br /&gt;
MAIN_X_SIZE=800&lt;br /&gt;
MAIN_Y_SIZE=600&lt;br /&gt;
SRV_SPLITTER_POS=463&lt;br /&gt;
[WebServer]&lt;br /&gt;
Enabled=0&lt;br /&gt;
Port=4711&lt;br /&gt;
PageRefreshTime=120&lt;br /&gt;
UseGzip=1&lt;br /&gt;
UseLowRightsUser=0&lt;br /&gt;
Password=&lt;br /&gt;
PasswordLow=&lt;br /&gt;
Template=&lt;br /&gt;
[Proxy]&lt;br /&gt;
ProxyEnableProxy=0&lt;br /&gt;
ProxyType=0&lt;br /&gt;
ProxyName=&lt;br /&gt;
ProxyPort=1080&lt;br /&gt;
ProxyEnablePassword=0&lt;br /&gt;
ProxyUser=&lt;br /&gt;
ProxyPassword=&lt;br /&gt;
[GUI]&lt;br /&gt;
[GUI/TransferWnd]&lt;br /&gt;
Splitter=114&lt;br /&gt;
ShowClientList=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Following an amule.conf file fresh after a new install:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[eMule]&lt;br /&gt;
AppVersion=aMule 2.1.0&lt;br /&gt;
Nick=http://www.aMule.org&lt;br /&gt;
NewVersionCheck=0&lt;br /&gt;
StartupMinimized=0&lt;br /&gt;
ConfirmExit=0&lt;br /&gt;
EnableTrayIcon=0&lt;br /&gt;
MinToTray=0&lt;br /&gt;
ToolTipDelay=1&lt;br /&gt;
MaxDownload=0&lt;br /&gt;
MaxUpload=0&lt;br /&gt;
SlotAllocation=2&lt;br /&gt;
DownloadCapacity=3&lt;br /&gt;
UploadCapacity=3&lt;br /&gt;
Port=4662&lt;br /&gt;
UDPPort=4672&lt;br /&gt;
UDPDisable=0&lt;br /&gt;
MaxSourcesPerFile=300&lt;br /&gt;
MaxConnections=500&lt;br /&gt;
ConnectToED2K=1&lt;br /&gt;
ConnectToKad=1&lt;br /&gt;
Autoconnect=1&lt;br /&gt;
Reconnect=1&lt;br /&gt;
ShowOverhead=0&lt;br /&gt;
RemoveDeadServer=1&lt;br /&gt;
DeadServerRetry=2&lt;br /&gt;
Serverlist=0&lt;br /&gt;
AddServersFromServer=1&lt;br /&gt;
AddServersFromClient=1&lt;br /&gt;
Scoresystem=1&lt;br /&gt;
SmartIdCheck=1&lt;br /&gt;
SafeServerConnect=0&lt;br /&gt;
AutoConnectStaticOnly=0&lt;br /&gt;
ManualHighPrio=0&lt;br /&gt;
ICH=1&lt;br /&gt;
AICHTrust=0&lt;br /&gt;
AddNewFilesPaused=0&lt;br /&gt;
DAPPref=1&lt;br /&gt;
PreviewPrio=0&lt;br /&gt;
UAPPref=1&lt;br /&gt;
FullChunkTransfers=1&lt;br /&gt;
StartNextFile=0&lt;br /&gt;
StartNextFileSameCat=0&lt;br /&gt;
CheckDiskspace=1&lt;br /&gt;
MinFreeDiskSpace=1&lt;br /&gt;
ExecOnCompletion=0&lt;br /&gt;
ExecOnCompletionCommand=sh -c '~/example.sh &amp;quot;%FILE&amp;quot; %HASH'&lt;br /&gt;
IncomingDir=/home/ihmselbst/.aMule/Incoming&lt;br /&gt;
TempDir=/home/ihmselbst/.aMule/Temp&lt;br /&gt;
ShareHiddenFiles=0&lt;br /&gt;
VideoPlayer=&lt;br /&gt;
VideoPreviewBackupped=1&lt;br /&gt;
StatGraphsInterval=3&lt;br /&gt;
StatsAverageMinutes=5&lt;br /&gt;
VariousStatisticsMaxValue=100&lt;br /&gt;
statsInterval=30&lt;br /&gt;
MaxConnectionsPerFiveSeconds=20&lt;br /&gt;
FileBufferSizePref=16&lt;br /&gt;
QueueSizePref=50&lt;br /&gt;
ServerKeepAliveTimeout=0&lt;br /&gt;
3DDepth=10&lt;br /&gt;
AutoSortDownloads=0&lt;br /&gt;
ShowInfoOnCatTabs=0&lt;br /&gt;
ShowRatesOnTitle=0&lt;br /&gt;
VerticalToolbar=0&lt;br /&gt;
SeeShare=2&lt;br /&gt;
IPFilterAutoLoad=1&lt;br /&gt;
IPFilterURL=&lt;br /&gt;
FilterLevel=127&lt;br /&gt;
FilterLanIPs=1&lt;br /&gt;
OnlineSignature=0&lt;br /&gt;
OnlineSignatureUpdate=5&lt;br /&gt;
OSDirectory=/home/ihmselbst/.aMule/&lt;br /&gt;
FilterMessages=0&lt;br /&gt;
FilterAllMessages=0&lt;br /&gt;
MessagesFromFriendsOnly=0&lt;br /&gt;
MessageFromValidSourcesOnly=1&lt;br /&gt;
FilterWordMessages=0&lt;br /&gt;
MessageFilter=&lt;br /&gt;
VerboseDebug=0&lt;br /&gt;
Language=&lt;br /&gt;
SplitterbarPosition=75&lt;br /&gt;
YourHostname=&lt;br /&gt;
DateTimeFormat=%A, %x, %X&lt;br /&gt;
IndicateRatings=1&lt;br /&gt;
AllcatType=0&lt;br /&gt;
ShowAllNotCats=0&lt;br /&gt;
DisableKnownClientList=0&lt;br /&gt;
DisableQueueList=0&lt;br /&gt;
MaxMessageSessions=50&lt;br /&gt;
PermissionsFiles=416&lt;br /&gt;
PermissionsDirs=488&lt;br /&gt;
Address=&lt;br /&gt;
StatColor0=4194304&lt;br /&gt;
StatColor1=16761024&lt;br /&gt;
StatColor2=8454016&lt;br /&gt;
StatColor3=53760&lt;br /&gt;
StatColor4=32768&lt;br /&gt;
StatColor5=8421631&lt;br /&gt;
StatColor6=200&lt;br /&gt;
StatColor7=140&lt;br /&gt;
StatColor8=16750230&lt;br /&gt;
StatColor9=12583104&lt;br /&gt;
StatColor10=8454143&lt;br /&gt;
StatColor11=0&lt;br /&gt;
StatColor12=8454016&lt;br /&gt;
StatColor13=53760&lt;br /&gt;
StatColor14=32768&lt;br /&gt;
TableSortingServer=0&lt;br /&gt;
TableWidthsServer=150,140,25,150,25,40,45,60,40,40,80&lt;br /&gt;
TableSortingDownload=0&lt;br /&gt;
TableWidthsDownload=260,60,65,65,65,170,50,55,70,110,220,220&lt;br /&gt;
TableSortingUploads=0&lt;br /&gt;
TableWidthsUploads=150,275,100,60,65,60,60,110,100,100,100&lt;br /&gt;
TableSortingShared=0&lt;br /&gt;
TableWidthsShared=250,100,50,70,220,100,100,120,120,120,220&lt;br /&gt;
[FakeCheck]&lt;br /&gt;
Browser=0&lt;br /&gt;
CustomBrowser=&lt;br /&gt;
BrowserTab=1&lt;br /&gt;
[ExternalConnect]&lt;br /&gt;
UseSrcSeeds=0&lt;br /&gt;
ShowPercent=0&lt;br /&gt;
ShowProgressBar=1&lt;br /&gt;
AcceptExternalConnections=0&lt;br /&gt;
ECAddress=&lt;br /&gt;
ECPort=4712&lt;br /&gt;
ECPassword=&lt;br /&gt;
IpFilterOn=1&lt;br /&gt;
UseSecIdent=1&lt;br /&gt;
[Statistics]&lt;br /&gt;
MaxClientVersions=0&lt;br /&gt;
TotalDownloadedBytes=0&lt;br /&gt;
TotalUploadedBytes=0&lt;br /&gt;
[SkinGUIOptions]&lt;br /&gt;
UseSkinFile=0&lt;br /&gt;
SkinFile=&lt;br /&gt;
[Razor_Preferences]&lt;br /&gt;
FastED2KLinksHandler=1&lt;br /&gt;
NoNeededSourcesHandling=2&lt;br /&gt;
FullQueueSources=0&lt;br /&gt;
HighQueueRankingSources=0&lt;br /&gt;
HighQueueRanking=1200&lt;br /&gt;
AutoDropTimer=240&lt;br /&gt;
MAIN_X_POS=217&lt;br /&gt;
MAIN_Y_POS=100&lt;br /&gt;
MAIN_X_SIZE=800&lt;br /&gt;
MAIN_Y_SIZE=600&lt;br /&gt;
SRV_SPLITTER_POS=463&lt;br /&gt;
[WebServer]&lt;br /&gt;
Enabled=0&lt;br /&gt;
Port=4711&lt;br /&gt;
PageRefreshTime=120&lt;br /&gt;
UseGzip=1&lt;br /&gt;
UseLowRightsUser=0&lt;br /&gt;
Password=&lt;br /&gt;
PasswordLow=&lt;br /&gt;
Template=&lt;br /&gt;
[Proxy]&lt;br /&gt;
ProxyEnableProxy=0&lt;br /&gt;
ProxyType=0&lt;br /&gt;
ProxyName=&lt;br /&gt;
ProxyPort=1080&lt;br /&gt;
ProxyEnablePassword=0&lt;br /&gt;
ProxyUser=&lt;br /&gt;
ProxyPassword=&lt;br /&gt;
[GUI]&lt;br /&gt;
[GUI/TransferWnd]&lt;br /&gt;
Splitter=114&lt;br /&gt;
ShowClientList=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Remote.conf_file</id>
		<title>Remote.conf file</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Remote.conf_file"/>
				<updated>2006-12-17T16:23:53Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: =Description=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== File ==&lt;br /&gt;
&lt;br /&gt;
'''Name:''' ''remote.conf''&lt;br /&gt;
&lt;br /&gt;
'''Location:''' ''~/.aMule/''&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
This is the common configuration [[aMule_files|file]] for all remote tools ([[aMuleCMD]], [[aMuleWeb]], [[aMuleGUI|remote gui]]). The above mentioned name and location is the default name and location for this file, but, unlike all other config files, they can be changed via the ''-f'' (''--config-file'') command-line parameter.&lt;br /&gt;
&lt;br /&gt;
'''Note''': command-line switches and parameters apply only to aMuleCmd and aMuleWeb. aMule remote GUI does not yet implement them.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
This is a text file, in the format of the [http://www.microsoft.com/windows Windows] .INI files.&lt;br /&gt;
&lt;br /&gt;
In the file, configuration options are set in key-value pairs. Each line contains exactly one key-value pair, in the form of &amp;amp;lt;''key''&amp;amp;gt;=&amp;amp;lt;''value''&amp;amp;gt; (except for group headers and comments, see below). Keys are organized into groups, and even groups may have sub-groups. Any line starting with a ';' (semicolon) character is considered to be a comment. Comments and empty lines are ignored. Group headers are in the form '['&amp;amp;lt;''group name''&amp;amp;gt;']'.&lt;br /&gt;
&lt;br /&gt;
Keys are referenced as if they were files in a file system where directories are the groups. For example, the key '' 'Password' '' in the group '' 'EC' '' is referenced as '' '/EC/Password' ''. Hopefully the following descriptions and the example will make it clear.&lt;br /&gt;
&lt;br /&gt;
== Keys description ==&lt;br /&gt;
&lt;br /&gt;
=== General notes ===&lt;br /&gt;
&lt;br /&gt;
*For keys that accept an [http://en.wikipedia.org/wiki/MD5 MD5] [[hash]], the value is always case insensitive.&lt;br /&gt;
*For keys that enable/disable something (or at least have a boolean type value), '0' means 'false' or 'disabled', '1' means 'true' or 'enabled'.&lt;br /&gt;
&lt;br /&gt;
=== Common keys ===&lt;br /&gt;
&lt;br /&gt;
; '''/Locale''' : Selects language that remote tools should use. Possible values are the language codes for the given language, such as ''de'', ''en_GB''; or the proper english name of the language, e.g. ''french''. Defaults to an empty value, which means '' 'use system default language' ''. Can be overridden by the ''-l'' (''--locale'') command-line parameter.&lt;br /&gt;
&lt;br /&gt;
; '''/EC/Host''' : Hostname or [[IP]] address of the remote running core ([[aMule]] or [[aMuled]]). Defaults to '' 'localhost' ''. Can be overridden by the ''-h'' (''--host'') command-line parameter.&lt;br /&gt;
&lt;br /&gt;
; '''/EC/Port''' : [[Port]] number where remote core listens to [[External Connections]] (EC). Defaults to '' '4712' ''. Can be overridden by the ''-p'' (''--port'') command-line parameter.&lt;br /&gt;
&lt;br /&gt;
; '''/EC/Password''' : MD5 hash of the password used for EC [[connect]]ion. Can be overridden by the ''-P'' (''--password'') command-line parameter, which accepts a plain-text password!&lt;br /&gt;
&lt;br /&gt;
=== Keys specific to aMuleCmd ===&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
=== Keys specific to aMuleWeb ===&lt;br /&gt;
&lt;br /&gt;
; '''/Webserver/Port''' : Port number, where aMuleWeb listens for connections from browsers. Defaults to '' '-1' '', which means '' 'query from remote core' ''. If query fails for some reason, '' '4711' '' will be used, but aMuleWeb will most likely be unusable (if such a simple query fails, what to expect from more complex queries?). Can be overridden by the ''-s'' (''--server-port'') command-line parameter.&lt;br /&gt;
&lt;br /&gt;
; '''/Webserver/Template''' : Name of the web template to use. Defaults to '' 'default' ''. The current version of aMuleWeb installs one another template, named '' 'chicane' ''. Can be overridden by the ''-t'' (''--template'') command-line parameter.&lt;br /&gt;
&lt;br /&gt;
; '''/Webserver/UseGzip''' : Enables or disables [http://www.gzip.org/ gzip] compression of [http://www.w3.org/MarkUp/ HTML] pages. Defaults to disabled. Can be overridden by the ''-z'' (''--enable-gzip'') or ''-Z'' (''--disable-gzip'') command-line switches.&lt;br /&gt;
&lt;br /&gt;
; '''/Webserver/AllowGuest''' : Enables or disables guest mode logins to the web interface. Defaults to disabled. Can be overridden by the ''-a'' (''--allow-guest'') or ''-d'' (''--deny--guest'') command-line switches.&lt;br /&gt;
&lt;br /&gt;
; '''/Webserver/AdminPassword''' : MD5 password for admin login. Can be overridden by the ''-A'' (''--admin-pass'') command-line parameter, which accepts a plain-text password!&lt;br /&gt;
&lt;br /&gt;
; '''/Webserver/GuestPassword''' : MD5 password for guest login. Makes sense only when guest login is enabled. Can be overridden by the ''-G'' (''--guest-pass'') command-line parameter, which accepts a plain-text password!&lt;br /&gt;
&lt;br /&gt;
; '''/Webserver/PageRefreshTime''' : Time interval in seconds between page reloads. '' '0' '' means '' 'page refresh disabled' ''. Defaults to '' '120' '', i.e. 2 minutes.&lt;br /&gt;
&lt;br /&gt;
; '''/Webserver/GraphHeight''' : Height (in pixels) of the statistics graphs. Default is '' '149' ''.&lt;br /&gt;
&lt;br /&gt;
; '''/Webserver/GraphWidth''' : Width (in pixels) of the statistics graphs. Default is '' '500' ''.&lt;br /&gt;
&lt;br /&gt;
; '''/Webserver/GraphScale''' : Scaling of the statistics graphs. This means '' 'each pixel in the graph represents '' 'x' '' seconds' ''. Default is 3 seconds/pixel.&lt;br /&gt;
&lt;br /&gt;
=== Keys specific to Remote GUI ===&lt;br /&gt;
&lt;br /&gt;
Remote GUI currently messes up remote.conf, saves a lot of irrelevant keys and does not save some important ones. When this will be fixed, I'll describe its keys too.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
The example below shows a default ''remote.conf'' file, with the exception of the EC password, which is set to dummy (but valid) value.&lt;br /&gt;
&lt;br /&gt;
 Locale=&lt;br /&gt;
 [EC]&lt;br /&gt;
 Host=localhost&lt;br /&gt;
 Port=4712&lt;br /&gt;
 Password=5D41402ABC4B2A76B9719D911017C592&lt;br /&gt;
 [Webserver]&lt;br /&gt;
 Port=-1&lt;br /&gt;
 Template=default&lt;br /&gt;
 UseGzip=0&lt;br /&gt;
 AllowGuest=0&lt;br /&gt;
 AdminPassword=&lt;br /&gt;
 GuestPassword=&lt;br /&gt;
 PageRefreshTime=120&lt;br /&gt;
 GraphHeight=149&lt;br /&gt;
 GraphWidth=500&lt;br /&gt;
 GraphScale=3&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMuleWeb</id>
		<title>AMuleWeb</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMuleWeb"/>
				<updated>2006-12-17T16:21:33Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: =Configuring aMuleWeb= link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''aMuleWeb''' is a utility that allows you to control aMule by means of a web browser from any location. The web interface offers a subset of aMule functionality, including searching for files, initializing downloads, and viewing your download queue. It also displays status information and allows you to change certain options.&lt;br /&gt;
&lt;br /&gt;
aMule itself doesn't support [http://www.w3.org/MarkUp HTTP] connections; aMuleWeb, which does, therefore serves as an intermediary between aMule and a web browser. Once the link between aMuleWeb and a remote user is established, it connects to aMule via the [[External Connections]] interface.&lt;br /&gt;
&lt;br /&gt;
By default, aMuleWeb listens for HTTP connections at port 4711, but this can be changed in [[Usage Preferences|Preferences]]'.&lt;br /&gt;
&lt;br /&gt;
== Installing aMuleWeb ==&lt;br /&gt;
&lt;br /&gt;
Many of not most distros have an aMule package in their repositories. If you install aMule by means of RPM, DEB, or other package management system, aMuleWeb will be included in the installation. &lt;br /&gt;
&lt;br /&gt;
This is the easiest and preferred method of installing aMule and aMuleWeb.&lt;br /&gt;
&lt;br /&gt;
== Compiling aMuleWeb ==&lt;br /&gt;
&lt;br /&gt;
If you have not installed aMule by means of a package, you will need to compile it from source.&lt;br /&gt;
&lt;br /&gt;
aMuleWeb is not compiled separately; it is compiled at the same time you compile aMule by using the ''--enable-amuleweb'' flag when you run ''configure''. (See the [[Main Page]] for links to pages on compiling aMule for various operating systems). &lt;br /&gt;
&lt;br /&gt;
== Configuring aMuleWeb ==&lt;br /&gt;
&lt;br /&gt;
To use aMuleWeb, you first need to set several opions in aMule's Preferences notebook. On the &amp;quot;Remote Controls&amp;quot; page, you will need to:&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Accept External Connections&amp;quot;.&lt;br /&gt;
* Enter a password for External Connections.&lt;br /&gt;
* Enable webserver&lt;br /&gt;
&lt;br /&gt;
You can also modifiy the default aMuleWeb port (4711) and External Connections port (4712) here as well, but if you do so, you will need to restart aMule for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
(If you are running aMuled and don't want to use aMule to configure aMuleWeb, see the instructions below)&lt;br /&gt;
&lt;br /&gt;
Next, you need to do is generate [[remote.conf]], the file where aMuleWeb stores its configuration information. (It can be found in the .aMule directory.) Among other things, this file contains the port number which aMule uses for External Connections as well as the password needed to access aMule.  &lt;br /&gt;
&lt;br /&gt;
To create a ''remote.conf'' file, enter at the command line:&lt;br /&gt;
&lt;br /&gt;
 $ amuleweb -w&lt;br /&gt;
&lt;br /&gt;
aMuleWeb will read the necessary configuration information from amule.conf and generate a ''remote.conf'' file, then exit.&lt;br /&gt;
&lt;br /&gt;
Then start aMuleWeb normally:&lt;br /&gt;
&lt;br /&gt;
 $ amuleweb&lt;br /&gt;
&lt;br /&gt;
You should now be able to open aMuleWeb in a browser by entering the URL (on the local system):&lt;br /&gt;
&lt;br /&gt;
  http://localhost:4711&lt;br /&gt;
&lt;br /&gt;
or, the with computer's hostname (locally or remote):&lt;br /&gt;
&lt;br /&gt;
  http://hostname:4711:&lt;br /&gt;
&lt;br /&gt;
If you want to run aMuleWeb on a different computer than aMule, just copy ''remote.conf'' to the .aMule directory on that computer, and change the hostname line accordingly.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' aMuleWeb uses cookies to store session information. Make sure that cookies are enabled in your browser.&lt;br /&gt;
&lt;br /&gt;
== Launching aMuleWeb ==&lt;br /&gt;
&lt;br /&gt;
There are two options for launching aMuleWeb. &lt;br /&gt;
&lt;br /&gt;
First, and preferred, is to enable aMuleWeb activation in aMule's preferences.  When started, aMule (or aMuled) will launch amuleweb. Upon exit, aMuleWeb will be automatically terminated.&lt;br /&gt;
&lt;br /&gt;
The second option is to run aMuleWeb manually by entering the &amp;quot;amuleweb&amp;quot; command in terminal.&lt;br /&gt;
&lt;br /&gt;
== Configuring aMuleWeb with aMuled ==&lt;br /&gt;
&lt;br /&gt;
First, if aMuled is running, shut it down.&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
  $ amuleweb -w&lt;br /&gt;
&lt;br /&gt;
to generate a ''remote.conf'' file. You will need to edit these options in the [ExternalConnect] section:&lt;br /&gt;
&lt;br /&gt;
*''AcceptExternalConnections=1'' &amp;lt;-- To enable External Connections.&lt;br /&gt;
&lt;br /&gt;
*''ECPassword=ca3c365274907c6fd527068788e14639'' &amp;lt;--  MD5 string&lt;br /&gt;
&lt;br /&gt;
You can then restart amuled and amuleweb.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' Passwords must be md5sum format. To generate an MD5sum for your password, run:&lt;br /&gt;
:''$ echo -n yourpasswordhere | md5sum | cut -d ' ' -f 1''&lt;br /&gt;
:''ca3c365274907c6fd527068788e14639''&lt;br /&gt;
&lt;br /&gt;
'''Note'''If you get ''FATAL ERROR: Cannot find template: default'' it's because you didn't run ''make install''. If you don't want to install aMule, copy the ''src/webserver/default/'' directory into ''~/.aMule/webserver/'' (create it if needed). If you want any other template (probably ''php-default''), copy it too. Then go back to the previous step.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== aMuleWeb with older versions of aMule ===&lt;br /&gt;
&lt;br /&gt;
For instructions for using aMuleWeb with aMule pre-2.0.0 final, see [[Webserver-old|this page]] for archived material.&lt;br /&gt;
&lt;br /&gt;
== Standard ports ==&lt;br /&gt;
&lt;br /&gt;
The ports can be set to anything, but by default aMule uses:&lt;br /&gt;
&lt;br /&gt;
*External Connections: 4712&lt;br /&gt;
*amuleweb: 4711&lt;br /&gt;
&lt;br /&gt;
Make sure you do not confuse the two; in the default configuration, it looks like this: &lt;br /&gt;
&lt;br /&gt;
aMule --&amp;gt; [4712] --&amp;gt; aMuleWeb --&amp;gt; [4711] --&amp;gt; web browser&lt;br /&gt;
&lt;br /&gt;
== Template (skin) location ==&lt;br /&gt;
&lt;br /&gt;
aMuleWeb looks for its files in a number of places:&lt;br /&gt;
&lt;br /&gt;
*In your home directory: ''$HOME/.aMule/webserver/''[skin name]''/''&lt;br /&gt;
&lt;br /&gt;
*And at its install location, in this order (by default, ''/usr/local/share/amule/webserver'' if you compiled aMule, or ''/usr/share/amule/webserver'' if you installed it from a package).&lt;br /&gt;
&lt;br /&gt;
Default template name is 'default'.&lt;br /&gt;
&lt;br /&gt;
If, ''after installing'' aMule, aMuleWeb refuses to run because of not being able to load template:&lt;br /&gt;
&lt;br /&gt;
*Please report this situation to us, and then&lt;br /&gt;
&lt;br /&gt;
*Create the directories ''webserver/default'' in the ''.aMule'' subdirectory of your home directory, and copy the contents of the ''src/webserver'' directory there from the aMule tarball (ie, ''$HOME/.aMule/webserver/default'').&lt;br /&gt;
&lt;br /&gt;
== aMuled and aMuleWeb as services  ==&lt;br /&gt;
&lt;br /&gt;
Although starting aMuleWeb by enabling it inaMule's preferences is the preferred method, you can also run aMuleWeb together with aMuled as as services by means of an init.d script. Here is an example:&lt;br /&gt;
&lt;br /&gt;
''/etc/init.d/amule''&lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
 DAEMON=/usr/bin/amuled&lt;br /&gt;
 WEB=/usr/bin/amuleweb&lt;br /&gt;
 NAME=amuled&lt;br /&gt;
 DESC=amuled&lt;br /&gt;
 RUNAMULE=no&lt;br /&gt;
 USER=youramuleuser&lt;br /&gt;
 &lt;br /&gt;
 test -x $DAEMON || exit 0&lt;br /&gt;
 &lt;br /&gt;
 # Include amule defaults if available&lt;br /&gt;
 if [ -f /etc/default/amule ] ; then&lt;br /&gt;
     . /etc/default/amule&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ &amp;quot;$RUNAMULE&amp;quot; != &amp;quot;yes&amp;quot; ];then&lt;br /&gt;
     echo &amp;quot;Amule not to be started. Edit /etc/default/amule first.&amp;quot;&lt;br /&gt;
     exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 set -e&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
   start)&lt;br /&gt;
     echo -n &amp;quot;Starting $DESC: &amp;quot;&lt;br /&gt;
        su $USER -c &amp;quot;$DAEMON -f&amp;quot;&lt;br /&gt;
        while ! netstat -l -n -p -t | grep -q amuled ; do sleep 1 ; done&lt;br /&gt;
        su $USER -c &amp;quot;$WEB --quiet &amp;amp;&amp;quot;&lt;br /&gt;
     echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
   stop)&lt;br /&gt;
     echo -n &amp;quot;Stopping $DESC: &amp;quot;&lt;br /&gt;
        killall --quiet --ignore-case $WEB&lt;br /&gt;
        killall --quiet --ignore-case $DAEMON&lt;br /&gt;
     echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
   restart|force-reload)&lt;br /&gt;
     echo -n &amp;quot;Restarting $DESC: &amp;quot;&lt;br /&gt;
        killall --quiet --ignore-case $WEB&lt;br /&gt;
        killall --quiet --ignore-case $DAEMON&lt;br /&gt;
     sleep 1&lt;br /&gt;
        su $USER -c &amp;quot;$DAEMON -f&amp;quot;&lt;br /&gt;
        while ! netstat -l -n -p -t | grep -q amuled ; do sleep 1 ; done&lt;br /&gt;
        su $USER -c &amp;quot;$WEB --quiet &amp;amp;&amp;quot;&lt;br /&gt;
     echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
   *)&lt;br /&gt;
     N=/etc/init.d/$NAME&lt;br /&gt;
     echo &amp;quot;Usage: $N {start|stop|restart|force-reload}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
     exit 1&lt;br /&gt;
     ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Then just set that script to be run at start up. On [[Debian]] this would be doen with the following command:&lt;br /&gt;
&lt;br /&gt;
 update-rc.d amule defaults&lt;br /&gt;
&lt;br /&gt;
Then, for the daemons to start you just have to create a file ''/etc/default/amule'' which contains a single line:&lt;br /&gt;
&lt;br /&gt;
 RUNAMULE=yes&lt;br /&gt;
&lt;br /&gt;
== Template language and development  ==&lt;br /&gt;
&lt;br /&gt;
Simply put, aMuleWeb templates are ordinary HTML files. In order to make them &amp;quot;interactive&amp;quot;, server-side language is embedded inside. This language is scaled down dialect of PHP. More detailed information can be found on [[aMuleWeb_PHP]].&lt;br /&gt;
&lt;br /&gt;
== Where to report problems and questions? ==&lt;br /&gt;
&lt;br /&gt;
For Problems or Questions just report on http://forum.amule.org forum or join [[IRC]] channel [irc://irc.freenode.net/amule #amule] at [irc://irc.freenode.net irc.freenode.net]&lt;br /&gt;
&lt;br /&gt;
== Other sources of information ==&lt;br /&gt;
&lt;br /&gt;
Read the aMuleWeb man page, which is available in English, French, German, Hungarian and Spanish.&lt;br /&gt;
&lt;br /&gt;
For further information read the [[FAQ_webserver|aMuleWeb FAQ]].&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Remote.conf</id>
		<title>Remote.conf</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Remote.conf"/>
				<updated>2006-12-17T16:20:28Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Remote.conf_file]]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amule.conf</id>
		<title>Amule.conf</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amule.conf"/>
				<updated>2006-12-17T16:17:40Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Amule.conf file]]&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Events</id>
		<title>Events</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Events"/>
				<updated>2006-12-17T16:12:42Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: =Syntax=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[events-de|German]] | [[events-nds|Low-Saxon]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Events''' are actions aMule can take upon when certain things happen. These actions are configured on the [[Usage_Preferences#Events|Events]] tab of the [[Usage_Preferences]] notebook or, if you are running amuled, in the [UserEvents] section of [[amule.conf]].&lt;br /&gt;
&lt;br /&gt;
There are two kinds of Events supported at the moment:&lt;br /&gt;
* Download completed&lt;br /&gt;
* New chat session&lt;br /&gt;
* Out of space&lt;br /&gt;
* Error on completion&lt;br /&gt;
&lt;br /&gt;
When one of these events is triggered, you can configure aMule to execute a&lt;br /&gt;
* core command&lt;br /&gt;
* GUI command&lt;br /&gt;
&lt;br /&gt;
A core command is a command that will be executed by a flavor of aMule that has a core (aMule daemon or aMule monolithic). A GUI command is a command that will be executed by a flavor of aMule that has GUI (aMule GUI or aMule monolithic). Notice that if you specify both, aMule monolithic will execute both.&lt;br /&gt;
&lt;br /&gt;
=== Download completed ===&lt;br /&gt;
&lt;br /&gt;
When aMule completes a download, a Download completed event is triggered. The following variables can be accessed:&lt;br /&gt;
* %NAME - the name of the downloaded file with full path&lt;br /&gt;
* %FILE - the name of the downloaded file without path&lt;br /&gt;
* %HASH - the ed2k hash of the downloaded file&lt;br /&gt;
* %SIZE - the size in bytes of the downloaded file&lt;br /&gt;
* %DLACTIVETIME - the total time the download was active&lt;br /&gt;
&lt;br /&gt;
=== New chat session ===&lt;br /&gt;
&lt;br /&gt;
When someone initiates a chat session with you, the New chat session event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %Sender - username of the person initiating the chat&lt;br /&gt;
&lt;br /&gt;
=== Out of space ===&lt;br /&gt;
&lt;br /&gt;
When aMule runs out of diskspace on the partition which it uses for its temporary files, the Out of space event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %PARTITION&lt;br /&gt;
&lt;br /&gt;
=== Error on completion ===&lt;br /&gt;
&lt;br /&gt;
When aMule is unable to move a file from the &amp;quot;temporary&amp;quot; directory to the &amp;quot;incoming&amp;quot; directory, an Error on completion event is triggered. This is typically caused by lack of diskspace on the partition where the incoming directory is located. When this happens, the following variable can be accessed:&lt;br /&gt;
* %FILE&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&lt;br /&gt;
Event commands can be either a single or compound shell command, or a shell script.&lt;br /&gt;
&lt;br /&gt;
In its simplest form, an event command could take the form of this:&lt;br /&gt;
&lt;br /&gt;
:echo &amp;quot;aMule error: %PARTITION is full.&amp;quot; | mail -s Warning mymail@domain.tld&lt;br /&gt;
&lt;br /&gt;
This inserts the variable %PARTITION in the text of a one-line email message and sends it to an email address.&lt;br /&gt;
&lt;br /&gt;
For more elaborate purposes, you will will want to call an external script. Enter the script name in the core command field, followed by the optional variables. For example:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh %NAME %FILE %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the filename contains spaces, the variable names should be enclosed in quotes like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You need to make sure your script is in your PATH or that you supply the full pathname.&lt;br /&gt;
&lt;br /&gt;
=== Errors ===&lt;br /&gt;
&lt;br /&gt;
If your script fails to execute for any reason, this will be logged in aMule's [[logfile]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Here the bash script by '''Ezeltje''' from [http://forum.amule.org/thread.php?threadid=11695 aMule-Forum] which will send you an email every time a download is completed. To use it, enter your email address where indicated and save it to a location in your PATH. Then add this line: &lt;br /&gt;
&lt;br /&gt;
:doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the Core command field of the Download completed section of the Events page. It will now be invoked everytime aMule finishes a download.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  #&lt;br /&gt;
  # doneDL.sh - sends an email upon completion of an aMule download&lt;br /&gt;
  # Used in conjuction with aMule's Event feature&lt;br /&gt;
  #&lt;br /&gt;
  # Call like this: doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
  #&lt;br /&gt;
  # Enter your email address here:&lt;br /&gt;
  eMail=&lt;br /&gt;
  #&lt;br /&gt;
  NameShort=$1&lt;br /&gt;
  NameLong=$2&lt;br /&gt;
  Hash=$3&lt;br /&gt;
  Size=$4&lt;br /&gt;
  DLtime=$5&lt;br /&gt;
  {&lt;br /&gt;
  echo aMule completed this download:&lt;br /&gt;
  echo ------------------------------&lt;br /&gt;
  echo&lt;br /&gt;
  echo File: &amp;quot;$NameLong&amp;quot;&lt;br /&gt;
  echo Hash: $Hash&lt;br /&gt;
  echo -n &amp;quot;Time: &amp;quot;&lt;br /&gt;
  date | awk '{print $4 &amp;quot; &amp;quot; $5}'&lt;br /&gt;
  echo -n Size: $Size bytes &lt;br /&gt;
  if [ $Size -gt 102400 ] ; then echo &amp;quot; (&amp;quot;$(($(($Size / 1024)) / 1024)) &amp;quot;Mb)&amp;quot; ; fi&lt;br /&gt;
  if [ ! -z &amp;quot;$DLtime&amp;quot; ] ; then echo &amp;quot;Active download time:&amp;quot; $DLtime ; fi&lt;br /&gt;
  echo&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  cas&lt;br /&gt;
  echo -n &amp;quot;Resident memory: &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $6}') kB&lt;br /&gt;
  echo -n &amp;quot;Virtual memory:  &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $5}') kB&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  } | mail -s &amp;quot;$NameShort&amp;quot; $eMail&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User:Colin</id>
		<title>User:Colin</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User:Colin"/>
				<updated>2006-12-17T15:09:10Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: fxs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Satisfied amule user since September 2004.&lt;br /&gt;
----&lt;br /&gt;
I am also known as '''ezeltje''' in the forum (''ezel'' means &amp;quot;mule&amp;quot; in Dutch, in case anyone is wondering).&lt;br /&gt;
&lt;br /&gt;
Things I have done there:&lt;br /&gt;
&lt;br /&gt;
* created the [[Events]] pages with the example script&lt;br /&gt;
* reorganized [[AMuleWeb]] and rewrote the intro&lt;br /&gt;
&lt;br /&gt;
and other smaller fixes elsewhere...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here is a simple script to remove the obligatory command-line parameter you need to use to run aMule CVS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*bin/true;exec rexx &amp;quot;$0&amp;quot; &amp;quot;$@&amp;quot;;exit # REXX */&lt;br /&gt;
&lt;br /&gt;
/* --------- amuleCVSfx --------- */&lt;br /&gt;
&lt;br /&gt;
/* &lt;br /&gt;
   run this script in ../amule-cvs&lt;br /&gt;
   It will modify src/amule.cpp and save the &lt;br /&gt;
   original at src/amule.cpp~&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
FileIn  = &amp;quot;src/amule.cpp&amp;quot;&lt;br /&gt;
FileOut = &amp;quot;colin.tmp&amp;quot;&lt;br /&gt;
Found   = 0&lt;br /&gt;
&lt;br /&gt;
do while lines(FileIn) &amp;gt; 0&lt;br /&gt;
	OneLine = lineIn(FileIn)&lt;br /&gt;
		if pos(&amp;quot;!cmdline.Found&amp;quot;,OneLine) &amp;gt; 1 &amp;amp; Found &amp;lt;&amp;gt; 1 then&lt;br /&gt;
			do &lt;br /&gt;
			call LineOut FileOut, &amp;quot;//	------ Commented out by amuleCVSfx ------ &amp;quot;&lt;br /&gt;
			call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
			do i = 0 to 4&lt;br /&gt;
				OneLine = lineIn(FileIn)&lt;br /&gt;
				call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
				i = i + 1&lt;br /&gt;
			end&lt;br /&gt;
			Found = 1&lt;br /&gt;
		    end&lt;br /&gt;
		else&lt;br /&gt;
			call LineOut FileOut, OneLine&lt;br /&gt;
	end&lt;br /&gt;
if Found = 1 then&lt;br /&gt;
	do&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileIn FileIn || '~'  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileOut FileIn  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	say &amp;quot;Fixed!&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
else&lt;br /&gt;
	do&lt;br /&gt;
	say &amp;quot;Not found&amp;quot;&lt;br /&gt;
	&amp;quot;rm -f&amp;quot; FileOut&lt;br /&gt;
	end&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to run it in the &amp;quot;amule-cvs&amp;quot; directory before issuing the &amp;quot;make&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
It is written in '''Rexx''', so you will need to have a Rexx interpreter on your system to run it. To install Rexx in Fedora, type &lt;br /&gt;
&amp;quot;yum install oorexx&amp;quot;. For Ubuntu, type &amp;quot;apt-get install rexx-regina&amp;quot;. Other distros probably have Rexx in their repositories under one name or another.&lt;br /&gt;
&lt;br /&gt;
I originally wrote it as a shell script, but file I/O works much better in Rexx, which is designed for this kind of thing.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User:Colin</id>
		<title>User:Colin</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User:Colin"/>
				<updated>2006-12-17T15:05:31Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: fxs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Satisfied amule user since September 2004.&lt;br /&gt;
----&lt;br /&gt;
I am also known as '''ezeltje''' in the forum (''ezel'' means &amp;quot;mule&amp;quot; in Dutch, in case anyone is wondering).&lt;br /&gt;
&lt;br /&gt;
Things I have done there:&lt;br /&gt;
&lt;br /&gt;
* created the [[Events]] pages with the example script&lt;br /&gt;
* reorganized [[AMuleWeb]] and rewrote the intro&lt;br /&gt;
&lt;br /&gt;
and other smaller fixes elsewhere...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here is a simple script to remove the obligatory command-line parameter you need to use to run aMule CVS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*bin/true;exec rexx &amp;quot;$0&amp;quot; &amp;quot;$@&amp;quot;;exit # REXX */&lt;br /&gt;
&lt;br /&gt;
/* --------- amuleCVSfx --------- */&lt;br /&gt;
&lt;br /&gt;
/* &lt;br /&gt;
   run this script in ../amule-cvs&lt;br /&gt;
   It will modify src/amule.cpp and save the &lt;br /&gt;
   original at src/amule.cpp~&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
FileIn  = &amp;quot;src/amule.cpp&amp;quot;&lt;br /&gt;
FileOut = &amp;quot;colin.tmp&amp;quot;&lt;br /&gt;
Found   = 0&lt;br /&gt;
&lt;br /&gt;
do while lines(FileIn) &amp;gt; 0&lt;br /&gt;
	OneLine = lineIn(FileIn)&lt;br /&gt;
		if pos(&amp;quot;!cmdline.Found&amp;quot;,OneLine) &amp;gt; 1 &amp;amp; Found &amp;lt;&amp;gt; 1 then&lt;br /&gt;
			do &lt;br /&gt;
			call LineOut FileOut, &amp;quot;//	------ Commented out by amuleCVSfx ------ &amp;quot;&lt;br /&gt;
			call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
			do i = 0 to 4&lt;br /&gt;
				OneLine = lineIn(FileIn)&lt;br /&gt;
				call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
				i = i + 1&lt;br /&gt;
			end&lt;br /&gt;
			Found = 1&lt;br /&gt;
		    end&lt;br /&gt;
		else&lt;br /&gt;
			call LineOut FileOut, OneLine&lt;br /&gt;
	end&lt;br /&gt;
if Found = 1 then&lt;br /&gt;
	do&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileIn FileIn || '~'  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileOut FileIn  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	say &amp;quot;Fixed!&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
else&lt;br /&gt;
	do&lt;br /&gt;
	say &amp;quot;Not found&amp;quot;&lt;br /&gt;
	&amp;quot;rm -f&amp;quot; FileOut&lt;br /&gt;
	end&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to run it in the '''../amule-cvs''' directory before issuing the &amp;quot;make&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
It is written in '''Rexx''', so you will need to have a Rexx interpreter on your system to run it. To install Rexx in Fedora, type '''yum install oorexx'''.&lt;br /&gt;
For Ubuntu, type '''apt-get install rexx-regina'''. Other distros probably have Rexx in their repositories under one name or another.&lt;br /&gt;
&lt;br /&gt;
I originally wrote it as a shell script, but file I/O works much better in Rexx, which is designed for this kind of thing.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User:Colin</id>
		<title>User:Colin</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User:Colin"/>
				<updated>2006-12-17T15:04:40Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: fxs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Satisfied amule user since September 2004.&lt;br /&gt;
----&lt;br /&gt;
I am also known as '''ezeltje''' in the forum (''ezel'' means &amp;quot;mule&amp;quot; in Dutch, in case anyone is wondering).&lt;br /&gt;
&lt;br /&gt;
Things I have done there:&lt;br /&gt;
&lt;br /&gt;
* created the [[Events]] pages with the example script&lt;br /&gt;
* reorganized [[AmuleWeb]] and rewrote the intro&lt;br /&gt;
&lt;br /&gt;
and other smaller fixes elsewhere...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here is a simple script to remove the obligatory command-line parameter you need to use to run aMule CVS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*bin/true;exec rexx &amp;quot;$0&amp;quot; &amp;quot;$@&amp;quot;;exit # REXX */&lt;br /&gt;
&lt;br /&gt;
/* --------- amuleCVSfx --------- */&lt;br /&gt;
&lt;br /&gt;
/* &lt;br /&gt;
   run this script in ../amule-cvs&lt;br /&gt;
   It will modify src/amule.cpp and save the &lt;br /&gt;
   original at src/amule.cpp~&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
FileIn  = &amp;quot;src/amule.cpp&amp;quot;&lt;br /&gt;
FileOut = &amp;quot;colin.tmp&amp;quot;&lt;br /&gt;
Found   = 0&lt;br /&gt;
&lt;br /&gt;
do while lines(FileIn) &amp;gt; 0&lt;br /&gt;
	OneLine = lineIn(FileIn)&lt;br /&gt;
		if pos(&amp;quot;!cmdline.Found&amp;quot;,OneLine) &amp;gt; 1 &amp;amp; Found &amp;lt;&amp;gt; 1 then&lt;br /&gt;
			do &lt;br /&gt;
			call LineOut FileOut, &amp;quot;//	------ Commented out by amuleCVSfx ------ &amp;quot;&lt;br /&gt;
			call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
			do i = 0 to 4&lt;br /&gt;
				OneLine = lineIn(FileIn)&lt;br /&gt;
				call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
				i = i + 1&lt;br /&gt;
			end&lt;br /&gt;
			Found = 1&lt;br /&gt;
		    end&lt;br /&gt;
		else&lt;br /&gt;
			call LineOut FileOut, OneLine&lt;br /&gt;
	end&lt;br /&gt;
if Found = 1 then&lt;br /&gt;
	do&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileIn FileIn || '~'  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileOut FileIn  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	say &amp;quot;Fixed!&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
else&lt;br /&gt;
	do&lt;br /&gt;
	say &amp;quot;Not found&amp;quot;&lt;br /&gt;
	&amp;quot;rm -f&amp;quot; FileOut&lt;br /&gt;
	end&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to run it in the '''../amule-cvs''' directory before issuing the &amp;quot;make&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
It is written in '''Rexx''', so you will need to have a Rexx interpreter on your system to run it. To install Rexx in Fedora, type '''yum install oorexx'''.&lt;br /&gt;
For Ubuntu, type '''apt-get install rexx-regina'''. Other distros probably have Rexx in their repositories under one name or another.&lt;br /&gt;
&lt;br /&gt;
I originally wrote it as a shell script, but file I/O works much better in Rexx, which is designed for this kind of thing.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User:Colin</id>
		<title>User:Colin</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User:Colin"/>
				<updated>2006-12-17T15:00:12Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: fxs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Satisfied amule customer since sept. 2004.&lt;br /&gt;
----&lt;br /&gt;
I am also known as '''ezeltje''' in the forum (''ezel'' means &amp;quot;mule&amp;quot; in Dutch, in case anyone is wondering).&lt;br /&gt;
&lt;br /&gt;
So far, I have created the [[Events]] pages with the example script.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here is a simple script to remove the obligatory command-line parameter you need to use to run aMule CVS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*bin/true;exec rexx &amp;quot;$0&amp;quot; &amp;quot;$@&amp;quot;;exit # REXX */&lt;br /&gt;
&lt;br /&gt;
/* --------- amuleCVSfx --------- */&lt;br /&gt;
&lt;br /&gt;
/* &lt;br /&gt;
   run this script in ../amule-cvs&lt;br /&gt;
   It will modify src/amule.cpp and save the &lt;br /&gt;
   original at src/amule.cpp~&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
FileIn  = &amp;quot;src/amule.cpp&amp;quot;&lt;br /&gt;
FileOut = &amp;quot;colin.tmp&amp;quot;&lt;br /&gt;
Found   = 0&lt;br /&gt;
&lt;br /&gt;
do while lines(FileIn) &amp;gt; 0&lt;br /&gt;
	OneLine = lineIn(FileIn)&lt;br /&gt;
		if pos(&amp;quot;!cmdline.Found&amp;quot;,OneLine) &amp;gt; 1 &amp;amp; Found &amp;lt;&amp;gt; 1 then&lt;br /&gt;
			do &lt;br /&gt;
			call LineOut FileOut, &amp;quot;//	------ Commented out by amuleCVSfx ------ &amp;quot;&lt;br /&gt;
			call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
			do i = 0 to 4&lt;br /&gt;
				OneLine = lineIn(FileIn)&lt;br /&gt;
				call LineOut FileOut, &amp;quot;//&amp;quot; OneLine&lt;br /&gt;
				i = i + 1&lt;br /&gt;
			end&lt;br /&gt;
			Found = 1&lt;br /&gt;
		    end&lt;br /&gt;
		else&lt;br /&gt;
			call LineOut FileOut, OneLine&lt;br /&gt;
	end&lt;br /&gt;
if Found = 1 then&lt;br /&gt;
	do&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileIn FileIn || '~'  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	&amp;quot;mv -f&amp;quot;  FileOut FileIn  &amp;quot;2&amp;gt;&amp;amp;1&amp;quot;&lt;br /&gt;
	say &amp;quot;Fixed!&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
else&lt;br /&gt;
	do&lt;br /&gt;
	say &amp;quot;Not found&amp;quot;&lt;br /&gt;
	&amp;quot;rm -f&amp;quot; FileOut&lt;br /&gt;
	end&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to run it in the '''../amule-cvs''' directory before issuing the &amp;quot;make&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
It is written in '''Rexx''', so you will need to have a Rexx interpreter on your system to run it. To install Rexx in Fedora, type '''yum install oorexx'''.&lt;br /&gt;
For Ubuntu, type '''apt-get install rexx-regina'''. Other distros probably have Rexx in their repositories under one name or another.&lt;br /&gt;
&lt;br /&gt;
I originally wrote it as a shell script, but file I/O works much better in Rexx, which is designed for this kind of thing.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMuleWeb</id>
		<title>AMuleWeb</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMuleWeb"/>
				<updated>2006-12-17T14:43:28Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: reorg, grammar &amp;amp; spelling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''aMuleWeb''' is a utility that allows you to control aMule by means of a web browser from any location. The web interface offers a subset of aMule functionality, including searching for files, initializing downloads, and viewing your download queue. It also displays status information and allows you to change certain options.&lt;br /&gt;
&lt;br /&gt;
aMule itself doesn't support [http://www.w3.org/MarkUp HTTP] connections; aMuleWeb, which does, therefore serves as an intermediary between aMule and a web browser. Once the link between aMuleWeb and a remote user is established, it connects to aMule via the [[External Connections]] interface.&lt;br /&gt;
&lt;br /&gt;
By default, aMuleWeb listens for HTTP connections at port 4711, but this can be changed in [[Usage Preferences|Preferences]]'.&lt;br /&gt;
&lt;br /&gt;
== Installing aMuleWeb ==&lt;br /&gt;
&lt;br /&gt;
Many of not most distros have an aMule package in their repositories. If you install aMule by means of RPM, DEB, or other package management system, aMuleWeb will be included in the installation. &lt;br /&gt;
&lt;br /&gt;
This is the easiest and preferred method of installing aMule and aMuleWeb.&lt;br /&gt;
&lt;br /&gt;
== Compiling aMuleWeb ==&lt;br /&gt;
&lt;br /&gt;
If you have not installed aMule by means of a package, you will need to compile it from source.&lt;br /&gt;
&lt;br /&gt;
aMuleWeb is not compiled separately; it is compiled at the same time you compile aMule by using the ''--enable-amuleweb'' flag when you run ''configure''. (See the [[Main Page]] for links to pages on compiling aMule for various operating systems). &lt;br /&gt;
&lt;br /&gt;
== Configuring aMuleWeb ==&lt;br /&gt;
&lt;br /&gt;
To use aMuleWeb, you first need to set several opions in aMule's Preferences notebook. On the &amp;quot;Remote Controls&amp;quot; page, you will need to:&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;quot;Accept External Connections&amp;quot;.&lt;br /&gt;
* Enter a password for External Connections.&lt;br /&gt;
* Enable webserver&lt;br /&gt;
&lt;br /&gt;
You can also modifiy the default aMuleWeb port (4711) and External Connections port (4712) here as well, but if you do so, you will need to restart aMule for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
(If you are running aMuled and don't want to use aMule to configure aMuleWeb, see the instructions below)&lt;br /&gt;
&lt;br /&gt;
Next, you need to do is generate ''remote.conf'', the file where aMuleWeb stores its configuration information. (It can be found in the .aMule directory.) Among other things, this file contains the port number which aMule uses for External Connections as well as the password needed to access aMule.  &lt;br /&gt;
&lt;br /&gt;
To create a ''remote.conf'' file, enter at the command line:&lt;br /&gt;
&lt;br /&gt;
 $ amuleweb -w&lt;br /&gt;
&lt;br /&gt;
aMuleWeb will read the necessary configuration information from amule.conf and generate a ''remote.conf'' file, then exit.&lt;br /&gt;
&lt;br /&gt;
Then start aMuleWeb normally:&lt;br /&gt;
&lt;br /&gt;
 $ amuleweb&lt;br /&gt;
&lt;br /&gt;
You should now be able to open aMuleWeb in a browser by entering the URL (on the local system):&lt;br /&gt;
&lt;br /&gt;
  http://localhost:4711&lt;br /&gt;
&lt;br /&gt;
or, the with computer's hostname (locally or remote):&lt;br /&gt;
&lt;br /&gt;
  http://hostname:4711:&lt;br /&gt;
&lt;br /&gt;
If you want to run aMuleWeb on a different computer than aMule, just copy ''remote.conf'' to the .aMule directory on that computer, and change the hostname line accordingly.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' aMuleWeb uses cookies to store session information. Make sure that cookies are enabled in your browser.&lt;br /&gt;
&lt;br /&gt;
== Launching aMuleWeb ==&lt;br /&gt;
&lt;br /&gt;
There are two options for launching aMuleWeb. &lt;br /&gt;
&lt;br /&gt;
First, and preferred, is to enable aMuleWeb activation in aMule's preferences.  When started, aMule (or aMuled) will launch amuleweb. Upon exit, aMuleWeb will be automatically terminated.&lt;br /&gt;
&lt;br /&gt;
The second option is to run aMuleWeb manually by entering the &amp;quot;amuleweb&amp;quot; command in terminal.&lt;br /&gt;
&lt;br /&gt;
== Configuring aMuleWeb with aMuled ==&lt;br /&gt;
&lt;br /&gt;
First, if aMuled is running, shut it down.&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
  $ amuleweb -w&lt;br /&gt;
&lt;br /&gt;
to generate a ''remote.conf'' file. You will need to edit these options in the [ExternalConnect] section:&lt;br /&gt;
&lt;br /&gt;
*''AcceptExternalConnections=1'' &amp;lt;-- To enable External Connections.&lt;br /&gt;
&lt;br /&gt;
*''ECPassword=ca3c365274907c6fd527068788e14639'' &amp;lt;--  MD5 string&lt;br /&gt;
&lt;br /&gt;
You can then restart amuled and amuleweb.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' Passwords must be md5sum format. To generate an MD5sum for your password, run:&lt;br /&gt;
:''$ echo -n yourpasswordhere | md5sum | cut -d ' ' -f 1''&lt;br /&gt;
:''ca3c365274907c6fd527068788e14639''&lt;br /&gt;
&lt;br /&gt;
'''Note'''If you get ''FATAL ERROR: Cannot find template: default'' it's because you didn't run ''make install''. If you don't want to install aMule, copy the ''src/webserver/default/'' directory into ''~/.aMule/webserver/'' (create it if needed). If you want any other template (probably ''php-default''), copy it too. Then go back to the previous step.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== aMuleWeb with older versions of aMule ===&lt;br /&gt;
&lt;br /&gt;
For instructions for using aMuleWeb with aMule pre-2.0.0 final, see [[Webserver-old|this page]] for archived material.&lt;br /&gt;
&lt;br /&gt;
== Standard ports ==&lt;br /&gt;
&lt;br /&gt;
The ports can be set to anything, but by default aMule uses:&lt;br /&gt;
&lt;br /&gt;
*External Connections: 4712&lt;br /&gt;
*amuleweb: 4711&lt;br /&gt;
&lt;br /&gt;
Make sure you do not confuse the two; in the default configuration, it looks like this: &lt;br /&gt;
&lt;br /&gt;
aMule --&amp;gt; [4712] --&amp;gt; aMuleWeb --&amp;gt; [4711] --&amp;gt; web browser&lt;br /&gt;
&lt;br /&gt;
== Template (skin) location ==&lt;br /&gt;
&lt;br /&gt;
aMuleWeb looks for its files in a number of places:&lt;br /&gt;
&lt;br /&gt;
*In your home directory: ''$HOME/.aMule/webserver/''[skin name]''/''&lt;br /&gt;
&lt;br /&gt;
*And at its install location, in this order (by default, ''/usr/local/share/amule/webserver'' if you compiled aMule, or ''/usr/share/amule/webserver'' if you installed it from a package).&lt;br /&gt;
&lt;br /&gt;
Default template name is 'default'.&lt;br /&gt;
&lt;br /&gt;
If, ''after installing'' aMule, aMuleWeb refuses to run because of not being able to load template:&lt;br /&gt;
&lt;br /&gt;
*Please report this situation to us, and then&lt;br /&gt;
&lt;br /&gt;
*Create the directories ''webserver/default'' in the ''.aMule'' subdirectory of your home directory, and copy the contents of the ''src/webserver'' directory there from the aMule tarball (ie, ''$HOME/.aMule/webserver/default'').&lt;br /&gt;
&lt;br /&gt;
== aMuled and aMuleWeb as services  ==&lt;br /&gt;
&lt;br /&gt;
Although starting aMuleWeb by enabling it inaMule's preferences is the preferred method, you can also run aMuleWeb together with aMuled as as services by means of an init.d script. Here is an example:&lt;br /&gt;
&lt;br /&gt;
''/etc/init.d/amule''&lt;br /&gt;
&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
 DAEMON=/usr/bin/amuled&lt;br /&gt;
 WEB=/usr/bin/amuleweb&lt;br /&gt;
 NAME=amuled&lt;br /&gt;
 DESC=amuled&lt;br /&gt;
 RUNAMULE=no&lt;br /&gt;
 USER=youramuleuser&lt;br /&gt;
 &lt;br /&gt;
 test -x $DAEMON || exit 0&lt;br /&gt;
 &lt;br /&gt;
 # Include amule defaults if available&lt;br /&gt;
 if [ -f /etc/default/amule ] ; then&lt;br /&gt;
     . /etc/default/amule&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ &amp;quot;$RUNAMULE&amp;quot; != &amp;quot;yes&amp;quot; ];then&lt;br /&gt;
     echo &amp;quot;Amule not to be started. Edit /etc/default/amule first.&amp;quot;&lt;br /&gt;
     exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 set -e&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
   start)&lt;br /&gt;
     echo -n &amp;quot;Starting $DESC: &amp;quot;&lt;br /&gt;
        su $USER -c &amp;quot;$DAEMON -f&amp;quot;&lt;br /&gt;
        while ! netstat -l -n -p -t | grep -q amuled ; do sleep 1 ; done&lt;br /&gt;
        su $USER -c &amp;quot;$WEB --quiet &amp;amp;&amp;quot;&lt;br /&gt;
     echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
   stop)&lt;br /&gt;
     echo -n &amp;quot;Stopping $DESC: &amp;quot;&lt;br /&gt;
        killall --quiet --ignore-case $WEB&lt;br /&gt;
        killall --quiet --ignore-case $DAEMON&lt;br /&gt;
     echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
   restart|force-reload)&lt;br /&gt;
     echo -n &amp;quot;Restarting $DESC: &amp;quot;&lt;br /&gt;
        killall --quiet --ignore-case $WEB&lt;br /&gt;
        killall --quiet --ignore-case $DAEMON&lt;br /&gt;
     sleep 1&lt;br /&gt;
        su $USER -c &amp;quot;$DAEMON -f&amp;quot;&lt;br /&gt;
        while ! netstat -l -n -p -t | grep -q amuled ; do sleep 1 ; done&lt;br /&gt;
        su $USER -c &amp;quot;$WEB --quiet &amp;amp;&amp;quot;&lt;br /&gt;
     echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
     ;;&lt;br /&gt;
   *)&lt;br /&gt;
     N=/etc/init.d/$NAME&lt;br /&gt;
     echo &amp;quot;Usage: $N {start|stop|restart|force-reload}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
     exit 1&lt;br /&gt;
     ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
Then just set that script to be run at start up. On [[Debian]] this would be doen with the following command:&lt;br /&gt;
&lt;br /&gt;
 update-rc.d amule defaults&lt;br /&gt;
&lt;br /&gt;
Then, for the daemons to start you just have to create a file ''/etc/default/amule'' which contains a single line:&lt;br /&gt;
&lt;br /&gt;
 RUNAMULE=yes&lt;br /&gt;
&lt;br /&gt;
== Template language and development  ==&lt;br /&gt;
&lt;br /&gt;
Simply put, aMuleWeb templates are ordinary HTML files. In order to make them &amp;quot;interactive&amp;quot;, server-side language is embedded inside. This language is scaled down dialect of PHP. More detailed information can be found on [[aMuleWeb_PHP]].&lt;br /&gt;
&lt;br /&gt;
== Where to report problems and questions? ==&lt;br /&gt;
&lt;br /&gt;
For Problems or Questions just report on http://forum.amule.org forum or join [[IRC]] channel [irc://irc.freenode.net/amule #amule] at [irc://irc.freenode.net irc.freenode.net]&lt;br /&gt;
&lt;br /&gt;
== Other sources of information ==&lt;br /&gt;
&lt;br /&gt;
Read the aMuleWeb man page, which is available in English, French, German, Hungarian and Spanish.&lt;br /&gt;
&lt;br /&gt;
For further information read the [[FAQ_webserver|aMuleWeb FAQ]].&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Log</id>
		<title>Log</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Log"/>
				<updated>2006-12-17T12:53:29Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: lnk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A log is usually a [[file]] containing a record of chronological information about something happenning.&lt;br /&gt;
&lt;br /&gt;
aMule's log is called [[logfile]] and is stored with aMule's other settings in the ./aMule directory. It is a text file which you can view with &amp;quot;more&amp;quot;, &amp;quot;less&amp;quot;, or any other text file viewer.&lt;br /&gt;
&lt;br /&gt;
===External link===&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Data_logging Wikipedia's log article].&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Logfile</id>
		<title>Logfile</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Logfile"/>
				<updated>2006-12-17T12:51:00Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: rm (There is currently no text in this page)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''logfile''' is where aMule records important information about its status and actions. The logfile is displayed in the lower window on the Network page of aMule, where it is updated continually.&lt;br /&gt;
&lt;br /&gt;
The logfile is stored with aMule's other settings in the ./aMule directory. It is a text file which you can view outside of aMule with &amp;quot;more&amp;quot;, &amp;quot;less&amp;quot;, or any other text file viewer.&lt;br /&gt;
&lt;br /&gt;
When aMule starts, it creates a new log. The previous log is stored as &amp;quot;logfile.bak&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Logfile</id>
		<title>Logfile</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Logfile"/>
				<updated>2006-12-17T12:49:38Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: new entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(There is currently no text in this page)&lt;br /&gt;
The '''logfile''' is where aMule records important information about its status and actions. The logfile is displayed in the lower window on the Network page of aMule, where it is updated continually.&lt;br /&gt;
&lt;br /&gt;
The logfile is stored with aMule's other settings in the ./aMule directory. It is a text file which you can view outside of aMule with &amp;quot;more&amp;quot;, &amp;quot;less&amp;quot;, or any other text file viewer.&lt;br /&gt;
&lt;br /&gt;
When aMule starts, it creates a new log. The previous log is stored as &amp;quot;logfile.bak&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Events</id>
		<title>Events</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Events"/>
				<updated>2006-12-17T12:40:15Z</updated>
		
		<summary type="html">&lt;p&gt;Colin: + amule.conf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[events-de|German]] | [[events-nds|Low-Saxon]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Events''' are actions aMule can take upon when certain things happen. These actions are configured on the [[Usage_Preferences#Events|Events]] tab of the [[Usage_Preferences]] notebook or, if you are running amuled, in the [UserEvents] section of [[amule.conf]].&lt;br /&gt;
&lt;br /&gt;
There are two kinds of Events supported at the moment:&lt;br /&gt;
* Download completed&lt;br /&gt;
* New chat session&lt;br /&gt;
* Out of space&lt;br /&gt;
* Error on completion&lt;br /&gt;
&lt;br /&gt;
When one of these events is triggered, you can configure aMule to execute a&lt;br /&gt;
* core command&lt;br /&gt;
* GUI command&lt;br /&gt;
&lt;br /&gt;
A core command is a command that will be executed by a flavor of aMule that has a core (aMule daemon or aMule monolithic). A GUI command is a command that will be executed by a flavor of aMule that has GUI (aMule GUI or aMule monolithic). Notice that if you specify both, aMule monolithic will execute both.&lt;br /&gt;
&lt;br /&gt;
=== Download completed ===&lt;br /&gt;
&lt;br /&gt;
When aMule completes a download, a Download completed event is triggered. The following variables can be accessed:&lt;br /&gt;
* %NAME - the name of the downloaded file with full path&lt;br /&gt;
* %FILE - the name of the downloaded file without path&lt;br /&gt;
* %HASH - the ed2k hash of the downloaded file&lt;br /&gt;
* %SIZE - the size in bytes of the downloaded file&lt;br /&gt;
* %DLACTIVETIME - the total time the download was active&lt;br /&gt;
&lt;br /&gt;
=== New chat session ===&lt;br /&gt;
&lt;br /&gt;
When someone initiates a chat session with you, the New chat session event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %Sender - username of the person initiating the chat&lt;br /&gt;
&lt;br /&gt;
=== Out of space ===&lt;br /&gt;
&lt;br /&gt;
When aMule runs out of diskspace on the partition which it uses for its temporary files, the Out of space event is triggered. When this happens, the following variable can be accessed:&lt;br /&gt;
* %PARTITION&lt;br /&gt;
&lt;br /&gt;
=== Error on completion ===&lt;br /&gt;
&lt;br /&gt;
When aMule is unable to move a file from the &amp;quot;temporary&amp;quot; directory to the &amp;quot;incoming&amp;quot; directory, an Error on completion event is triggered. This is typically caused by lack of diskspace on the partition where the incoming directory is located. When this happens, the following variable can be accessed:&lt;br /&gt;
* %FILE&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
&lt;br /&gt;
To call an external script, enter the script name in the core command field, followed by the optional variables. For example:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh %NAME %FILE %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the filename contains spaces, the variable names should be enclosed in quotes like this:&lt;br /&gt;
&lt;br /&gt;
:MyScript.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You need to make sure your script is in your PATH or that you supply the full pathname.&lt;br /&gt;
&lt;br /&gt;
=== Errors ===&lt;br /&gt;
&lt;br /&gt;
If your script fails to execute for any reason, this will be logged in aMule's [[logfile]]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Here the bash script by '''Ezeltje''' from [http://forum.amule.org/thread.php?threadid=11695 aMule-Forum] which will send you an email every time a download is completed. To use it, enter your email address where indicated and save it to a location in your PATH. Then add this line: &lt;br /&gt;
&lt;br /&gt;
:doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the Core command field of the Download completed section of the Events page. It will now be invoked everytime aMule finishes a download.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  #&lt;br /&gt;
  # doneDL.sh - sends an email upon completion of an aMule download&lt;br /&gt;
  # Used in conjuction with aMule's Event feature&lt;br /&gt;
  #&lt;br /&gt;
  # Call like this: doneDL.sh &amp;quot;%NAME&amp;quot; &amp;quot;%FILE&amp;quot; %HASH %SIZE &amp;quot;%DLACTIVETIME&amp;quot;&lt;br /&gt;
  #&lt;br /&gt;
  # Enter your email address here:&lt;br /&gt;
  eMail=&lt;br /&gt;
  #&lt;br /&gt;
  NameShort=$1&lt;br /&gt;
  NameLong=$2&lt;br /&gt;
  Hash=$3&lt;br /&gt;
  Size=$4&lt;br /&gt;
  DLtime=$5&lt;br /&gt;
  {&lt;br /&gt;
  echo aMule completed this download:&lt;br /&gt;
  echo ------------------------------&lt;br /&gt;
  echo&lt;br /&gt;
  echo File: &amp;quot;$NameLong&amp;quot;&lt;br /&gt;
  echo Hash: $Hash&lt;br /&gt;
  echo -n &amp;quot;Time: &amp;quot;&lt;br /&gt;
  date | awk '{print $4 &amp;quot; &amp;quot; $5}'&lt;br /&gt;
  echo -n Size: $Size bytes &lt;br /&gt;
  if [ $Size -gt 102400 ] ; then echo &amp;quot; (&amp;quot;$(($(($Size / 1024)) / 1024)) &amp;quot;Mb)&amp;quot; ; fi&lt;br /&gt;
  if [ ! -z &amp;quot;$DLtime&amp;quot; ] ; then echo &amp;quot;Active download time:&amp;quot; $DLtime ; fi&lt;br /&gt;
  echo&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  cas&lt;br /&gt;
  echo -n &amp;quot;Resident memory: &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $6}') kB&lt;br /&gt;
  echo -n &amp;quot;Virtual memory:  &amp;quot;&lt;br /&gt;
  echo $(ps u -C amule --no-headers | awk '{print $5}') kB&lt;br /&gt;
  echo --------------------------------------------------------------------&lt;br /&gt;
  } | mail -s &amp;quot;$NameShort&amp;quot; $eMail&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Colin</name></author>	</entry>

	</feed>