]> Cypherpunks.ru repositories - gogost.git/blobdiff - install.texi
Download link for 5.14.1 release
[gogost.git] / install.texi
index c7b52c7260b54073a6fed7838a0910ee818f1f4f..3e72eb0f8adc65e86cbf3f8fdc276a67d7be8a49 100644 (file)
@@ -1,50 +1,37 @@
 @node Download
 @unnumbered Download
 
-@set VERSION 4.2.4
-
 Preferable way is to download tarball with the signature from
 website and, for example, run tests with benchmarks:
 
 @example
-$ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz
-$ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz.sig
-$ gpg --verify gogost-@value{VERSION}.tar.xz.sig gogost-@value{VERSION}.tar.xz
-$ xz --decompress --stdout gogost-@value{VERSION}.tar.xz | tar xf -
+$ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.zst
+$ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.zst.@{asc,sig@}
+[verify signature]
+$ tar xf gogost-@value{VERSION}.tar.zst
 $ cd gogost-@value{VERSION}
-$ redo bench
-$ redo all
+$ go build -mod=vendor -o streebog256 ./cmd/streebog256
 $ echo hello world | ./streebog256
 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
 @end example
 
-It uses @url{http://cr.yp.to/redo.html, redo} build system for that
-examples. You can use either dozen of various implementations, or at
-least minimalistic POSIX shell @code{apenwarr/do}:
-
-@example
-$ [fetch|wget] https://github.com/apenwarr/redo/raw/master/minimal/do
-$ mv do redo ; chmod +x redo
-@end example
-
 @include download.texi
 
 And then you can include its source code in your project for example
 like this:
 
 @example
-$ mkdir -p myproj/src
-$ cp -r gogost-@value{VERSION}/src/go.cypherpunks.ru myproj/src
-$ export GOPATH=$PWD/myproj
-$ cd myproj/src
-$ cat > main.go <<EOF
+$ mkdir -p myproj/vendor/go.cypherpunks.ru/gogost
+$ mv gogost-@value{VERSION} myproj/vendor/go.cypherpunks.ru/gogost/v5
+$ cd myproj
+$ cat >main.go <<EOF
 package main
 
 import (
     "encoding/hex"
     "fmt"
 
-    "go.cypherpunks.ru/gogost/v4/gost34112012256"
+    "go.cypherpunks.ru/gogost/v5/gost34112012256"
 )
 
 func main() @{
@@ -57,55 +44,38 @@ $ go run main.go
 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
 @end example
 
-You @strong{have to} verify downloaded tarballs integrity and
-authenticity to be sure that you retrieved trusted and untampered
-software. @url{https://www.gnupg.org/, GNU Privacy Guard} is used
-for that purpose.
-
-For the very first time it is necessary to get signing public key and
-import it. It is provided below, but you should check alternative
-resources.
-
-@verbatim
-pub   rsa2048/0x82343436696FC85A 2016-09-13 [SC]
-      CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
-uid   GoGOST releases <gogost at cypherpunks dot ru>
-@end verbatim
-
-@itemize
+@include integrity.texi
 
-@item @url{https://lists.cypherpunks.ru/mailman/listinfo/gost, gost} maillist
+GoGOST is also @command{go get}-able. For example to install
+@command{streebog256} utility:
 
-@item
 @example
-$ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
-$ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
+$ go install go.cypherpunks.ru/gogost/v5/cmd/streebog256@@latest
 @end example
 
-@item
-@verbatiminclude PUBKEY.asc
+Aware that @code{go.cypherpunks.ru} uses
+@url{//www.ca.cypherpunks.ru, ca.cypherpunks.ru} X.509 certificate authority.
 
-@end itemize
+@itemize
 
-GoGOST is also @command{go get}-able. For example to use
-@command{streebog256} utility:
+@item Go's default @code{proxy.golang.org} and @code{sum.golang.org}
+services won't be able to verify @code{go.cypherpunks.ru}'s TLS
+authenticity, because there are no common trust anchors. You can skip
+their usage by setting @env{$GOPRIVATE=go.cypherpunks.ru}.
 
-@example
-$ go get go.cypherpunks.ru/gogost/cmd/streebog256
-@end example
-
-@code{go.cypherpunks.ru} uses @url{http://www.ca.cypherpunks.ru/, ca.cypherpunks.ru}
-certificate authority. If you have issues using either
-@code{sum.golang.org} or @code{proxy.golang.org}, then you can disable
-their usage with @env{GOPRIVATE=go.cypherpunks.ru/gogost} environment
-variable.
+@item You can (temporarily) override CA bundle during installation with
+@env{$SSL_CERT_FILE} environment variable.
 
-Also you can use @code{replace} feature inside your @file{go.mod}, like:
+@item You can unpack tarball somewhere and use @code{replace} command in
+your local @file{go.mod}:
 
 @example
-require go.cypherpunks.ru/gogost/v4 v@value{VERSION}
-replace go.cypherpunks.ru/gogost/v4 => /home/stargrave/gogost-@value{VERSION}/src/go.cypherpunks.ru/gogost/v4
+require go.cypherpunks.ru/gogost/v5 v@value{VERSION}
+replace go.cypherpunks.ru/gogost/v5 => /path/to/gogost-@value{VERSION}
 @end example
 
+@end itemize
+
 You can obtain development source code with
-@command{git clone git://git.cypherpunks.ru/gogost.git}.
+@command{git clone git://git.cypherpunks.ru/gogost.git}
+(also you can use @url{https://git.cypherpunks.ru/gogost.git}).