konn-rupircd 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Manifest ADDED
@@ -0,0 +1,21 @@
1
+ Changes.ja.rd
2
+ Changes.rd
3
+ Manifest
4
+ README.ja.rd
5
+ README.rd
6
+ Usage.ja.rd
7
+ Usage.rd
8
+ info.txt
9
+ bin/rupircd
10
+ bin/mkpassword
11
+ lib/rupircd/
12
+ lib/rupircd/channel.rb
13
+ lib/rupircd/conf.rb
14
+ lib/rupircd/message.rb
15
+ lib/rupircd/mykconv.rb
16
+ lib/rupircd/server.rb
17
+ lib/rupircd/user.rb
18
+ lib/rupircd/utils.rb
19
+ lib/rupircd.rb
20
+ motd.txt
21
+ sample.conf
data/Rakefile ADDED
@@ -0,0 +1,16 @@
1
+ begin
2
+ require 'jeweler'
3
+ Jeweler::Tasks.new do |gemspec|
4
+ gemspec.name = "rupircd"
5
+ gemspec.summary = "rupircd - RUby Pseudo IRC Daemon"
6
+ gemspec.email = "mr_konn[at]jcom[dot]home[dot]ne[dot]jp"
7
+ gemspec.homepage = "http://github.com/konn/rupircd"
8
+ gemspec.description = "rupircd is a light IRC daemon written in 100% pure ruby."
9
+ gemspec.authors = ["konn"]
10
+ gemspec.extra_rdoc_files = ["README.ja.rd","README.rd","Usage.ja.rd","Usage.rd","Changes.ja.rd","Changes.rd"]
11
+ gemspec.files.exclude('**/.DS_Store')
12
+ gemspec.files.exclude('**/.gemified')
13
+ end
14
+ rescue LoadError
15
+ puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
16
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.6.1
data/changes.html ADDED
@@ -0,0 +1,41 @@
1
+ <?xml version="1.0" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <title>Changes.rd</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">ChangeLog</a></h1><!-- RDLabel: "ChangeLog" -->
11
+ <h2><a name="label-1" id="label-1">ver 0.5b1 2007-05-18T22:30:56+09:00</a></h2><!-- RDLabel: "ver 0.5b1 2007-05-18T22:30:56+09:00" -->
12
+ <ul>
13
+ <li>Fix the bug about space charactor in privmsg/notice. (Thanks&gt;kusigahama)</li>
14
+ <li>Implement OPER
15
+ <ul>
16
+ <li>And DIE, CLOSE, REHASH, RESTART command.</li>
17
+ </ul></li>
18
+ </ul>
19
+ <h2><a name="label-2" id="label-2">ver 0.2b1 2007-04-29T19:32:40+09:00</a></h2><!-- RDLabel: "ver 0.2b1 2007-04-29T19:32:40+09:00" -->
20
+ <ul>
21
+ <li>Fix the problem occuring when many people disconnect from the server at the same time.</li>
22
+ </ul>
23
+ <h2><a name="label-3" id="label-3">ver 0.1b2 2007-04-08T22:17:29+09:00</a></h2><!-- RDLabel: "ver 0.1b2 2007-04-08T22:17:29+09:00" -->
24
+ <ul>
25
+ <li>Implement AWAY command</li>
26
+ <li>Implement channel start from "+" (channel which doesn't support mode)</li>
27
+ <li>Implement some query commands(who, whois, whowas, ison, userhost)</li>
28
+ <li>Implement KICK command</li>
29
+ <li>Change implementation of Exceptions</li>
30
+ <li>Fix implementation of channel mode</li>
31
+ <li>Fix problem that user doesn't unregister from channel when user left from channel</li>
32
+ <li>Change direction of libraries</li>
33
+ <li>Write documents</li>
34
+ </ul>
35
+ <h2><a name="label-4" id="label-4">ver 0.1b1 2007-03-29T21:48:43+09:00</a></h2><!-- RDLabel: "ver 0.1b1 2007-03-29T21:48:43+09:00" -->
36
+ <ul>
37
+ <li>Announce</li>
38
+ </ul>
39
+
40
+ </body>
41
+ </html>
data/changes.ja.html ADDED
@@ -0,0 +1,41 @@
1
+ <?xml version="1.0" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <title>Changes.ja.rd</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">ChangeLog</a></h1><!-- RDLabel: "ChangeLog" -->
11
+ <h1><a name="label-1" id="label-1">ver 0.5b1 2007-05-18T22:30:56+09:00</a></h1><!-- RDLabel: "ver 0.5b1 2007-05-18T22:30:56+09:00" -->
12
+ <ul>
13
+ <li>PRIVMSG/NOTICE中の半角スペースが無くなってしまうバグを修正(Thanks&gt;kusigahamaさん)</li>
14
+ <li>OPER実装
15
+ <ul>
16
+ <li>DIE, CLOSE, REHAH, RESTART を実装</li>
17
+ </ul></li>
18
+ </ul>
19
+ <h1><a name="label-2" id="label-2">ver 0.2b1 2007-04-29T19:32:40+09:00</a></h1><!-- RDLabel: "ver 0.2b1 2007-04-29T19:32:40+09:00" -->
20
+ <ul>
21
+ <li>同時に沢山の人が接続を切ったときに発生する問題を修正</li>
22
+ </ul>
23
+ <h2><a name="label-3" id="label-3">ver 0.1b2 2007-04-08T22:17:29+09:00</a></h2><!-- RDLabel: "ver 0.1b2 2007-04-08T22:17:29+09:00" -->
24
+ <ul>
25
+ <li>AWAY の実装</li>
26
+ <li>"+" で始まるチャンネル(モード無しチャンネル)実装</li>
27
+ <li>クエリを幾つか実装(who, whois, whowas, ison, userhost)</li>
28
+ <li>KICK コマンドを実装</li>
29
+ <li>チャンネルモードの実装を修正</li>
30
+ <li>例外の実装を変更</li>
31
+ <li>ユーザがチャンネルを去ったときにきちんと登録が抹消されない問題を修正</li>
32
+ <li>ライブラリ構成を変更</li>
33
+ <li>ドキュメントかいた</li>
34
+ </ul>
35
+ <h2><a name="label-4" id="label-4">ver 0.1b1 2007-03-29T21:48:43+09:00</a></h2><!-- RDLabel: "ver 0.1b1 2007-03-29T21:48:43+09:00" -->
36
+ <ul>
37
+ <li>Announce</li>
38
+ </ul>
39
+
40
+ </body>
41
+ </html>
data/index.html ADDED
@@ -0,0 +1,75 @@
1
+ <?xml version="1.0" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <title>README.rd</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">rupircd -- Ruby Pseudo IRC Deamon</a></h1><!-- RDLabel: "rupircd &shy;&shy; Ruby Pseudo IRC Deamon" -->
11
+ <pre>ver 0.2b1 2007-04-29T19:32:40+09:00
12
+
13
+ Copyright (c) 2007 konn &lt;banzaida_at_jcom_dot_home_dot_ne_dot_jp&gt;
14
+
15
+ You can redistribute it and/or modify it under the same term as Ruby.</pre>
16
+ <h2><a name="label-1" id="label-1">What is this?</a></h2><!-- RDLabel: "What is this?" -->
17
+ <p>It is pseudo ircd written in Pure Ruby.
18
+ It has following special features.</p>
19
+ <ul>
20
+ <li>Using WEBrick</li>
21
+ <li>Because of written in pure ruby, you can use it wherever ruby is installed.
22
+ <ul>
23
+ <li>You can use it without compiling</li>
24
+ </ul></li>
25
+ <li>It is light because it doesn't relay.
26
+ <ul>
27
+ <li>Features for relay are not implemented.
28
+ <ul>
29
+ <li>For example, "LINK" Command, "STATS m" Command</li>
30
+ <li>Channel having prefix '&amp;' (Local Channel)</li>
31
+ </ul></li>
32
+ </ul></li>
33
+ <li>Easy to configure!</li>
34
+ </ul>
35
+ <p>And, it can't do following things, not to say I won't mount those things.</p>
36
+ <ul>
37
+ <li>Relaying with other server
38
+ <ul>
39
+ <li>Features about relaying</li>
40
+ </ul></li>
41
+ <li>Channel mask</li>
42
+ </ul>
43
+ <p>It doesn't relay, so it's pseudo.</p>
44
+ <p>I modified and be using source "irc.rb" of Ruby Irc interfaCE "rice" as "message.rb".</p>
45
+ <p>Thanks.</p>
46
+ <h2><a name="label-2" id="label-2">Target user</a></h2><!-- RDLabel: "Target user" -->
47
+ <ul>
48
+ <li>Want to test your own bot without burdening the public server</li>
49
+ <li>Want to setup IRC server for family circle</li>
50
+ <li>Looking for light ircd</li>
51
+ <li>Can't live without ruby!</li>
52
+ <li>Fan of the developer(!?)</li>
53
+ </ul>
54
+ <h2><a name="label-3" id="label-3">USAGE</a></h2><!-- RDLabel: "USAGE" -->
55
+ <p>ruby ircd.rb sample.conf</p>
56
+ <p>If you would like to know more details, please read "USAGE.rd". (I will write it later :-P)
57
+ Well, anyway, Source must be the best Manual for this time, I think.</p>
58
+ <h2><a name="label-4" id="label-4">TODO</a></h2><!-- RDLabel: "TODO" -->
59
+ <ol>
60
+ <li>Think cooler name</li>
61
+ <li>Implement all commands (whitout about Relaying) </li>
62
+ <li>Make installer</li>
63
+ <li>Safe Channel</li>
64
+ <li>"Service" client</li>
65
+ </ol>
66
+ <h2><a name="label-5" id="label-5">Thanks for</a></h2><!-- RDLabel: "Thanks for" -->
67
+ <ul>
68
+ <li>rice (http://arika.org/ruby/rice)</li>
69
+ <li>WEBrick</li>
70
+ <li>ruby</li>
71
+ </ul>
72
+ <p>and who would read this README weitten in terrible English by Junior High School Student.</p>
73
+
74
+ </body>
75
+ </html>
data/index.ja.html ADDED
@@ -0,0 +1,72 @@
1
+ <?xml version="1.0" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <title>README.ja.rd</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">rupircd -- Ruby Pseudo IRC Deamon</a></h1><!-- RDLabel: "rupircd &shy;&shy; Ruby Pseudo IRC Deamon" -->
11
+ <pre>ver 0.2b1 2007-04-29T19:32:40+09:00
12
+
13
+ Copyright (c) 2007 konn &lt;banzaida_at_jcom_dot_home_dot_ne_dot_jp&gt;
14
+
15
+ You can redistribute it and/or modify it under the same term as Ruby.</pre>
16
+ <h2><a name="label-1" id="label-1">これは何?</a></h2><!-- RDLabel: "これは何?" -->
17
+ <p>Pure Ruby で書かれた ircd モドキです。
18
+ こんな特徴があります。</p>
19
+ <ul>
20
+ <li>WEBrick を使ってます。</li>
21
+ <li>100% ruby なのでruby さえあれば何処でも動く
22
+ <ul>
23
+ <li>コンパイル不要!</li>
24
+ </ul></li>
25
+ <li>Relay しないので軽い!
26
+ <ul>
27
+ <li>Relay しないと意味のないコマンドは実装してません。
28
+ <ul>
29
+ <li>LINK とか STATS l とか</li>
30
+ <li>&amp;で始まるチャンネル(ローカルチャンネル)</li>
31
+ </ul></li>
32
+ </ul></li>
33
+ <li>設定が簡単!</li>
34
+ </ul>
35
+ <p>以下のようなことが出来ません。というか実装予定がありません。</p>
36
+ <ul>
37
+ <li>Relay
38
+ <ul>
39
+ <li>それに関連したコマンド</li>
40
+ </ul></li>
41
+ <li>チャンネルマスク</li>
42
+ </ul>
43
+ <p>Relay しないのでPseudoです。</p>
44
+ <p>これを作る上で、rice の irc.rb を一部改変させて使わせて頂いてます。ありがとうございました!</p>
45
+ <h2><a name="label-2" id="label-2">こんなあなたに</a></h2><!-- RDLabel: "こんなあなたに" -->
46
+ <ul>
47
+ <li>自作ボットをテストしたいがサーバーに負荷を掛けたくない。</li>
48
+ <li>内輪でサーバを建てたい</li>
49
+ <li>軽いircdを探してる</li>
50
+ <li>ruby で書かれたものじゃないとやだ!</li>
51
+ <li>作者の個人的フアン(!?)</li>
52
+ </ul>
53
+ <h2><a name="label-3" id="label-3">使い方</a></h2><!-- RDLabel: "使い方" -->
54
+ <p>ruby ircd.rb sample.conf</p>
55
+ <p>詳しくは、 USAGE.ja.rd を 御覧下さい。</p>
56
+ <h2><a name="label-4" id="label-4">TODO</a></h2><!-- RDLabel: "TODO" -->
57
+ <ol>
58
+ <li>もっとカッコイイ名前をかんがえる</li>
59
+ <li>コマンドを全部(リンク周り以外)実装する</li>
60
+ <li>インストーラを作る</li>
61
+ <li>セーフチャンネル</li>
62
+ <li>「サービス」機能</li>
63
+ </ol>
64
+ <h2><a name="label-5" id="label-5">謝辞</a></h2><!-- RDLabel: "謝辞" -->
65
+ <ul>
66
+ <li>rice (http://arika.org/ruby/rice)</li>
67
+ <li>WEBrick</li>
68
+ <li>ruby</li>
69
+ </ul>
70
+
71
+ </body>
72
+ </html>
data/info.txt ADDED
@@ -0,0 +1,54 @@
1
+ =begin
2
+ = rupircd -- Ruby Pseudo IRC Deamon
3
+
4
+ ver 0.1b1 2007-03-29T17:47:25+09:00
5
+
6
+ Copyright (c) 2007 konn <mr_konn_at_jcom_dot_home_dot_ne_dot_jp>
7
+
8
+ You can redistribute it and/or modify it under the same term as Ruby.
9
+
10
+
11
+ == これは何?
12
+ Pure Ruby で書かれた ircd モドキです。
13
+ こんな特徴があります。
14
+
15
+ * WEBrick を使ってます。
16
+ * 100% ruby なのでruby さえあれば何処でも動く
17
+ * コンパイル不要!
18
+ * Relay しないので軽い!
19
+ * Relay しないと意味のないコマンドは実装してません。
20
+ * LINK とか STATS l とか
21
+ * &で始まるチャンネル(ローカルチャンネル)
22
+ * 設定が簡単!
23
+
24
+
25
+ 以下のようなことが出来ません。というか実装予定がありません。
26
+
27
+ * Relay
28
+ * それに関連したコマンド
29
+ * チャンネルマスク
30
+
31
+ Relay しないのでPseudoです。
32
+
33
+ これを作る上で、rice を一部改変させて使わせて頂いてます。ありがとうございました!
34
+
35
+ == こんなあなたに
36
+ * 自作ボットをテストしたいがサーバーに負荷を掛けたくない。
37
+ * 内輪でサーバを建てたい
38
+ * 軽いircdを探してる
39
+ * ruby で書かれたものじゃないとやだ!
40
+ * 作者の個人的フアン(!?)
41
+
42
+ == TODO
43
+ (1) コマンドを全部(リンク周り以外)実装する
44
+ (0) サーバオペレータ
45
+ (2) セーフチャンネル
46
+ (3) 「サービス」機能
47
+
48
+
49
+ == 謝辞
50
+ * WEBrick
51
+ * rice
52
+ * ruby
53
+
54
+ =end
data/ircd.rb ADDED
@@ -0,0 +1,26 @@
1
+ =begin
2
+ = rupircd -- Ruby Pseudo IRC Deamon
3
+
4
+ ver 0.5b1 2007-05-18T22:30:56+09:00
5
+
6
+ Copyright (c) 2007 konn <banzaida_at_jcom_dot_home_dot_ne_dot_jp>
7
+
8
+ You can redistribute it and/or modify it under the same term as Ruby.
9
+ =end
10
+
11
+ $LOAD_PATH.unshift("./lib")
12
+ require "rupircd"
13
+
14
+ if ARGV.empty?
15
+ exit
16
+ end
17
+
18
+ conf = IRCd::FileConf.new(ARGV.shift)
19
+ serv = IRCd::IRCServer.new(conf)
20
+
21
+ Signal.trap('INT') do
22
+ system("kill -9 #{$$}")
23
+ serv.stop
24
+ end
25
+
26
+ serv.start