From 1876a3b56030da6c25673b6477104bc37c25f1ed Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna Date: Fri, 19 Jul 2024 17:03:15 -0400 Subject: [PATCH 1/4] build(cordova/ios): upgrade to iOS 13.1 --- .../ios/Outline.xcodeproj/project.pbxproj | 8 ++--- client/src/tun2socks/Taskfile.yml | 36 +++---------------- go.mod | 14 ++++---- go.sum | 14 ++++++++ 4 files changed, 30 insertions(+), 42 deletions(-) diff --git a/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj b/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj index 0f883b30162..247a786b3fa 100755 --- a/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj +++ b/client/src/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj @@ -944,7 +944,7 @@ GCC_THUMB_SUPPORT = NO; GCC_VERSION = ""; INFOPLIST_FILE = "Outline/Outline-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = org.outline.ios.client; @@ -991,7 +991,7 @@ GCC_THUMB_SUPPORT = NO; GCC_VERSION = ""; INFOPLIST_FILE = "Outline/Outline-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = org.outline.ios.client; @@ -1395,7 +1395,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -1439,7 +1439,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.1; MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; SDKROOT = iphoneos; SKIP_INSTALL = NO; diff --git a/client/src/tun2socks/Taskfile.yml b/client/src/tun2socks/Taskfile.yml index 1f24ed74c3c..b0f67539142 100644 --- a/client/src/tun2socks/Taskfile.yml +++ b/client/src/tun2socks/Taskfile.yml @@ -54,44 +54,18 @@ tasks: - "{{.GOMOBILE_BIND_CMD}} -target=android -androidapi '{{.ANDROID_API}}' -o '{{.TARGET_DIR}}/tun2socks.aar' '{{.TASKFILE_DIR}}/outline/tun2socks' '{{.TASKFILE_DIR}}/outline/shadowsocks'" deps: ["gomobile"] - ios-only: - desc: "Build the Tun2socks.xcframework library for iOS only" - internal: true - vars: - TARGET_DIR: '{{.OUT_DIR}}/ios' - # TARGET_IOS_VERSION must match the target version that the iOS client supports. - TARGET_IOS_VERSION: 12.0 - cmds: - - rm -rf "{{.TARGET_DIR}}" && mkdir -p "{{.TARGET_DIR}}" - - "{{.GOMOBILE_BIND_CMD}} -target=ios,iossimulator -iosversion={{.TARGET_IOS_VERSION}} -bundleid org.outline.tun2socks -o '{{.TARGET_DIR}}/Tun2socks.xcframework' '{{.TASKFILE_DIR}}/outline/tun2socks' '{{.TASKFILE_DIR}}/outline/shadowsocks'" - deps: ["gomobile"] - - macos-only: - desc: "Build the Tun2socks.xcframework library for macOS only" - internal: true - vars: - TARGET_DIR: '{{.OUT_DIR}}/macos' - # MACOSX_DEPLOYMENT_TARGET must match the version the version set in the XCode project. - MACOSX_DEPLOYMENT_TARGET: 10.14 - # TARGET_IOS_VERSION must be at least 13.1 for macCatalyst and >= the iOS TARGET_IOS_VERSION. - TARGET_IOS_VERSION: 13.1 - cmds: - - rm -rf "{{.TARGET_DIR}}" && mkdir -p "{{.TARGET_DIR}}" - - export MACOSX_DEPLOYMENT_TARGET={{.MACOSX_DEPLOYMENT_TARGET}}; {{.GOMOBILE_BIND_CMD}} -target=macos,maccatalyst -iosversion={{.TARGET_IOS_VERSION}} -bundleid org.outline.tun2socks -o '{{.TARGET_DIR}}/Tun2socks.xcframework' '{{.TASKFILE_DIR}}/outline/tun2socks' '{{.TASKFILE_DIR}}/outline/shadowsocks' - deps: ["gomobile"] - apple: desc: "Build combined Tun2socks.xcframework library for Apple platforms" aliases: [ios, macos, maccatalyst] vars: TARGET_DIR: '{{.OUT_DIR}}/apple' + # MACOSX_DEPLOYMENT_TARGET must match the version the version set in the XCode project. + MACOSX_DEPLOYMENT_TARGET: 10.14 + # TARGET_IOS_VERSION must be at least 13.1 for macCatalyst and match the version set in the XCode project. + TARGET_IOS_VERSION: 13.1 cmds: - rm -rf "{{.TARGET_DIR}}" && mkdir -p "{{.TARGET_DIR}}" - - | - find '{{.OUT_DIR}}/macos/Tun2socks.xcframework' '{{.OUT_DIR}}/ios/Tun2socks.xcframework' -name "Tun2socks.framework" -type d | - xargs -I {} echo " -framework {} " | - xargs xcrun xcodebuild -create-xcframework -output '{{.TARGET_DIR}}/Tun2socks.xcframework' - deps: ["ios-only", "macos-only"] + - export MACOSX_DEPLOYMENT_TARGET={{.MACOSX_DEPLOYMENT_TARGET}}; {{.GOMOBILE_BIND_CMD}} -target=ios,iossimulator,macos,maccatalyst -iosversion={{.TARGET_IOS_VERSION}} -bundleid org.outline.tun2socks -o '{{.TARGET_DIR}}/Tun2socks.xcframework' '{{.TASKFILE_DIR}}/outline/tun2socks' '{{.TASKFILE_DIR}}/outline/shadowsocks' browser: desc: "Placeholder for the browser build. Does nothing" diff --git a/go.mod b/go.mod index 7f945480bc7..61e109d31b9 100644 --- a/go.mod +++ b/go.mod @@ -8,8 +8,8 @@ require ( github.com/eycorsican/go-tun2socks v1.16.11 github.com/go-task/task/v3 v3.36.0 github.com/stretchr/testify v1.9.0 - golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a - golang.org/x/sys v0.19.0 + golang.org/x/mobile v0.0.0-20240716161057-1ad2df20a8b6 + golang.org/x/sys v0.22.0 ) require ( @@ -30,12 +30,12 @@ require ( github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/zeebo/xxh3 v1.0.2 // indirect - golang.org/x/crypto v0.18.0 // indirect - golang.org/x/mod v0.14.0 // indirect - golang.org/x/net v0.20.0 // indirect + golang.org/x/crypto v0.25.0 // indirect + golang.org/x/mod v0.19.0 // indirect + golang.org/x/net v0.27.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/term v0.19.0 // indirect - golang.org/x/tools v0.17.0 // indirect + golang.org/x/term v0.22.0 // indirect + golang.org/x/tools v0.23.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect mvdan.cc/sh/v3 v3.8.0 // indirect ) diff --git a/go.sum b/go.sum index 7d314a45a09..02eeb323a95 100644 --- a/go.sum +++ b/go.sum @@ -68,14 +68,22 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a h1:sYbmY3FwUWCBTodZL1S3JUuOvaW6kM2o+clDzzDNBWg= golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a/go.mod h1:Ede7gF0KGoHlj822RtphAHK1jLdrcuRBZg0sF1Q+SPc= +golang.org/x/mobile v0.0.0-20240716161057-1ad2df20a8b6 h1:/VlmIrkuLf2wzPjkZ8imSpckHoW7Y71h66dxbLHSpi8= +golang.org/x/mobile v0.0.0-20240716161057-1ad2df20a8b6/go.mod h1:TCsc78+c4cqb8IKEosz2LwJ6YRNkIjMuAYeHYjchGDE= golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8= +golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20191021144547-ec77196f6094/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -84,12 +92,18 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= +golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg= +golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 9af5302afe42feafbc5e88fe7cba7724a55d9c5a Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna Date: Mon, 22 Jul 2024 13:28:36 -0400 Subject: [PATCH 2/4] Add gomobile dep --- client/src/tun2socks/Taskfile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/tun2socks/Taskfile.yml b/client/src/tun2socks/Taskfile.yml index b0f67539142..ac17aac52d1 100644 --- a/client/src/tun2socks/Taskfile.yml +++ b/client/src/tun2socks/Taskfile.yml @@ -52,7 +52,6 @@ tasks: cmds: - rm -rf "{{.TARGET_DIR}}" && mkdir -p "{{.TARGET_DIR}}" - "{{.GOMOBILE_BIND_CMD}} -target=android -androidapi '{{.ANDROID_API}}' -o '{{.TARGET_DIR}}/tun2socks.aar' '{{.TASKFILE_DIR}}/outline/tun2socks' '{{.TASKFILE_DIR}}/outline/shadowsocks'" - deps: ["gomobile"] apple: desc: "Build combined Tun2socks.xcframework library for Apple platforms" @@ -66,6 +65,7 @@ tasks: cmds: - rm -rf "{{.TARGET_DIR}}" && mkdir -p "{{.TARGET_DIR}}" - export MACOSX_DEPLOYMENT_TARGET={{.MACOSX_DEPLOYMENT_TARGET}}; {{.GOMOBILE_BIND_CMD}} -target=ios,iossimulator,macos,maccatalyst -iosversion={{.TARGET_IOS_VERSION}} -bundleid org.outline.tun2socks -o '{{.TARGET_DIR}}/Tun2socks.xcframework' '{{.TASKFILE_DIR}}/outline/tun2socks' '{{.TASKFILE_DIR}}/outline/shadowsocks' + deps: ["gomobile"] browser: desc: "Placeholder for the browser build. Does nothing" From 44fa21a9100b2f9934043614acec5e1b6ee10ffc Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna Date: Mon, 22 Jul 2024 13:56:38 -0400 Subject: [PATCH 3/4] Use bin --- client/src/tun2socks/Taskfile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/tun2socks/Taskfile.yml b/client/src/tun2socks/Taskfile.yml index ac17aac52d1..b8a2cd70754 100644 --- a/client/src/tun2socks/Taskfile.yml +++ b/client/src/tun2socks/Taskfile.yml @@ -5,7 +5,7 @@ vars: REPO_ROOT: '{{joinPath .TASKFILE_DIR "../../.."}}' # TODO: Output to $REPO_ROOT/output/client/tun2socks instead. OUT_DIR: '{{joinPath .REPO_ROOT "client/output/build"}}' - BIN_DIR: "{{.OUT_DIR}}/build" + BIN_DIR: '{{joinPath .OUT_DIR "/bin"}}' MOBILE_PKG: "{{.TASKFILE_DIR}}/outline/tun2socks" GOMOBILE_BIND_CMD: "env PATH=\"{{.BIN_DIR}}:${PATH}\" '{{.BIN_DIR}}/gomobile' bind -ldflags='-s -w'" From 187ec702c8c01a5df820d8f38fd679d742e61f9e Mon Sep 17 00:00:00 2001 From: Vinicius Fortuna Date: Mon, 22 Jul 2024 14:01:25 -0400 Subject: [PATCH 4/4] Add gomobile dep to Android --- client/src/tun2socks/Taskfile.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/client/src/tun2socks/Taskfile.yml b/client/src/tun2socks/Taskfile.yml index b8a2cd70754..85d39b7052d 100644 --- a/client/src/tun2socks/Taskfile.yml +++ b/client/src/tun2socks/Taskfile.yml @@ -52,6 +52,7 @@ tasks: cmds: - rm -rf "{{.TARGET_DIR}}" && mkdir -p "{{.TARGET_DIR}}" - "{{.GOMOBILE_BIND_CMD}} -target=android -androidapi '{{.ANDROID_API}}' -o '{{.TARGET_DIR}}/tun2socks.aar' '{{.TASKFILE_DIR}}/outline/tun2socks' '{{.TASKFILE_DIR}}/outline/shadowsocks'" + deps: ["gomobile"] apple: desc: "Build combined Tun2socks.xcframework library for Apple platforms"