Compare commits

..

57 Commits

Author SHA1 Message Date
世界
85ba9c44fb
documentation: Bump version 2025-03-25 10:38:05 +08:00
世界
94c140fd55
Fail when default DNS server not found 2025-03-25 10:38:05 +08:00
世界
c3fe34611a
Update gVisor to 20250319.0 2025-03-25 10:38:05 +08:00
世界
0d5737dded
release: Do not build tailscale on iOS and tvOS 2025-03-24 20:40:32 +08:00
世界
6b6f02ea0f
Explicitly reject detour to empty direct outbounds 2025-03-24 20:40:32 +08:00
世界
6c0785eb50
Ignore UDP offload error 2025-03-24 20:40:31 +08:00
世界
74f9bec2ba
Add netns support 2025-03-24 20:40:31 +08:00
世界
405560622a
Add wildcard name support for predefined records 2025-03-24 20:40:31 +08:00
世界
b5740dae0e
Remove map usage in options 2025-03-24 20:40:31 +08:00
世界
4c8b868553
Fix unhandled DNS loop 2025-03-24 20:40:30 +08:00
世界
967940cfcc
Add wildcard-sni support for shadow-tls inbound 2025-03-24 20:40:30 +08:00
世界
236e0765a5
Fix Tailscale DNS 2025-03-24 20:40:30 +08:00
k9982874
fcc5ec8a5d
Add ntp protocol sniffing 2025-03-24 20:40:30 +08:00
世界
3012c47695
option: Fix marshal legacy DNS options 2025-03-24 20:40:29 +08:00
世界
2bc58c5f11
Make domain_resolver optional when only one DNS server is configured 2025-03-24 20:40:29 +08:00
世界
d5e174c2a8
Fix DNS lookup context pollution 2025-03-24 20:40:29 +08:00
世界
5f5d5f8b3d
Fix http3 DNS server connecting to wrong address 2025-03-24 20:40:29 +08:00
Restia-Ashbell
87f122b2ab
documentation: Fix typo 2025-03-24 20:40:28 +08:00
anytls
c7cc28d61f
Update sing-anytls
Co-authored-by: anytls <anytls>
2025-03-24 20:40:28 +08:00
k9982874
ba8b85f0d7
Fix hosts DNS server 2025-03-24 20:40:28 +08:00
世界
3419df90e2
Fix UDP DNS server crash 2025-03-24 20:40:28 +08:00
世界
3348c65c9b
documentation: Fix missing ip_accept_any DNS rule option 2025-03-24 20:40:27 +08:00
世界
c9d6848eae
Fix anytls dialer usage 2025-03-24 20:40:27 +08:00
世界
9615f48327
Move predefined DNS server to rule action 2025-03-24 20:40:26 +08:00
世界
1823bbde91
Fix domain resolver on direct outbound 2025-03-24 20:40:26 +08:00
Zephyruso
3834c1f5cd
Fix missing AnyTLS display name 2025-03-24 20:40:26 +08:00
anytls
fc3424af15
Update sing-anytls
Co-authored-by: anytls <anytls>
2025-03-24 20:40:26 +08:00
Estel
f031d759ae
documentation: Fix typo
Signed-off-by: Estel <callmebedrockdigger@gmail.com>
2025-03-24 20:40:25 +08:00
TargetLocked
e1fc66f072
Fix parsing legacy DNS options 2025-03-24 20:40:25 +08:00
世界
00a0911252
Fix DNS fallback 2025-03-24 20:40:25 +08:00
世界
e16c021308
documentation: Fix missing hosts DNS server 2025-03-24 20:40:25 +08:00
anytls
9b5d9588ab
Add MinIdleSession option to AnyTLS outbound
Co-authored-by: anytls <anytls>
2025-03-24 20:40:24 +08:00
ReleTor
7a1fb6b825
documentation: Minor fixes 2025-03-24 20:40:24 +08:00
libtry486
fa64180e49
documentation: Fix typo
fix typo

