"Ilmu pengetahuan Tertinggi adalah ilmu pengetahuan yang tidak bisa dipikirkan oleh otak manusia tapi bisa dirasakan hati manusia"

"Top science is science that can not be considered by the human brain can be felt but the human heart"

"トップ科学人間の脳考えることはできない科学感じることができる、人間のです."

Minggu, 14 Agustus 2011

ircd-hybrid

# cd /usr/local/src/
# wget 'https://www.miraclelinux.com/update/files/u1/AX/IRCAX3/ircd-hybrid-7_2_3-1_1AX_x86_64.rpm'
# rpm -ivh ircd-hybrid-7_2_3-1_1AX_x86_64.rpm
# cd /etc/ircd/
# cp ircd.conf ircd.conf.org
# vi ircd.conf

serverinfo {
name = "professor"; 任意のサーバ名
sid = "001"; 001に変更
description = "PROFESSOR-IRC"; 任意のサーバ説明
network_name = "MyNet"; 任意のネットワーク名
network_desc = "This is My Network"; 任意のネットワーク説明
hub = no;
#vhost = "192.169.0.1";
#vhost6 = "3ffe:80e8:546::2";
max_clients = 512; 最大接続ユーザー数
#rsa_private_key_file = "/usr/local/ircd/etc/rsa.key";
#ssl_certificate_file = "/usr/local/ircd/etc/cert.pem";
};

admin {
name = "sss"; 任意の管理者名
description = "Administrator"; 任意の管理者の説明
email = ""; 任意の管理者のメールアドレス
};

log {
use_logging = yes;
fname_userlog = "logs/userlog";
fname_operlog = "logs/operlog";
fname_killlog = "logs/kill";
fname_klinelog = "logs/kline";
fname_glinelog = "logs/gline";
log_level = L_INFO; {L_CRIT|L_ERROR|L_WARN|L_NOTICE|L_TRACE|L_INFO or L_DEBUG}
};

class {
name = "users";
ping_time = 90 seconds;
number_per_ip = 2;
max_local = 2;
max_global = 10;
max_number = 100;
cidr_bitlen_ipv4 = 24;
cidr_bitlen_ipv6 = 120;
number_per_cidr = 16;
sendq = 100 kbytes;
};

class {
name = "opers";
ping_time = 90 seconds;
number_per_ip = 10;
max_number = 100;
sendq = 100kbytes;
};

class {
name = "server";
ping_time = 90 seconds;
ping_warning = 15 seconds;
connectfreq = 5 minutes;
max_number = 1;
sendq = 2 megabytes;
};

listen {
port = 6665 .. 6669;
flags = hidden, ssl;
host = "192.168.0.1";
port = 6697;
host = "1.2.3.4";
port = 7000, 7001;
host = "3ffe:1234:a:b:c::d";
port = 7002;
};

auth {
user = "*@*";
#user = "*test@123D:B567:*";
password = "professional";
encrypted = yes;
spoof = "I.still.hate.packets";
#class = "opers";
class = "users";
flags = need_password, spoof_notice, exceed_limit, kline_exempt,
gline_exempt, resv_exempt, no_tilde, can_flood, can_idle;
};

auth {
redirserv = "this.is.not.a.real.server";
redirport = 6667;
user = "*.server";
class = "users";
};

auth {
user = "*@*";
class = "users";
flags = need_ident;
};

operator {
name = "god";
user = "*god@*";
user = "*@127.0.0.1";
password = "etcnjl8juSU1E";
encrypted = yes;
# rsa_public_key_file = "/usr/local/ircd/etc/oper.pub";
class = "opers";
# umodes = locops, servnotice, operwall, wallop;
flags = global_kill, remote, kline, unkline, xline,
die, rehash, nick_changes, admin, operwall;
};

connect {
name = "irc.uplink.com";
host = "192.168.0.1";
vhost = "192.168.0.2";
send_password = "password";
accept_password = "anotherpassword";
encrypted = no;
port = 6666;
hub_mask = "*";
# leaf_mask = "*.uk";
# fakename = "*.arpa";
class = "server";
# flags = autoconn, lazylink, compressed, cryptlink, burst_away, topicburst;
};

connect {
name = "encrypted.auth.example";
host = "some.host.somewhere";
port = 6667;
flags = cryptlink;
rsa_public_key_file = "etc/remote.server.keyfile";
# cipher_preference = "BF/168";
};

connect "ipv6.some.server" {
host = "3ffd:dead:beef::1";
send_password = "password";
accept_password = "password";
port = 6666;
aftype = ipv6;
class = "server";
};

