commit bde8b7ff56d7791044c9c60fc6ee30b2664ab3a5 Author: Yawning Angel yawning@schwanenlied.me Date: Sun Feb 3 17:36:52 2019 +0000
transports/meeklite: Use a modified version of utls
Changes: * Use a fork of utls with some compatibility improvements. * Switch the default ClientHello profile to `HelloFirefox_Auto`. * Add the `HelloChrome_71` profile.
The existing `HelloFirefox_Auto` profile that points to `HelloFirefox_63` also matches the (common) behavior of Firefox 65, assuming that 3DES ciphersuites are not disabled. --- README.md | 2 +- go.mod | 5 ++--- go.sum | 14 ++++++++------ transports/meeklite/meek.go | 3 +-- transports/meeklite/transport.go | 8 ++++---- 5 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/README.md b/README.md index 8a3e1b7..3329538 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ the same dependency versions, while `go get -d` always downloads master.
* Go 1.11.0 or later. Patches to support up to 2 prior major releases will be accepted if they are not overly intrusive and well written. - * See `go.mod` for build time dependencies. + * See `go.mod`, `go.sum` and `go list -m -u all` for build time dependencies.
### Installation
diff --git a/go.mod b/go.mod index 50bb7eb..cd7f631 100644 --- a/go.mod +++ b/go.mod @@ -4,9 +4,8 @@ require ( git.torproject.org/pluggable-transports/goptlib.git v0.0.0-20190117054722-15f83653abbc github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 github.com/dchest/siphash v1.2.1 - github.com/refraction-networking/utls v0.0.0-20190105024908-a89e7e6da482 - golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc + gitlab.com/yawning/utls.git v0.0.9-1 + golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613 golang.org/x/net v0.0.0-20190119204137-ed066c81e75e - golang.org/x/sys v0.0.0-20190116161447-11f53e031339 // indirect golang.org/x/text v0.3.0 // indirect ) diff --git a/go.sum b/go.sum index 9545483..bc5369c 100644 --- a/go.sum +++ b/go.sum @@ -4,13 +4,15 @@ github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 h1:w1UutsfOrms1J05zt7I github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= github.com/dchest/siphash v1.2.1 h1:4cLinnzVJDKxTCl9B01807Yiy+W7ZzVHj/KIroQRvT4= github.com/dchest/siphash v1.2.1/go.mod h1:q+IRvb2gOSrUnYoPqHiyHXS0FOBBOdl6tONBlVnOnt4= -github.com/refraction-networking/utls v0.0.0-20190105024908-a89e7e6da482 h1:mP4Zgxxydw8ljKIA3zHWmzrTKizyULi7vQrRtxqQNmo= -github.com/refraction-networking/utls v0.0.0-20190105024908-a89e7e6da482/go.mod h1:tz9gX959MEFfFN5whTIocCLUG57WiILqtdVxI8c6Wj0= -golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc h1:F5tKCVGp+MUAHhKp5MZtGqAlGX3+oCsiL1Q629FL90M= -golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +github.com/dsnet/compress v0.0.0-20171208185109-cc9eb1d7ad76 h1:eX+pdPPlD279OWgdx7f6KqIRSONuK7egk+jDx7OM3Ac= +github.com/dsnet/compress v0.0.0-20171208185109-cc9eb1d7ad76/go.mod h1:KjxHHirfLaw19iGT70HvVjHQsL1vq1SRQB4yOsAfy2s= +gitlab.com/yawning/utls.git v0.0.9-1 h1:qM3iQLFVKtBPP4THo7QQvHZanP2Vk9jAgDZaUTsAuE4= +gitlab.com/yawning/utls.git v0.0.9-1/go.mod h1:PuJDGdGVFPpgc2evhLjHRgl5ZN2sItpDiydweKFYtuc= +golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613 h1:MQ/ZZiDsUapFFiMS+vzwXkCTeEKaum+Do5rINYJDmxc= +golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/net v0.0.0-20190119204137-ed066c81e75e h1:MDa3fSUp6MdYHouVmCCNz/zaH2a6CRcxY3VhT/K3C5Q= golang.org/x/net v0.0.0-20190119204137-ed066c81e75e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/sys v0.0.0-20190116161447-11f53e031339 h1:g/Jesu8+QLnA0CPzF3E1pURg0Byr7i6jLoX5sqjcAh0= -golang.org/x/sys v0.0.0-20190116161447-11f53e031339/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190201152629-afcc84fd7533 h1:bLfqnzrpeG4usq5OvMCrwTdmMJ6aTmlCuo1eKl0mhkI= +golang.org/x/sys v0.0.0-20190201152629-afcc84fd7533/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/transports/meeklite/meek.go b/transports/meeklite/meek.go index e009916..f86e934 100644 --- a/transports/meeklite/meek.go +++ b/transports/meeklite/meek.go @@ -44,10 +44,9 @@ import ( "sync" "time"
- utls "github.com/refraction-networking/utls" - "git.torproject.org/pluggable-transports/goptlib.git" "gitlab.com/yawning/obfs4.git/transports/base" + utls "gitlab.com/yawning/utls.git" )
const ( diff --git a/transports/meeklite/transport.go b/transports/meeklite/transport.go index 65da92e..2736fe1 100644 --- a/transports/meeklite/transport.go +++ b/transports/meeklite/transport.go @@ -28,10 +28,9 @@ import ( "strings" "sync"
- utls "github.com/refraction-networking/utls" - "golang.org/x/net/http2" - "gitlab.com/yawning/obfs4.git/transports/base" + utls "gitlab.com/yawning/utls.git" + "golang.org/x/net/http2" )
var ( @@ -51,10 +50,11 @@ var ( "hellochrome_58": &utls.HelloChrome_58, "hellochrome_62": &utls.HelloChrome_62, "hellochrome_70": &utls.HelloChrome_70, + "hellochrome_71": &utls.HelloChrome_71, "helloios_auto": &utls.HelloIOS_Auto, "helloios_11_1": &utls.HelloIOS_11_1, } - defaultClientHello = &utls.HelloChrome_Auto + defaultClientHello = &utls.HelloFirefox_Auto )
type roundTripper struct {
tor-commits@lists.torproject.org