Real-time imageboard in node.js and redis http://doushio.com/moe/
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
 
Lal'C Mellk Mal cda3059869 "Only upload images" option pirms 2 nedēļām
admin Use more arrow functions pirms 1 mēnesi
archive pipeline.js: use promises pirms 2 mēnešiem
client "Only upload images" option pirms 2 nedēļām
curfew Remove `hook_sync` and `trigger_sync` pirms 2 mēnešiem
docs nofollow noopener noreferrer pirms 3 gadiem
imager Async imager jobs pirms 2 nedēļām
lib Remove yepnope pirms 3 gadiem
lua Use active posts from Lua pirms 3 gadiem
report Nodemailer 6.4.10 pirms 3 mēnešiem
server Fix tweet fetching pirms 3 nedēļām
tmpl Modernize tmpl JS pirms 3 nedēļām
tripcode Port tripcode to NAPI pirms 3 mēnešiem
upkeep Async upkeep/clean.js pirms 1 mēnesi
www sockjs client 1.4.0; force ws or xhr-streaming pirms 3 mēnešiem
.gitignore Document spoiler images pirms 1 mēnesi
.ignore Don't grep minified JS pirms 3 gadiem
LICENSE Update copyright year to 2020 pirms 1 mēnesi
Makefile New script-building pipeline pirms 7 gadiem
README.md Document spoiler images pirms 1 mēnesi
TODO Inline/remove remaining hooks pirms 1 mēnesi
builder.js New script-building pipeline pirms 7 gadiem
common.js Use config prefix in client code pirms 1 mēnesi
config.js.example sockjs client 1.4.0; force ws or xhr-streaming pirms 3 mēnešiem
db.js Async commit_image_alloc pirms 1 mēnesi
deps.js Inline/remove remaining hooks pirms 1 mēnesi
etc.js Provide async exec, execFile pirms 2 nedēļām
hot.js.example Hackily fade inserted images in pirms 2 gadiem
make_client.js Provide async exec, execFile pirms 2 nedēļām
package.json Bump node-fetch from 2.6.0 to 2.6.1 (#126) pirms 3 nedēļām
pipeline.js async make_client pirms 1 mēnesi
tail.js Use setImmediate in tail pirms 7 gadiem

README.md

Real-time imageboard. MIT licensed.

Setup:

  • Install dependencies listed below
  • Sign up for reCAPTCHA
  • Create a GitHub Application (callback URL = site URL + /login)
  • Copy config.js.example to config.js and configure
  • Copy hot.js.example to hot.js and configure
  • Copy imager/config.js.example to imager/config.js and configure
  • Copy report/config.js.example to report/config.js and configure
  • Clone assets and copy the kana spoiler image folder as ./www/kana/ (or create your own!).
  • Run npm install to install npm deps and compile a few helpers
  • Run node builder.js to run an auto-reloading development server

Production:

  • Have your webserver serve www/ (or wherever you’ve moved src, thumb, etc.)
    • Configure imager.config.MEDIA_URL appropriately
    • Then turn off SERVE_STATIC_FILES and SERVE_IMAGES
  • If you’re behind Cloudflare turn on CLOUDFLARE
    • Or if you’re behind any reverse proxy (nginx etc) turn on TRUST_X_FORWARDED_FOR
  • Run node server/server.js for just the server
  • You can update client code & hot.js on-the-fly with node server/kill.js
  • For nginx hosting/reverse proxying, refer to docs/nginx.conf.example
  • For a sample init script, refer to docs/doushio.initscript.example
  • config.DAEMON support is old and broken, PRs welcome

Dependencies:

  • ImageMagick
  • libpng
  • node.js + npm
  • npm install -g node-gyp
  • redis
  • ffmpeg 2.2+ if supporting WebM
  • jhead and jpegtran optionally, for EXIF autorotation

Optional npm deps for various features:

  • daemon (broken currently)
  • send (if you want to serve static files directly from the node.js process; useful in debug mode also)

Standalone upkeep scripts:

  • archive/daemon.js - moves old threads to the archive
  • upkeep/backup.js - uploads rdb to S3
  • upkeep/clean.js - deletes archived images