diff --git a/sagernet-core/Makefile b/sagernet-core/Makefile index 4533a7df1..20dd4d2a0 100644 --- a/sagernet-core/Makefile +++ b/sagernet-core/Makefile @@ -10,9 +10,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/SagerNet/v2ray-core.git -PKG_SOURCE_DATE:=2022-06-10 -PKG_SOURCE_VERSION:=f55a069e73bb1d34ed8bd2a149832fb018a07820 -PKG_MIRROR_HASH:=1eade99c74edfd1b1f0103dbc67d8afedc69f186799af4d7ec99e13b883d82a5 +PKG_SOURCE_DATE:=2022-06-14 +PKG_SOURCE_VERSION:=eb9f1a689e37c9577825165d50d562c2e7747f2a +PKG_MIRROR_HASH:=9cc7b4a5b2830ac72510c519f59e83e902347965fcfa57ed7cad0b43dfd80cab PKG_VERSION:=$(BASE_VERSION)-$(PKG_SOURCE_DATE)-$(call version_abbrev,$(PKG_SOURCE_VERSION)) PKG_LICENSE:=GPL-3.0-or-later @@ -89,6 +89,31 @@ define Package/sagernet-core/conffiles /etc/v2ray/ endef +LIBCORE_NAME:=LibSagerNetCore +LIBCORE_DATE:=2022-06-10 +LIBCORE_VERSION:=9ef7ab1de7604ab959222d4de8ab6152a402e432 +LIBCORE_FILE:=$(LIBCORE_NAME)-$(LIBCORE_DATE)-$(call version_abbrev,$(LIBCORE_VERSION)).tar.xz +define Download/libcore + PROTO:=git + URL:=https://github.com/SagerNet/LibSagerNetCore.git + VERSION:=$(LIBCORE_VERSION) + FILE:=$(LIBCORE_FILE) + SUBDIR:=$(LIBCORE_NAME) + MIRROR_HASH:=9420189c45d5fbe682acee1da0b8f727cc5ea8c847ceeff5b026cd71ce60cf0f +endef + +define Build/Prepare + $(call Build/Prepare/Default) + + xzcat $(DL_DIR)/$(LIBCORE_FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) + $(CP) $(PKG_BUILD_DIR)/$(LIBCORE_NAME)/{obfs,ssr}.go \ + $(PKG_BUILD_DIR)/proxy/shadowsocks/plugin/self/ + $(SED) '/plugin\/self/d' -e 's/self.ParsePluginOptions/ParsePluginOptions/g' \ + $(PKG_BUILD_DIR)/proxy/shadowsocks/plugin/self/obfs.go + $(SED) 's/package libcore/package self/g' \ + $(PKG_BUILD_DIR)/proxy/shadowsocks/plugin/self/{obfs,ssr}.go +endef + define Package/sagernet-core/install $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR)) $(INSTALL_DIR) $(1)/usr/bin/ @@ -115,6 +140,7 @@ define Package/sagernet-extra/install $(CP) $(PKG_BUILD_DIR)/release/extra/* $(1)/usr/share/v2ray/ endef +$(eval $(call Download,libcore)) $(eval $(call BuildPackage,sagernet-core)) $(eval $(call BuildPackage,sagernet-example)) $(eval $(call BuildPackage,sagernet-extra)) diff --git a/sagernet-core/patches/100-obfs.patch b/sagernet-core/patches/100-obfs.patch new file mode 100644 index 000000000..0fc3cb5fd --- /dev/null +++ b/sagernet-core/patches/100-obfs.patch @@ -0,0 +1,68 @@ +go get github.com/Dreamacro/clash/transport/ssr/protocol +go get github.com/Dreamacro/clash/transport/ssr/obfs +go get github.com/Dreamacro/clash/transport/simple-obfs +--- + +--- a/go.mod ++++ b/go.mod +@@ -3,6 +3,7 @@ module github.com/v2fly/v2ray-core/v5 + go 1.18 + + require ( ++ github.com/Dreamacro/clash v1.10.6 + github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da + github.com/dgryski/go-camellia v0.0.0-20191119043421-69a8a13fb23d + github.com/dgryski/go-idea v0.0.0-20170306091226-d2fb45a411fb +@@ -50,6 +51,8 @@ replace gvisor.dev/gvisor => github.com/ + + //replace github.com/sagernet/sing => ../sing + ++replace github.com/Dreamacro/clash => github.com/sagernet/clash v1.10.7-0.20220610080510-ac56b2a05ded ++ + require ( + github.com/aead/cmac v0.0.0-20160719120800-7af84192f0b1 // indirect + github.com/boljen/go-bitmap v0.0.0-20151001105940-23cd2fb0ce7d // indirect +@@ -81,6 +84,7 @@ require ( + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 // indirect + github.com/secure-io/siv-go v0.0.0-20180922214919-5ff40651e2c4 // indirect ++ github.com/sirupsen/logrus v1.8.1 // indirect + github.com/xtaci/smux v1.5.16 // indirect + go4.org/intern v0.0.0-20220301175310-a089fc204883 // indirect + go4.org/unsafe/assume-no-moving-gc v0.0.0-20211027215541-db492cf91b37 // indirect +--- a/go.sum ++++ b/go.sum +@@ -355,6 +355,8 @@ github.com/rogpeppe/go-internal v1.8.0/g + github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= + github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= + github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= ++github.com/sagernet/clash v1.10.7-0.20220610080510-ac56b2a05ded h1:iw6tWwLTRXgz65wOH8plV20P42q4UN0pgJyc6pQLLDk= ++github.com/sagernet/clash v1.10.7-0.20220610080510-ac56b2a05ded/go.mod h1:qrmVDeYq4Gr8SiGuxVoA4cc4xhq7TNgnLa76AANNYRA= + github.com/sagernet/gvisor v0.0.0-20220402114650-763d12dc953e h1:Y4avBAtZ59OWvLl6zP9sF62jtMEVRPIH78IQctq9aXQ= + github.com/sagernet/gvisor v0.0.0-20220402114650-763d12dc953e/go.mod h1:tWwEcFvJavs154OdjFCw78axNrsDlz4Zh8jvPqwcpGI= + github.com/sagernet/sing v0.0.0-20220614091938-64835a637bdc h1:AdNTzzSw6SCZI71GB+Am7cr+oUDUrBUaOi17FxDtNMw= +@@ -394,6 +396,8 @@ github.com/shurcooL/sanitized_anchor_nam + github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= + github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= + github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= ++github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= ++github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= + github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= + github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= + github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +@@ -451,6 +455,7 @@ go.opentelemetry.io/proto/otlp v0.7.0/go + go.starlark.net v0.0.0-20220328144851-d1966c6b9fcd h1:Uo/x0Ir5vQJ+683GXB9Ug+4fcjsbp7z7Ul8UaZbhsRM= + go.starlark.net v0.0.0-20220328144851-d1966c6b9fcd/go.mod h1:t3mmBBPzAVvK0L0n1drDmrQsJ8FoIx4INCqVMTr/Zo0= + go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= ++go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= + go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= + go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= + go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= +@@ -566,6 +571,7 @@ golang.org/x/sys v0.0.0-20190606165138-5 + golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= ++golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=