<?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=213.60.54.60</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=213.60.54.60"/>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Special:Contributions/213.60.54.60"/>
		<updated>2026-04-05T16:53:39Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_compile_on_Win32_with_MinGW</id>
		<title>HowTo compile on Win32 with MinGW</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_compile_on_Win32_with_MinGW"/>
				<updated>2005-04-27T18:28:09Z</updated>
		
		<summary type="html">&lt;p&gt;213.60.54.60: Update for 2.0.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&amp;lt;h2&amp;gt;by '''Madcat'''&amp;lt;/h2&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  List of things you need to compile [[aMule]]  ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Some of these require manually moving includes/libs into the right directories.&lt;br /&gt;
&lt;br /&gt;
[http://www.microsoft.com/windows Windows] port of [http://gcc.gnu.org GNU C compiler] -&amp;gt; [http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download Download]&lt;br /&gt;
&lt;br /&gt;
Minimal [http://www.gnu.org GNU] shell for [http://www.microsoft.com/windows Windows] -&amp;gt; [http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download Download]&lt;br /&gt;
&lt;br /&gt;
Developer toolkit for [http://www.mingw.org/msys.shtml MSys] (for [http://www.gnu.org/software/cvs CVS] &amp;amp; co) -&amp;gt; [http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download Download]&lt;br /&gt;
&lt;br /&gt;
[http://www.gnu.org/software/libiconv LibIConv] (required by [http://www.gnu.org/software/gettext gettext]) -&amp;gt;&lt;br /&gt;
[http://prdownloads.sf.net/mingw/libiconv-1.8.0-2003.02.01-1.exe?download Download]&lt;br /&gt;
&lt;br /&gt;
[http://www.gnu.org/software/gettext GetText] (for [http://www.gnu.org/software/gettext po files], [http://www.gnu.org/software/automake/automake.html autogen.sh], etc) -&amp;gt;&lt;br /&gt;
[http://prdownloads.sf.net/mingw/gettext-0.11.5-2003.02.01-1.exe?download Download]&lt;br /&gt;
&lt;br /&gt;
[http://www.zlib.org zlib] compression library -&amp;gt;&lt;br /&gt;
[http://www.zlib.net/zlib-1.2.2.tar.gz Download]&lt;br /&gt;
&lt;br /&gt;
[http://www.microsoft.com/windows Windows] port of [[wxWidgets]] library -&amp;gt;&lt;br /&gt;
[http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.0.zip Download]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Common guidelines, issues, solutions  ==&lt;br /&gt;
&lt;br /&gt;
Generally, compile [[wxWidgets|wxMSW]] as static library. This avoids several linker issues, and provides you with static binary.&lt;br /&gt;
&lt;br /&gt;
Link statically against ''[http://www.zlib.org zlib]'', ''[http://curl.haxx.se curl]'' and ''[[wxWidgets|wxMSW]]'' to avoid distributing extranous DLLs (and generally make life simpler). At this point, this requires manually hacking ''src/Makefile'' (after running ''configure'') and changing the necessary ''-l***'' places to paths to static libraries.&lt;br /&gt;
&lt;br /&gt;
You need to modify ''wx/setup.h'' file by hand (after installing [[wxWidgets|wx]]) and change ''[http://www.wxwindows.org/manuals/2.4.2/wx53.htm wxCheckListBox]'' to ''0'' (or, alternativly, configure [[wxWidgets|wx]] with ''--without-checklistbox''). Probably there's a better way around this, but I can't think of any right now.&lt;br /&gt;
&lt;br /&gt;
Why don't distribute a compiled version?&lt;br /&gt;
&lt;br /&gt;
Oh! Please compile it - it will be so much easier....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Compiling with [http://www.parinya.ca/mingwstudio.html MinGW Studio]  ==&lt;br /&gt;
&lt;br /&gt;
Since the 2004/07/17, you can find in [http://www.gnu.org/software/cvs CVS] the file ''amule.msp'' which is the project file relative to the [http://www.parinya.ca/mingwstudio.html MinGW Studio] IDE ([http://www.gnu.org/philosophy/free-sw.html Free] and under [http://www.gnu.org/copyleft/gpl.html GPL] at http://www.parinya.ca/ and shipped with precompiled [[wxWidgets|wxMSW]]). &lt;br /&gt;
&lt;br /&gt;
Install [http://www.parinya.ca/mingwstudio.html MinGW Studio], add [http://www.zlib.org Zlib] and [http://curl.haxx.se Curl] compiled libs in The [http://www.parinya.ca/mingwstudio.html MinGW Studio] tree.&lt;br /&gt;
&lt;br /&gt;
Then, open ''amule.msp'' with [http://www.parinya.ca/mingwstudio.html MinGW Studio], press '''F7''', and [[aMule]] &amp;quot;should&amp;quot; be compiled :)&lt;br /&gt;
&lt;br /&gt;
Yes, I know, &amp;quot;compile&amp;quot; is not the same as &amp;quot;work&amp;quot; ... But it is a great begining&lt;br /&gt;
&lt;br /&gt;
==  Compiling with [http://www.gnu.org/software/make Makefile][http://www.microsoft.com/windows WIN32]  ==&lt;br /&gt;
&lt;br /&gt;
With [http://www.mingw.org/msys.shtml MinSyS] and [http://www.mingw.org MinGW], you can use the shipped [http://www.gnu.org/software/make Makefile][http://www.microsoft.com/windows WIN32].&lt;br /&gt;
&lt;br /&gt;
Just rename ''configWIN32.h'' to ''config.h'', edit [http://www.gnu.org/software/make Makefile][http://www.microsoft.com/windows WIN32] to give it the path of your compiler, and type ''make -f MakefileWIN32''&lt;/div&gt;</summary>
		<author><name>213.60.54.60</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_devs</id>
		<title>AMule devs</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_devs"/>
				<updated>2005-02-23T01:52:25Z</updated>
		
		<summary type="html">&lt;p&gt;213.60.54.60: Not right now.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The [[aMule]] Project ==&lt;br /&gt;
The aMule project is led by a bunch in people who toil away in front of their computers, so that you can enjoy a stable and featureful P2P client.&lt;br /&gt;
This page is about us.&lt;br /&gt;
&lt;br /&gt;
== The Team ==&lt;br /&gt;
These are the people who work on aMule:&lt;br /&gt;
&lt;br /&gt;
=== Developers ===&lt;br /&gt;
* [[User:deltaHF|deltaHF]]: Webmaster, Admin and from-time-to-time-coder ;)&lt;br /&gt;
* [[User:falso|falso]]: [[CAS]] coder.&lt;br /&gt;
* [[User:GonoszTopi|GonoszTopi]]: [[External Connections]] developer.&lt;br /&gt;
* [[User:Hetfield|Hetfield]]: Ex-Admin, pretty-no-free-time coder.&lt;br /&gt;
* [[User:Jacobo221|Jacobo221]]: Our man-for-all&lt;br /&gt;
* [[User:ken|Ken]]: The big [http://www.apple.com/macosx Mac] guy.&lt;br /&gt;
* [[User:Kry|Kry]]: Main developer and Admin&lt;br /&gt;
* [[User:lfroen|lfroen]]: Core/GUI dedicated guy.&lt;br /&gt;
* [[User:Phoenix|Phoenix]]: Code janitor junior.&lt;br /&gt;
* [[User:thepolish|thepolish]]: [[aMule]] [[FAQ_utils|tools]] coder.&lt;br /&gt;
* [[User:Unleashed|Unleashed]]: Sometimes around ;)&lt;br /&gt;
* [[User:Xaignar|Xaignar]]: Code janitor extraordinaire!&lt;br /&gt;
&lt;br /&gt;
=== Testers ===&lt;br /&gt;
* [[User:Citroklar|Citroklar]]: Tester, slave-work-coder (sometimes)&lt;br /&gt;
* ender`: Tester&lt;br /&gt;
* nachbarnebenan: Tester, and life-complicator by using large&amp;amp;strange nicks ;-P&lt;br /&gt;
* nich: Tester&lt;br /&gt;
* [[User:Stefanero|Stefanero]]: Supporter, Tester, and [[aMuleWeb]] Guru&lt;br /&gt;
* thedude0001: Tester&lt;br /&gt;
* skolnick: Solaris tester&lt;br /&gt;
&lt;br /&gt;
=== Special Gold Guest Members ===&lt;br /&gt;
* [[User:Bigbob|Bigbob]]: Also known as ''[[User:Bigbob|Creteil]]''; [[aMule]] project creator.&lt;br /&gt;
* [[User:Madcat|Madcat]]: The one and only kitty dev.&lt;br /&gt;
* [[User:Tiku|Tiku]]: And God said: Let there be [[lMule]]!&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
* [[User:Bootstrap|bootstrap]]: [[IRC]] bot (''bootbox'') and [[aMule CVS]] hoster&lt;br /&gt;
* [[User:uberpenguin|uberpenguin]]: uberpenguin is extremely difficult to classify...  Let us call him the 'official bystander to *mule'.&lt;br /&gt;
* niet: [http://www.dns.net/dnsrd DNS] stuff, [[XAS]], tester.&lt;br /&gt;
&lt;br /&gt;
=== Former Team-members ===&lt;br /&gt;
These are people who have worked on [[aMule]] in the past.&lt;br /&gt;
Please note that this list doesn't include the people from before [[aMule]] forked off from [[xMule]], nor does it include people from the [[LMule]] days. If you wish to learn more about those, please visit the websites of those projects.&lt;br /&gt;
&lt;br /&gt;
==== Developers ====&lt;br /&gt;
* shakraw: [[aMuleWeb]] mantainer.&lt;br /&gt;
&lt;br /&gt;
==== Testers ====&lt;br /&gt;
&lt;br /&gt;
== Helping ==&lt;br /&gt;
We can always use another helping hand, and if you are interested, then I'd encourage you to contact us and see if you can help us. Currently, what we need the most is developers and testers, though also translators and others.&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Developer ===&lt;br /&gt;
To become a [[aMule]] Developer (tm), you'll need at the very least a working knowledge of C++, since that is the language in which [[aMule]] is written. You'll also need to learn about the GUI toolkit used by [[aMule]]: [[wxWidgets]]. Of course, you will have to follow our [[Coding Style]] rules or we will beat you to death with a brick in a sock.&lt;br /&gt;
&lt;br /&gt;
However, we do not require that you are an expert, only that you are willing to help and willing to learn.&lt;br /&gt;
&lt;br /&gt;
If you are interested, then simply drop by on [[IRC]] and let us know. Currently we use a private [http://www.gnu.org/software/cvs CVS] server, but after you've submitted a patch or two you can easily get r/w access to it. You can also post patches on the [http://www.amule-project.net/amule/board.php?boardid=47 Development] forum, however, virtually all discussions regarding development happens on [[IRC]], so learning about that is a good idea as well.&lt;br /&gt;
&lt;br /&gt;
We can use your skills if you are using one of the platforms where we aim at being usable on: [http://www.unix.org Unix], *[http://www.bsd.org BSD], [http://www.sun.com/solaris Solaris], [http://www.apple.com Macs] and [http://www.microsoft.com/windows Windows].&lt;br /&gt;
And if your operating system of choice isn't on that list, then maybe you can help add it.&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Tester ===&lt;br /&gt;
We need people who are willing to create complete bug-reports, as the standard is pretty low regarding user reports. This is rather simple, but takes patience. Please contact us on [[IRC]] for more information and read [[Backtraces|this guide on creating useful backtraces]].&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Translator ===&lt;br /&gt;
[[aMule]] already includes translations for a number of languages, however, we'll always welcome more, and even if your language of choice has been done already, then perhaps you can help improve it. Please see the [http://forum.amule.org/board.php?boardid=40 Translations forum] for more information on current translations, or contact us on [[IRC]]. Also, take a deep look into the [[Translations|aMule translation howto]].&lt;br /&gt;
&lt;br /&gt;
Of course, you can also work on [[Translating_Wiki|translating this wiki]]'s articles. There's still a lot of work to do!&lt;/div&gt;</summary>
		<author><name>213.60.54.60</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HopeSeekr</id>
		<title>HopeSeekr</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HopeSeekr"/>
				<updated>2005-02-15T21:37:53Z</updated>
		
		<summary type="html">&lt;p&gt;213.60.54.60: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Current only developer the [[lmule]] fork, [[xMule]]. A.K.A Un-Thesis | unthesis.&lt;/div&gt;</summary>
		<author><name>213.60.54.60</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_devs</id>
		<title>AMule devs</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_devs"/>
				<updated>2005-02-11T18:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;213.60.54.60: BSD too!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The [[aMule]] Project ==&lt;br /&gt;
The aMule project is led by a bunch in people who toil away in front of their computers, so that you can enjoy a stable and featureful P2P client.&lt;br /&gt;
This page is about us.&lt;br /&gt;
&lt;br /&gt;
== The Team ==&lt;br /&gt;
These are the people who work on aMule:&lt;br /&gt;
&lt;br /&gt;
=== Developers ===&lt;br /&gt;
&lt;br /&gt;
* [[User:deltaHF|deltaHF]]: Webmaster, Admin and from-time-to-time-coder ;)&lt;br /&gt;
* [[User:Jacobo221|Jacobo221]]: Our man-for-all&lt;br /&gt;
* [[User:Kry|Kry]]: Main developer and Admin&lt;br /&gt;
* [[User:lfroen|lfroen]]: Core/GUI dedicated guy.&lt;br /&gt;
* [[User:Phoenix|Phoenix]]: Code janitor junior.&lt;br /&gt;
* [[User:thepolish|thepolish]]: [[aMule]] [[FAQ_utils|tools]] coder.&lt;br /&gt;
* [[User:Unleashed|Unleashed]]: Sometimes around ;)&lt;br /&gt;
* [[User:Xaignar|Xaignar]]: Code janitor extraordinaire!&lt;br /&gt;
* [[User:GonoszTopi|GonoszTopi]]: [[External Connections]] developer.&lt;br /&gt;
* [[User:falso|falso]]: [[CAS]] coder.&lt;br /&gt;
* [[User:Hetfield|Hetfield]]: Admin, pretty-no-free-time coder.&lt;br /&gt;
&lt;br /&gt;
=== Testers ===&lt;br /&gt;
* [[User:Citroklar|Citroklar]]: Tester, slave-work-coder (sometimes)&lt;br /&gt;
* ender`: Tester&lt;br /&gt;
* nachbarnebenan: Tester, and life-complicator by using large&amp;amp;strange nicks ;-P&lt;br /&gt;
* nich: Tester&lt;br /&gt;
* [[User:Stefanero|Stefanero]]: Supporter, Tester, and [[aMuleWeb]] Guru&lt;br /&gt;
&lt;br /&gt;
=== Special Gold Guest Members ===&lt;br /&gt;
* [[User:Bigbob|Bigbob]]: Also known as ''[[User:Bigbob|Creteil]]''; [[aMule]] project creator.&lt;br /&gt;
* [[User:Madcat|Madcat]]: The one and only kitty dev.&lt;br /&gt;
* [[User:Tiku|Tiku]]: And God said: Let there be [[lMule]]!&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
* [[User:Bootstrap|bootstrap]]: [[IRC]] bot (''bootbox'') and [[aMule CVS]] hoster&lt;br /&gt;
* [[User:uberpenguin|uberpenguin]]: uberpenguin is extremely difficult to classify...  Let us call him the 'official bystander to *mule'.&lt;br /&gt;
* niet: [http://www.dns.net/dnsrd DNS] stuff, [[XAS]], tester.&lt;br /&gt;
&lt;br /&gt;
=== Former Team-members ===&lt;br /&gt;
These are people who have worked on [[aMule]] in the past.&lt;br /&gt;
Please note that this list doesn't include the people from before [[aMule]] forked off from [[xMule]], nor does it include people from the [[LMule]] days. If you wish to learn more about those, please visit the websites of those projects.&lt;br /&gt;
&lt;br /&gt;
==== Developers ====&lt;br /&gt;
* shakraw: [[aMuleWeb]] mantainer.&lt;br /&gt;
&lt;br /&gt;
==== Testers ====&lt;br /&gt;
&lt;br /&gt;
== Helping ==&lt;br /&gt;
We can always use another helping hand, and if you are interested, then I'd encourage you to contact us and see if you can help us. Currently, what we need the most is developers and testers, though also translators and others.&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Developer ===&lt;br /&gt;
To become a [[aMule]] Developer (tm), you'll need at the very least a working knowledge of C++, since that is the language in which [[aMule]] is written. You'll also need to learn about the GUI toolkit used by [[aMule]]: [[wxWidgets]]. Of course, you will have to follow our [[Coding Style]] rules or we will beat you to death with a brick in a sock.&lt;br /&gt;
&lt;br /&gt;
However, we do not require that you are an expert, only that you are willing to help and willing to learn.&lt;br /&gt;
&lt;br /&gt;
If you are interested, then simply drop by on [[IRC]] and let us know. Currently we use a private [http://www.gnu.org/software/cvs CVS] server, but after you've submitted a patch or two you can easily get r/w access to it. You can also post patches on the [http://www.amule-project.net/amule/board.php?boardid=47 Development] forum, however, virtually all discussions regarding development happens on [[IRC]], so learning about that is a good idea as well.&lt;br /&gt;
&lt;br /&gt;
We can use your skills if you are using one of the platforms where we aim at being usable on: Unix, *BSD, [http://www.sun.com/solaris Solaris], [http://www.apple.com Macs] and [http://www.microsoft.com/windows Windows].&lt;br /&gt;
And if your operating system of choice isn't on that list, then maybe you can help add it.&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Tester ===&lt;br /&gt;
We need people who are willing to create complete bug-reports, as the standard is pretty low regarding user reports. This is rather simple, but takes patience. Please contact us on [[IRC]] for more information and read [[Backtraces|this guide on creating useful backtraces]].&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Translator ===&lt;br /&gt;
[[aMule]] already includes translations for a number of languages, however, we'll always welcome more, and even if your language of choice has been done already, then perhaps you can help improve it. Please see the [http://forum.amule.org/board.php?boardid=40 Translations forum] for more information on current translations, or contact us on [[IRC]]. Also, take a deep look into the [[Translations|aMule translation howto]].&lt;br /&gt;
&lt;br /&gt;
Of course, you can also work on [[Translating_Wiki|translating this wiki]]'s articles. There's still a lot of work to do!&lt;/div&gt;</summary>
		<author><name>213.60.54.60</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Webcache</id>
		<title>Webcache</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Webcache"/>
				<updated>2005-02-07T01:17:16Z</updated>
		
		<summary type="html">&lt;p&gt;213.60.54.60: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
The idea if webcache is to upload the shared data into an ISP proxy and leave it there for other [[client]]s to download it.&lt;br /&gt;
&lt;br /&gt;
The whole webcache description can be found with full details in the [http://forum.emule-project.net/index.php?showtopic=14768 original post]. Plus, there are lot's of additional documentation pages all around the net, where [http://www.google.com Google] is your friend ;)&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
This all began on 13th April 2003 at [http://forum.emule-project.net eMule's forums] when [mailto:sufcrusher@zonnet.nl sufcrusher] posted [http://forum.emule-project.net/index.php?showtopic=14768 this post]. The whole history can be followed there up to the first [[eMule]] mods implementing it.&lt;br /&gt;
&lt;br /&gt;
== Pros and cons ==&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
&lt;br /&gt;
* The most evident pro, and the main purpose of it, is that web proxies use to have lots of bandwidth and very high speeds so the data sharing speeds should be greatly boosted.&lt;br /&gt;
&lt;br /&gt;
* Also, [[P2P]] [[client]]s use to generate heavy traffic on ISPs since it creates and destroys lots of connections in very little time and get/send large amounts of data. Using webcache would stop this connections from going through the ISPs since they would only get to the ISPs' proxies.&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
&lt;br /&gt;
* Since all your data (or some of it) would pass through your ISP's proxy, your ISP would know what you are sharing, so your privacy would suffer very harmfully.&lt;br /&gt;
&lt;br /&gt;
* It is not clear whether using ISPs' web proxies for things other than web data is legal. Even if it was in your country, legislations are different from state to state, so [[client]]s use to conform the largest amount of legislations they possibly can to avoid their users from suffering disgusting experiencies with the law. Also, allthough the webcache feature might be better for your ISP, it can be bad if the traffic is too high, so you might have your ISP from braking the contract with you and so, leaving you without connection.&lt;br /&gt;
&lt;br /&gt;
* Like it or not, webcache at large scale it's a DDoS to the ISP's http cache servers. The ISPs' clients will notice a worse quality of the service, and ISPs will blame the webcache, being right. What's worse: p2p developers that support webcache could be sued for developing DDoS tools and invite people to use it, ISPs can say they are losing clients because of the quality the lose on their services, and we could have big problems.&lt;br /&gt;
&lt;br /&gt;
* The [[P2P]] networks are being heavily tracked by some governments since they believe they are used for illegal purposes. There is a popular sentence: &amp;quot;if it works, leave it as it is&amp;quot;. Well, apply it here.&lt;br /&gt;
&lt;br /&gt;
== Implementing webcache ==&lt;br /&gt;
&lt;br /&gt;
There are already some [[client]]s out there supporting webcache. Most of them are [[eMule]] mods. We'd like to advise that we do '''NOT''' recommend at all to use them. This mods bring down the [[P2P]] reputation and by using them you contribute in doing so.&lt;br /&gt;
&lt;br /&gt;
== Regarding [[aMule]] ==&lt;br /&gt;
&lt;br /&gt;
Discussions about implementing webcache feature into [[aMule]] have appeared many times in [http://forum.amule.org aMule's forums] although maybe the most relevant is [http://www.amule-project.net/amule/thread.php?threadid=3513 this one].&lt;br /&gt;
&lt;br /&gt;
Anyway, until further (rare to ever-happen) news, neither [[aMule]] nor [[eMule]] are going to officially support webcache in any future release.&lt;/div&gt;</summary>
		<author><name>213.60.54.60</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Webcache</id>
		<title>Webcache</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Webcache"/>
				<updated>2005-02-07T01:08:14Z</updated>
		
		<summary type="html">&lt;p&gt;213.60.54.60: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
The idea if webcache is to upload the shared data into an ISP proxy and leave it there for other [[client]]s to download it.&lt;br /&gt;
&lt;br /&gt;
The whole webcache description can be found with full details in the [http://forum.emule-project.net/index.php?showtopic=14768 original post]. Plus, there are lot's of additional documentation pages all around the net, where [http://www.google.com Google] is your friend ;)&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
This all began on 13th April 2003 at [http://forum.emule-project.net eMule's forums] when [mailto:sufcrusher@zonnet.nl sufcrusher] posted [http://forum.emule-project.net/index.php?showtopic=14768 this post]. The whole history can be followed there up to the first [[eMule]] mods implementing it.&lt;br /&gt;
&lt;br /&gt;
== Pros and cons ==&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
&lt;br /&gt;
* The most evident pro, and the main purpose of it, is that web proxies use to have lots of bandwidth and very high speeds so the data sharing speeds should be greatly boosted.&lt;br /&gt;
&lt;br /&gt;
* Also, [[P2P]] [[client]]s use to generate heavy traffic on ISPs since it creates and destroys lots of connections in very little time and get/send large amounts of data. Using webcache would stop this connections from going through the ISPs since they would only get to the ISPs' proxies.&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
&lt;br /&gt;
* Since all your data (or some of it) would pass through your ISP's proxy, your ISP would know what you are sharing, so your privacy would suffer very harmfully.&lt;br /&gt;
&lt;br /&gt;
* It is not clear whether using ISPs' web proxies for things other than web data is legal. Even if it was in your country, legislations are different from state to state, so [[client]]s use to conform the largest amount of legislations they possibly can to avoid their users from suffering disgusting experiencies with the law. Also, allthough the webcache feature might be better for your ISP, it can be bad if the traffic is too high, so you might have your ISP from braking the contract with you and so, leaving you without connection.&lt;br /&gt;
&lt;br /&gt;
* Like it or not, webcache at large scale it's a DDoS to the ISP's http cache servers. The ISPs' clients will notice a worse quality of the service, and ISPs will blame the webcache, being right. What's worse: p2p developers that support webcache could be sued for developing DDoS tools and invite people to use it, ISPs can say they are losing clients because of the quality the lose on their services, and we could have bug problems.&lt;br /&gt;
&lt;br /&gt;
* The [[P2P]] networks are being heavily tracked by some governments since they believe they are used for illegal purposes. There is a popular sentence: &amp;quot;if it works, leave it as it is&amp;quot;. Well, apply it here.&lt;br /&gt;
&lt;br /&gt;
== Implementing webcache ==&lt;br /&gt;
&lt;br /&gt;
There are already some [[client]]s out there supporting webcache. Most of them are [[eMule]] mods. We'd like to advise that we do '''NOT''' recommend at all to use them. This mods bring down the [[P2P]] reputation and by using them you contribute in doing so.&lt;br /&gt;
&lt;br /&gt;
== Regarding [[aMule]] ==&lt;br /&gt;
&lt;br /&gt;
Discussions about implementing webcache feature into [[aMule]] have appeared many times in [http://forum.amule.org aMule's forums] although maybe the most relevant is [http://www.amule-project.net/amule/thread.php?threadid=3513 this one].&lt;br /&gt;
&lt;br /&gt;
Anyway, until further (rare to ever-happen) news, neither [[aMule]] nor [[eMule]] are going to officially support webcache in any future release.&lt;/div&gt;</summary>
		<author><name>213.60.54.60</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Coding_Style</id>
		<title>Coding Style</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Coding_Style"/>
				<updated>2005-02-07T00:12:44Z</updated>
		
		<summary type="html">&lt;p&gt;213.60.54.60: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article details the coding style that should be adopted when writing changes to the [[aMule]] codebase.&lt;br /&gt;
&lt;br /&gt;
== Formatting ==&lt;br /&gt;
&lt;br /&gt;
=== Indenting ===&lt;br /&gt;
&lt;br /&gt;
==== Use tabs ====&lt;br /&gt;
&lt;br /&gt;
Always use tabs for indenting, do not use spaces. The size of each tab should be equal to 4 spaces.&lt;br /&gt;
&lt;br /&gt;
==== Scopes ====&lt;br /&gt;
&lt;br /&gt;
Indent inside new scopes, including classes, structs, functions, etc. &lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
  if ( false ) {&lt;br /&gt;
    ...&lt;br /&gt;
  } else {&lt;br /&gt;
    ...&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  class foo&lt;br /&gt;
  {&lt;br /&gt;
    foo() {&lt;br /&gt;
      ...&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Whitespace ===&lt;br /&gt;
&lt;br /&gt;
Place whitespace between brackets and keywords, and between operators and variables:&lt;br /&gt;
&lt;br /&gt;
  if (something == true);&lt;br /&gt;
&lt;br /&gt;
rather than&lt;br /&gt;
&lt;br /&gt;
  if(something==true);&lt;br /&gt;
&lt;br /&gt;
=== Brackets ===&lt;br /&gt;
&lt;br /&gt;
Brackets are placed on the same line as the construct with the exception of non-inlined functions, structs and classes. Perfer the usage of brackets, even when optional, as in the case of ''if''/''while''/etc blocks.&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
&lt;br /&gt;
* When using the trinary operator, place brackets to promote readability.&lt;br /&gt;
* Add a space after the ''//'' chars when writing comments.&lt;br /&gt;
&lt;br /&gt;
== Documenting comments ==&lt;br /&gt;
&lt;br /&gt;
Always remember to documment new functions and classes! Examples of documented classes can be found in can be found in ''CMD4Hash.h'', ''BarShader.*'', ''ServerListCtrl.*'' and others. More information on the usage and syntax of [http://www.stack.nl/~dimitri/doxygen doxygen] can be found in the [http://www.stack.nl/~dimitri/doxygen/manual.html doxygen documentation].&lt;br /&gt;
&lt;br /&gt;
Use the following format, which is [http://www.stack.nl/~dimitri/doxygen doxygen] compatible.&lt;br /&gt;
&lt;br /&gt;
=== Functions, classes, structs, etc === &lt;br /&gt;
&lt;br /&gt;
   /**&lt;br /&gt;
    * &amp;lt;Short description&amp;gt;&lt;br /&gt;
    *&lt;br /&gt;
    * [@param &amp;lt;Param_1 description&amp;gt;]&lt;br /&gt;
    * [@param &amp;lt;Param_n description&amp;gt;]&lt;br /&gt;
    * [@return &amp;lt;return value description&amp;gt;]&lt;br /&gt;
    *&lt;br /&gt;
    * [Long description]&lt;br /&gt;
    * [@see &amp;lt;reference to other relevant function&amp;gt;]&lt;br /&gt;
    */&lt;br /&gt;
&lt;br /&gt;
=== Variables, typedefs, constants, etc ===&lt;br /&gt;
&lt;br /&gt;
   //! &amp;lt;Description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Coding ==&lt;br /&gt;
&lt;br /&gt;
=== Naming Style ===&lt;br /&gt;
&lt;br /&gt;
Always try to use descriptive names, except when it adds nothing to the readability, such as iterator varibles and counters (''it'', ''i'', ''x'', ''y'', etc).&lt;br /&gt;
&lt;br /&gt;
===== Functions =====&lt;br /&gt;
&lt;br /&gt;
* Function names should follow the AllWordsAreUppercase convention&lt;br /&gt;
* Function arguments should follow the conventions for local varibles described below&lt;br /&gt;
&lt;br /&gt;
===== Variables =====&lt;br /&gt;
&lt;br /&gt;
* Names should follow the firstWordLowerCaseRestUpperCase convention &lt;br /&gt;
* Prefix global variables with ''g_''&lt;br /&gt;
* Prefix static variables with ''s_''&lt;br /&gt;
* Prefix member variables with ''m_''&lt;br /&gt;
&lt;br /&gt;
===== Classes =====&lt;br /&gt;
&lt;br /&gt;
* Prefix classnames with ''C''&lt;br /&gt;
* Names should follow the AllWordsAreUppercase convention&lt;br /&gt;
&lt;br /&gt;
===== Constants =====&lt;br /&gt;
&lt;br /&gt;
* Use ALLUPPERCASE names&lt;br /&gt;
&lt;br /&gt;
* Whenever possible, prefer const variables to pre-compiler defines. We've already had problems with nameclashing caused by defines, so me might as well not increase the chances of it happening again. Actual constants also has the major advantage that we gain proper type-safety.&lt;br /&gt;
&lt;br /&gt;
===== Filenames =====&lt;br /&gt;
&lt;br /&gt;
* For classes, use the classname without the &amp;quot;C&amp;quot; prefix.&lt;br /&gt;
&lt;br /&gt;
=== Const correctness ===&lt;br /&gt;
&lt;br /&gt;
Remember to mark functions and arguments (pointers, references) as const where possible. This increases the ability for us to write safer code and is a good thing.&lt;br /&gt;
&lt;br /&gt;
===== References =====&lt;br /&gt;
&lt;br /&gt;
Always use references where passing large datatypes suchs as [http://www.wxwidgets.org/manuals/2.4.2/wx368.htm ''wxString''] and ''CMD4Hash'' and only use non-const references if we are going to change the passed variables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lists/etc ===&lt;br /&gt;
&lt;br /&gt;
Only use raw arrays when absolutely nessesary, in ALL other cases use:&lt;br /&gt;
 1) STL containers, or&lt;br /&gt;
 2) wxWidgets containers&lt;br /&gt;
&lt;br /&gt;
However, for consistency STL containers should always be used unless there is a major reason for doing otherwise. Using STL containers gives us the advantage of making it possible to use the many algorithms in the STL library and they are usually faster than the corresponding wxWidgets container.&lt;br /&gt;
&lt;br /&gt;
=== Deleting ===&lt;br /&gt;
&lt;br /&gt;
Deleting a NULL pointer is a valid operation, so checks against NULL only clutter the code needlesly. &lt;br /&gt;
&lt;br /&gt;
=== Hacks ===&lt;br /&gt;
&lt;br /&gt;
Always try to avoid odd hacks and in general try to avoid abnormal stuff, assignments in if constructs and the like for instance should be avoided when possible. Also try to avoid the usage of void pointers as they result in a almost total loss of type-safety.&lt;br /&gt;
&lt;br /&gt;
=== Helper-functions ===&lt;br /&gt;
&lt;br /&gt;
Helper functions which can have use across the app should be placed in ''otherfunctions.h''.&lt;br /&gt;
&lt;br /&gt;
Whenever possible, prefer [[wxWidgets]] functions to system calls, as this reduces the dependencies on specific function-calls that may or may not be available on other platforms.&lt;br /&gt;
&lt;br /&gt;
== IMPORTANT: What to avoid (The special 'I kill you' section!) ==&lt;br /&gt;
&lt;br /&gt;
Do NEVER NEVER use unicode2char and char2unicode functions at all. Same for unicode2UTF8 and UTF82unicode, and anything related to converting unicode wxStrings into char or wchar buffers. This is specially true with functions dealing with interface, where we should ALWAYS use wxStrings, and never use string conversion to construct that wxString.&lt;br /&gt;
&lt;br /&gt;
''The only places this is allowed is on printf() calls for debug. And if you REALLY need to use them in other scenario, like network communication or file handling use them VERY carefully. There are comments about the proper use at the beggining of StringFunctions.h. If you don't know if it's right or what to use, just ask, probably Kry is the best one to reply to that questions. Make someone review the code if you're not experienced and want to use that.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do NEVER use wxFile or wxFFile - use CFile instead. It has several bugfixes over wxFile, and it will work perfectly for handling UTF8 filenames on unicode aMule, such as anything non-ascii.&lt;br /&gt;
&lt;br /&gt;
''There should be no problem using wxFile and wxFFile for amule-related files, like server.met and others, that are never unicoded, but the use of CFile is advisable to keep coherence over the system and easier replacement when a valid wxFile is released from wxWidgets devs.''&lt;br /&gt;
&lt;br /&gt;
Do NEVER use wxFind{First,Next}File. Use the CDirIterator class found in CFile.*. Reasons for this are the same as for wxFile and wxFFile: they don't handle unicode filenames properly.&lt;br /&gt;
&lt;br /&gt;
''No, there's not exception for this. Just never use it.''&lt;br /&gt;
&lt;br /&gt;
Avoid wxDateTime::Now().Format{Time, Date} as if it was Satan itself. Mainly, it asserts and breaks on several locale, mainly chinese and other asian languages. Use wxDateTime::Now().FormatISO{Time, Date}. People will have to live with english formated date and time strings.&lt;br /&gt;
&lt;br /&gt;
''No excuses for this either. It will have to go like this till wx fixes it.''&lt;br /&gt;
&lt;br /&gt;
When you use a string to build a wxString, like &amp;quot;aMule&amp;quot;, you MUST use wxT(&amp;quot;aMule&amp;quot;) if you want it not to be translated and _(&amp;quot;aMule&amp;quot;) if you want it to be translated. Failure to do so will result in aMule not being compilable in unicode mode, and the coder responsive will be killed and buried alive, not neccesarily in that order.&lt;br /&gt;
&lt;br /&gt;
''As a side note, debug messages should be ALWAYS in english, and messages meant to be for the user should be translated. This is so we can read debug info without translating it.''&lt;br /&gt;
&lt;br /&gt;
Do NEVER use CList/CTypedPtrList. This classes were a implementation of a MFC-compatible CList, and they are hand-made lists. they're known to be buggy and had to be fixed several times in the past. Instead, use stl containers or wxWidgets containers, as said on Lists/etc section. As a matter of fact, if you see a CList or CTypedPtrList on the code, clean it.&lt;br /&gt;
&lt;br /&gt;
''There are places in the code still using those classes, mainly the part about averages that Emilio wrote for the stats. The reason for this is aminly some special functions for recycle nodes as head/tail he added to the CList class. While this improved performance, it breaks the rules, and we should consider cleaning it. Other than that, there's no excuse to use CList classes.''&lt;br /&gt;
&lt;br /&gt;
Probably more things I should remember, so I'll make this list bigger later.&lt;/div&gt;</summary>
		<author><name>213.60.54.60</name></author>	</entry>

	</feed>