From f49c9e7c333199ca762719793b6cb626fc856edf Mon Sep 17 00:00:00 2001 From: "Alex Xu (Hello71)" Date: Sun, 8 Mar 2020 20:55:03 -0400 Subject: update documentation --- README | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'README') diff --git a/README b/README index 6ba0fbd..09b1bbf 100644 --- a/README +++ b/README @@ -1,3 +1,33 @@ Dedicated syntax highlighting server for cgit. -Mitigates the issue of python import time for cgit source-filters. +Use a simple HTTP server to highlight source for cgit. Improves performance +compared to invoking python on every request. + +Usage: + +1. Run `make install`. +2. Configure your system to run /usr/lib/cgit/syntax-highlighting-server.py at + boot. This can be done by `systemctl enable syntax-highlighting` on systemd + machines. Note that syntax-highlighting-server is very insecure. Therefore, + do not configure it to listen on a public network. +3. Set your cgit source filter to syntax-highlighting-client.sh. + +Tuning: + +By default, syntax-highlighting-server does all work in a single thread. If you +have a high query load and multiple CPUs, consider setting --listen-mode to +forking or reuseport. + +reuseport mode uses one worker per CPU and is the highest performance mode, but +requires Linux and additional idle memory (roughly 1-3 MB per worker). + +forking mode uses less idle memory and is compatible with non-Linux systems, +but is significantly less efficient, since it forks for every request. + +Security: + +syntax-highlighting-server is not hardened against malicious clients which send +malformed data or are simply excessively slow. Once again, do not configure +syntax-highlighting-server to listen on a public network. It is also +recommended to set max-blob-size in cgitrc, as the entire file must be buffered +in memory during syntax highlighting. -- cgit v1.2.3-70-g09d2