From 1de7bb124a5e502945712ef34f924ca4d1d0ca45 Mon Sep 17 00:00:00 2001 From: Ruben Pollan Date: Mon, 22 Jul 2019 17:47:08 +0200 Subject: [feat] be able to use obfs4 --- pkg/standalone/bonafide/bonafide.go | 8 ++++++++ pkg/standalone/bonafide/eip_service.go | 7 +++++++ 2 files changed, 15 insertions(+) (limited to 'pkg/standalone/bonafide') diff --git a/pkg/standalone/bonafide/bonafide.go b/pkg/standalone/bonafide/bonafide.go index bdf6fff..fd32f2a 100644 --- a/pkg/standalone/bonafide/bonafide.go +++ b/pkg/standalone/bonafide/bonafide.go @@ -31,6 +31,7 @@ import ( const ( certAPI = config.APIURL + "1/cert" + certAPI3 = config.APIURL + "3/cert" secondsPerHour = 60 * 60 retryFetchJSONSeconds = 15 ) @@ -91,6 +92,13 @@ func (b *Bonafide) GetCertPem() ([]byte, error) { return nil, err } defer resp.Body.Close() + if resp.StatusCode == 404 { + resp, err = b.client.Post(certAPI3, "", nil) + if err != nil { + return nil, err + } + defer resp.Body.Close() + } if resp.StatusCode != 200 { return nil, fmt.Errorf("get vpn cert has failed with status: %s", resp.Status) } diff --git a/pkg/standalone/bonafide/eip_service.go b/pkg/standalone/bonafide/eip_service.go index 94e303d..c097e8a 100644 --- a/pkg/standalone/bonafide/eip_service.go +++ b/pkg/standalone/bonafide/eip_service.go @@ -78,11 +78,17 @@ func (b *Bonafide) fetchEipJSON() error { case 200: b.eip, err = decodeEIP3(resp.Body) case 404: + buf := make([]byte, 128) + resp.Body.Read(buf) + log.Printf("Error fetching eip v3 json: %s", buf) resp, err = b.client.Post(eip1API, "", nil) if err != nil { return err } defer resp.Body.Close() + if resp.StatusCode != 200 { + return fmt.Errorf("get eip json has failed with status: %s", resp.Status) + } b.eip, err = decodeEIP1(resp.Body) default: @@ -108,6 +114,7 @@ func decodeEIP1(body io.Reader) (*eipService, error) { decoder := json.NewDecoder(body) err := decoder.Decode(&eip1) if err != nil { + log.Printf("Error fetching eip v1 json: %v", err) return nil, err } -- cgit v1.2.3