diff options
Diffstat (limited to 'stories/projects/vchat-client.rst')
-rw-r--r-- | stories/projects/vchat-client.rst | 267 |
1 files changed, 267 insertions, 0 deletions
diff --git a/stories/projects/vchat-client.rst b/stories/projects/vchat-client.rst new file mode 100644 index 0000000..f540f04 --- /dev/null +++ b/stories/projects/vchat-client.rst | |||
@@ -0,0 +1,267 @@ | |||
1 | .. link: | ||
2 | .. description: is a curses based chat client for the arcane vchat protocol. | ||
3 | .. tags: project | ||
4 | .. date: 2014/02/01 19:10:08 | ||
5 | .. title: vchat-client | ||
6 | .. slug: ../arts/software/vchat-client/index | ||
7 | |||
8 | Newbies Guide to vchat via 'Buntclient' | ||
9 | ======================================= | ||
10 | |||
11 | 1. Get the Source, Luke | ||
12 | ----------------------- | ||
13 | |||
14 | Make sure, you got a shell and the tool called cvs. | ||
15 | cd to a directory the source shall reside in. | ||
16 | |||
17 | Type:: | ||
18 | |||
19 | $ cvs -d:pserver:anoncvs@cvs.erdgeist.org:/home/cvsroot login | ||
20 | $ cvs -z3 -d:pserver:anoncvs@cvs.erdgeist.org:/home/cvsroot co vchat-client | ||
21 | |||
22 | (press return at password prompt) | ||
23 | |||
24 | |||
25 | 2. Do the verpile | ||
26 | ----------------- | ||
27 | |||
28 | Enter the vchat-client/ directory. | ||
29 | Type:: | ||
30 | |||
31 | $ make | ||
32 | |||
33 | If that fails due to some readline fuckups, try again with:: | ||
34 | |||
35 | $ make OLDREADLINE=-DOLDREADLINE | ||
36 | |||
37 | If you are administrator of your computer and want to install | ||
38 | vchat-client permanently, type:: | ||
39 | |||
40 | $ make install | ||
41 | |||
42 | You may also run the binary from its compile location. | ||
43 | |||
44 | |||
45 | 3. Get protected | ||
46 | ---------------- | ||
47 | |||
48 | Run the script vchat-keygen, located in the vchat-client/ directory. | ||
49 | Follow its instructions. | ||
50 | |||
51 | |||
52 | 4. Home sweet Home | ||
53 | ------------------ | ||
54 | |||
55 | Create a .vchat/ directory in your homedir. :: | ||
56 | |||
57 | $ cd | ||
58 | $ mkdir .vchat/ | ||
59 | |||
60 | Copy your key to the .vchat/ directory:: | ||
61 | |||
62 | $ cp ~/.vchat.key ~/.vchat/key | ||
63 | |||
64 | Whenever your signed cert arrives from vchat at vchat.berlin.ccc dot de, | ||
65 | copy it to the .vchat/ directory as well:: | ||
66 | |||
67 | $ cp ~/.vchat.cert ~/.vchat/cert | ||
68 | |||
69 | In order to modify the look of your client, you may copy one of | ||
70 | the sample-xxx.fmt files to the .vchat/ directory:: | ||
71 | |||
72 | $ cd vchat-client/ | ||
73 | $ cp sample-erdgeist.fmt ~/.vchat/formats | ||
74 | |||
75 | If you want to set the chat server to vchat.berlin.ccc.de now, | ||
76 | type:: | ||
77 | |||
78 | $ echo host=vchat.berlin.ccc.de >> ~/.vchat/config | ||
79 | |||
80 | If you want to ignore SSL-warnings due to missing CA-files, type:: | ||
81 | |||
82 | $ echo ignssl=1 >> ~/.vchat/config | ||
83 | |||
84 | If you don't want to ignore SSL-warnings, get the root-certificates from: | ||
85 | |||
86 | http://www.cacert.org/certs/class3.txt | ||
87 | and | ||
88 | http://www.cacert.org/certs/root.txt | ||
89 | |||
90 | and copy them into your openssl-certs directory. For example:: | ||
91 | |||
92 | # cp root.txt /etc/ssl/certs/ | ||
93 | # cp class3.txt /etc/ssl/certs/ | ||
94 | # cd /etc/ssl/certs | ||
95 | # ln -s root.txt `openssl x509 -in root.txt -hash | head -n 1`.0 | ||
96 | # ln -s class3.txt `openssl x509 -in class3.txt -hash | head -n 1`.0 | ||
97 | |||
98 | Now you can type:: | ||
99 | |||
100 | $ echo ignssl=0 >> ~/.vchat/config | ||
101 | |||
102 | |||
103 | If you want a seperate private message window, type:: | ||
104 | |||
105 | $ echo messages=10 >> ~/.vchat/config | ||
106 | |||
107 | If you want to have no topic line, like in the oldschool client, | ||
108 | do not choose a private message window an type:: | ||
109 | |||
110 | $ echo usetopicbar=0 >> ~/.vchat/config | ||
111 | |||
112 | 5. First bunt | ||
113 | ------------- | ||
114 | |||
115 | Check, whether you REALLY got a signed cert. | ||
116 | |||
117 | [.... | ||
118 | If you did not get a reply from vchat at vchat.berlin.ccc dot de within | ||
119 | 3 days, this might either be due to you not being known to the | ||
120 | certificate masters, or simply because of the verpeil. You may, | ||
121 | after 3 days, contact me at erdgeist at erdgeist dot org. If I don't | ||
122 | reply, too, reconsider your lifestyle. | ||
123 | ....] | ||
124 | |||
125 | Start the client:: | ||
126 | |||
127 | $ vchat-client | ||
128 | |||
129 | or :: | ||
130 | |||
131 | $ vchat-client/vchat-client | ||
132 | |||
133 | Enter the passphrase to your private key, if you added one. | ||
134 | |||
135 | Look around. If the Umlautz are broken, try to trouble shoot here: | ||
136 | https://freepad.erdgeist.org/p/fT9OoDoLMx | ||
137 | |||
138 | Try to feel comfortable with the new look of your vchat- | ||
139 | environment. Close your mouth. Try playing around with the | ||
140 | following commands: | ||
141 | |||
142 | If you did not enable the seperate private message window, | ||
143 | ignore this part: | ||
144 | |||
145 | [ STARTIGNORE | ||
146 | |||
147 | Press Ctrl-G and Ctrl-T several times. | ||
148 | Press Ctrl-X, then send yourself a private message, watch, what | ||
149 | happens | ||
150 | Press Ctrl-C ONCE!!! | ||
151 | Press Ctrl-R and watch the asteriks at the very right of your | ||
152 | screen, this one indicates, which window to scroll back | ||
153 | |||
154 | ENDIGNORE] | ||
155 | |||
156 | Press Ctrl-B Ctrl-F, if you collected some text in your | ||
157 | message window. This should scroll back and forth. | ||
158 | A red console bar should indicate, that you scrolled up. | ||
159 | |||
160 | Press Ctrl-L to redraw and reset scroll indices. | ||
161 | |||
162 | Play around with the completion: | ||
163 | |||
164 | Hitting <TAB> at start of line will complete to :: | ||
165 | |||
166 | .m <lastpersonyouexchangedprivatemessageswith> | ||
167 | |||
168 | if you hit <TAB> more often, you will cycle through this list, | ||
169 | sorted by the last time you exchanges PMs with. | ||
170 | |||
171 | Hitting <TAB> when you already typed some letters but no space | ||
172 | yet will expand to all nicks in your current channel. You may | ||
173 | cycle through this list, too. | ||
174 | |||
175 | Hitting tab anywhere else expands to all nicks in all channels. | ||
176 | |||
177 | Most other readline hotkeys (Ctrl-U, Ctrl-K, Ctrl-W, Ctrl-A...) | ||
178 | will work as expected. | ||
179 | |||
180 | |||
181 | 6. Commandoe | ||
182 | ------------ | ||
183 | |||
184 | In addition to the server commands (.h, .m, .a, .s ...) the | ||
185 | client brings its own set of commands, which will be triggered | ||
186 | IRC-style by /COMMAND. These may be abbrevated to the lowest | ||
187 | unambigous substring. | ||
188 | |||
189 | Try /HELP for a first glimpse. | ||
190 | The status window may be forced off by hitting Ctrl-X. | ||
191 | |||
192 | /HELP KEYS should give you a short summary of available hot | ||
193 | key commands. | ||
194 | |||
195 | Some client commands are wrappers around server commands:: | ||
196 | |||
197 | /ME == .a | ||
198 | /MSG == .m | ||
199 | /M == .m | ||
200 | /QUIT == .x | ||
201 | |||
202 | The other commands are used to enable client side filtering | ||
203 | and highlighting. | ||
204 | |||
205 | Try:: | ||
206 | |||
207 | /HELP FILTERS | ||
208 | /HELP FLT | ||
209 | /HELP FILTERS | ||
210 | |||
211 | Highlight yourself:: | ||
212 | |||
213 | /FLT 6 <nickname> | ||
214 | |||
215 | if you don't see anything getting highlighted, you probably | ||
216 | have a mac. If you got this far despite of that problem, you | ||
217 | will surely find a way to enable colors in your terminal. | ||
218 | |||
219 | Remove the filter rule:: | ||
220 | |||
221 | /rmflt 1 | ||
222 | |||
223 | Zoom in all channel leaves:: | ||
224 | |||
225 | /flt + left channel | ||
226 | |||
227 | List your filter rules:: | ||
228 | |||
229 | /lsflt | ||
230 | |||
231 | Remove all filters:: | ||
232 | |||
233 | /clflt | ||
234 | |||
235 | Ignore all server leave and join messages:: | ||
236 | |||
237 | /flt - ((left|joined|entered) (the )?(channel|chat)) | ||
238 | |||
239 | Reenable those lines:: | ||
240 | |||
241 | /rmflt ((left|joined|entered) (the )?(channel|chat)) | ||
242 | |||
243 | Note: zoom overrides ignore. | ||
244 | |||
245 | Be careful about setting your filters, as these are treated | ||
246 | as regular expressions, which easily may lead to time | ||
247 | consuming evaluations. Avoid brackets. | ||
248 | |||
249 | |||
250 | 7. Fiiiiiiiiieschas | ||
251 | ------------------- | ||
252 | |||
253 | As I am still young *cough cough* I am _STILL_ willing to | ||
254 | implement features of all stupidity grades. Contact me | ||
255 | with /m erdgeist <feature request> at any time. | ||
256 | |||
257 | |||
258 | 8. You help | ||
259 | ----------- | ||
260 | |||
261 | Since you will probably start fiddeling around with your | ||
262 | .vchat/formats file, I'd appreciate getting YOUR format, | ||
263 | too, as this may be helpful for others to make their own. | ||
264 | Just send them to erdgeist at erdgeist dot org. Bug reports, | ||
265 | feature request that are to long for the chat and diffs | ||
266 | implementing some features are welcome at this address, | ||
267 | too. | ||