1 This is an image board written in C. It has few features.
5 - fcgi [ https://fastcgi-archives.github.io ]
6 - gmime [ https://github.com/GNOME/gmime ]
7 - libmagic [ https://www.darwinsys.com/file ]
8 - libsodium [ https://libsodium.org ]
9 - pcre2 [ http://www.pcre.org ]
10 - spawn-fcgi [ http://redmine.lighttpd.net/projects/spawn-fcgi ]
11 - sqlite3 [ https://sqlite.org/ ]
12 - a web server that works with fcgi (I dunno, most of them?)
13 - the programs you reference in config.h (see filetypes), which
14 for the default config are:
15 - ffmpeg [ https://ffmpeg.org/ ]
16 - imagemagick [ https://www.imagemagick.org/ ]
17 - jhead [ http://www.sentex.net/~mwandel/jhead/ ]
18 - a C implementation defining __STDC_ISO_10646__ and conforming
19 to POSIX.1-2008, with the IPV6 extensions
21 (I'd like to drop GMime dep, but RFC 7578 is a bear, and I don't
22 want a gazillion CVEs on my head.)
26 - put the following in nginx.conf. If you don't use nginx, translate
27 it and send me a patch, okay?
31 server_name localhost;
33 access_log /var/log/nginx/localhost.access_log main;
34 error_log /var/log/nginx/localhost.error_log info;
36 # This is static_www_root in config.h
37 root /where/all/your/static/files/live
40 include fastcgi_params;
41 fastcgi_pass 127.0.0.1:9000;
42 client_max_body_size 5M;
46 - copy config.def.h to config.h, edit to define boards and stuff,
49 make # that's it; no autohell.
51 Optionally, you can install it with `make install'.
53 - make sure you read the file_description_prog bit in config.def.h.
55 - copy example/* to /where/all/your/static/files/live/ and edit
56 _templates/* as desired (no seriously, you GOTTA edit as desired).
58 - write index.html to your desires. Maybe add an FAQ or a Rules
59 page? Also look at the .user.js file to see if you want fancy
62 - make sure all the directories (your static_www_root and work_path)
63 are writable (don't worry, it'll test and warn you in the next
64 step if you screw this up).
68 spawn-fcgi -n -a 127.0.0.1 -p 9000 -- /path/to/rb79-server
70 If you want the system to handle it, put that in a service script
71 or add it to /etc/s6-rc/source or whatever you cool kids are
74 - whenever you need to ban someone or sticky a thread or something,
75 use the acompanying programs (rb79-view-thread, etc.) or edit
76 the db manually, then issue a REBUILD command (see API). You can
77 also check out the manuals.
79 That's pretty much it.
96 ▄▄▄▄▓▓█▓▓█▓▒▒▓█████▓▓▓▌
97 ▄▄█▓▓█▓▀▒▀▒▓▀▓▌ █████▓█▌
98 ▄░▀▀░░▓▀░░░░░░░░░▐░▄ ████▓█▌
99 ▄▒▄▄▒░░▐▓░░░░░▀▀▀▀▀▀▒▒▒▄▒▓█████▌
100 ▄▓▀░░░░░░▓░░░░▐▓░░░░░░░░░░░▒▀███▀▀
101 ▄▒░░░░▐█▓▄▓▓▓▓█▓████▄░░░░░░░░░░░▐▄
102 ▄░░░▐█████████████████▒░░░░░░░░░░░░▄
103 ▄▄▄▄ ▐░░░░██████████████████▌░░░░░░░░░▄██▄▄
104 ░░▒▒░▒▀▌▌ ▌░░░▐█████████▓▓▓▓██████▄▄▄▄░░░░░▓███▓
105 ▐░▒▀▓██▒▌▐▌▌ ▐░░▄▄▓███████▓▓▓▓▓▓▓▓████░▐▀▀▀▀▀▒▒▄███▓▌
106 ▀▀ ▒████▒▒▓▌ ▐▒▀░░▐███████▓▓▓▓▓▓▓████▌░░░░░░░░░░░▒▓▓▌
107 ▄▓▓▀▄▄▓▓▓▓ ░░░░░█████████▓████████░░░░░░░░░▐░▓▀▀▓▌
108 ▀ ▀▓▓▓▓▓█ ▀░░░░▐████████████████░░░░░░░░░▄░▐▐██▓▌▄
109 ▐▓▀▒▌▀▐▌ ▒░░░░▐▀▀▀▀▐█▌░░░░░░░░░░░░░░░░▒▌░▐░█▌▓▌▌
110 ▀░░░░░░ ▐▄░░░░░░░░░▐█░░░░░░░░░░░░░░▒▓▀░░▌░██▓▒▌
111 ▒░░░░░▒ ▒▒▄░▄▄▒▒░░░▐▌░░░░░▒▀▀▀▓▓▓▓▓░░░░▌▐██▓▌▌
112 ▄░░░▄▓ ░░▐▀▓▓▄▄▄░░░▀▌░▒▄▄▄▓▓▓▓▒▓▓▄▓▓▓▓▒░█▓█▓
113 ▀▓▓▓▀ ▒▒▒▒▒▓▓▓▓▓▓▀▓█▓▓▓▓▓▓▓▓▓▓█▌░▓▒▓▒▓▀█▒██
114 ▄░░▄ ▄▄▄▀▒░▒▄░▒▀▓▌▓▓█▌███▌████▓███▓▓▌▒▒▒▒▓▌▐█▀█
115 ▐░░▐▄▄▄▄▒█▒▓▒▐▒░▄▓▓▓▓█▓▓▓▓▓▓▓████▓▓▓▓▓▓█▓▓▓▄▌▌██▓▓▓▓
116 ▄▓▄▄▀▒▀█▓▐▓▓▓▓▓▓▓▌▓▓▓▒▒▓▓▓██▓███▓▓██▓▓▀▀▀███▄▄▄▓▄▓▓▀
117 ▌█▄▓▓▓▄██▀▀ ▀▀▀▀▀▀▀ ▐▀▀▀███▀▀▀ ▐▌▒▐▌▒█▒▌
118 ▀▀▀▀▀▀▀ ▐▌▌▒▌▄▓█▀░▄ ▄▄▒▀▄░░▄
119 ▀▀ █▒░░▄▐▓▒▒▓▒▐░▓░░▐▄
125 Fig 1. The RB-79 Ball