How to connect to BBS’s from Linux or Mac

BBS, Ubuntu No Comments »

If you are like me, you might have wanted to dive back into the wonderful world of BBS’s but have come up short on walk through’s or posts. Most discussions simply point to another URL that is sort of like your question but not exactly. Only to have the answer point you to another URL and another and before you know it you have jumped down too many rabbit holes and crashed Chrome.

Too many rabbit holes huh?

Too many rabbit holes huh?

Here is a quick rundown on tools to connect to a BBS or diagnose if the owner has yanked his board yet again or if the issue is not knowing how to connect.

First of all we need an IP address for the board. Most boards listed will have a Domain Name. However most boards are run on home connections which may not be static. Recently the popular Dyn DNS service chose to stop offering free accounts. Which means a few BBS’s may have been knocked offline. So before beginning it might be useful to run down the IP first. If you can’t get the IP you may have to dig to see if the name changed or they simply gave up. I use PING to find the IP of systems I want to call.

ping 64vintageremixbbs.dyndns.org -c 1

We are only sending 1 packet as we just want to see the IP. There are other ways to look up the IP but getting to know PING is a good idea. In this case the server at 64vintageremixbbs.dyndns.org won’t return a ping packet. That’s perfectly normal. It doesn’t mean his BBS is offline. It just means that the server either isn’t responding to pings or a firewall has blocked that port. The only real way is to try to connect.

Let’s first try to connect directly from the terminal window. Mac/Linux/Windows can all use Telnet.

telnet 64vintageremixbbs.dyndns.org 6400

We are giving telnet the domain name (you can also put in the IP directly here) and telling it to connect on port 6400. Most BBS’s are hosted on an empty port. Commodore 64 BBS’s frequently use port 6400. So if the BBS you are trying to connect to doesn’t list a port, try 6400. Once you are connected, your terminal will tell you what the ‘Escape character’ is. In my case it was ‘^]’. Which, not being familiar with these commands meant Control Key and ]. That gets me into the place where I can issue command like quit to close and exit or close to just close and stay in telnet.

One thing to remember with telnet is that the implementations I have run across all default to ‘Line Mode’. What this means is that they don’t send anything until you hit the Enter key. Old school BBS’s used ‘Character Mode’ meaning they sent any keypress as soon as it was typed. So if the BBS you are calling is behaving weird or not responding they likely are expecting Character mode. Type your control keys and at the telnet prompt change modes with mode character I ran into that while trying to write a Telnet server to act like a Color64 BBS. Commodore BBS’s were not intended to run on the Internet and don’t issue any commands or detect modes.

If the BBS you are trying to reach is on or compatible with Commodore 64 I would recommend using a terminal program. The best native terminal program I have found is CGTERM. It appears to have been abandoned as the Mac binary doesn’t seem to run with OS X 10.7 and above and I wasn’t able to find enough information to compile it. If someone has compiled it I would be happy to put it on my blog as I love using this on Linux. I haven’t used actual Commodore hardware to connect to a BBS over the Internet but I have used software in Vice to connect. But that’s a post for a different day. Let me know if you have any questions. I want as many users back on BBS’s as I can!

UPDATE (1-22-2015): I was able to compile CGTerm to run on a Mac in OS X 10.9 or greater. See my post here for more details and the download.

Apache 2.22 Websocket Proxying on Ubuntu with mod_proxy_wstunnel

Apache, BBS, Server, Ubuntu No Comments »

OK, so I am going to go geeky and deep on this one. But as part of my Color64 BBS project I needed to use a WebSocket proxy tunnel to the Color64 BBS software. It turns out Ubuntu isn’t up to the newest version of Apache. A little Googling and I came across this post.

The only problem is that it’s on someone else’s blog, which means I might forget where I found it should my server crash. 🙂 And the code for the exact steps need to be altered. So here goes with the modified steps for Apache 2.22:

# Check apache version (should be 2.2.22 as of writing, if not adjust the next step to the right version)
dpkg -s apache2

# Checkout apache source
svn checkout http://svn.apache.org/repos/asf/httpd/httpd/tags/2.2.22/ httpd-2.2.22

# Get patch and apply it
wget http://cafarelli.fr/gentoo/apache-2.2.24-wstunnel.patch
cd httpd-2.2.22
patch -p1 < ../apache-2.2.24-wstunnel.patch

# Build Apache 
svn co http://svn.apache.org/repos/asf/apr/apr/branches/1.4.x srclib/apr
svn co http://svn.apache.org/repos/asf/apr/apr-util/branches/1.3.x srclib/apr-util
./buildconf
./configure --enable-proxy=shared --enable-proxy_wstunnel=shared
make

# Copy the module and recompiled mod_proxy (for new symbols) to the ubuntu apache installation and update the permissions to match the other modules
sudo cp modules/proxy/.libs/mod_proxy{_wstunnel,}.so /usr/lib/apache2/modules/
sudo chmod 644 /usr/lib/apache2/modules/mod_proxy{_wstunnel,}.so
echo -e "# Depends: proxy\nLoadModule proxy_wstunnel_module /usr/lib/apache2/modules/mod_proxy_wstunnel.so" | sudo tee -a /etc/apache2/mods-available/proxy_wstunnel.load

# Enable the module (also make any configuration changes you need)
sudo a2enmod proxy_wstunnel
sudo service apache2 restart

Edit: Ubuntu may have upgraded Apache to allow for WebSocket Proxies. So I am simply posting this as a reference at this point until I update and confirm that these steps aren’t needed.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in