cluster {
name = "*.arpa";
type = kline, unkline, locops, xline, resv;
};

shared {
name = "irc2.some.server";
user = "oper@my.host.is.spoofed";
type = kline, unkline, resv;
};

kill {
user = "bad@*.hacked.edu";
reason = "Obviously hacked account";
};

kill {
user = "^O[[:alpha:]]?[[:digit:]]+(x\.o|\.xo)$@^[[:alnum:]]{4}\.evilnet.org$";
type = regex;
};

deny {
ip = "10.0.1.0/24";
reason = "Reconnecting vhosted bots";
};

exempt {
ip = "192.168.0.0/16";
};

resv {
reason = "There are no services on this network";
nick = "nickserv";
nick = "chanserv";
channel = "#services";
reason = "Clone bots";
nick = "clone*";
};

gecos {
name = "*sex*";
reason = "Possible spambot";
};

gecos {
name = "sub7server";
reason = "Trojan drone";
};

gecos {
name = "*http*";
reason = "Spambot";
};

gecos {
name = "^\[J[0o]hn Do[3e]\]-[0-9]{2,5}$";
type = regex;
};

channel {
disable_fake_channels = yes;
restrict_channels = no;
disable_local_channels = no;
use_invex = yes;
use_except = yes;
use_knock = yes;
knock_delay = 1 minutes;
knock_delay_channel = 1 minute;
burst_topicwho = yes;
max_chans_per_user = 25;
quiet_on_ban = yes;
max_bans = 25;
join_flood_count = 16;
join_flood_time = 8 seconds;
default_split_user_count = 0;
default_split_server_count = 0;
no_create_on_split = yes;
no_join_on_split = no;
};

serverhide {
flatten_links = no;
links_delay = 5 minutes;
hidden = no;
disable_hidden = no;
hide_servers = no;
hidden_name = "*.hidden.com";
hide_server_ips = no;
};

general {
gline_min_cidr = 16;
gline_min_cidr6 = 48;
invisible_on_connect = yes;
burst_away = no;
use_whois_actually = yes;
kill_chase_time_limit = 90;
hide_spoof_ips = yes;
ignore_bogus_ts = no;
disable_auth = no;
disable_remote_commands = no;
tkline_expire_notices = no;
default_floodcount = 10;
failed_oper_notice = yes;
dots_in_ident = 2;
dot_in_ip6_addr = no;
min_nonwildcard = 4;
min_nonwildcard_simple = 3;
max_accept = 20;
anti_nick_flood = yes;
max_nick_time = 20 seconds;
max_nick_changes = 5;
anti_spam_exit_message_time = 5 minutes;
ts_warn_delta = 30 seconds;
ts_max_delta = 5 minutes;
kline_with_reason = yes;
kline_reason = "Connection closed";
reject_hold_time = 0;
warn_no_nline = yes;
stats_e_disabled = no;
stats_o_oper_only = yes;
stats_P_oper_only = yes;
stats_i_oper_only = yes;
stats_k_oper_only = yes;
caller_id_wait = 1 minute;
opers_bypass_callerid = no;
pace_wait_simple = 1 second;
pace_wait = 10 seconds;
short_motd = no;
ping_cookie = no;
no_oper_flood = yes;
true_no_oper_flood = yes;
oper_pass_resv = yes;
idletime = 0;
havent_read_conf = 1;
max_targets = 4;
client_flood = 2560 bytes;
message_locale = "standard";
oper_only_umodes = bots, cconn, cconn_full, debug, full, skill,
nchange, rej, spy, external, operwall,
locops, unauth;

oper_umodes = bots, locops, servnotice, operwall, wallop;
#servlink_path = "/usr/local/ircd/bin/servlink";
#default_cipher_preference = "BF/168";
# use_egd = yes;
# egdpool_path = "/var/run/egd-pool";
# compression_level = 6;
throttle_time = 10;
};

glines {
enable = yes;
duration = 1 day;
logging = reject, block;
user = "god@I.still.hate.packets";
name = "hades.arpa";
action = reject, block;
user = "god@*";
name = "*";
action = block;
};

modules {
path = "/usr/local/ircd/modules";
path = "/usr/local/ircd/modules/autoload";
#module = "some_module.so";
};

# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6669 -j ACCEPT
# vi /etc/ircd/ircd.motd
# chkconfig --add ircd

irssi yum install glib2-devel openssl-devel # wget http://irssi.org/files/irssi-0.8.13.tar.gz # ./configure --enable-ssl --with-bot # make # make install http://d.hatena.ne.jp/papa-to-juju/20101119/1290138154 http://webtech-walker.com/archive/2010/02/01090136.html