.--.--.--.--| |--.-----| |_|__|-----. | | | | |_ -| _| | / |__|__|_____|__|__|_____|____|__|__|__\
Muhstik is a powerful bot for IRC. It can connect proxys by anonymous proxys. Once online, they coordinate their actions to be the more efficient.
This is Edition 1.6 of the muhstik manual, updated October 30, 2003.
--- The Detailed Node Listing ---
Configuring muhstik
Controlling your clones
Muhstik is "free software"; this means that everyone is free to use it and free to redistribute it on certain conditions.
Muhstik is not in the public domain; it is copyrighted and there are restrictions on its distribution, but these restrictions are designed to permit everything that a good cooperating citizen would want to do. What is not allowed is to try to prevent others from further sharing any version of muhstik that they might get from you.
The precise conditions are found in the GNU General Public License that comes with muhstik.
Today IRC servers prevent you from flooding, that is to say send more than 1 message per second. Supposing you are trying to bypass this limit; you must use more than one identity on your IRC server. But there is a quota by IP on global connection, which stops you unless if you can spoof, starting a connection with an IP different from yours.
And that's the first use of muhstik : bounce to IRC servers from open proxies, as you can do in mIRC for example with the option "Use Firewall". Clones are launched into the background and distributed on different servers.
There are 3 types of proxies: HTTP Proxies, SOCKS, and telnet gateways (such as Wingates). Each type has a launcher associated, which uses a list of servers and a list of proxies. You can use different types in the same session, and even direct connections to the server.
When a muhstik clone succeed to connect to an IRC server, it becomes autonomous, like a bot. For example if it looses its connection, it can try to reconnect if it is the first time it has been thrown out.
Here comes the most interesting part of muhstik: its spirit of contradiction. All clones analyse the IRC operations they can see and if they are op, they will deop or kick any enemy operator in action, and op any friend on join or deop. The difficult point is to know at any time who is a friend and who is not. For that, the nicknames of the online clones are stored in their memory, in addition to a list of protected nicks.
To enable IPV6, edit the Makefile to compile with the additional flag -DUSE_IPV6.
Muhstik loads proxys on servers. You prepare a list of proxys and a list of servers and you put the names of the lists in the config file.
In this version of muhstik, you can use: WINGATES, SOCKS 4 or 5, PROXYS, ROUTERS and VHOSTS.
The first thing to do is to prepare an entry list for each type of gate you want to use. The file formats are:
NOTE :
You can easily set comments like this:
127.0.0.1 #local server
For each type of proxy, you need to have a server list. For example, you must have 3 server files if you use in the same time gates, socks and proxies.
Edit text files with server names (hostnames or/and IP addresses), ports and the max number of clones to load on each one :
server1:port1 max1 server2:port2 max2 e.g.: my.server.net:6667 10NOTE: If you set a server max to 0, you disable quota on this server.
If you want to connect to a server with a password and ident, for example to connect to a BNC, use :
server:port max password identNOTE: The ident can be omited.
Edit the muhstik.conf file and customize it.
To get a valid config file from the default one, you only need to setup the connection settings. There are always default values for the others.
You can use different types of connection in a same session, like that :
proxy_list proxylist proxy_server_list servers direct_server_list local
It would load the HTTP Proxys of the file proxylist on the servers of the file servers. Then it would connect other clones without spoof with the servers and quotas of the file local.
You can use many couples proxy/server with the same type, like that :
proxy_list proxy.us proxy_server_list servers.us proxy_save good.us proxy_list proxy.de proxy_server_list servers.de proxy_save good.de
Muhstik is not an IRC client. It is a bot. And like most of the bots, it can be controlled from the console or through a DCC Chat session on one of your clones.
The only command muhstik recognizes in a channel is !op. It will set you
op if you are in the the auto op list.
See the commands +aop and -aop below.
Since the version 3.9, it also accepts commands given by /notice or /msg from aops. To identify yourself by /notice or /msg, just send "identify <dcc_pass>" to a clone and you will be recognized as an op.
Just make a DCC on a clone; it will ask for the password you have set in the config file. If you enter the good pass, it adds you to the aop list and to the list of protected nicks.
-prot -1 makes the protected nick list empty.
You can script muhstik using the botnet. See /script for examples.
When the clones are linked, they are quite like launched from an unique muhstik. So for example, when you enter a command on one, they execute it all.
First you need to set a secure password on every box you want to link with the option 'link_pass'.
Then muhstik will start by loading a link server on the port 7777.
You can change this port with the option 'link_port'.
To add a muhstik to your muhstik network, configure the 'link_host' line in its config file by giving the host and port of a muhstik server, that is to say any muhstik with the 'link_pass' set.
If you have a file that is shared between your different shells, you can use it to syncronize your clones when they reply to an event. For that, use the option 'link_file' of the config file.