all: govpn-client govpn-server govpn-verifier
govpn-client:
- GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" govpn/cmd/govpn-client
+ GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/govpn/cmd/govpn-client
govpn-server:
- GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" govpn/cmd/govpn-server
+ GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/govpn/cmd/govpn-server
govpn-verifier:
- GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" govpn/cmd/govpn-verifier
+ GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/govpn/cmd/govpn-verifier
bench:
- GOPATH=$(GOPATH) go test -bench . govpn/...
+ GOPATH=$(GOPATH) go test -bench . cypherpunks.ru/govpn/...
clean:
rm -f govpn-client govpn-server govpn-verifier
@multitable {XXXXX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
@headitem Version @tab Size @tab Tarball @tab SHA256 checksum
+@item 5.2 @tab 300 KiB
+@tab @url{download/govpn-5.2.tar.xz, link} @url{download/govpn-5.2.tar.xz.sig, sign}
+@tab @code{44e3a3265b30305a4436e172565585c327fb28d26197e61b7496c437d032c0db}
+
@item 5.1 @tab 287 KiB
@tab @url{download/govpn-5.1.tar.xz, link} @url{download/govpn-5.1.tar.xz.sig, sign}
@tab @code{0d456c5683287dca31f8c3302eb9a9329feab82bc1fbdb0098fca991513536d1}
@end itemize
GoVPN is written on Go programming language and you have to install Go
-compiler (1.5+ version is highly recommended): @code{lang/go} port in
-FreeBSD and @code{golang} package in most GNU/Linux distributions.
-@emph{Make} (BSD and GNU ones are fine) is recommended for convenient
-building. @url{https://www.gnu.org/software/texinfo/, Texinfo} is used
-for building documentation. Possibly you also need to install TUN/TAP
+compiler (1.5+ version is highly recommended, 1.4 is the minimal
+sufficient): @code{lang/go} port in FreeBSD and @code{golang} package in
+most GNU/Linux distributions. @emph{Make} (BSD and GNU ones are fine) is
+recommended for convenient building.
+@url{https://www.gnu.org/software/texinfo/, Texinfo} is used for
+building documentation. Possibly you also need to install TUN/TAP
interface utilities (depending on your operating system):
@code{uml-utilities} package in most GNU/Linux distributions.
@table @strong
+@item Release 5.3
+@cindex Release 5.3
+@itemize
+@item Fixed minor bug with @code{newclient.sh} that caught
+"Passphrase:" prompt and inserted it into example YAML output.
+Just replaced stdout output to stderr for that prompt.
+@end itemize
+
@item Release 5.2
@cindex Release 5.2
@itemize
@multitable @columnfractions .50 .50
@headitem Software/library @tab Mirror
-@item @code{govpn} @tab @url{https://github.com/stargrave/govpn.git}
+@item @code{cypherpunks.ru/govpn} @tab @url{https://github.com/stargrave/govpn.git}
@item @code{github.com/agl/ed25519} @tab @url{git://git.cypherpunks.ru/ed25519.git}
@item @code{github.com/bigeagle/water} @tab @url{git://git.cypherpunks.ru/water.git}
@item @code{github.com/dchest/blake2b} @tab @url{git://git.cypherpunks.ru/blake2b.git}
"os/signal"
"time"
- "govpn"
+ "cypherpunks.ru/govpn"
)
var (
"sync/atomic"
"time"
- "govpn"
+ "cypherpunks.ru/govpn"
)
func startTCP(timeouted, rehandshaking, termination chan struct{}) {
"sync/atomic"
"time"
- "govpn"
+ "cypherpunks.ru/govpn"
)
func startUDP(timeouted, rehandshaking, termination chan struct{}) {
"sync"
"time"
- "govpn"
+ "cypherpunks.ru/govpn"
)
type PeerState struct {
"github.com/go-yaml/yaml"
- "govpn"
+ "cypherpunks.ru/govpn"
)
const (
"os/signal"
"time"
- "govpn"
+ "cypherpunks.ru/govpn"
)
var (
"net"
"time"
- "govpn"
+ "cypherpunks.ru/govpn"
)
func startTCP() {
"log"
"net"
- "govpn"
+ "cypherpunks.ru/govpn"
)
type UDPSender struct {
"fmt"
"log"
- "govpn"
+ "cypherpunks.ru/govpn"
)
var (
package govpn
import (
- "govpn/aont"
- "govpn/cnw"
+ "cypherpunks.ru/govpn/aont"
+ "cypherpunks.ru/govpn/cnw"
)
const (
"fmt"
"io/ioutil"
"log"
+ "os"
"strings"
"github.com/agl/ed25519"
var err error
var pass string
if path == "" {
- fmt.Print("Passphrase:")
+ os.Stderr.Write([]byte("Passphrase:"))
p, err = terminal.ReadPassword(0)
- fmt.Print("\n")
+ os.Stderr.Write([]byte("\n"))
pass = string(p)
} else {
p, err = ioutil.ReadFile(path)