Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
d7cb571
Add `/dns/flush-clash` meta api
Zephyruso Aug 11, 2025
1f6250b
Add support for ech retry configs
neletor Aug 11, 2025
278806f
Fix ECH retry support
nekohasekai Oct 7, 2025
d04dd60
Add interface address rule items
nekohasekai Aug 14, 2025
47fa017
documentation: Add interface address rule items
nekohasekai Aug 14, 2025
f0cae16
Add `preferred_by` route rule item
nekohasekai Aug 15, 2025
4911e0d
documentation: Add `preferred_by` route rule item
nekohasekai Aug 15, 2025
7e8ae81
Fix rule set version
xchacha20-poly1305 Aug 15, 2025
0ff4d6c
Use resolved in local DNS server if available
nekohasekai Aug 15, 2025
fd873d6
Improve `local` DNS server on darwin
nekohasekai Aug 18, 2025
ded9eb0
Stop using DHCP on iOS and tvOS
nekohasekai Aug 19, 2025
4552b3e
documentation: Improve `local` DNS server
nekohasekai Aug 18, 2025
a2afbbe
documentation: Remove outdated icons
nekohasekai Aug 18, 2025
993a259
Fix rule-set format
nekohasekai Aug 18, 2025
e823eb2
Fix legacy DNS config
nekohasekai Aug 18, 2025
ef02faa
Remove use of ldflags `-checklinkname=0` on darwin
nekohasekai Aug 19, 2025
cb44394
documentation: Update behavior of `local` DNS server on darwin
nekohasekai Aug 19, 2025
58a5041
Fix resolve using resolved
nekohasekai Aug 26, 2025
4dfba5d
Add proxy support for ICMP echo request
nekohasekai Feb 17, 2025
dc3741d
Add support for kTLS
nekohasekai Sep 7, 2025
59c35cd
ktls: Add warning for inappropriate scenarios
nekohasekai Sep 8, 2025
a24b472
Improve compatibility for kTLS
nekohasekai Sep 9, 2025
95d8f24
Improve ktls rx error handling
nekohasekai Sep 9, 2025
e959575
release: Fix linux build
nekohasekai Sep 10, 2025
98986a9
Fix ping domain
nekohasekai Sep 11, 2025
f1e1336
Fix preConnectionCopy
nekohasekai Sep 14, 2025
f885d03
Update WireGuard and Tailscale
nekohasekai Sep 15, 2025
03e02e3
Update quic-go to v0.55.0
nekohasekai Sep 15, 2025
e520289
documentation: Update chinese translations
nekohasekai Sep 17, 2025
b17f506
Do not use linkname by default to simplify debugging
nekohasekai Sep 17, 2025
0100cd2
Remove compatibility codes
nekohasekai Sep 17, 2025
bccdfd0
Update tfo-go to latest
nekohasekai Sep 17, 2025
897bdca
Fix WireGuard input packet
nekohasekai Sep 17, 2025
cae12b3
Add curve preferences, pinned public key SHA256 and mTLS for TLS options
nekohasekai Sep 17, 2025
15f856c
Fix missing mTLS support in client options
nekohasekai Oct 9, 2025
2900410
Use a more conservative strategy for resolving with systemd-resolved …
nekohasekai Oct 16, 2025
f7c191b
Fix compatibility with MPTCP
nekohasekai Oct 17, 2025
75d4e0c
Add claude code multiplexer service
nekohasekai Oct 21, 2025
f5c6125
Fix read credentials for ccm service
nekohasekai Oct 21, 2025
87eb193
documentation: Bump version
nekohasekai Oct 25, 2025
1108777
Improve QUIC sniffer
j2rong4cn Nov 10, 2025
56e2dd2
fix: improve buffer handling in QUICClientHello
j2rong4cn Nov 21, 2025
8201d62
.
j2rong4cn Nov 22, 2025
384792c
fix: improve error handling in parseExtensions for version and signat…
j2rong4cn Nov 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 75 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,6 @@ jobs:
- { os: windows, arch: "386", legacy_win7: true, legacy_name: "windows-7" }
- { os: windows, arch: arm64 }

- { os: darwin, arch: amd64 }
- { os: darwin, arch: arm64 }
- { os: darwin, arch: amd64, legacy_go124: true, legacy_name: "macos-11" }

