| 1 |
Undernet Proxy Scanner version 2 (pxys) |
| 2 |
|
| 3 |
[pxys is a diminutive for ProXYScanner] |
| 4 |
|
| 5 |
See the INSTALL file for requirements and (quick) installation instructions. |
| 6 |
|
| 7 |
|
| 8 |
------------------------------------------ |
| 9 |
Pxys v2 software suite package source tree |
| 10 |
------------------------------------------ |
| 11 |
|
| 12 |
+ pxys2 |
| 13 |
| |
| 14 |
+--- ipcache (IP cache template files) |
| 15 |
| |
| 16 |
+--- libopas (Open Proxy Ascertainment Service Library) |
| 17 |
| |
| 18 |
+--- pxyscand (Proxyscanner daemon) |
| 19 |
| | |
| 20 |
| +--- px (Command line pxyscand client) |
| 21 |
| | |
| 22 |
| +--- src (Source code of pxyscand) |
| 23 |
| |
| 24 |
+--- pxyservd (Undernet ircu service server daemon) |
| 25 |
| |
| 26 |
+--- dbprim (*) (Database Primitives Library) |
| 27 |
| |
| 28 |
+--- src (Source code of pxyservd) |
| 29 |
|
| 30 |
|
| 31 |
Not included: libpeak (Parallel Events and Asynchronous tasKing Library) |
| 32 |
|
| 33 |
(*) = Third party library where only configuration scripts may differ from |
| 34 |
the original source. |
| 35 |
|
| 36 |
|
| 37 |
ipcache |
| 38 |
------- |
| 39 |
Source code of a LRU IP cache model, which is used in both daemons (pxyscand |
| 40 |
and pxyservd). It's not a library but more a template to instantiate directly |
| 41 |
in each program. A quick check of the defines in ipcache_template.c will show |
| 42 |
you why it's like that. pxyservd only uses it as a little "level 1" cache but |
| 43 |
pxyscand make heavy usage of it to store last recently used proxy and non |
| 44 |
proxy IPs. It's used in conjonction of libpeak in both programs to improve |
| 45 |
memory allocation and time stuffs. |
| 46 |
|
| 47 |
libopas |
| 48 |
------- |
| 49 |
The OPAS Library helps communications between pxyscand and pxyservd. It |
| 50 |
implements the OPAS (binary) protocol as defined in libopas/draft-opas-1.txt. |
| 51 |
It's based on a simple query/reply concept and is able to encapsulate user |
| 52 |
defined messages, thus the transport channel can be used for several purposes. |
| 53 |
|
| 54 |
pxyscand |
| 55 |
-------- |
| 56 |
Our proxy scanner daemon. The only code in C++ here, I guess. It implements |
| 57 |
an OPAS server to communicate with OPAS clients (like pxyservd). There is |
| 58 |
a base class (PXScanModule) to overload when you write a new scan type, check |
| 59 |
out the existing scan modules like PXMHttpProxy.cc, it's not hard to add new |
| 60 |
type of scan! |
| 61 |
|
| 62 |
pxyservd |
| 63 |
-------- |
| 64 |
IRCU (Undernet ircd) service server daemon. Compatible with ircu2.10.10+, |
| 65 |
it's an interface between the IRC network and pxyscand. It creates a server |
| 66 |
which links to the network. It communicates with pxyscand to check the users |
| 67 |
and glines the proxies. It has a logging system with a daily rotation that |
| 68 |
your abuse team will enjoy. It uses Kevin L Mitchell dbprim library. This |
| 69 |
library offers a very efficient (for CPU and memory) and convenient way to |
| 70 |
work especially with linked lists, hash tables and sparse matrix, which are |
| 71 |
used a lot in such a service. |
| 72 |
Additionally, pxyservd creates a virtual client on the network, which acts |
| 73 |
like an interface between coders/opers and the daemon. We can say it's an |
| 74 |
oper service, however it's willingly limited to proxy related and statisticals |
| 75 |
stuffs. If you want a complete IRCU services suite, try GNUWorld at |
| 76 |
http://gnuworld.sf.net. |
| 77 |
|
| 78 |
|
| 79 |
S. Thiell |
| 80 |
$Id: README,v 1.1.1.1 2003/12/30 17:08:35 mbuna Exp $ |