Skip to content

Commit ffd5555

Browse files
committed
v1.6.1
1 parent d83d39c commit ffd5555

File tree

5 files changed

+26
-6
lines changed

5 files changed

+26
-6
lines changed

README.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ retr0chat is the lightweight, no-dependencies, runs-anywhere solution for when l
1717
* tries to be irssi
1818
* zero dependencies on python 2.6, 2.7, 3.x
1919
* supports telnet, netcat, /dev/tcp, TLS clients
20-
* is not an irc server, but can bridge to/from irc servers
20+
* is not an irc server, but can [bridge to/from irc servers](#irc)
2121
* [modem-aware](https://ocv.me/r0c-2400.webm); comfortable at 1200 bps
2222
* fallbacks for inhumane conditions
2323
* linemode
@@ -31,6 +31,7 @@ retr0chat is the lightweight, no-dependencies, runs-anywhere solution for when l
3131

3232
* 1980: [TVI 920C](https://a.ocv.me/pub/g/nerd-stuff/r0c-tvi-920c.jpg)
3333
* 1987: [IBM 3151](https://a.ocv.me/pub/g/nerd-stuff/r0c-ibm-3151.jpg) (also [video](https://a.ocv.me/pub/g/nerd-stuff/r0c-ibm-3151.webm)), using gnu-screen to translate VT100 sequences
34+
* 1993: [windows 3.11](https://a.ocv.me/pub/g/nerd-stuff/r0c-for-workgroups.png)
3435

3536
## features
3637

@@ -48,7 +49,7 @@ technical:
4849
* history of sent messages (arrow-up/down)
4950
* bandwidth-conservative (push/pop lines instead of full redraws; scroll-regions)
5051
* fast enough; 600 clients @ 750 msgs/sec, or 1'000 cli @ 350 msg/s
51-
* bridge several irc channels from several networks into one r0c channel
52+
* [bridge](#irc) several irc channels from several networks into one r0c channel
5253

5354
## windows clients
5455

@@ -108,6 +109,22 @@ you can run it as a service so it autostarts on boot:
108109
* on alpine / gentoo: [openrc service](docs/openrc/r0c)
109110
* on windows: [nssm](https://nssm.cc/) probably
110111

112+
## irc
113+
114+
if you want to connect your r0c instance to an irc network and bridge channels between them, you can do that:
115+
116+
![screenshot of a r0c channel being bridged to an irc channel](docs/r0c-irc.png)
117+
118+
```bash
119+
python3 r0c.py --ircn a,127.0.0.1,6667,r0c --ircb a,chat,g
120+
```
121+
122+
run that command to start r0c with irc bridging enabled; r0c will then connect to an irc server (which we nicknamed `a`) on `127.0.0.1:6667` with the irc-nick `r0c` and bridge the irc-channel `#chat` with the r0c-channel `#g`
123+
124+
if you then start an irc server locally, for example [miniircd](https://github.com/jrosdahl/miniircd/blob/master/miniircd) by running `python3 miniircd --verbose` then you're all set, people can now join r0c by connecting via irc
125+
126+
to bridge additional channels on the same network, add more `--ircb` args, for example `--ircb a,tech,tech` like in the screenshot, and optionally add more networks with `--ircn`
127+
111128
## firewall rules
112129

113130
skip this section if:

docs/r0c-irc.png

12.5 KB
Loading

r0c/__version__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
VERSION = (1, 6, 0)
2-
BUILD_DT = (2024, 4, 4)
1+
VERSION = (1, 6, 1)
2+
BUILD_DT = (2024, 4, 27)
33

44
S_VERSION = u".".join(map(str, VERSION))
55
S_BUILD_DT = u"{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT)

r0c/user.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ def create_channels(self):
149149
# the messy version
150150
text = u"""
151151
`1;30m______ `37m_`30m ______
152-
`1;30m\\\\\\\\\\\\\\ `37m/ \\ `30m/////// `0mret`1mr0c`22mhat r0c_ver `36m-----
152+
`1;30m\\\\\\\\\\\\\\ `37m/ \\ `30m/////// `0mret`1mr0c`22mhat r0c_ver `36m---
153153
`1;30m\\\\ `36m/`37m^^ | | `36m/^`0;36m^`1;30m // `0mgithub.com/9001/r0c
154154
`1;30m\\ `0;36m| `1m\\_/ `0;36m\\__ `1;30m/ `0;36m------b. r0c_build `0m
155155
"""

test/stress.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import builtins
66
import multiprocessing
7-
import threading
87
import socket
98
import struct
109
import signal
@@ -179,6 +178,10 @@ def bootup(self):
179178
util.Daemon(self.rx_loop)
180179
util.Daemon(self.tx_loop)
181180

181+
def close(self):
182+
self.stopping = True
183+
self.sck.close()
184+
182185
def send_status(self, txt):
183186
if False:
184187
print(txt)

0 commit comments

Comments
 (0)