-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
90 lines (67 loc) · 2.3 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
RIRC - Remove IRC for the masses
Core:
RIRC is a IRC client inspired in QuasselIRC but intended to be much
more generic (I love Quassel, but I want the possibility to have a
terminal client). That is why it has a XML-RPC interface that outputs
JSON objects for ease of use.
The idea is that you can put your RIRC core in a server wherever you
want and then you can connect to it securely with any client that uses
the XML-RPC interface.
Dependencies:
RIRC core uses the following tools:
- Python 2.6
- Twisted
- Sqlite3
- Gnutls
- SimpleJSON
Client:
Right now there is only one client written for Emacs. I wanted to
implement one with NCurses, but it seemed easier this way. The beauty
of this is that you can implement a client in any platform that
supports/has a lib for XML-RPC and SSL. So, if you've got a client
implemented for this, please let me know!
Using:
Core configuration:
The Core will look for the following files in the datadir:
rirc.cfg (configuration, explanation bellow)
rirc.pem
rirc_priv.pem
Example rirc.cfg
-------------------------------------------------
[General]
UseAuth=true
User=user
Password=supersecret
LeaveReason="RIRC - Remote IRC for the masses"
[Freenode]
SSL=true
URL=irc.freenode.net
Port=6697
AutoJoin=#channel1,#channel2
Nicks=nick1,nick2
[OtherNetwork]
SSL=true
URL=irc.othernet.net
Port=6697
AutoJoin=#channel1,#channel2
Nicks=nick1,nick2
-------------------------------------------------
To run the core, just clone the repo and run:
python core/rirc.py /path/to/your/datadir
The Emacs client depends on json.el and xml-rpc.el. You can find both
of them in the following URLs:
http://edward.oconnor.cx/2006/03/json.el
http://www.emacswiki.org/emacs/XmlRpc
After that, just put rirc.el in your load-path, add the following code
to your .emacs:
(require 'rirc)
(setq rirc-host "myhost.com")
(setq rirc-port "8080")
(setq rirc-highlight-str "yournick")
(setq rirc-cert "/path/to/rirc.pem")
After that, you can just run M-x rirc-init, and that should be it.
The code is a little ugly for now, I didn't spend much time
documenting and making it pretty, but it works. If you want to improve
it in any way, I'm always open to receiving patches.
Creating a self-signed certificate:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.config/rirc/rirc_priv.pem -out ~/.config/rirc/rirc.pem