This is the re-imagining of the iconic Iniquity Bulletin Board Software.
-$a. ------------------ .a$ ---------------------------- %$!, ----------------%
`$¸ .%$$^¸$$aa. .¸$` . .a$a$$. `¸$% $a$. .
-.aaa$ $$$$'- $$$$$.- $aaa. -.a%$^"$$aa -- .$$$$$'- $$a. $aaa. `$,$ ----------%
;$$$$',a$a$ d$%$$$$$,'$$$$;$$$$$ $$$$$., $$%$$" d$a$$ '$$$$; $$$ .a%$ $$a
:$$$$;$$$$%; Z$$$$$$$$;$$$$:$$$$$. $$$$^$,;$$&$$ Z$$$$,;$$$$.a$$$a..$$$ $$$
.$$$$ `$$$$. $$$%$$$' $$$$.`$$$$ $$%$$$$ `$$$$. $%$$$ $$$$""$$$" $$$$: a$$
`$$$a.$$%$ $$$$$$';a$$$` `¸$$aa$$$$&$': `$$$$a. $$$$'a$$$`.$$'$ $$$$; $$$
%-----.------ $$$$'--------------- $$%$$' -- `¸$$$$$%$¸' ---- $$¸$a. `"$&$$//$%$
dz . .:'¸' . . $$$$' . . `¸$$$$y. `$$&
%--------- a`-----------.--------- $$¸' -----.------------.---------------- $$$
. !a . . . . .:' . . . .:.a$$$¸
. . '$a, . a` . 'a . . s` . . .
. ¸$Aa . !a a! . . .. %s .s
. ¸¸' . . '$$Aa.aA$$' . . `!$%a.a%//$
==============================================================================
t h e i n i q u i t y b u l l e t i n b o a r d s y s t e m
==============================================================================
- A BBS software framework that is geared towards developers and modders.
- Make it easy for sysops to develop and deploy BBS applications.
- Easily network files, messages and other forms of communication between other BBS applications.
- What you see in xterm, NetRunner, SyncTerm, EtherTerm or qodem is what you see in a web browser.
- Though the ability to do interesting things specific to terminal/web should exist.
- macOS / Windows / Linux required
- These modern operating systems are currently supported.
- Docker Desktop for macOS / Windows or Docker Machine required
- The Iniquity BBS runtime is executed inside of a Docker container for portability.
- Node.js & NPM required
- The Node community tools are used for TypeScript transpiling and Iniquity package management.
- Visual Studio Code recommended
- This repository is specifically tuned to take full advantage of this IDE.
- Moebius recommended
- The ideal choice for working with ANSI/ASCII/PETSCII/AMIGA artwork.
npm install -g @iniquitybbs/cliThen...
iniquity init --name MyBBS --template euphoriaThen start iniquity
iniquity startFor further development and customization of your iniquity bbs, it's recommended that you use VS Code. Open up your bbs directory in VSC to take advantage of the development tooling made available by this project.
const iq = new Iniquity({ basepath: "/iniquity/core/assets/" })
const welcomeArt = iq.artwork({ filename: Assets.sm_iniq2 })
welcomeArt.render({ clearScreenBefore: true, speed: 100 })
iq.print({
text: `You just connected to an iniquity bbs. The artwork you are seeing above is called ${welcomeArt.filename} It's still pretty new. Likely has bugs. Real talk, it's not even finished. But maybe you'll still think it's cool.`
.newlines()
.color("background red")
.center()
}).pause({ colorReset: true, newlines: 2, center: true })
iq.artwork({ filename: Assets.we_iniq3 }).render({ clearScreenBefore: false })
iq.say("You've connected to a prototype of the new Iniquity BBS Development Platform.".newlines(2).color("bright red").center()).pause()
iq.artwork({ filename: Assets.d_iniq1 }).render({ speed: 100 })
const login = iq.ask("What is your login: ".newlines(1))
switch (login) {
case "new":
case "signup":
iq.artwork({ filename: Assets.newuser1 }).render({ clearScreenBefore: true })
let newUser = iq.user({
name: iq.ask("What would you like your handle to be?".newlines(2).color("white")),
password: iq.ask("And your password?".newlines(2).color("white"))
})
iq.say(`Welcome ${newUser.name}. And goodbye!`.newlines().center())
iq.disconnect()
break
default:
if (iq.user({ name: login, password: iq.ask("And your password?".newlines(2).color("white")) })) {
alert("somethingsync")
}
iq.pause()
iq.artwork({ filename: Assets.d_iniq1 }).render({ clearScreenBefore: true })
break
}Want to learn more? Read the docs!
This is a monorepo project. It uses lerna for management of its packages.
git clone https://github.com/iniquitybbs/iniquity.gitWill install all dependencies and bootstrap and build all packages.
npm installInside of VS Code, fire up the development server.
npm start