diff --git a/.travis.yml b/.travis.yml index a6adfd5c..6fa211d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,14 +2,13 @@ language: go sudo: false go: - "1.11" -before_install: - - go get -u github.com/golang/dep/cmd/dep install: - - "$GOPATH/bin/dep ensure" + - "go mod download" env: global: - NAME=clash - BINDIR=bin + - GO111MODULE=on script: - go test ./... before_deploy: make -j releases diff --git a/Dockerfile b/Dockerfile index 3cada3f8..06dc565b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,11 +2,9 @@ FROM golang:latest as builder RUN wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz -O /tmp/GeoLite2-Country.tar.gz && \ tar zxvf /tmp/GeoLite2-Country.tar.gz -C /tmp && \ cp /tmp/GeoLite2-Country_*/GeoLite2-Country.mmdb /Country.mmdb -RUN curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh && \ - mkdir -p /go/src/github.com/Dreamacro/clash -WORKDIR /go/src/github.com/Dreamacro/clash -COPY . /go/src/github.com/Dreamacro/clash -RUN dep ensure && \ +WORKDIR /clash-src +COPY . /clash-src +RUN go mod download && \ GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '-w -s' -o /clash && \ chmod +x /clash diff --git a/Gopkg.lock b/Gopkg.lock deleted file mode 100644 index 394ed3ad..00000000 --- a/Gopkg.lock +++ /dev/null @@ -1,149 +0,0 @@ -# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. - - -[[projects]] - digest = "1:d21e998147c1c8cd727bd34148f373d3faa46fd8669c389b53c4eaabbe4eb2b3" - name = "github.com/Dreamacro/go-shadowsocks2" - packages = [ - "core", - "shadowaead", - "shadowstream", - "socks", - ] - pruneopts = "UT" - revision = "1c1fd6c192eb76261ea3ccd80e3b141b25f20db4" - version = "v0.1.1" - -[[projects]] - branch = "master" - digest = "1:8fa55a6e302771a90a86ceae1ca3c0df4ef15d21092198e8313f61dde9eea963" - name = "github.com/Yawning/chacha20" - packages = ["."] - pruneopts = "UT" - revision = "e3b1f968fc6397b51d963fee8ec8711a47bc0ce8" - -[[projects]] - digest = "1:444b82bfe35c83bbcaf84e310fb81a1f9ece03edfed586483c869e2c046aef69" - name = "github.com/eapache/queue" - packages = ["."] - pruneopts = "UT" - revision = "44cc805cf13205b55f69e14bcb69867d1ae92f98" - version = "v1.1.0" - -[[projects]] - digest = "1:b9914f85d95a0968bafd1be1908ba29e2eafafd88d6fd13696be42bf5368c380" - name = "github.com/go-chi/chi" - packages = ["."] - pruneopts = "UT" - revision = "b5294d10673813fac8558e7f47242bc9e61b4c25" - version = "v3.3.3" - -[[projects]] - digest = "1:dfa416a1bb8139f30832543340f972f65c0db9932034cb6a1b42c5ac615a3fb8" - name = "github.com/go-chi/cors" - packages = ["."] - pruneopts = "UT" - revision = "dba6525398619dead495962a916728e7ee2ca322" - version = "v1.0.0" - -[[projects]] - digest = "1:54d7b4b9ab2bb2bae35b55eea900bc8fe15cba05a95fc78bf7fd7b82a9a07afa" - name = "github.com/go-chi/render" - packages = ["."] - pruneopts = "UT" - revision = "3215478343fbc559bd3fc08f7031bb134d6bdad5" - version = "v1.0.1" - -[[projects]] - digest = "1:ce579162ae1341f3e5ab30c0dce767f28b1eb6a81359aad01723f1ba6b4becdf" - name = "github.com/gofrs/uuid" - packages = ["."] - pruneopts = "UT" - revision = "370558f003bfe29580cd0f698d8640daccdcc45c" - version = "v3.1.1" - -[[projects]] - digest = "1:2e8bdbc8a11d716dab1bf66d326285d7e5c92fa4c996c1574ba1153e57534b85" - name = "github.com/oschwald/geoip2-golang" - packages = ["."] - pruneopts = "UT" - revision = "7118115686e16b77967cdbf55d1b944fe14ad312" - version = "v1.2.1" - -[[projects]] - digest = "1:07e8589503b7ec22430dae6eed6f2c17e4249ab245574f4fd0ba8fc9c597d138" - name = "github.com/oschwald/maxminddb-golang" - packages = ["."] - pruneopts = "UT" - revision = "c5bec84d1963260297932a1b7a1753c8420717a7" - version = "v1.3.0" - -[[projects]] - digest = "1:d867dfa6751c8d7a435821ad3b736310c2ed68945d05b50fb9d23aee0540c8cc" - name = "github.com/sirupsen/logrus" - packages = ["."] - pruneopts = "UT" - revision = "3e01752db0189b9157070a0e1668a620f9a85da2" - version = "v1.0.6" - -[[projects]] - branch = "master" - digest = "1:d33888518d56c3f0cc9009594f56be4faf33ffff358fe10ff8e7e8cccf0e6617" - name = "golang.org/x/crypto" - packages = [ - "chacha20poly1305", - "hkdf", - "internal/chacha20", - "internal/subtle", - "poly1305", - "ssh/terminal", - ] - pruneopts = "UT" - revision = "0e37d006457bf46f9e6692014ba72ef82c33022c" - -[[projects]] - branch = "master" - digest = "1:ddbafa32d1899456edbf7a64aec7afe5aa287b840e6a12b996f8a8425c1d9a6a" - name = "golang.org/x/sys" - packages = [ - "cpu", - "unix", - "windows", - ] - pruneopts = "UT" - revision = "d641721ec2dead6fe5ca284096fe4b1fcd49e427" - -[[projects]] - digest = "1:975a4480c40f2d0b95e1f83d3ec1aa29a2774e80179e08a9a4ba2aab86721b23" - name = "gopkg.in/eapache/channels.v1" - packages = ["."] - pruneopts = "UT" - revision = "47238d5aae8c0fefd518ef2bee46290909cf8263" - version = "v1.1.0" - -[[projects]] - digest = "1:5abd6a22805b1919f6a6bca0ae58b13cef1f3412812f38569978f43ef02743d4" - name = "gopkg.in/ini.v1" - packages = ["."] - pruneopts = "UT" - revision = "5cf292cae48347c2490ac1a58fe36735fb78df7e" - version = "v1.38.2" - -[solve-meta] - analyzer-name = "dep" - analyzer-version = 1 - input-imports = [ - "github.com/Dreamacro/go-shadowsocks2/core", - "github.com/Dreamacro/go-shadowsocks2/socks", - "github.com/go-chi/chi", - "github.com/go-chi/cors", - "github.com/go-chi/render", - "github.com/gofrs/uuid", - "github.com/oschwald/geoip2-golang", - "github.com/sirupsen/logrus", - "golang.org/x/crypto/chacha20poly1305", - "gopkg.in/eapache/channels.v1", - "gopkg.in/ini.v1", - ] - solver-name = "gps-cdcl" - solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml deleted file mode 100644 index 799ede7d..00000000 --- a/Gopkg.toml +++ /dev/null @@ -1,70 +0,0 @@ -# Gopkg.toml example -# -# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html -# 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/Dreamacro/go-shadowsocks2" - version = "0.1.1" - -[[constraint]] - name = "github.com/go-chi/chi" - version = "3.3.3" - -[[constraint]] - name = "github.com/go-chi/cors" - version = "1.0.0" - -[[constraint]] - name = "github.com/go-chi/render" - version = "1.0.1" - -[[constraint]] - name = "github.com/gofrs/uuid" - version = "3.1.1" - -[[constraint]] - name = "github.com/oschwald/geoip2-golang" - version = "1.2.1" - -[[constraint]] - name = "github.com/sirupsen/logrus" - version = "1.0.6" - -[[constraint]] - branch = "master" - name = "golang.org/x/crypto" - -[[constraint]] - name = "gopkg.in/eapache/channels.v1" - version = "1.1.0" - -[[constraint]] - name = "gopkg.in/ini.v1" - version = "1.38.2" - -[prune] - go-tests = true - unused-packages = true diff --git a/go.mod b/go.mod new file mode 100644 index 00000000..4cb65dd5 --- /dev/null +++ b/go.mod @@ -0,0 +1,17 @@ +module github.com/Dreamacro/clash + +require ( + github.com/Dreamacro/go-shadowsocks2 v0.1.1 + github.com/Yawning/chacha20 v0.0.0-20170904085104-e3b1f968fc63 // indirect + github.com/eapache/queue v1.1.0 // indirect + github.com/go-chi/chi v3.3.3+incompatible + github.com/go-chi/cors v1.0.0 + github.com/go-chi/render v1.0.1 + github.com/gofrs/uuid v3.1.0+incompatible + github.com/oschwald/geoip2-golang v1.2.1 + github.com/oschwald/maxminddb-golang v1.3.0 // indirect + github.com/sirupsen/logrus v1.1.0 + golang.org/x/crypto v0.0.0-20180927165925-5295e8364332 + gopkg.in/eapache/channels.v1 v1.1.0 + gopkg.in/ini.v1 v1.38.3 +) diff --git a/go.sum b/go.sum new file mode 100644 index 00000000..27970319 --- /dev/null +++ b/go.sum @@ -0,0 +1,33 @@ +github.com/Dreamacro/go-shadowsocks2 v0.1.1 h1:Z6Z1ZQFtIKqB3ZghASl4taaJmL7SOw+KpJ+QZpax+TI= +github.com/Dreamacro/go-shadowsocks2 v0.1.1/go.mod h1:6Fuc8zRHwXqCV9Xaw9qNfrh6OUYpDGrlPVPW4oQ34Gs= +github.com/Yawning/chacha20 v0.0.0-20170904085104-e3b1f968fc63 h1:I6/SJSN9wJMJ+ZyQaCHUlzoTA4ypU5Bb44YWR1wTY/0= +github.com/Yawning/chacha20 v0.0.0-20170904085104-e3b1f968fc63/go.mod h1:nf+Komq6fVP4SwmKEaVGxHTyQGKREVlwjQKpvOV39yE= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/go-chi/chi v3.3.3+incompatible h1:KHkmBEMNkwKuK4FdQL7N2wOeB9jnIx7jR5wsuSBEFI8= +github.com/go-chi/chi v3.3.3+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= +github.com/go-chi/cors v1.0.0 h1:e6x8k7uWbUwYs+aXDoiUzeQFT6l0cygBYyNhD7/1Tg0= +github.com/go-chi/cors v1.0.0/go.mod h1:K2Yje0VW/SJzxiyMYu6iPQYa7hMjQX2i/F491VChg1I= +github.com/go-chi/render v1.0.1 h1:4/5tis2cKaNdnv9zFLfXzcquC9HbeZgCnxGnKrltBS8= +github.com/go-chi/render v1.0.1/go.mod h1:pq4Rr7HbnsdaeHagklXub+p6Wd16Af5l9koip1OvJns= +github.com/gofrs/uuid v3.1.0+incompatible h1:q2rtkjaKT4YEr6E1kamy0Ha4RtepWlQBedyHx0uzKwA= +github.com/gofrs/uuid v3.1.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/oschwald/geoip2-golang v1.2.1 h1:3iz+jmeJc6fuCyWeKgtXSXu7+zvkxJbHFXkMT5FVebU= +github.com/oschwald/geoip2-golang v1.2.1/go.mod h1:0LTTzix/Ao1uMvOhAV4iLU0Lz7eCrP94qZWBTDKf0iE= +github.com/oschwald/maxminddb-golang v1.3.0 h1:oTh8IBSj10S5JNlUDg5WjJ1QdBMdeaZIkPEVfESSWgE= +github.com/oschwald/maxminddb-golang v1.3.0/go.mod h1:3jhIUymTJ5VREKyIhWm66LJiQt04F0UCDdodShpjWsY= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/sirupsen/logrus v1.1.0 h1:65VZabgUiV9ktjGM5nTq0+YurgTyX+YI2lSSfDjI+qU= +github.com/sirupsen/logrus v1.1.0/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180927165925-5295e8364332 h1:hvQVdF6P9DX4OiKA5tpehlG6JsgzmyQiThG7q5Bn3UQ= +golang.org/x/crypto v0.0.0-20180927165925-5295e8364332/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 h1:I6FyU15t786LL7oL/hn43zqTuEGr4PN7F4XJ1p4E3Y8= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +gopkg.in/eapache/channels.v1 v1.1.0 h1:5bGAyKKvyCTWjSj7mhefG6Lc68VyN4MH1v8/7OoeeB4= +gopkg.in/eapache/channels.v1 v1.1.0/go.mod h1:BHIBujSvu9yMTrTYbTCjDD43gUhtmaOtTWDe7sTv1js= +gopkg.in/ini.v1 v1.38.3 h1:ourkRZgR6qjJYoec9lYhX4+nuN1tEbV34dQEQ3IRk9U= +gopkg.in/ini.v1 v1.38.3/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=