From e26305eb7b2cf037fc85486adf767b1147f07e1f Mon Sep 17 00:00:00 2001
From: Ruben Pollan <meskio@sindominio.net>
Date: Thu, 15 Aug 2019 17:56:34 +0200
Subject: [PATCH] [feat] get the shapeshifter errors into the log

---
 pkg/standalone/vpn.go | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/pkg/standalone/vpn.go b/pkg/standalone/vpn.go
index e593f59b..4682a47e 100644
--- a/pkg/standalone/vpn.go
+++ b/pkg/standalone/vpn.go
@@ -70,6 +70,7 @@ func (b *Bitmask) startTransport() (proxy string, err error) {
 			Target:    gw.IPAddress + ":" + gw.Ports[0],
 			SocksAddr: proxy,
 		}
+		go b.listenShapeErr()
 		if iatMode, ok := gw.Options["iat-mode"]; ok {
 			b.shapes.IatMode, err = strconv.Atoi(iatMode)
 			if err != nil {
@@ -86,6 +87,17 @@ func (b *Bitmask) startTransport() (proxy string, err error) {
 	return "", fmt.Errorf("No working gateway for transport %s: %v", b.transport, err)
 }
 
+func (b *Bitmask) listenShapeErr() {
+	ch := b.shapes.GetErrorChannel()
+	for {
+		err, more := <-ch
+		if !more {
+			return
+		}
+		log.Printf("Error from shappeshifter: %v", err)
+	}
+}
+
 func (b *Bitmask) startOpenVPN(proxy string) error {
 	certPemPath, err := b.getCert()
 	if err != nil {
-- 
GitLab