|153 a6dc1b52ba||10 months ago|
|admin||3 years ago|
|css||1 year ago|
|html||2 years ago|
|img||4 years ago|
|js||3 years ago|
|notes||3 years ago|
|threads||3 years ago|
|.gitignore||3 years ago|
|LICENSE||4 years ago|
|README.md||2 years ago|
|admin.py||3 years ago|
|backlink.py||2 years ago|
|bans.py||2 years ago|
|bans.txt||2 years ago|
|index.py3||10 months ago|
|ips.txt||3 years ago|
|ips2.txt||3 years ago|
|list.txt||3 years ago|
|mod.py||2 years ago|
|settings.txt||3 years ago|
|spam.txt||2 years ago|
|tripcode.py3||3 years ago|
|webtools.py||2 years ago|
Python web board system (textboard, CGI, flatfile)
Requires python 3.6+, collections (for defaultdict)
The script iyagi (이야기, “chat”) is approaching a nicer cleaner refactor with more features. But it works, and it can do some things that other boards can’t.
It currently has the following features:
Locked, stickied, dead threads. Locked threads cannot be posted in, stickied threads always stay at the top of the board, dead threads cannot be bumped.
Installation couldn’t be easier. Just download the repo and give the BBS directory and its contents read/write privileges with the web daemon. Then, open settings with your favorite text editor, and from there, confirm your settings.
Moderation is currently done by managing text files in a directory; the default directory is “./threads/". You need to have at least one valid thread on the board to enable posting; if you need to initialize the board, create a folder called “./threads/” that’s readable/writable by the web daemon, and in there create a file called 0.txt. In your iyagi directory, create a file called “list.txt”.
list.txt contents: 0 >< 0 >< 0 >< 0 >< 0 0.txt contents: 0 0 >< 0 >< 0 >< 0
Then, try posting another thread from the page to confirm that your board works. To get rid of that first thread, remove its entry from list.txt and remove 0.txt from the thread directory. To edit threads/posts, find a thread’s filename in your web browser or list.txt, then just modify it in a text editor.
If you want to lock a thread, change the last number in its row, in list.txt, to “1”. To sticky, “2”. To stickylock, “3”. To kill, “4”. Then, open the thread (its_unix_time.txt in ./threads/) and add “><”, followed by that same value to the title line.
Clunky, but it works for now :)
["bad", "words", "go", "here"]
"126.96.36.199":"spam", "2.2.2":"a wildcard for 2.2.2" ".": "ban absolutely everyone from posting" }
Your comments/contributions would be appreciated
Here’s what I’d like to bring to future versions of IYAGI
Possible bonus features: