Irc:
- irc.rizon.net #0chan
- http://qchat.rizon.net/?channels=0chan
- irc.libera.chat #multich
Matrix:
Wiki:
- git clone https://github.com/153/multichan
- pip3 install -r requirements.txt
- edit settings.py
- python3 app.py
Also at https://bitbucket.org/796f/multichan/
./_dox/NGINX.txt and ./_dox/APACHE.txt have information on configuring a webserver to use a reverse proxy to assign a domain name and port (like 80 or 443) to the multichan server.
Script runs by default at 127.0.0.1 port 5150. Using nginx or lighttpd, it's fairly simple to point a domain name and port 80 or 443 at the server.
Modify settings.py setting "name" to set the name of your board; you should also set your URL to what domain name you are giving your multichan server. After that, you can add tags to the tags array to suggest the themes of your server, and add boards you want to link with in the "friends" part of the configuration.
Finally, run python3 refresh.py
to prepare to federate, and
python3 app.py
to run your multichan server. You should be able
to view it at the IP address of the server followed by "colon 5150".
This would be http://localhost:5150/ on the machine running it.
Solve the captcha at "/captcha" and try making a post.
The script backup.py
creates a directory, ./bak/
, which contains
the current site's settings file, whitelist file, delete file,
ban file, post log, and thread database. ( settings.py , ips.txt ,
log.txt , ./delete.txt , ./bans.txt , ./threads/ ).
To delete comments / threads, add them to " ./delete.txt
" in the format
"site thread" or "site thread site comment". For example, "local 0" or
"local 0 test 3" (to remove the 3rd comment from server "test" in local's
thread "0"). Run python3 mod.py
to delete offending files; leave entries
from remote boards in delete.txt
to prevent them from being re-downloaded.
Edit the files in ./html/ to add some customization.
Users must solve a captcha in order to publish a thread or comment.
Users who attempt to solve the captcha are logged in ips.txt
by
default; a user who is unable to solve the captcha can have the key
provided by the administrator or have the test overridden if the user
provides their IP address. To ban a user, remove their IP from ips.txt
(find it via log.txt
) and then add either their IP address ( a.b.c.d
)
or their ip range ( a.b.c
). You can follow it with a comment or not,
your choice. Now, if the banned user tries to post, they'll get nothing
but failed captcha messages. How frustrating!
The file log.txt
contains a list in the format
board thread replynum ipaddress
, which can be used to help block
spammers. It does not filter spam from remote boards; to do that,
modify the delete.txt
file. A web-based admin panel is coming.
Tags can be manually set by the administrator per-thread by modifying the
./threads/site/thread/head.txt
file's second line with space separated
keywords, and then executing python3 tags.py
and/or python3 refresh.py
.
- Anti-spam
- Textboard archive --> Multich relay
- "chan" style board view
- "tree" style board view (usenet, reddit, ayashii)
- Better API
- Desktop client
in ./threads/ :
./site/######/head
title
tag1 tag2 tag3 ...
./site/######/sitename
time<>name<>comment
./site/######/list
site time
./site/list
optime lastreply localreplies allreplies title
./site/tags
tag thread thread thread ...
./list
site optime lastreply localreplies allreplies title
./friends
site url
./tags
tag site-thread ...
Move your threads directory somewhere safe and make a new one.
In the ./threads/
directory:
- Make a new directory,
local/0/
- Create
local/0/head.txt
- Write
Hello world
, newline,none
- Create
local/0/local.txt
- Write
0<>none<>none
- Create
local/0/list.txt
- Write
local 0
- Execute
python3 refresh.py
in multich directory.
Removing files from ./archive/ (e.g. rm ./archive/*
) may also be
useful.