From 44347444f85603e679f7950c7ed36a5a953075a5 Mon Sep 17 00:00:00 2001 From: Jack Drogon Date: Fri, 14 Jul 2023 11:13:31 +0800 Subject: [PATCH] enhancement: use faster base64 --- cmd/frpc/sub/reload.go | 2 +- cmd/frpc/sub/status.go | 2 +- cmd/frpc/sub/stop.go | 2 +- go.mod | 1 + go.sum | 2 ++ pkg/plugin/client/http_proxy.go | 3 ++- pkg/proto/udp/udp.go | 3 ++- pkg/util/util/http.go | 3 ++- pkg/util/vhost/http.go | 3 ++- test/e2e/pkg/utils/utils.go | 2 +- 10 files changed, 15 insertions(+), 8 deletions(-) diff --git a/cmd/frpc/sub/reload.go b/cmd/frpc/sub/reload.go index 258317e7..44223a42 100644 --- a/cmd/frpc/sub/reload.go +++ b/cmd/frpc/sub/reload.go @@ -15,13 +15,13 @@ package sub import ( - "encoding/base64" "fmt" "io" "net/http" "os" "strings" + "github.com/cristalhq/base64" "github.com/spf13/cobra" "github.com/fatedier/frp/pkg/config" diff --git a/cmd/frpc/sub/status.go b/cmd/frpc/sub/status.go index db7471e3..e130286a 100644 --- a/cmd/frpc/sub/status.go +++ b/cmd/frpc/sub/status.go @@ -15,7 +15,6 @@ package sub import ( - "encoding/base64" "encoding/json" "fmt" "io" @@ -23,6 +22,7 @@ import ( "os" "strings" + "github.com/cristalhq/base64" "github.com/rodaine/table" "github.com/spf13/cobra" diff --git a/cmd/frpc/sub/stop.go b/cmd/frpc/sub/stop.go index 6c8f5f0a..15727fae 100644 --- a/cmd/frpc/sub/stop.go +++ b/cmd/frpc/sub/stop.go @@ -15,13 +15,13 @@ package sub import ( - "encoding/base64" "fmt" "io" "net/http" "os" "strings" + "github.com/cristalhq/base64" "github.com/spf13/cobra" "github.com/fatedier/frp/pkg/config" diff --git a/go.mod b/go.mod index b42d8801..81029f30 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,7 @@ go 1.20 require ( github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 github.com/coreos/go-oidc/v3 v3.4.0 + github.com/cristalhq/base64 v0.1.2 github.com/fatedier/beego v0.0.0-20171024143340-6c6a4f5bd5eb github.com/fatedier/golib v0.1.1-0.20230628070619-a1a0c648236a github.com/fatedier/kcp-go v2.0.4-0.20190803094908-fe8645b0a904+incompatible diff --git a/go.sum b/go.sum index c259697e..a2719fb1 100644 --- a/go.sum +++ b/go.sum @@ -104,6 +104,8 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7 github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cristalhq/base64 v0.1.2 h1:edsefYyYDiac7Ytdh2xdaiiSSJzcI2f0yIkdGEf1qY0= +github.com/cristalhq/base64 v0.1.2/go.mod h1:sy4+2Hale2KbtSqkzpdMeYTP/IrB+HCvxVHWsh2VSYk= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/pkg/plugin/client/http_proxy.go b/pkg/plugin/client/http_proxy.go index 51a191be..dd90de5f 100644 --- a/pkg/plugin/client/http_proxy.go +++ b/pkg/plugin/client/http_proxy.go @@ -16,13 +16,14 @@ package plugin import ( "bufio" - "encoding/base64" "io" "net" "net/http" "strings" "time" + "github.com/cristalhq/base64" + libio "github.com/fatedier/golib/io" libnet "github.com/fatedier/golib/net" diff --git a/pkg/proto/udp/udp.go b/pkg/proto/udp/udp.go index 7a11984b..d226176f 100644 --- a/pkg/proto/udp/udp.go +++ b/pkg/proto/udp/udp.go @@ -15,11 +15,12 @@ package udp import ( - "encoding/base64" "net" "sync" "time" + "github.com/cristalhq/base64" + "github.com/fatedier/golib/errors" "github.com/fatedier/golib/pool" diff --git a/pkg/util/util/http.go b/pkg/util/util/http.go index d89af08b..39ed37c5 100644 --- a/pkg/util/util/http.go +++ b/pkg/util/util/http.go @@ -15,10 +15,11 @@ package util import ( - "encoding/base64" "net" "net/http" "strings" + + "github.com/cristalhq/base64" ) func OkResponse() *http.Response { diff --git a/pkg/util/vhost/http.go b/pkg/util/vhost/http.go index af3a4ab5..f89e34c0 100644 --- a/pkg/util/vhost/http.go +++ b/pkg/util/vhost/http.go @@ -17,7 +17,6 @@ package vhost import ( "bytes" "context" - "encoding/base64" "errors" "fmt" "log" @@ -28,6 +27,8 @@ import ( "strings" "time" + "github.com/cristalhq/base64" + libio "github.com/fatedier/golib/io" "github.com/fatedier/golib/pool" diff --git a/test/e2e/pkg/utils/utils.go b/test/e2e/pkg/utils/utils.go index 7b177e14..f826f074 100644 --- a/test/e2e/pkg/utils/utils.go +++ b/test/e2e/pkg/utils/utils.go @@ -1,7 +1,7 @@ package utils import ( - "encoding/base64" + "github.com/cristalhq/base64" ) func BasicAuth(username, passwd string) string {