]> Sergey Matveev's repositories - tofuproxy.git/blob - doc/usage.texi
Download link for 0.6.0 release
[tofuproxy.git] / doc / usage.texi
1 @node Usage
2 @unnumbered Usage
3
4 Currently @command{tofuproxy} uses:
5 GnuTLS'es @url{https://www.gnutls.org/manual/html_node/certtool-Invocation.html, certtool},
6 @url{https://www.tcl.tk/, Tcl/Tk}'s @command{wish} shell for GUI dialogues,
7 @command{dwebp}, @command{djxl}, @command{avifdec} for images transcoding,
8 @url{https://vanheusden.com/multitail/, multitail} for logs viewing.
9
10 @itemize
11
12 @item @ref{Install, Download} and build it.
13
14 @item
15 Create separate @file{state/} directory, generate @command{tofuproxy}'s
16 certificate and create necessary FIFOs by executing @command{state-init}
17 helper:
18
19 @example
20 $ mkdir state ; cd state
21 $ ../state-init
22 @end example
23
24 @item
25 Run @command{tofuproxy} itself then. By default it will bind to
26 @code{[::1]:8080} and use @code{[::1]:53} DNS server for DANE requests
27 (set to an empty string to disable DANE lookups):
28
29 @example
30 $ ../cmd/tofuproxy/tofuproxy [-ai ecdsa] -unzstd ../cmd/zstd/unzstd
31 main.go:70: listening: [::1]:8080 dns: [::1]:53 certs: ./certs ccerts: ./ccerts
32 @end example
33
34 @item Trust your newly generated CA:
35
36 @example
37 # cat cert.pem >> /etc/ssl/cert.pem
38 @end example
39
40 @item Point you HTTP/HTTPS clients to @code{http://localhost:8080} proxy.
41
42 @item Watch logs:
43
44 @example
45 $ ( cd fifos ; ../../fifos/multitail )
46 @end example
47
48 @image{logs,,,Example logs,.webp}
49
50 @end itemize