diff --git a/go.mod b/go.mod index 4b025f6b..3f337575 100644 --- a/go.mod +++ b/go.mod @@ -5,10 +5,9 @@ go 1.23 toolchain go1.24.5 require ( - github.com/Jigsaw-Code/outline-ss-server v1.9.2 - github.com/Jigsaw-Code/outline-ss-server/outlinecaddy v0.0.1 - github.com/go-task/task/v3 v3.36.0 - github.com/google/addlicense v1.1.1 + github.com/Jigsaw-Code/outline-ss-server v1.9.2 + github.com/go-task/task/v3 v3.36.0 + github.com/google/addlicense v1.1.1 ) require ( diff --git a/go.sum b/go.sum index 137e172c..38859b38 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,6 @@ github.com/Jigsaw-Code/outline-sdk/x v0.0.2-0.20250304133713-52f1a365e5ed h1:Nfy github.com/Jigsaw-Code/outline-sdk/x v0.0.2-0.20250304133713-52f1a365e5ed/go.mod h1:aFUEz6Z/eD0NS3c3fEIX+JO2D9aIrXCmWTb1zJFlItw= github.com/Jigsaw-Code/outline-ss-server v1.9.2 h1:8AlzPLugCCa9H4ZIV79rWOdgVshRzKZalq8ZD+APjqk= github.com/Jigsaw-Code/outline-ss-server v1.9.2/go.mod h1:v0jS3ExOGwGTbWTpOw16/sid91k7PKxazdK9eLCpUlQ= -github.com/Jigsaw-Code/outline-ss-server/outlinecaddy v0.0.1 h1:V6XDwphZ0UAf7YUte4NsM48j6o6Cd4p9LaGLxUTSv0A= -github.com/Jigsaw-Code/outline-ss-server/outlinecaddy v0.0.1/go.mod h1:57uq2C5kK9iIHhokI/9/Vx4E5Q4CL61GCU/DbFWj7fg= github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4= github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/caddyserver/caddy/v2 v2.9.1 h1:OEYiZ7DbCzAWVb6TNEkjRcSCRGHVoZsJinoDR/n9oaY= diff --git a/src/shadowbox/Taskfile.yml b/src/shadowbox/Taskfile.yml index 27d07333..b9f33b81 100644 --- a/src/shadowbox/Taskfile.yml +++ b/src/shadowbox/Taskfile.yml @@ -18,6 +18,22 @@ requires: vars: [OUTPUT_BASE] tasks: + download_xcaddy: + desc: Download xcaddy + requires: {vars: [TARGET_DIR]} + vars: + XCADDY_VERSION: v0.4.5 + XCADDY_FILE: '{{if eq .GOARCH "amd64"}}xcaddy_{{.XCADDY_VERSION}}_{{OS}}_x86_64{{else}}xcaddy_{{.XCADDY_VERSION}}_{{OS}}_{{.GOARCH}}{{end}}.tar.gz' + XCADDY_URL: 'https://github.com/caddyserver/xcaddy/releases/download/{{.XCADDY_VERSION}}/{{.XCADDY_FILE}}' + cmds: + - mkdir -p '{{.TARGET_DIR}}' + - | + tmpdir=$(mktemp -d) + curl -fsSL '{{.XCADDY_URL}}' -o "$tmpdir/xcaddy.tgz" + tar -xzf "$tmpdir/xcaddy.tgz" -C '{{.TARGET_DIR}}' xcaddy + rm -rf "$tmpdir" + - chmod +x '{{joinPath .TARGET_DIR "xcaddy"}}' + build: desc: Build the Outline Server Node.js app vars: @@ -40,7 +56,14 @@ tasks: vars: {TARGET_DIR: '{{.BIN_DIR}}'} # Set CGO_ENABLED=0 to force static linkage. See https://mt165.co.uk/blog/static-link-go/. - GOOS={{.TARGET_OS}} GOARCH={{.GOARCH}} CGO_ENABLED=0 go build -ldflags='-s -w -X main.version=embedded' -o '{{.BIN_DIR}}/' github.com/Jigsaw-Code/outline-ss-server/cmd/outline-ss-server - - GOOS={{.TARGET_OS}} GOARCH={{.GOARCH}} CGO_ENABLED=0 go build -tags='nomysql' -ldflags='-s -w' -o '{{.BIN_DIR}}/outline-caddy' github.com/Jigsaw-Code/outline-ss-server/outlinecaddy/cmd/caddy + - task: download_xcaddy + vars: + TARGET_DIR: '{{.BIN_DIR}}' + - | + '{{joinPath .BIN_DIR "xcaddy"}}' build --output '{{joinPath .BIN_DIR "outline-caddy"}}' \ + --with github.com/Jigsaw-Code/outline-ss-server/outlinecaddy@v0.0.1 \ + --with github.com/iamd3vil/caddy_yaml_adapter@v0.0.0-20200503183711-d479c29b475a \ + --with github.com/mholt/caddy-l4@v0.0.0-20250102174933-6e5f5e311ead start: desc: Run the Outline server locally