From 516cdbddb0b06671c9a4b9802eb480b2acf5bb0d Mon Sep 17 00:00:00 2001 From: fatedier Date: Wed, 16 Jan 2019 20:48:47 +0800 Subject: [PATCH 1/5] support go mod --- go.mod | 31 +++++++++++++++++++++++++++++++ go.sum | 26 ++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 go.mod create mode 100644 go.sum diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..aaa0098 --- /dev/null +++ b/go.mod @@ -0,0 +1,31 @@ +module github.com/fatedier/frp + +go 1.12 + +require ( + github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 + github.com/davecgh/go-spew v1.1.0 + github.com/fatedier/beego v0.0.0-20171024143340-6c6a4f5bd5eb + github.com/fatedier/golib v0.0.0-20181107124048-ff8cd814b049 + github.com/fatedier/kcp-go v0.0.0-20171023144637-cd167d2f15f4 + github.com/golang/snappy v0.0.0-20170215233205-553a64147049 + github.com/gorilla/context v1.1.1 + github.com/gorilla/mux v1.6.2 + github.com/gorilla/websocket v1.2.0 + github.com/hashicorp/yamux v0.0.0-20180314200745-2658be15c5f0 + github.com/inconshreveable/mousetrap v1.0.0 + github.com/pkg/errors v0.8.0 + github.com/pmezard/go-difflib v1.0.0 + github.com/rakyll/statik v0.1.1 + github.com/rodaine/table v1.0.0 + github.com/spf13/cobra v0.0.3 + github.com/spf13/pflag v1.0.1 + github.com/stretchr/testify v1.2.1 + github.com/templexxx/cpufeat v0.0.0-20170927014610-3794dfbfb047 + github.com/templexxx/reedsolomon v0.0.0-20170926020725-5e06b81a1c76 + github.com/templexxx/xor v0.0.0-20170926022130-0af8e873c554 + github.com/tjfoc/gmsm v0.0.0-20171124023159-98aa888b79d8 + github.com/vaughan0/go-ini v0.0.0-20130923145212-a98ad7ee00ec + golang.org/x/crypto v0.0.0-20180505025534-4ec37c66abab + golang.org/x/net v0.0.0-20180524181706-dfa909b99c79 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..e16434f --- /dev/null +++ b/go.sum @@ -0,0 +1,26 @@ +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/fatedier/beego v0.0.0-20171024143340-6c6a4f5bd5eb/go.mod h1:wx3gB6dbIfBRcucp94PI9Bt3I0F2c/MyNEWuhzpWiwk= +github.com/fatedier/golib v0.0.0-20181107124048-ff8cd814b049 h1:teH578mf2ii42NHhIp3PhgvjU5bv+NFMq9fSQR8NaG8= +github.com/fatedier/golib v0.0.0-20181107124048-ff8cd814b049/go.mod h1:DqIrnl0rp3Zybg9zbJmozTy1n8fYJoX+QoAj9slIkKM= +github.com/fatedier/kcp-go v0.0.0-20171023144637-cd167d2f15f4/go.mod h1:YpCOaxj7vvMThhIQ9AfTOPW2sfztQR5WDfs7AflSy4s= +github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/hashicorp/yamux v0.0.0-20180314200745-2658be15c5f0/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rakyll/statik v0.1.1/go.mod h1:OEi9wJV/fMUAGx1eNjq75DKDsJVuEv1U0oYdX6GX8Zs= +github.com/rodaine/table v1.0.0/go.mod h1:YAUzwPOji0DUJNEvggdxyQcUAl4g3hDRcFlyjnnR51I= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/templexxx/cpufeat v0.0.0-20170927014610-3794dfbfb047/go.mod h1:wM7WEvslTq+iOEAMDLSzhVuOt5BRZ05WirO+b09GHQU= +github.com/templexxx/reedsolomon v0.0.0-20170926020725-5e06b81a1c76/go.mod h1:ToWcj2sZ6xHl14JjZiVDktYpFtrFZJXBlsu7TV23lNg= +github.com/templexxx/xor v0.0.0-20170926022130-0af8e873c554/go.mod h1:5XA7W9S6mni3h5uvOC75dA3m9CCCaS83lltmc0ukdi4= +github.com/tjfoc/gmsm v0.0.0-20171124023159-98aa888b79d8/go.mod h1:XxO4hdhhrzAd+G4CjDqaOkd0hUzmtPR/d3EiBBMn/wc= +github.com/vaughan0/go-ini v0.0.0-20130923145212-a98ad7ee00ec/go.mod h1:owBmyHYMLkxyrugmfwE/DLJyW8Ro9mkphwuVErQ0iUw= +golang.org/x/crypto v0.0.0-20180505025534-4ec37c66abab/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/net v0.0.0-20180524181706-dfa909b99c79/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= From 5e1983f7ed9f0cf7129d02ac11ab9187100bc97e Mon Sep 17 00:00:00 2001 From: fatedier Date: Sat, 26 Jan 2019 12:39:03 +0800 Subject: [PATCH 2/5] change from dep to go mod --- Gopkg.lock | 251 ------------------ Gopkg.toml | 78 ------ go.mod | 25 +- go.sum | 4 + .../fatedier/beego/utils/captcha/LICENSE | 19 -- .../cobra/cobra/cmd/testdata/LICENSE.golden | 202 -------------- vendor/github.com/tjfoc/gmsm/sm4/key.pem | 3 + vendor/modules.txt | 71 +++++ 8 files changed, 91 insertions(+), 562 deletions(-) delete mode 100644 Gopkg.lock delete mode 100644 Gopkg.toml delete mode 100644 vendor/github.com/fatedier/beego/utils/captcha/LICENSE delete mode 100644 vendor/github.com/spf13/cobra/cobra/cmd/testdata/LICENSE.golden create mode 100644 vendor/github.com/tjfoc/gmsm/sm4/key.pem create mode 100644 vendor/modules.txt diff --git a/Gopkg.lock b/Gopkg.lock deleted file mode 100644 index 18187aa..0000000 --- a/Gopkg.lock +++ /dev/null @@ -1,251 +0,0 @@ -# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. - - -[[projects]] - digest = "1:5a91fc342af1f94bce8b760a80d5b709fe53ea10c870a5daf1dc7e9fada8525f" - name = "github.com/armon/go-socks5" - packages = ["."] - pruneopts = "UT" - revision = "e75332964ef517daa070d7c38a9466a0d687e0a5" - -[[projects]] - digest = "1:a2c1d0e43bd3baaa071d1b9ed72c27d78169b2b269f71c105ac4ba34b1be4a39" - name = "github.com/davecgh/go-spew" - packages = ["spew"] - pruneopts = "UT" - revision = "346938d642f2ec3594ed81d874461961cd0faa76" - version = "v1.1.0" - -[[projects]] - digest = "1:0f8ca5fa815e8058bfbf5d0e4ad0c2f8334d68cac86e3bfee94b4e3031e9f69f" - name = "github.com/fatedier/beego" - packages = ["logs"] - pruneopts = "UT" - revision = "6c6a4f5bd5eb5a39f7e289b8f345b55f75e7e3e8" - -[[projects]] - digest = "1:edb90bd03be19aa95d375ed6eb5d681538e0a3f7d2a057b69bc2ca6e5217477a" - name = "github.com/fatedier/golib" - packages = [ - "control/shutdown", - "crypto", - "errors", - "io", - "msg/json", - "net", - "net/mux", - "pool", - ] - pruneopts = "UT" - revision = "ff8cd814b04901d617b7fffaca6fedb81067821d" - -[[projects]] - branch = "frp" - digest = "1:6621826f49b587c0d6f868e1c56d2bbbc1d75597347d97419b3b027e8a753bdb" - name = "github.com/fatedier/kcp-go" - packages = ["."] - pruneopts = "UT" - revision = "cd167d2f15f451b0f33780ce862fca97adc0331e" - -[[projects]] - digest = "1:29a5ab9fa9e845fd8e8726f31b187d710afd271ef1eb32085fe3d604b7e06382" - name = "github.com/golang/snappy" - packages = ["."] - pruneopts = "UT" - revision = "553a641470496b2327abcac10b36396bd98e45c9" - -[[projects]] - digest = "1:c79fb010be38a59d657c48c6ba1d003a8aa651fa56b579d959d74573b7dff8e1" - name = "github.com/gorilla/context" - packages = ["."] - pruneopts = "UT" - revision = "08b5f424b9271eedf6f9f0ce86cb9396ed337a42" - version = "v1.1.1" - -[[projects]] - digest = "1:e73f5b0152105f18bc131fba127d9949305c8693f8a762588a82a48f61756f5f" - name = "github.com/gorilla/mux" - packages = ["."] - pruneopts = "UT" - revision = "e3702bed27f0d39777b0b37b664b6280e8ef8fbf" - version = "v1.6.2" - -[[projects]] - digest = "1:43dd08a10854b2056e615d1b1d22ac94559d822e1f8b6fcc92c1a1057e85188e" - name = "github.com/gorilla/websocket" - packages = ["."] - pruneopts = "UT" - revision = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b" - version = "v1.2.0" - -[[projects]] - digest = "1:6074024c54115955afc83ee5064367523bbc55e4eb0e9cf145e43c9c0371918c" - name = "github.com/hashicorp/yamux" - packages = ["."] - pruneopts = "UT" - revision = "2658be15c5f05e76244154714161f17e3e77de2e" - -[[projects]] - digest = "1:870d441fe217b8e689d7949fef6e43efbc787e50f200cb1e70dbca9204a1d6be" - name = "github.com/inconshreveable/mousetrap" - packages = ["."] - pruneopts = "UT" - revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75" - version = "v1.0" - -[[projects]] - digest = "1:40e195917a951a8bf867cd05de2a46aaf1806c50cf92eebf4c16f78cd196f747" - name = "github.com/pkg/errors" - packages = ["."] - pruneopts = "UT" - revision = "645ef00459ed84a119197bfb8d8205042c6df63d" - version = "v0.8.0" - -[[projects]] - digest = "1:0028cb19b2e4c3112225cd871870f2d9cf49b9b4276531f03438a88e94be86fe" - name = "github.com/pmezard/go-difflib" - packages = ["difflib"] - pruneopts = "UT" - revision = "792786c7400a136282c1664665ae0a8db921c6c2" - version = "v1.0.0" - -[[projects]] - digest = "1:bc91590d3e20673d5e33267fc140e7dadddde0b84f2e9030547ba86859d2d13e" - name = "github.com/rakyll/statik" - packages = ["fs"] - pruneopts = "UT" - revision = "fd36b3595eb2ec8da4b8153b107f7ea08504899d" - version = "v0.1.1" - -[[projects]] - digest = "1:4c01929c0b1665523b469482fc8241a04519bd5bfc97a1c113367cfadebab07b" - name = "github.com/rodaine/table" - packages = ["."] - pruneopts = "UT" - revision = "212a2ad1c462ed4d5b5511ea2b480a573281dbbd" - version = "v1.0.0" - -[[projects]] - digest = "1:645cabccbb4fa8aab25a956cbcbdf6a6845ca736b2c64e197ca7cbb9d210b939" - name = "github.com/spf13/cobra" - packages = ["."] - pruneopts = "UT" - revision = "ef82de70bb3f60c65fb8eebacbb2d122ef517385" - version = "v0.0.3" - -[[projects]] - digest = "1:9424f440bba8f7508b69414634aef3b2b3a877e522d8a4624692412805407bb7" - name = "github.com/spf13/pflag" - packages = ["."] - pruneopts = "UT" - revision = "583c0c0531f06d5278b7d917446061adc344b5cd" - version = "v1.0.1" - -[[projects]] - digest = "1:f85e109eda8f6080877185d1c39e98dd8795e1780c08beca28304b87fd855a1c" - name = "github.com/stretchr/testify" - packages = ["assert"] - pruneopts = "UT" - revision = "12b6f73e6084dad08a7c6e575284b177ecafbc71" - version = "v1.2.1" - -[[projects]] - branch = "master" - digest = "1:710ccf83337a9ca27abe968c3e58fdf16bd69d76b9870dadafc511e94fc33d7f" - name = "github.com/templexxx/cpufeat" - packages = ["."] - pruneopts = "UT" - revision = "3794dfbfb04749f896b521032f69383f24c3687e" - -[[projects]] - digest = "1:7bf0e709c5dd92c937e6f59a76056fe0a89cfe2f52ce25493c6337d23781af0a" - name = "github.com/templexxx/reedsolomon" - packages = ["."] - pruneopts = "UT" - revision = "5e06b81a1c7628d9c8d4fb7c3c4e401e37db39b4" - version = "0.1.1" - -[[projects]] - digest = "1:a0a269bea865974fc4d583373c984a5aa60cf98b5aa4f3e1b5de527891d37845" - name = "github.com/templexxx/xor" - packages = ["."] - pruneopts = "UT" - revision = "0af8e873c554da75f37f2049cdffda804533d44c" - version = "0.1.2" - -[[projects]] - digest = "1:97293f3bd0b9f81484da18dba66a20de340307b43835a91157aaaee484c80e9b" - name = "github.com/tjfoc/gmsm" - packages = ["sm4"] - pruneopts = "UT" - revision = "98aa888b79d8de04afe0fccf45ed10594efc858b" - version = "v1.1" - -[[projects]] - digest = "1:8f70510b21fd07eba5bd4e0f84d49d932ea74c8b0ea20a5807e9492cc819928c" - name = "github.com/vaughan0/go-ini" - packages = ["."] - pruneopts = "UT" - revision = "a98ad7ee00ec53921f08832bc06ecf7fd600e6a1" - -[[projects]] - digest = "1:a14b2b0fb9cc2d9ed073aac9834ff93ded673b94fedee4eead3cd9a65e80a40b" - name = "golang.org/x/crypto" - packages = [ - "blowfish", - "cast5", - "pbkdf2", - "salsa20", - "salsa20/salsa", - "tea", - "twofish", - "xtea", - ] - pruneopts = "UT" - revision = "4ec37c66abab2c7e02ae775328b2ff001c3f025a" - -[[projects]] - branch = "master" - digest = "1:4781de952463c8e97ab707c03c73f5f53296be672d1bceac9323393a7b6e7e0a" - name = "golang.org/x/net" - packages = [ - "bpf", - "context", - "internal/iana", - "internal/socket", - "internal/socks", - "ipv4", - "proxy", - "websocket", - ] - pruneopts = "UT" - revision = "dfa909b99c79129e1100513e5cd36307665e5723" - -[solve-meta] - analyzer-name = "dep" - analyzer-version = 1 - input-imports = [ - "github.com/armon/go-socks5", - "github.com/fatedier/beego/logs", - "github.com/fatedier/golib/control/shutdown", - "github.com/fatedier/golib/crypto", - "github.com/fatedier/golib/errors", - "github.com/fatedier/golib/io", - "github.com/fatedier/golib/msg/json", - "github.com/fatedier/golib/net", - "github.com/fatedier/golib/net/mux", - "github.com/fatedier/golib/pool", - "github.com/fatedier/kcp-go", - "github.com/gorilla/mux", - "github.com/gorilla/websocket", - "github.com/hashicorp/yamux", - "github.com/rakyll/statik/fs", - "github.com/rodaine/table", - "github.com/spf13/cobra", - "github.com/stretchr/testify/assert", - "github.com/vaughan0/go-ini", - "golang.org/x/net/ipv4", - "golang.org/x/net/websocket", - ] - solver-name = "gps-cdcl" - solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml deleted file mode 100644 index 45dd889..0000000 --- a/Gopkg.toml +++ /dev/null @@ -1,78 +0,0 @@ -# Gopkg.toml example -# -# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md -# for detailed Gopkg.toml documentation. -# -# required = ["github.com/user/thing/cmd/thing"] -# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] -# -# [[constraint]] -# name = "github.com/user/project" -# version = "1.0.0" -# -# [[constraint]] -# name = "github.com/user/project2" -# branch = "dev" -# source = "github.com/myfork/project2" -# -# [[override]] -# name = "github.com/x/y" -# version = "2.4.0" -# -# [prune] -# non-go = false -# go-tests = true -# unused-packages = true - - -[[constraint]] - name = "github.com/armon/go-socks5" - revision = "e75332964ef517daa070d7c38a9466a0d687e0a5" - -[[constraint]] - name = "github.com/fatedier/beego" - revision = "6c6a4f5bd5eb5a39f7e289b8f345b55f75e7e3e8" - -[[constraint]] - name = "github.com/fatedier/golib" - revision = "ff8cd814b04901d617b7fffaca6fedb81067821d" - -[[constraint]] - branch = "frp" - name = "github.com/fatedier/kcp-go" - -[[constraint]] - name = "github.com/gorilla/websocket" - version = "1.2.0" - -[[constraint]] - name = "github.com/hashicorp/yamux" - revision = "2658be15c5f05e76244154714161f17e3e77de2e" - -[[constraint]] - name = "github.com/gorilla/mux" - version = "1.6.2" - -[[constraint]] - name = "github.com/rakyll/statik" - version = "0.1.0" - -[[constraint]] - name = "github.com/rodaine/table" - version = "1.0.0" - -[[constraint]] - name = "github.com/spf13/cobra" - version = "0.0.3" - -[[constraint]] - name = "github.com/vaughan0/go-ini" - revision = "a98ad7ee00ec53921f08832bc06ecf7fd600e6a1" - -[[override]] - name = "github.com/templexxx/reedsolomon" - version = "0.1.1" - -[prune] - go-tests = true - unused-packages = true diff --git a/go.mod b/go.mod index aaa0098..3870c2f 100644 --- a/go.mod +++ b/go.mod @@ -4,28 +4,29 @@ go 1.12 require ( github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 - github.com/davecgh/go-spew v1.1.0 + github.com/davecgh/go-spew v1.1.0 // indirect github.com/fatedier/beego v0.0.0-20171024143340-6c6a4f5bd5eb github.com/fatedier/golib v0.0.0-20181107124048-ff8cd814b049 github.com/fatedier/kcp-go v0.0.0-20171023144637-cd167d2f15f4 - github.com/golang/snappy v0.0.0-20170215233205-553a64147049 - github.com/gorilla/context v1.1.1 + github.com/golang/snappy v0.0.0-20170215233205-553a64147049 // indirect + github.com/gorilla/context v1.1.1 // indirect github.com/gorilla/mux v1.6.2 github.com/gorilla/websocket v1.2.0 github.com/hashicorp/yamux v0.0.0-20180314200745-2658be15c5f0 - github.com/inconshreveable/mousetrap v1.0.0 - github.com/pkg/errors v0.8.0 - github.com/pmezard/go-difflib v1.0.0 + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/mattn/go-runewidth v0.0.4 // indirect + github.com/pkg/errors v0.8.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect github.com/rakyll/statik v0.1.1 github.com/rodaine/table v1.0.0 github.com/spf13/cobra v0.0.3 - github.com/spf13/pflag v1.0.1 + github.com/spf13/pflag v1.0.1 // indirect github.com/stretchr/testify v1.2.1 - github.com/templexxx/cpufeat v0.0.0-20170927014610-3794dfbfb047 - github.com/templexxx/reedsolomon v0.0.0-20170926020725-5e06b81a1c76 - github.com/templexxx/xor v0.0.0-20170926022130-0af8e873c554 - github.com/tjfoc/gmsm v0.0.0-20171124023159-98aa888b79d8 + github.com/templexxx/cpufeat v0.0.0-20170927014610-3794dfbfb047 // indirect + github.com/templexxx/reedsolomon v0.0.0-20170926020725-5e06b81a1c76 // indirect + github.com/templexxx/xor v0.0.0-20170926022130-0af8e873c554 // indirect + github.com/tjfoc/gmsm v0.0.0-20171124023159-98aa888b79d8 // indirect github.com/vaughan0/go-ini v0.0.0-20130923145212-a98ad7ee00ec - golang.org/x/crypto v0.0.0-20180505025534-4ec37c66abab + golang.org/x/crypto v0.0.0-20180505025534-4ec37c66abab // indirect golang.org/x/net v0.0.0-20180524181706-dfa909b99c79 ) diff --git a/go.sum b/go.sum index e16434f..86992a1 100644 --- a/go.sum +++ b/go.sum @@ -5,11 +5,15 @@ github.com/fatedier/golib v0.0.0-20181107124048-ff8cd814b049 h1:teH578mf2ii42NHh github.com/fatedier/golib v0.0.0-20181107124048-ff8cd814b049/go.mod h1:DqIrnl0rp3Zybg9zbJmozTy1n8fYJoX+QoAj9slIkKM= github.com/fatedier/kcp-go v0.0.0-20171023144637-cd167d2f15f4/go.mod h1:YpCOaxj7vvMThhIQ9AfTOPW2sfztQR5WDfs7AflSy4s= github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/hashicorp/yamux v0.0.0-20180314200745-2658be15c5f0/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rakyll/statik v0.1.1/go.mod h1:OEi9wJV/fMUAGx1eNjq75DKDsJVuEv1U0oYdX6GX8Zs= diff --git a/vendor/github.com/fatedier/beego/utils/captcha/LICENSE b/vendor/github.com/fatedier/beego/utils/captcha/LICENSE deleted file mode 100644 index 0ad73ae..0000000 --- a/vendor/github.com/fatedier/beego/utils/captcha/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2011-2014 Dmitry Chestnykh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/testdata/LICENSE.golden b/vendor/github.com/spf13/cobra/cobra/cmd/testdata/LICENSE.golden deleted file mode 100644 index d645695..0000000 --- a/vendor/github.com/spf13/cobra/cobra/cmd/testdata/LICENSE.golden +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/github.com/tjfoc/gmsm/sm4/key.pem b/vendor/github.com/tjfoc/gmsm/sm4/key.pem new file mode 100644 index 0000000..ce1b8e8 --- /dev/null +++ b/vendor/github.com/tjfoc/gmsm/sm4/key.pem @@ -0,0 +1,3 @@ +-----BEGIN SM4 KEY----- +MTIzNDU2Nzg5MGFiY2RlZg== +-----END SM4 KEY----- diff --git a/vendor/modules.txt b/vendor/modules.txt new file mode 100644 index 0000000..58d2b73 --- /dev/null +++ b/vendor/modules.txt @@ -0,0 +1,71 @@ +# github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 +github.com/armon/go-socks5 +# github.com/davecgh/go-spew v1.1.0 +github.com/davecgh/go-spew/spew +# github.com/fatedier/beego v0.0.0-20171024143340-6c6a4f5bd5eb +github.com/fatedier/beego/logs +# github.com/fatedier/golib v0.0.0-20181107124048-ff8cd814b049 +github.com/fatedier/golib/control/shutdown +github.com/fatedier/golib/crypto +github.com/fatedier/golib/io +github.com/fatedier/golib/pool +github.com/fatedier/golib/errors +github.com/fatedier/golib/msg/json +github.com/fatedier/golib/net +github.com/fatedier/golib/net/mux +# github.com/fatedier/kcp-go v0.0.0-20171023144637-cd167d2f15f4 +github.com/fatedier/kcp-go +# github.com/golang/snappy v0.0.0-20170215233205-553a64147049 +github.com/golang/snappy +# github.com/gorilla/context v1.1.1 +github.com/gorilla/context +# github.com/gorilla/mux v1.6.2 +github.com/gorilla/mux +# github.com/gorilla/websocket v1.2.0 +github.com/gorilla/websocket +# github.com/hashicorp/yamux v0.0.0-20180314200745-2658be15c5f0 +github.com/hashicorp/yamux +# github.com/inconshreveable/mousetrap v1.0.0 +github.com/inconshreveable/mousetrap +# github.com/pkg/errors v0.8.0 +github.com/pkg/errors +# github.com/pmezard/go-difflib v1.0.0 +github.com/pmezard/go-difflib/difflib +# github.com/rakyll/statik v0.1.1 +github.com/rakyll/statik/fs +# github.com/rodaine/table v1.0.0 +github.com/rodaine/table +# github.com/spf13/cobra v0.0.3 +github.com/spf13/cobra +# github.com/spf13/pflag v1.0.1 +github.com/spf13/pflag +# github.com/stretchr/testify v1.2.1 +github.com/stretchr/testify/assert +# github.com/templexxx/cpufeat v0.0.0-20170927014610-3794dfbfb047 +github.com/templexxx/cpufeat +# github.com/templexxx/reedsolomon v0.0.0-20170926020725-5e06b81a1c76 +github.com/templexxx/reedsolomon +# github.com/templexxx/xor v0.0.0-20170926022130-0af8e873c554 +github.com/templexxx/xor +# github.com/tjfoc/gmsm v0.0.0-20171124023159-98aa888b79d8 +github.com/tjfoc/gmsm/sm4 +# github.com/vaughan0/go-ini v0.0.0-20130923145212-a98ad7ee00ec +github.com/vaughan0/go-ini +# golang.org/x/crypto v0.0.0-20180505025534-4ec37c66abab +golang.org/x/crypto/pbkdf2 +golang.org/x/crypto/blowfish +golang.org/x/crypto/cast5 +golang.org/x/crypto/salsa20 +golang.org/x/crypto/tea +golang.org/x/crypto/twofish +golang.org/x/crypto/xtea +golang.org/x/crypto/salsa20/salsa +# golang.org/x/net v0.0.0-20180524181706-dfa909b99c79 +golang.org/x/net/ipv4 +golang.org/x/net/websocket +golang.org/x/net/bpf +golang.org/x/net/internal/iana +golang.org/x/net/internal/socket +golang.org/x/net/context +golang.org/x/net/proxy +golang.org/x/net/internal/socks From 385c4d3dd51b1f511c51385713827f1091f4e8dc Mon Sep 17 00:00:00 2001 From: fatedier Date: Sat, 26 Jan 2019 12:52:12 +0800 Subject: [PATCH 3/5] frpc/cmd: update protocol description --- cmd/frpc/sub/http.go | 2 +- cmd/frpc/sub/https.go | 2 +- cmd/frpc/sub/stcp.go | 2 +- cmd/frpc/sub/udp.go | 2 +- cmd/frpc/sub/xtcp.go | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmd/frpc/sub/http.go b/cmd/frpc/sub/http.go index e2ea024..08e915c 100644 --- a/cmd/frpc/sub/http.go +++ b/cmd/frpc/sub/http.go @@ -28,7 +28,7 @@ import ( func init() { httpCmd.PersistentFlags().StringVarP(&serverAddr, "server_addr", "s", "127.0.0.1:7000", "frp server's address") httpCmd.PersistentFlags().StringVarP(&user, "user", "u", "", "user") - httpCmd.PersistentFlags().StringVarP(&protocol, "protocol", "p", "tcp", "tcp or kcp") + httpCmd.PersistentFlags().StringVarP(&protocol, "protocol", "p", "tcp", "tcp or kcp or websocket") httpCmd.PersistentFlags().StringVarP(&token, "token", "t", "", "auth token") httpCmd.PersistentFlags().StringVarP(&logLevel, "log_level", "", "info", "log level") httpCmd.PersistentFlags().StringVarP(&logFile, "log_file", "", "console", "console or file path") diff --git a/cmd/frpc/sub/https.go b/cmd/frpc/sub/https.go index 5c0b0e7..5eb6a7d 100644 --- a/cmd/frpc/sub/https.go +++ b/cmd/frpc/sub/https.go @@ -28,7 +28,7 @@ import ( func init() { httpsCmd.PersistentFlags().StringVarP(&serverAddr, "server_addr", "s", "127.0.0.1:7000", "frp server's address") httpsCmd.PersistentFlags().StringVarP(&user, "user", "u", "", "user") - httpsCmd.PersistentFlags().StringVarP(&protocol, "protocol", "p", "tcp", "tcp or kcp") + httpsCmd.PersistentFlags().StringVarP(&protocol, "protocol", "p", "tcp", "tcp or kcp or websocket") httpsCmd.PersistentFlags().StringVarP(&token, "token", "t", "", "auth token") httpsCmd.PersistentFlags().StringVarP(&logLevel, "log_level", "", "info", "log level") httpsCmd.PersistentFlags().StringVarP(&logFile, "log_file", "", "console", "console or file path") diff --git a/cmd/frpc/sub/stcp.go b/cmd/frpc/sub/stcp.go index 0920927..c91040e 100644 --- a/cmd/frpc/sub/stcp.go +++ b/cmd/frpc/sub/stcp.go @@ -27,7 +27,7 @@ import ( func init() { stcpCmd.PersistentFlags().StringVarP(&serverAddr, "server_addr", "s", "127.0.0.1:7000", "frp server's address") stcpCmd.PersistentFlags().StringVarP(&user, "user", "u", "", "user") - stcpCmd.PersistentFlags().StringVarP(&protocol, "protocol", "p", "tcp", "tcp or kcp") + stcpCmd.PersistentFlags().StringVarP(&protocol, "protocol", "p", "tcp", "tcp or kcp or websocket") stcpCmd.PersistentFlags().StringVarP(&token, "token", "t", "", "auth token") stcpCmd.PersistentFlags().StringVarP(&logLevel, "log_level", "", "info", "log level") stcpCmd.PersistentFlags().StringVarP(&logFile, "log_file", "", "console", "console or file path") diff --git a/cmd/frpc/sub/udp.go b/cmd/frpc/sub/udp.go index bbe1936..3572e41 100644 --- a/cmd/frpc/sub/udp.go +++ b/cmd/frpc/sub/udp.go @@ -27,7 +27,7 @@ import ( func init() { udpCmd.PersistentFlags().StringVarP(&serverAddr, "server_addr", "s", "127.0.0.1:7000", "frp server's address") udpCmd.PersistentFlags().StringVarP(&user, "user", "u", "", "user") - udpCmd.PersistentFlags().StringVarP(&protocol, "protocol", "p", "tcp", "tcp or kcp") + udpCmd.PersistentFlags().StringVarP(&protocol, "protocol", "p", "tcp", "tcp or kcp or websocket") udpCmd.PersistentFlags().StringVarP(&token, "token", "t", "", "auth token") udpCmd.PersistentFlags().StringVarP(&logLevel, "log_level", "", "info", "log level") udpCmd.PersistentFlags().StringVarP(&logFile, "log_file", "", "console", "console or file path") diff --git a/cmd/frpc/sub/xtcp.go b/cmd/frpc/sub/xtcp.go index b6ae541..0a81e18 100644 --- a/cmd/frpc/sub/xtcp.go +++ b/cmd/frpc/sub/xtcp.go @@ -27,7 +27,7 @@ import ( func init() { xtcpCmd.PersistentFlags().StringVarP(&serverAddr, "server_addr", "s", "127.0.0.1:7000", "frp server's address") xtcpCmd.PersistentFlags().StringVarP(&user, "user", "u", "", "user") - xtcpCmd.PersistentFlags().StringVarP(&protocol, "protocol", "p", "tcp", "tcp or kcp") + xtcpCmd.PersistentFlags().StringVarP(&protocol, "protocol", "p", "tcp", "tcp or kcp or websocket") xtcpCmd.PersistentFlags().StringVarP(&token, "token", "t", "", "auth token") xtcpCmd.PersistentFlags().StringVarP(&logLevel, "log_level", "", "info", "log level") xtcpCmd.PersistentFlags().StringVarP(&logFile, "log_file", "", "console", "console or file path") From 70ac7d3d110189c131cd327b6eef2245a7d676f8 Mon Sep 17 00:00:00 2001 From: fatedier Date: Sat, 26 Jan 2019 21:36:24 +0800 Subject: [PATCH 4/5] fix control delete error --- server/control.go | 7 +++++-- server/service.go | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/server/control.go b/server/control.go index 90a3584..169e173 100644 --- a/server/control.go +++ b/server/control.go @@ -62,10 +62,13 @@ func (cm *ControlManager) Add(runId string, ctl *Control) (oldCtl *Control) { return } -func (cm *ControlManager) Del(runId string) { +// we should make sure if it's the same control to prevent delete a new one +func (cm *ControlManager) Del(runId string, ctl *Control) { cm.mu.Lock() defer cm.mu.Unlock() - delete(cm.ctlsByRunId, runId) + if c, ok := cm.ctlsByRunId[runId]; ok && c == ctl { + delete(cm.ctlsByRunId, runId) + } } func (cm *ControlManager) GetById(runId string) (ctl *Control, ok bool) { diff --git a/server/service.go b/server/service.go index bbeb8b1..440b694 100644 --- a/server/service.go +++ b/server/service.go @@ -353,7 +353,7 @@ func (svr *Service) RegisterControl(ctlConn frpNet.Conn, loginMsg *msg.Login) (e go func() { // block until control closed ctl.WaitClosed() - svr.ctlManager.Del(loginMsg.RunId) + svr.ctlManager.Del(loginMsg.RunId, ctl) }() return } From 05ca72dbf0a3fedd31ae6eaab1d7ea054e38e792 Mon Sep 17 00:00:00 2001 From: fatedier Date: Sat, 26 Jan 2019 22:05:58 +0800 Subject: [PATCH 5/5] bump version --- utils/version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/version/version.go b/utils/version/version.go index 1c5ddc2..edcb16c 100644 --- a/utils/version/version.go +++ b/utils/version/version.go @@ -19,7 +19,7 @@ import ( "strings" ) -var version string = "0.23.1" +var version string = "0.23.2" func Full() string { return version