GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  POE::COMPONENT::IRC::PLUGIN::PROXY (3)

.ds Aq ’

NAME

POE::Component::IRC::Plugin::Proxy - A PoCo-IRC plugin that provides a lightweight IRC proxy/bouncer

CONTENTS

SYNOPSIS



 use strict;
 use warnings;
 use POE qw(Component::IRC::State Component::IRC::Plugin::Proxy Component::IRC::Plugin::Connector);

 my $irc = POE::Component::IRC::State->spawn();

 POE::Session->create(
     package_states => [
         main => [ qw(_start) ],
     ],
     heap => { irc => $irc },
 );

 $poe_kernel->run();

 sub _start {
     my ($kernel, $heap) = @_[KERNEL, HEAP];
     $heap->{irc}->yield( register => all );
     $heap->{proxy} = POE::Component::IRC::Plugin::Proxy->new( bindport => 6969, password => "m00m00" );
     $heap->{irc}->plugin_add( Connector => POE::Component::IRC::Plugin::Connector->new() );
     $heap->{irc}->plugin_add( Proxy => $heap->{proxy} );
     $heap->{irc}->yield ( connect => { Nick => testbot, Server => someserver.com } );
     return;
 }



DESCRIPTION

POE::Component::IRC::Plugin::Proxy is a POE::Component::IRC plugin that provides lightweight IRC proxy/bouncer server to your POE::Component::IRC bots. It enables multiple IRC clients to be hidden behind a single IRC client-server connection.

Spawn a POE::Component::IRC::State session and add in a POE::Component::IRC::Plugin::Proxy plugin object, specifying a bindport and a password the connecting IRC clients have to use. When the component is connected to an IRC network a listening port is opened by the plugin for multiple IRC clients to connect.

Neat, huh? >;o)

This plugin will activate POE::Component::IRC’s raw events (irc_raw) by calling $irc->raw_events(1).

This plugin requires the IRC component to be POE::Component::IRC::State or a subclass thereof.

METHODS

CWnew

Takes a number of arguments:

<B>’password’B>, the password to require from connecting clients;

<B>’bindaddress’B>, a local address to bind the listener to, default is ’localhost’;

<B>’bindport’B>, what port to bind to, default is 0, ie. randomly allocated by OS;

Returns an object suitable for passing to POE::Component::IRC’s plugin_add method.

CWgetsockname

Takes no arguments. Accesses the listeners getsockname method. See POE::Wheel::SocketFactory for details of the return value;

CWlist_wheels

Takes no arguments. Returns a list of wheel ids of the current connected clients.

CWwheel_info

Takes one parameter, a wheel ID to query. Returns undef if an invalid wheel id is passed. In a scalar context returns the time that the client connected in unix time. In a list context returns a list consisting of the peer address, port, tthe connect time and the lag in seconds for that connection.

OUTPUT EVENTS

The plugin emits the following POE::Component::IRC events:

CWirc_proxy_up

Emitted when the listener is successfully started. ARG0 is the result of the listener getsockname.

CWirc_proxy_connect

Emitted when a client connects to the listener. ARG0 is the wheel ID of the client.

CWirc_proxy_rw_fail

Emitted when the POE::Wheel::ReadWrite fails on a connection. ARG0 is the wheel ID of the client.

CWirc_proxy_authed

Emitted when a connecting client successfully negotiates an IRC session with the plugin. ARG0 is the wheel ID of the client.

CWirc_proxy_close

Emitted when a connected client disconnects. ARG0 is the wheel ID of the client.

CWirc_proxy_down

Emitted when the listener is successfully shutdown. ARG0 is the result of the listener getsockname.

QUIRKS

Connecting IRC clients will not be able to change nickname. This is a feature.

AUTHOR

Chris ’BinGOs’ Williams

SEE ALSO

POE::Component::IRC

POE::Component::IRC::State

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 POE::COMPONENT::IRC::PLUGIN::PROXY (3) 2014-06-28

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.