]> Sergey Matveev's repositories - tofuproxy.git/blobdiff - doc/usage.texi
Download link for 0.6.0 release
[tofuproxy.git] / doc / usage.texi
index e179a42167eb99058027132aadb4ecdf7ec401fc..0ea417fa83162193d4f2d53856463acedb4b623e 100644 (file)
 @node Usage
 @unnumbered Usage
 
-@itemize
+Currently @command{tofuproxy} uses:
+GnuTLS'es @url{https://www.gnutls.org/manual/html_node/certtool-Invocation.html, certtool},
+@url{https://www.tcl.tk/, Tcl/Tk}'s @command{wish} shell for GUI dialogues,
+@command{dwebp}, @command{djxl}, @command{avifdec} for images transcoding,
+@url{https://vanheusden.com/multitail/, multitail} for logs viewing.
 
-@item Currently @command{tofuproxy} uses:
-    GnuTLS'es @url{https://www.gnutls.org/manual/html_node/certtool-Invocation.html, certtool},
-    @url{http://cr.yp.to/redo.html, redo} build system,
-    @url{https://www.tcl.tk/, Tcl/Tk}'s @command{wish} shell for GUI dialogues,
-    @command{dwebp}, @command{djxl} for images transcoding,
-    @url{https://github.com/halturin/multitail, multitail} for logs viewing.
+@itemize
 
-@item Download and build @command{tofuproxy}:
-
-@example
-$ git clone git://git.stargrave.org/tofuproxy.git
-$ cd tofuproxy
-$ redo all
-@end example
+@item @ref{Install, Download} and build it.
 
 @item
-If build fails because of untrusted @code{ca.cypherpunks.ru} certificate, then:
+Create separate @file{state/} directory, generate @command{tofuproxy}'s
+certificate and create necessary FIFOs by executing @command{state-init}
+helper:
 
 @example
-$ [fetch|wget] http://www.ca.cypherpunks.ru/cert.pem
-$ [fetch|wget] http://www.ca.cypherpunks.ru/cert.pem.asc
-$ gpg --auto-key-locate dane --locate-keys stargrave at stargrave dot org
-$ gpg --auto-key-locate wkd --locate-keys stargrave at gnupg dot net
-$ gpg --verify cert.pem.asc
-$ SSL_CERT_FILE=`pwd`/cert.pem GIT_SSL_CAINFO=`pwd`/cert.pem redo all
+$ mkdir state ; cd state
+$ ../state-init
 @end example
 
 @item
-Run @command{tofuproxy} itself. By default it will bind to
-@code{[::1]:8080}, use @code{[::1]:53} DNS server for DANE requests
+Run @command{tofuproxy} itself then. By default it will bind to
+@code{[::1]:8080} and use @code{[::1]:53} DNS server for DANE requests
 (set to an empty string to disable DANE lookups):
 
 @example
-$ ./tofuproxy.cmd
+$ ../cmd/tofuproxy/tofuproxy [-ai ecdsa] -unzstd ../cmd/zstd/unzstd
 main.go:70: listening: [::1]:8080 dns: [::1]:53 certs: ./certs ccerts: ./ccerts
 @end example
 
 @item Trust your newly generated CA:
 
 @example
-# cat cert.pem >> /etc/ssl/cert.pem
+# cat cert.pem >>/etc/ssl/cert.pem
 @end example
 
-@item Point you HTTP/HTTPS clients to @code{http://localhost:8080}.
-
-@item
-If you want to use TLS client certificates, then place them to
-@file{-ccerts} directory.
-
-@item
-Load spying domains to reject to with:
-
-@example
-$ cat spies.txt > fifos/add-spies
-@end example
+@item Point you HTTP/HTTPS clients to @code{http://localhost:8080} proxy.
 
 @item Watch logs:
 
 @example
-$ ( cd fifos ; ./multitail.sh )
+$ ( cd fifos ; ../../fifos/multitail )
 @end example
 
 @image{logs,,,Example logs,.webp}
 
-@item
-When you encounter something requiring your attention and decision, you
-will be shown Tk-dialog through the @command{wish} invocation. GnuTLS'es
-@command{certtool} is used for certificate information printing.
-
-@image{dialog,,,Example dialog,.webp}
-
-@item
-Certificate trust decision dialog (like above one) has multiple hotkeys:
-
-    @itemize
-    @item @code{a} -- accept and save certificate chain to disk
-    @item @code{o} -- accept once per session (@command{tofuproxy} running)
-    @item @code{r} -- reject certificate
-    @item @code{q} -- reject certificate really once, same as closing the window
-    @item @code{n} -- next page of "their" certificate chain
-    @item @code{p} -- previous page of "their" certificate chain
-    @item @code{N} -- next page of "our" certificate chain
-    @item @code{P} -- previous page of "our" certificate chain
-    @end itemize
-
-@item
-To list currently accepted, rejected, HTTP authorized, TLS client
-authenticated hosts:
-
-@example
-$ cat fifos/list-@{accepted,rejected,http-auth,tls-auth@}
-@end example
-
-@item
-To remove knowledge of the host from any of the states mentioned above:
-
-@example
-$ echo www.example.com > fifos/del-tls-auth
-@end example
-
 @end itemize