- { os: android, arch: arm64, ndk: "aarch64-linux-android21" }
- { os: android, arch: arm, ndk: "armv7a-linux-androideabi21" }
- { os: android, arch: amd64, ndk: "x86_64-linux-android21" }
Expand Down Expand Up @@ -146,15 +142,15 @@ jobs:
- name: Set build tags
run: |
set -xeuo pipefail
TAGS='with_gvisor,with_quic,with_dhcp,with_wireguard,with_utls,with_acme,with_clash_api,with_tailscale'
TAGS='with_gvisor,with_quic,with_dhcp,with_wireguard,with_utls,with_acme,with_clash_api,with_tailscale,with_ccm,badlinkname,tfogo_checklinkname0'
echo "BUILD_TAGS=${TAGS}" >> "${GITHUB_ENV}"
- name: Build
if: matrix.os != 'android'
run: |
set -xeuo pipefail
mkdir -p dist
go build -v -trimpath -o dist/sing-box -tags "${BUILD_TAGS}" \
-ldflags '-s -buildid= -X github.com/sagernet/sing-box/constant.Version=${{ needs.calculate_version.outputs.version }}' \
-ldflags '-s -buildid= -X github.com/sagernet/sing-box/constant.Version=${{ needs.calculate_version.outputs.version }} -checklinkname=0' \
./cmd/sing-box
env:
CGO_ENABLED: "0"
Expand All @@ -174,7 +170,7 @@ jobs:
export CXX="${CC}++"
mkdir -p dist
GOOS=$BUILD_GOOS GOARCH=$BUILD_GOARCH build go build -v -trimpath -o dist/sing-box -tags "${BUILD_TAGS}" \
-ldflags '-s -buildid= -X github.com/sagernet/sing-box/constant.Version=${{ needs.calculate_version.outputs.version }}' \
-ldflags '-s -buildid= -X github.com/sagernet/sing-box/constant.Version=${{ needs.calculate_version.outputs.version }} -checklinkname=0' \
./cmd/sing-box
env:
CGO_ENABLED: "1"
Expand Down Expand Up @@ -285,6 +281,77 @@ jobs:
with:
name: binary-${{ matrix.os }}_${{ matrix.arch }}${{ matrix.goarm && format('v{0}', matrix.goarm) }}${{ matrix.go386 && format('_{0}', matrix.go386) }}${{ matrix.gomips && format('_{0}', matrix.gomips) }}${{ matrix.legacy_name && format('-legacy-{0}', matrix.legacy_name) }}
path: "dist"
build_darwin:
name: Build Darwin binaries
if: github.event_name != 'workflow_dispatch' || inputs.build == 'All' || inputs.build == 'Binary'
runs-on: macos-latest
needs:
- calculate_version
strategy:
matrix:
include:
- { arch: amd64 }
- { arch: arm64 }
- { arch: amd64, legacy_go124: true, legacy_name: "macos-11" }
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
with:
fetch-depth: 0
- name: Setup Go
if: ${{ ! matrix.legacy_go124 }}
uses: actions/setup-go@v5
with:
go-version: ^1.25.3
- name: Setup Go 1.24
if: matrix.legacy_go124
uses: actions/setup-go@v5
with:
go-version: ~1.24.6
- name: Set tag
run: |-
git ls-remote --exit-code --tags origin v${{ needs.calculate_version.outputs.version }} || echo "PUBLISHED=false" >> "$GITHUB_ENV"
git tag v${{ needs.calculate_version.outputs.version }} -f
- name: Set build tags
run: |
set -xeuo pipefail
TAGS='with_gvisor,with_quic,with_dhcp,with_wireguard,with_utls,with_acme,with_clash_api,with_tailscale,with_ccm,badlinkname,tfogo_checklinkname0'
echo "BUILD_TAGS=${TAGS}" >> "${GITHUB_ENV}"
- name: Build
run: |
set -xeuo pipefail
mkdir -p dist
go build -v -trimpath -o dist/sing-box -tags "${BUILD_TAGS}" \
-ldflags '-s -buildid= -X github.com/sagernet/sing-box/constant.Version=${{ needs.calculate_version.outputs.version }} -checklinkname=0' \
./cmd/sing-box
env:
CGO_ENABLED: "1"
GOOS: darwin
GOARCH: ${{ matrix.arch }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set name
run: |-
DIR_NAME="sing-box-${{ needs.calculate_version.outputs.version }}-darwin-${{ matrix.arch }}"
if [[ -n "${{ matrix.legacy_name }}" ]]; then
DIR_NAME="${DIR_NAME}-legacy-${{ matrix.legacy_name }}"
fi
echo "DIR_NAME=${DIR_NAME}" >> "${GITHUB_ENV}"
- name: Archive
run: |
set -xeuo pipefail
cd dist
mkdir -p "${DIR_NAME}"
cp ../LICENSE "${DIR_NAME}"
cp sing-box "${DIR_NAME}"
tar -czvf "${DIR_NAME}.tar.gz" "${DIR_NAME}"
rm -r "${DIR_NAME}"
- name: Cleanup
run: rm dist/sing-box
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: binary-darwin_${{ matrix.arch }}${{ matrix.legacy_name && format('-legacy-{0}', matrix.legacy_name) }}
path: "dist"
build_android:
name: Build Android
if: github.event_name != 'workflow_dispatch' || inputs.build == 'All' || inputs.build == 'Android'
Expand Down Expand Up @@ -619,6 +686,7 @@ jobs:
needs:
- calculate_version
- build
- build_darwin
- build_android
- build_apple
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: ~1.24.6
go-version: ^1.25
- name: golangci-lint
uses: golangci/golangci-lint-action@v8
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,14 @@ jobs:
- name: Set build tags
run: |
set -xeuo pipefail
TAGS='with_gvisor,with_quic,with_dhcp,with_wireguard,with_utls,with_acme,with_clash_api,with_tailscale'
TAGS='with_gvisor,with_quic,with_dhcp,with_wireguard,with_utls,with_acme,with_clash_api,with_tailscale,with_ccm,badlinkname,tfogo_checklinkname0'
echo "BUILD_TAGS=${TAGS}" >> "${GITHUB_ENV}"
- name: Build
run: |
set -xeuo pipefail
mkdir -p dist
go build -v -trimpath -o dist/sing-box -tags "${BUILD_TAGS}" \
-ldflags '-s -buildid= -X github.com/sagernet/sing-box/constant.Version=${{ needs.calculate_version.outputs.version }}' \
-ldflags '-s -buildid= -X github.com/sagernet/sing-box/constant.Version=${{ needs.calculate_version.outputs.version }} -checklinkname=0' \
./cmd/sing-box
env:
CGO_ENABLED: "0"
Expand Down
2 changes: 1 addition & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
version: "2"
run:
go: "1.24"
go: "1.25"
build-tags:
- with_gvisor
- with_quic
Expand Down
103 changes: 0 additions & 103 deletions .goreleaser.fury.yaml

This file was deleted.

Loading