Tag Archives: Bbs

Bulletin Board System; The Internet before you knew it

BBSLink Client

If you have heard of or came across http://bbslink.net/ and wanted to add the services door games to your BBS but find that they only offer a javascript file for Synchronet BBSes then this might help you out.

I recently joined and not having a Synchronet BBS I had to make my own client to work with their service. It is written in C# against .NET 2.0 and *might* work in mono on Linux. You will have to test.

Local Binary: BBSLink Door Binaries
Local Source: BBSLink Door Source Code

Routing Issues

Looks like my host is having some routing issues with the IP block that is dedicated to the BBS server. I have tickets in and hopefully will be solved soon. Not everyone may be affected, but somewhere they are dropping packets to a specific IP block, but not all my blocks.

Updated BBS Connection Page

I have removed the flash versions of the telnet client on the website and replaced with an HTML5 HTTPS Websockets only applet. All connections to the BBS from this website are 100% encrypted. Downloading and uploading files works as well through the applet, which was the only reason I was keeping the flash version around. If you are connecting via telnet client instead of the applet, your connections are not encrypted. Just a heads up.

BBS Update

It has been a while since I have posted anything.

I now have some more free time and will be adding more IGMs to the LORD game and doing more stuff to the BBS. I may also be moving the BBS outside of my home and to my externally hosted VMware setup, this should provide more stability, uptime and will also provide more bandwidth for everyone. Nothing will be affected by the move when it happens.

BBS has been moved and I have fixed a few links on the website for force into HTTPS mode.

Reddit Posts on Archaic Binary BBS

I have been asked on the BBS how I pulled reddit links into the BBS for callers to see. As you might know, I have been using RMLib to make some simple door utilities with C#.

My latest utility pulls some headlines from reddit, as well as showing recent activity on the board.

Here is the code that does this… I don’t want to release the full program source yet, as it has other stuff I need to finish up. Sorry.
Using this though you should be able to get a C# door running with RMLib.


WebClient w = new WebClient();
            string s = w.DownloadString("http://www.reddit.com/r/tech");
            string cleanString = "";
            string cleanURL = "";

            foreach (LinkItem i in LinkFinder.Find(s))
            {
                cleanString = Regex.Replace(i.Text.ToString(), @"[^\u0000-\u007F]", string.Empty);
                cleanURL = Regex.Replace(i.Href.ToString(), @"[^\u0000-\u007F]", string.Empty);
                Door.WriteLn(StringUtils.PadRight(cleanString, ' ', 57) + " | ");
                Door.WriteLn(StringUtils.PadRight(cleanURL, ' ', 57) + " | ");
                Door.WriteLn(StringUtils.PadRight(" ", ' ', 57) + " | ");
            }

---

public struct LinkItem
        {
            public string Href;
            public string Text;

            public override string ToString()
            {
                return Text + Href;
            }
        }

static class LinkFinder
        {
            public static List Find(string file)
            {
                List list = new List();
                int j = 0;

                MatchCollection m1 = Regex.Matches(file, @"(.*?)", RegexOptions.Singleline);

                foreach (Match m in m1)
                {
                    if (j <= 6)
                    {
                        string value = m.Groups[1].Value;
                        LinkItem i = new LinkItem();

                        Match m2 = Regex.Match(value, @"href=\""(.*?)\""", RegexOptions.Singleline);
                        if (m2.Success)
                        {
                            i.Href = m2.Groups[1].Value;

                        }

                        string t = Regex.Replace(value, @"\s*<.*?>\s*", "", RegexOptions.Singleline);
                        i.Text = t;

                        list.Add(i);
                        j++;
                    }
                }

                j = 0;
                return list;
            }
        }

Post Navigation