Signed-off-by: libtry486 <89328481+libtry486@users.noreply.github.com>
2025-03-24 20:40:23 +08:00
Alireza Ahmadi
9319e58a61
Fix Outbound deadlock 2025-03-24 20:40:23 +08:00
世界
f2f50e7f79
documentation: Fix AnyTLS doc 2025-03-24 20:40:23 +08:00
anytls
3ea305b882
Add AnyTLS protocol 2025-03-24 20:40:23 +08:00
世界
1c4bcefa8f
Migrate to stdlib ECH support 2025-03-24 20:40:22 +08:00
世界
e5d12c9b72
Add fallback local DNS server for iOS 2025-03-24 20:40:22 +08:00
世界
6a75487b34
Get darwin local DNS server from libresolv 2025-03-24 20:40:22 +08:00
世界
fa4ed37d23
Improve resolve action 2025-03-24 20:40:21 +08:00
世界
219cc6a944
Fix toolchain version 2025-03-24 20:40:21 +08:00
世界
0ff9e3833e
Add back port hopping to hysteria 1 2025-03-24 20:40:20 +08:00
世界
a71b583a1a
Update dependencies 2025-03-24 20:40:20 +08:00
xchacha20-poly1305
1462208d68
Remove single quotes of raw Moziila certs 2025-03-24 20:40:20 +08:00
世界
16babfc8ac
Add Tailscale endpoint 2025-03-24 20:40:19 +08:00
世界
a35c5d0fae
Build legacy binaries with latest Go 2025-03-24 20:40:19 +08:00
世界
259dae4399
documentation: Remove outdated icons 2025-03-24 20:40:19 +08:00
世界
96dabc048f
documentation: Certificate store 2025-03-24 20:40:18 +08:00
世界
833dbe7cb8
documentation: TLS fragment 2025-03-24 20:40:18 +08:00
世界
b810f34c30
documentation: Outbound domain resolver 2025-03-24 20:40:18 +08:00
世界
e0a2e9412b
documentation: Refactor DNS 2025-03-24 20:40:17 +08:00
世界
f43974dd8c
Add certificate store 2025-03-24 20:40:17 +08:00
世界
6bfad0200e
Add TLS fragment support 2025-03-24 20:40:17 +08:00
世界
045fb72420
refactor: Outbound domain resolver 2025-03-24 20:40:17 +08:00
世界
ab4ea6ed68
refactor: DNS 2025-03-24 20:40:17 +08:00
世界
cf72196a1a
Bump version 2025-03-24 20:38:42 +08:00
7 changed files with 32 additions and 48 deletions

View File

