gitpan / app-pocosi Goto Github PK
View Code? Open in Web Editor NEWRead-only release history for App-Pocosi
Home Page: http://metacpan.org/release/App-Pocosi
License: Other
Read-only release history for App-Pocosi
Home Page: http://metacpan.org/release/App-Pocosi
License: Other
NAME App::Pocosi - A command line tool for launching a POE::Component::Server::IRC instance DESCRIPTION This distribution provides a generic way to launch a POE::Component::Server::IRC instance. * Prints useful status information (to your terminal and/or a log file) * Will daemonize if you so wish * Supports a configuration file * Offers a user friendly way to pass arguments to POE::Component::Server::IRC * Has an interactive mode where you can issue issue commands and call methods on the IRCd component. CONFIGURATION class: POE::Component::Server::IRC log_file: /my/log.file pid_file: /my/pid.file lib: /my/modules flood: false auth: true config: servername: myserver.com motd: - "Welcome to this great server" - "" - "Enjoy your stay" plugins: - [OperServ] listeners: - bindaddr: "127.0.0.1" port: 10023 denials: - ["12.34.56.0/24", "I don't like this IP block"] exemptions: - "12.34.56.78" operators: - username: jack password: foo ipmask: ["127.0.0.1", "1.2.3.4", "192.168.1.0/24"] - username: locke password: bar ipmask: "10.0.0.*" auths: - mask: "*@example.com" password: hlagh spoof: jacob no_tilde: true peers: - name: otherserver.com rpass: hlaghpass pass: hlaghpass type: r raddress: "127.0.0.1" rport: 12345 auto: true The configuration file is in YAML or JSON format. It consists of a hash containing the options described in the above code example. Only "config" is required. "lib" Either the name of a directory containing Perl modules (e.g. plugins), or an array of such names. Kind of like Perl's *-I*. "pid_file" Path to a pid file, as used by most daemons. If is specified, App::Pocosi will refuse to run if the file already exists. "log_file" Path to a log file to which status messages will be written. "class" The IRC server component class. Defaults to POE::Component::Server::IRC::State. "config" This is a hash of various configuration variables for the IRCd. See PoCo-Server-IRC's "configure" for a list of parameters. "plugins" An array of arrays containing a short plugin class name (e.g. 'OperServ') and optionally a hash of arguments to that plugin. When figuring out the correct package name, App::Pocosi will first try to load POE::Component::Server::IRC::Plugin::*YourPlugin* before trying to load *YourPlugin*. "listeners" An array of hashes. The keys should be any of the options listed in the docs for PoCo-Server-IRC-Backend's "add_listener" method. "auths" An array of hashes. The keys are described in the docs for PoCo-Server-IRC's "add_auth" method. "operators" An array of hashes. The keys are described in the docs for PoCo-Server-IRC's "add_operator" method. You you can supply an array of netmasks (the kind accepted by Net::Netmask's constructor) for the 'ipmask' key. "peers" An array of hashes. The keys should be any of the options listed in the docs for PoCo-Server-IRC's "add_peer" method. "denials" An array of arrays. The first element of the inner array should be a netmask accepted by Net::Netmask's constructor. The second (optional) element should be a reason for the denial. "exemptions" An array of netmasks (the kind which Net::Netmask's constructor accepts). OUTPUT Here is some example output from the program: $ pocosi -f example/config.yml 2011-05-22 15:30:02 Started (pid 13191) 2011-05-22 15:30:02 Constructing plugins 2011-05-22 15:30:02 Spawning IRCd component (POE::Component::Server::IRC) 2011-05-22 15:30:02 Registering plugins 2011-05-22 15:30:02 Added plugin PocosiStatus_1 2011-05-22 15:30:02 Added plugin OperServ_1 2011-05-22 15:30:02 Started listening on 127.0.0.1:10023 2011-05-22 15:30:02 Connected to peer otherserver.com on 127.0.0.1:12345 2011-05-22 15:30:02 Server otherserver.com (hops: 1) introduced to the network by myserver.com ^C2011-05-22 15:30:18 Exiting due to SIGINT 2011-05-22 15:30:18 Deleted plugin OperServ_1 2011-05-22 15:30:18 Deleted plugin PocosiStatus_1 2011-05-22 15:30:18 IRCd component shut down AUTHOR Hinrik Örn Sigurðsson, [email protected] LICENSE AND COPYRIGHT Copyright 2011 Hinrik Örn Sigurðsson This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.