1. Introduction

ADCH++ is a hub for the ADC network. It implements the ADC protocol. The core application is very simple, but extensible using plugins. Among the standard plugins there is a scripting plugin that allows hub owners to further customize the hub using the Lua scripting language. The core is also exposed as a Python module, thus it is possible to use it within a Python application.

2. License

ADCH++ is licensed under the GPL. For details, see license.txt supplied with the application. A side effect of the license is that any plugins you write must be released under a license compatible with the GPL.

3. Download

The latest version of ADCH++ can be downloaded from SourceForge. The source code resides in a bzr repository at LaunchPad.

4. Requirements

To run ADCH++ you will need the following:

Note
The hub will not run on Windows 9x/ME

To compile the sources you will also need:

5. Building

To build ADCH++ from source you have to:

6. Configuration

ADCH++ is configured using an XML file, as are the standard plugins. The example configuration contains enough comments to get you started. In Linux, the default location for configuration files is "/etc/adchpp/". In Windows, it's a directory named "config" under the installation directory.

7. Running

ADCH++ will normally run as a console / terminal application but can also be convinced to run in the background (daemon/service). It accepts various command line options such as:

-c <configdir> Run with an alternate config directoy. Must be an absolute path.
-i <name> Install the hub service to enable running as a service. Windows only
-u <name> Remove the service you created earlier. Windows only
-v Print version information (make sure to include this in any bug reports)
-d Run as a daemon. Kill with a standard sigterm. Linux only
-p <pid-file> Write process pid to <pid-file> Linux only

8. Where to find more info

Try its home page or the DC++ home page. There is also an online documentation for the source code available.

9. Patches and contributions

I'll gladly accept patches, but in order to avoid future licensing issues, I ask you to give me copyright over any submitted code. Make sure that the code doesn't break support for any of the platforms supported and that it looks more or less like the rest of the code (indent, names etc).

Patches should be sent to the dcplusplus-devel mailing list. Subscription information can be found here.

Please use unified patches agains latest svn trunk (i e svn diff) and supply a description of what the patch does.

10. Donations

If you feel like helping out but don't know how, this is obviously a good way =)

Donate!