@ -55,7 +55,7 @@ jobs:
- name: Calculate version
if: github.event_name != 'workflow_dispatch'
run: |-
go run -v ./cmd/internal/read_tag --ci --nightly
go run -v ./cmd/internal/read_tag --nightly
- name: Set outputs
id: outputs
run: |-
@ -229,8 +229,8 @@ jobs:
cd dist
mkdir -p "${DIR_NAME}"
cp ../LICENSE "${DIR_NAME}"
if [ '${{ matrix.os }}' = 'windows' ]; then
cp sing-box "${DIR_NAME}/sing-box.exe"
if [ '${{ matrix.os }}' = 'windoes' ]; then
cp sing-box.exe "${DIR_NAME}"
zip -r "${DIR_NAME}.zip" "${DIR_NAME}"
else
cp sing-box "${DIR_NAME}"
@ -316,9 +316,9 @@ jobs:
LOCAL_PROPERTIES: ${{ secrets.LOCAL_PROPERTIES }}
- name: Prepare upload
run: |-
mkdir -p dist
cp clients/android/app/build/outputs/apk/play/release/*.apk dist
cp clients/android/app/build/outputs/apk/other/release/*-universal.apk dist
mkdir -p dist/release
cp clients/android/app/build/outputs/apk/play/release/*.apk dist/release
cp clients/android/app/build/outputs/apk/other/release/*-universal.apk dist/release
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
@ -566,9 +566,9 @@ jobs:
zip -r SFM.dSYMs.zip dSYMs
popd
mkdir -p dist
cp clients/apple/SFM.dmg "dist/SFM-${VERSION}-universal.dmg"
cp "clients/apple/${{ matrix.archive }}/SFM.dSYMs.zip" "dist/SFM-${VERSION}-universal.dSYMs.zip"
mkdir -p dist/release
cp clients/apple/SFM.dmg "dist/release/SFM-${VERSION}-universal.dmg"
cp "clients/apple/${{ matrix.archive }}/SFM.dSYMs.zip" "dist/release/SFM-${VERSION}-universal.dSYMs.zip"
- name: Upload image
if: matrix.if && matrix.name == 'macOS-standalone' && github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4

View File

@ -34,7 +34,7 @@ jobs:
- name: Calculate version
if: github.event_name != 'workflow_dispatch'
run: |-
go run -v ./cmd/internal/read_tag --ci --nightly
go run -v ./cmd/internal/read_tag --nightly
- name: Set outputs
id: outputs
run: |-
@ -116,11 +116,10 @@ jobs:
sudo gem install fpm
sudo apt-get install -y debsigs
fpm -t deb \
--name "${NAME}" \
-v "${{ needs.calculate_version.outputs.version }}" \
-p "dist/${NAME}_${{ needs.calculate_version.outputs.version }}_linux_${{ matrix.debian }}.deb" \
--architecture ${{ matrix.debian }} \
dist/sing-box=/usr/bin/sing-box
dist/sing-box=/usr/bin/${NAME}
curl -Lo '/tmp/debsigs.diff' 'https://gitlab.com/debsigs/debsigs/-/commit/160138f5de1ec110376d3c807b60a37388bc7c90.diff'
sudo patch /usr/bin/debsigs < '/tmp/debsigs.diff'
rm -rf $HOME/.gnupg
@ -134,11 +133,10 @@ jobs:
set -xeuo pipefail
sudo gem install fpm
fpm -t rpm \
--name "${NAME}" \
-v "${{ needs.calculate_version.outputs.version }}" \
-p "dist/${NAME}_${{ needs.calculate_version.outputs.version }}_linux_${{ matrix.rpm }}.rpm" \
--architecture ${{ matrix.rpm }} \
dist/sing-box=/usr/bin/sing-box
dist/sing-box=/usr/bin/${NAME}
cat > $HOME/.rpmmacros <<EOF
%_gpg_name ${{ secrets.GPG_KEY_ID }}
%_gpg_sign_cmd_extra_args --pinentry-mode loopback --passphrase ${{ secrets.GPG_PASSPHRASE }}
@ -177,4 +175,6 @@ jobs:
merge-multiple: true
- name: Publish packages
run: |-
ls dist | xargs -I {} curl -F "package=@dist/{}" https://${{ secrets.FURY_TOKEN }}@push.fury.io/sagernet/
wget -O fury-cli.deb https://github.com/gemfury/cli/releases/download/v0.23.0/fury-cli_0.23.0_linux_amd64.deb
sudo dpkg -i fury-cli.deb
fury migrate dist --as=sagernet --api-token ${{ secrets.FURY_TOKEN }}

View File

@ -13,7 +13,7 @@ RUN set -ex \
&& export COMMIT=$(git rev-parse --short HEAD) \
&& export VERSION=$(go run ./cmd/internal/read_tag) \
&& go build -v -trimpath -tags \
"with_gvisor,with_quic,with_dhcp,with_wireguard,with_utls,with_reality_server,with_acme,with_clash_api,with_tailscale" \
"with_gvisor,with_quic,with_dhcp,with_wireguard,with_utls,with_reality_server,with_acme,with_clash_api" \
-o /go/bin/sing-box \
-ldflags "-X \"github.com/sagernet/sing-box/constant.Version=$VERSION\" -s -w -buildid=" \
./cmd/sing-box

View File

@ -5,52 +5,40 @@ import (
"os"
"github.com/sagernet/sing-box/cmd/internal/build_shared"
"github.com/sagernet/sing-box/common/badversion"
"github.com/sagernet/sing-box/log"
)
var (
flagRunInCI bool
flagRunNightly bool
)
var nightly bool
func init() {
flag.BoolVar(&flagRunInCI, "ci", false, "Run in CI")
flag.BoolVar(&flagRunNightly, "nightly", false, "Run nightly")
flag.BoolVar(&nightly, "nightly", false, "Print nightly tag")
}
func main() {
flag.Parse()
var (
versionStr string
err error
)
if flagRunNightly {
var version badversion.Version
version, err = build_shared.ReadTagVersionRev()
if err == nil {
if version.PreReleaseIdentifier == "" {
version.Patch++
}
versionStr = version.String()
}
} else {
versionStr, err = build_shared.ReadTag()
}
if flagRunInCI {
if nightly {
version, err := build_shared.ReadTagVersionRev()
if err != nil {
log.Fatal(err)
}
var versionStr string
if version.PreReleaseIdentifier != "" {
versionStr = version.VersionString() + "-nightly"
} else {
version.Patch++
versionStr = version.VersionString() + "-nightly"
}
err = setGitHubEnv("version", versionStr)
if err != nil {
log.Fatal(err)
}
} else {
tag, err := build_shared.ReadTag()
if err != nil {
log.Error(err)
os.Stdout.WriteString("unknown\n")
} else {
os.Stdout.WriteString(versionStr + "\n")
os.Stdout.WriteString(tag + "\n")
}
}
}

View File

@ -2,10 +2,6 @@
icon: material/alert-decagram
---
#### 1.12.0-alpha.20
* Fixes and improvements
#### 1.12.0-alpha.19
* Update gVisor to 20250319.0

2
go.mod
View File

@ -26,7 +26,7 @@ require (
github.com/sagernet/gvisor v0.0.0-20250325023245-7a9c0f5725fb
github.com/sagernet/quic-go v0.49.0-beta.1
github.com/sagernet/reality v0.0.0-20230406110435-ee17307e7691
github.com/sagernet/sing v0.6.6-0.20250326051824-d39c2c2fddfa
github.com/sagernet/sing v0.6.5-0.20250324102321-1ddf4ccbfab8
github.com/sagernet/sing-mux v0.3.1
github.com/sagernet/sing-quic v0.4.1-beta.1
github.com/sagernet/sing-shadowsocks v0.2.7

4
go.sum
View File

@ -178,8 +178,8 @@ github.com/sagernet/quic-go v0.49.0-beta.1/go.mod h1:uesWD1Ihrldq1M3XtjuEvIUqi8W
github.com/sagernet/reality v0.0.0-20230406110435-ee17307e7691 h1:5Th31OC6yj8byLGkEnIYp6grlXfo1QYUfiYFGjewIdc=
github.com/sagernet/reality v0.0.0-20230406110435-ee17307e7691/go.mod h1:B8lp4WkQ1PwNnrVMM6KyuFR20pU8jYBD+A4EhJovEXU=
github.com/sagernet/sing v0.2.18/go.mod h1:OL6k2F0vHmEzXz2KW19qQzu172FDgSbUSODylighuVo=
github.com/sagernet/sing v0.6.6-0.20250326051824-d39c2c2fddfa h1:18mz8gmh0/EL3Bk+hB0Xf3tGOO1p/tP1sjjhSDeyUtU=
github.com/sagernet/sing v0.6.6-0.20250326051824-d39c2c2fddfa/go.mod h1:ARkL0gM13/Iv5VCZmci/NuoOlePoIsW0m7BWfln/Hak=
github.com/sagernet/sing v0.6.5-0.20250324102321-1ddf4ccbfab8 h1:Kg/OPLceU3Ty46ceEwLfL9NLbKBCLj5dNQb1Ia+Q0VI=
github.com/sagernet/sing v0.6.5-0.20250324102321-1ddf4ccbfab8/go.mod h1:ARkL0gM13/Iv5VCZmci/NuoOlePoIsW0m7BWfln/Hak=
github.com/sagernet/sing-mux v0.3.1 h1:kvCc8HyGAskDHDQ0yQvoTi/7J4cZPB/VJMsAM3MmdQI=
github.com/sagernet/sing-mux v0.3.1/go.mod h1:Mkdz8LnDstthz0HWuA/5foncnDIdcNN5KZ6AdJX+x78=
github.com/sagernet/sing-quic v0.4.1-beta.1 h1:V2VfMckT3EQR3ZdfSzJgZZDsvfZZH42QAZpnOnHKa0s=