IRC-RemoteControl ============================== Fight CPAN censorship! Support backpan! Prereqs: run perl Makefile.PL or read Makefile.PL for prerequisite perl modules You may need libssh2-1-dev Usage: # normal usage $ ./irc-remotecontrol.pl --target irc.efnet.net --require_proxy # SSH tunnels only $ ./irc-remotecontrol.pl -t irc.efnet.net --proxy_types SSH # load SOCKS proxies $ ./irc-remotecontrol.pl -t irc.efnet.net --fetch_socks_proxies # create 20 ipv6 tunnels and only use them $ sudo ./irc-remotecontrol.pl --target irc.homelien.no --use_proxy 0 --ipv6_tunnel_count 20 --ipv6_prefixes 2001:470:80e1:ba21:: --tunnel_device he-tunnel --debug # abuse freenode $ ./webchat.pl http://webchat.freenode.net/dynamic/two --fetch_http_proxies # load a specific set of personalities with the server on a non-standard port on localhost $ ./irc-remotecontrol.pl -t irc.freenode.net --personalities Flood --personalities Foo --server_bind_port 1025 --server_bind_ip 127.0.0.1 --require_proxy You may specify a list of SSH tunnels in ssh-tunnels.txt, a list of SOCKS proxies in socks-proxies.txt and a list of available source IPs in ips.txt. If you are using the Webchat personality, you may use HTTP and HTTPS proxies, specified in http-proxies.txt and https-proxies.txt. Since writing this all out by hand is annoying, it is recommended you make shell script or perl wrappers around whatever fits your circumstances best. You may find it helpful to create your own IRC::RC objects with defaults that work for you with IRC::RemoteControl->new_with_options() as in irc-remotecontrol.pl OPTIONS --target/-t (required) - Address of the IRC server you wish to connect to --port/-p - Port. Default: 6667 --proxy_types - Types of proxies to use. Can be specified multiple times. Default: SSH, SOCKS --use_proxy - If proxies are loaded, use them. Defaults to on --require_proxy - Refuse to connect without using a proxy. Recommended unless using IPv6 tunnels. --ipv6_prefixes - If you have an IPv6 subnet, you can automatically bring up random IPs and use them. Can be specified multiple times. --ipv6_tunnel_count - How many random IPv6 addresses to use. Defaut: 1000 --tunnel_device - Name of your IPv6 tunnel device. Defaults: linux: he-ipv6, bsd/darwin: gif0 --ip_use_limit - How many connections to make per source IP. Default: 1 --available_ips - List of source IPs IRC client connections can bind to. Can be specified multiple times, also read from ips.txt --server_bind_ip/server_bind_port - TCP server options. Default localhost:1488 --fetch_socks_proxies - Attempt to use WWW::FreeProxyListsCom to find SOCKS proxies automatically --fetch_http_proxies - Attempt to use WWW::FreeProxyListsCom to find HTTP/S proxies automatically --repeat_count - How many times to repeat spam messages per-client. Default: 5 --connect-timeout - IRC client connection timeout before giving up. Default: 10 seconds --debug/-d - Verbose output INSTALLATION To install this module type the following: perl Makefile.PL make make test make install WEBCHAT IRC::RemoteControl supports using HTTP/S proxies with webchat-enabled IRC gateways. See webchat.pl if you are interested. COPYRIGHT AND LICENSE Copyright (C) 2010 Thaddeus Wooster This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.