[BACK]Return to README.md CVS log [TXT][DIR] Up to [local] / acopm

Annotation of acopm/README.md, Revision 1.1

1.1     ! bountyht    1: # ACOPM [![Build Status](https://travis-ci.org/AlphaChat/ACOPM.svg?branch=master)](https://travis-ci.org/AlphaChat/ACOPM)
        !             2:
        !             3: ACOPM (The AlphaChat Open Proxy Monitor) is a from-scratch implementation of
        !             4: a DNSBL and proxy checking program for IRC networks.
        !             5:
        !             6: For similar programs in this area, look no further than HOPM (The Hybrid Open
        !             7: Proxy Monitor), and the program it is based on, BOPM (The Blitzed Open Proxy
        !             8: Monitor), which is no longer under development.
        !             9:
        !            10: This implementation strives to achieve a number of goals not currently met by
        !            11: either of the above programs:
        !            12:
        !            13: - Easily readable and auditable sourcecode, written to a high standard and
        !            14:   with thorough testing
        !            15:
        !            16: - Reuse of existing libraries instead of creation of new ones for tasks such
        !            17:   as event handling (libevent) and configuration file parsing (libconfig)
        !            18:
        !            19: - Efficiency (e.g. by blocking as much as possible, and reading & processing
        !            20:   as much data at a time as possible, or with the use of highly scalable I/O
        !            21:   instead of plain `poll(2)` or `select(2)`)
        !            22:
        !            23: - The use of a TLS library other than OpenSSL for communicating with HTTPS
        !            24:   proxies (which may be malicious) and with IRCd (which BOPM/HOPM do not do)
        !            25:
        !            26: - IRCv3/SASL support for identification to IRC Services at IRCd registration
        !            27:   time
        !            28:
        !            29:
        !            30: # WARNING
        !            31:
        !            32: This program is currently under development. It is not production-ready and
        !            33: lacks a few planned features. While it is constantly debugged and tested
        !            34: from a safety point of view using tools like Valgrind, ASan, and Clang's
        !            35: static analyzer (`scan-build(1)`), it has not yet been thoroughly tested from
        !            36: a behaviour point of view on a production IRC network with real data.
        !            37:
        !            38: We recommend running it in report-only mode (see the example configuration
        !            39: file) so that it does not disconnect clients in error.
        !            40:
        !            41:
        !            42: # Requirements
        !            43:
        !            44: - A supported operating system (see the Notes section below)
        !            45:
        !            46: - To speak TLS to an IRCd and scan for HTTPS CONNECT proxies, you need a
        !            47:   version of ARM mbedTLS, at least 2.2, and `./configure --with-mbedtls`.
        !            48:
        !            49:     - If you do not have it, you can use `./configure --with-mbedtls=internal`
        !            50:       to build a local copy of 2.5 instead. Note that if you wish to do this,
        !            51:       you must clone this project with `git(1)` directly, instead of using a
        !            52:       source code tarball, because the in-tree copy of ARM mbedTLS is a Git
        !            53:       sub-module
        !            54:
        !            55: - To use the proxy scanning feature, the machine you run this software on
        !            56:   must be hosted by a provider that permits port scanning of foreign networks
        !            57:   and addresses. Many do not, so consult your provider before enabling this
        !            58:   feature, or they may seize or destroy the machine without warning!
        !            59:
        !            60: - To use the provided DroneBL submission script to automatically report open
        !            61:   proxies to the DroneBL project for listing, you will need to obtain an RPC
        !            62:   key from that project; [do so here](https://dronebl.org/rpckey_signup).
        !            63:   Once you have a key, see the example configuration file for how to use it.
        !            64:   However, you should not request a key if you will not be using the script!
        !            65:
        !            66:
        !            67: # Notes
        !            68:
        !            69: Before you can configure and make this program, you must execute `autogen.sh`.
        !            70:
        !            71: Additionally, the machine will need to have the requisite libraries (libconfig
        !            72: and libevent) available and installed.
        !            73:
        !            74: This program should compile without (serious) warnings and run on any of the
        !            75: following supported operating systems. Please see the Help section below for
        !            76: where to report a possible issue if it does not.
        !            77:
        !            78: - Most modern Linux distributions (Alpine, Arch, Debian, Gentoo, Ubuntu, ...)
        !            79:
        !            80: - OpenBSD, FreeBSD, and NetBSD versions that still receive support from their
        !            81:   respective developers and/or vendors
        !            82:
        !            83:
        !            84: # Help
        !            85:
        !            86: For assistance with this software, please drop by
        !            87: [`#AlphaDev on AlphaChat`](https://webchat.alphachat.net/?channels=AlphaDev)

CVSweb