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. | ||
