cutechan

module
v0.0.0-...-2031ce5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2020 License: AGPL-3.0, AGPL-3.0-or-later

README

cutechan Build Status

K-pop oriented imageboard started as meguca fork.

Runtime dependencies

  • PostgresSQL >= 9.6
  • FFmpeg >= 3.1 shared libraries (libavcodec, libavutil, libavformat, libswscale) compiled with:
    • libvpx
  • GraphicsMagick >= 1.3 shared library (Q16) compiled with:
    • zlib
    • libpng
    • libjpeg
  • libjpeg(-turbo) shared library (6.2 or 8.0 ABI)
  • dlib >= 19.10 shared library

Build dependencies

  • FFmpeg, GraphicsMagick, libjpeg, dlib development files
  • Node.js >= 8.0 (for building client)
  • Go >= 1.9.2 (for building server)
  • GNU Build System
  • OptiPNG
Ubuntu example
sudo apt install postgresql
sudo apt install build-essential golang libavformat-dev libswscale-dev libgraphicsmagick1-dev optipng
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt install nodejs

Build

make

Setup

  • See go/bin/cutechan --help for server operation
  • Login into the admin account with the password password
  • Change the default password
  • Create a board from the administration panel
  • Configure server from the administration panel

Development

  • make serve runs the server (run make server-config to init config and make server-db to init database)
  • make client and make server build the client and server separately
  • make client-watch watches the file system for changes and incrementally rebuilds the client
  • make clean removes files from the previous compilation

VirtualBox image

If you're on Windows or would like to try cutechan in action without any setup, check out preconfigured image.

Instructions

  • Install VirtualBox
  • File → Import Appliance → Select cutechan.ova
  • Go to machine settings → Shared folders → Set path to your clone of cutechan repo
  • Start it, use user for username and 1 for password
  • Startup script will automatically build and run server at http://192.168.56.101:8001
  • That's it, now you can do any experiments with your personal cutechan install

License

AGPLv3+

Directories

Path Synopsis
go module
src/meguca/auth
Package auth determines and asserts client permissions to access and modify server resources.
Package auth determines and asserts client permissions to access and modify server resources.
src/meguca/cache
Package cache provides an in-memory LRU cache for reducing the duplicate workload of database requests and post HTML and JSON generation
Package cache provides an in-memory LRU cache for reducing the duplicate workload of database requests and post HTML and JSON generation
src/meguca/cmd/cutethumb
Image/video thumbnailer, run as a separate process and potentially from separate user for security reasons.
Image/video thumbnailer, run as a separate process and potentially from separate user for security reasons.
src/meguca/common
TODO(Kagami): Somehow merge with server/errors.go Package common contains common shared types, variables and constants used throughout the project.
TODO(Kagami): Somehow merge with server/errors.go Package common contains common shared types, variables and constants used throughout the project.
src/meguca/config
Package config stores and exports the configuration for server-side use and the public availability JSON struct, which includes a small subset of the server configuration.
Package config stores and exports the configuration for server-side use and the public availability JSON struct, which includes a small subset of the server configuration.
src/meguca/db
Package db handles all core database interactions of the server
Package db handles all core database interactions of the server
src/meguca/feeds
Package feeds manages client synchronization to update feeds and provides a thread-safe interface for propagating messages to them and reassigning feeds to and from clients.
Package feeds manages client synchronization to update feeds and provides a thread-safe interface for propagating messages to them and reassigning feeds to and from clients.
src/meguca/file
Package file provides file backend abstraction.
Package file provides file backend abstraction.
src/meguca/ipc
Common structures and helpers to communicate between cutechan processes.
Common structures and helpers to communicate between cutechan processes.
src/meguca/lang
Internationalization support.
Internationalization support.
src/meguca/parser
Parses and verifies user-sent post data.
Parses and verifies user-sent post data.
src/meguca/server
API error interface and centralized collection of all errors return by server.
API error interface and centralized collection of all errors return by server.
src/meguca/templates
Post formatting renderer.
Post formatting renderer.
src/meguca/test
Package test contains utility functions used throughout the project in tests
Package test contains utility functions used throughout the project in tests
src/meguca/util
Package util contains various general utility functions used throughout the project.
Package util contains various general utility functions used throughout the project.
src/meguca/websockets
Package websockets manages active websocket connections and messages received from and sent to them
Package websockets manages active websocket connections and messages received from and sent to them

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL