~dcplusplus-team/adchpp/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
= ADCH++ - A hub software for ADC

== Introduction

ADCH++ is a hub for the ADC network. It implements the
http://dcplusplus.sf.net/ADC.html[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
http://www.lua.org[Lua] scripting language. The core is also exposed as a
Python module, thus it is possible to use it within a Python application.

== 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.

== Download
The latest released version of ADCH++ can be downloaded from
http://sourceforge.net/projects/adchpp/[SourceForge]. The source code resides
in http://code.launchpad.net/adchpp/[SVN].

== Requirements
To run ADCH++ you will need the following:

* A computer with a network card
* Linux with a 2.6-based kernel or Windows 2000/XP/newer
* A brain (to understand the readme and do the setup)
* Optional: An administrator account (to install as service / run on port < 1024 on
  unix)

NOTE: The hub will not run on Windows 9x/ME

To compile the sources you will also need (other versions might work but I don't use them):

* A C++ compiler, such as:
	** GCC 4.4+ (Linux or http://www.mingw.org[MinGW])
	** Microsoft Visual C++ 9.0 (2008) with at least Service Pack 1 and https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=17034&amp;wa=wsignin1.0[this hotfixed-hotfix]
* http://www.scons.org[SCons 0.98.5]
* http://www.swig.org[SWIG 1.3.39]
* http://www.python.org[Python] 2.5-2.7 (Windows) or 2.4+ (Linux)
* Optional: http://www.openssl.org[OpenSSL 1.0.0-beta3]

== Building
To build ADCH++ from source you have to:

* Install SWIG and ensure it's in your PATH
* Install Python and ensure it's in your PATH
* Install SCons and ensure it's in your PATH
* Windows with MinGW: Install MinGW and ensure it's in your PATH
* Linux: Install GCC and appropriate header files, in particular, these packages spring to mind:
	** gcc-c++
	** libstdc++-devel
	** redhat: readline-devel, debian: libreadline-dev
	   sys-libs/readline
* To compile with support for secure connections, you need OpenSSL:
	** Windows: compile it yourself (or ask someone to do it) and put it in the "openssl" directory. append a 'd' to debug libs and put x64 / ia64 libs into openssl/lib/x64 / openssl/lib/ia64 respectively.
	** Linux: if you don't have it already, get the openssl-devel/libssl-dev package
* In the source folder, type "scons -h" to see additional compile options
* Type "scons" to create a debug build. "scons mode=release" will create a
  release build.

== 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.

== 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:

[separator="|"]
``_
-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 *
___

== Where to find more info
Try its http://adchpp.sf.net/[home page] or the
http://dcplusplus.sf.net/[DC++ home page].

== 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 
https://lists.sourceforge.net/lists/listinfo/dcplusplus-devel[here].

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

== Donations

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

https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=arnetheduck%40gmail%2ecom&item_name=DCPlusPlus&no_shipping=1&return=http%3a%2f%2fdcplusplus%2esf%2enet%2f&cancel_return=http%3a%2f%2fdcplusplus%2esf%2enet%2f&cn=Greeting&tax=0&currency_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8[Donate!]

// vim: set syntax=asciidoc: