mirror of
https://github.com/daeuniverse/dae.git
synced 2024-12-22 16:04:40 +07:00
Merge 8bbfd691a7
into chore_expose_dialer_creator
This commit is contained in:
commit
14644171ce
11
.github/workflows/prerelease.yml
vendored
11
.github/workflows/prerelease.yml
vendored
@ -13,12 +13,9 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
goos: [ linux ]
|
||||
goarch: [ 386, riscv64, mips64, mips64le, mipsle, mips ]
|
||||
goarch: [ arm64, 386, riscv64, mips64, mips64le, mipsle, mips ]
|
||||
include:
|
||||
# BEGIN Linux ARM 5 6 7 64
|
||||
- goos: linux
|
||||
goarch: arm64
|
||||
buildargs: -buildmode=pie
|
||||
# BEGIN Linux ARM 5 6 7
|
||||
- goos: linux
|
||||
goarch: arm
|
||||
goarm: 7
|
||||
@ -33,15 +30,12 @@ jobs:
|
||||
- goos: linux
|
||||
goarch: amd64
|
||||
goamd64: v1
|
||||
buildargs: -buildmode=pie
|
||||
- goos: linux
|
||||
goarch: amd64
|
||||
goamd64: v2
|
||||
buildargs: -buildmode=pie
|
||||
- goos: linux
|
||||
goarch: amd64
|
||||
goamd64: v3
|
||||
buildargs: -buildmode=pie
|
||||
# END Linux AMD64 v1 v2 v3
|
||||
fail-fast: false
|
||||
|
||||
@ -52,7 +46,6 @@ jobs:
|
||||
GOARM: ${{ matrix.goarm }}
|
||||
GOAMD64: ${{ matrix.goamd64 }}
|
||||
CGO_ENABLED: 0
|
||||
BUILD_ARGS: ${{ matrix.buildargs }}
|
||||
|
||||
steps:
|
||||
- name: Checkout codebase
|
||||
|
11
.github/workflows/release.yml
vendored
11
.github/workflows/release.yml
vendored
@ -13,12 +13,9 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
goos: [ linux ]
|
||||
goarch: [ 386, riscv64, mips64, mips64le, mipsle, mips ]
|
||||
goarch: [ arm64, 386, riscv64, mips64, mips64le, mipsle, mips ]
|
||||
include:
|
||||
# BEGIN Linux ARM 5 6 7 64
|
||||
- goos: linux
|
||||
goarch: arm64
|
||||
buildargs: -buildmode=pie
|
||||
# BEGIN Linux ARM 5 6 7
|
||||
- goos: linux
|
||||
goarch: arm
|
||||
goarm: 7
|
||||
@ -33,15 +30,12 @@ jobs:
|
||||
- goos: linux
|
||||
goarch: amd64
|
||||
goamd64: v1
|
||||
buildargs: -buildmode=pie
|
||||
- goos: linux
|
||||
goarch: amd64
|
||||
goamd64: v2
|
||||
buildargs: -buildmode=pie
|
||||
- goos: linux
|
||||
goarch: amd64
|
||||
goamd64: v3
|
||||
buildargs: -buildmode=pie
|
||||
# END Linux AMD64 v1 v2 v3
|
||||
fail-fast: false
|
||||
|
||||
@ -52,7 +46,6 @@ jobs:
|
||||
GOARM: ${{ matrix.goarm }}
|
||||
GOAMD64: ${{ matrix.goamd64 }}
|
||||
CGO_ENABLED: 0
|
||||
BUILD_ARGS: ${{ matrix.buildargs }}
|
||||
|
||||
steps:
|
||||
- name: Checkout codebase
|
||||
|
11
.github/workflows/seed-build.yml
vendored
11
.github/workflows/seed-build.yml
vendored
@ -30,12 +30,9 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
goos: [ linux ]
|
||||
goarch: [ 386, riscv64, mips64, mips64le, mipsle, mips ]
|
||||
goarch: [ arm64, 386, riscv64, mips64, mips64le, mipsle, mips ]
|
||||
include:
|
||||
# BEGIN Linux ARM 5 6 7 64
|
||||
- goos: linux
|
||||
goarch: arm64
|
||||
buildargs: -buildmode=pie
|
||||
# BEGIN Linux ARM 5 6 7
|
||||
- goos: linux
|
||||
goarch: arm
|
||||
goarm: 7
|
||||
@ -50,15 +47,12 @@ jobs:
|
||||
- goos: linux
|
||||
goarch: amd64
|
||||
goamd64: v1
|
||||
buildargs: -buildmode=pie
|
||||
- goos: linux
|
||||
goarch: amd64
|
||||
goamd64: v2
|
||||
buildargs: -buildmode=pie
|
||||
- goos: linux
|
||||
goarch: amd64
|
||||
goamd64: v3
|
||||
buildargs: -buildmode=pie
|
||||
# END Linux AMD64 v1 v2 v3
|
||||
fail-fast: false
|
||||
|
||||
@ -69,7 +63,6 @@ jobs:
|
||||
GOARM: ${{ matrix.goarm }}
|
||||
GOAMD64: ${{ matrix.goamd64 }}
|
||||
CGO_ENABLED: 0
|
||||
BUILD_ARGS: ${{ matrix.buildargs }}
|
||||
|
||||
steps:
|
||||
- name: Checkout codebase
|
||||
|
115
CHANGELOGS.md
115
CHANGELOGS.md
@ -13,9 +13,10 @@ curl --silent "https://api.github.com/repos/daeuniverse/dae/releases" | jq -r '.
|
||||
## Releases
|
||||
|
||||
<!-- BEGIN NEW TOC ENTRY -->
|
||||
- [v0.2.4rc2 (Pre-release)](#v024rc2-pre-release)
|
||||
- [v0.2.4rc1 (Pre-release)](#v024rc1-pre-release)
|
||||
- [v0.2.3 (Latest)](#v023-latest)
|
||||
- [v0.2.5rc2 (Pre-release)](#v025rc2-pre-release)
|
||||
- [v0.2.5rc1 (Pre-release)](#v025rc1-pre-release)
|
||||
- [v0.2.4 (Latest)](#v024-latest)
|
||||
- [v0.2.3](#v023)
|
||||
- [v0.2.2](#v022)
|
||||
- [v0.2.1](#v021)
|
||||
- [v0.2.0](#v020)
|
||||
@ -34,39 +35,90 @@ curl --silent "https://api.github.com/repos/daeuniverse/dae/releases" | jq -r '.
|
||||
- [v0.1.0](#v010)
|
||||
<!-- BEGIN NEW CHANGELOGS -->
|
||||
|
||||
### v0.2.4rc2 (Pre-release)
|
||||
### v0.2.5rc2 (Pre-release)
|
||||
|
||||
> Release date: 2023/08/05
|
||||
> Release date: 2023/08/14
|
||||
|
||||
### Bug Fix
|
||||
|
||||
- ci/hotfix: demise buildarg=pie in [#282](https://github.com/daeuniverse/dae/pull/282) by (@yqlbu)
|
||||
|
||||
### 问题修复
|
||||
|
||||
- 修复: 不再使用 buildarg=pie in [#271](https://github.com/daeuniverse/dae/pull/282) by (@yqlbu)
|
||||
|
||||
**Example Config**: https://github.com/daeuniverse/dae/blob/v0.2.5rc2/example.dae
|
||||
|
||||
**Full Changelog**: https://github.com/daeuniverse/dae/compare/v0.2.5rc1...v0.2.5rc2
|
||||
|
||||
### v0.2.5rc1 (Pre-release)
|
||||
|
||||
> Release date: 2023/08/13
|
||||
|
||||
### Features
|
||||
|
||||
- optimize(juicity): support Base64URLEncoding for PinnedCertchainSha256 in [#265](https://github.com/daeuniverse/dae/pull/265) by (@mzz2017)
|
||||
- feat: add meek in [#258](https://github.com/daeuniverse/dae/pull/258) by (@AkinoKaede)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- fix: rebinding wg/tun not work in [#271](https://github.com/daeuniverse/dae/pull/271) by (@mzz2017)
|
||||
- fix: caddy cannot accept connections in [#262](https://github.com/daeuniverse/dae/pull/262) by (@mzz2017)
|
||||
|
||||
### Others
|
||||
|
||||
- ci(release): draft release v0.2.4 in [#277](https://github.com/daeuniverse/dae/pull/277) by (@yqlbu)
|
||||
- ci/chore: remove the buildmode specified in CI in [#273](https://github.com/daeuniverse/dae/pull/273) by (@shenghuang147)
|
||||
- chore: amd64 and arm64 use PIE build mode by default in [#272](https://github.com/daeuniverse/dae/pull/272) by (@shenghuang147)
|
||||
- chore: upgrade quic-go to 0.37.4 to support go1.21 in [#270](https://github.com/daeuniverse/dae/pull/270) by (@mzz2017)
|
||||
- chore(pr_template): update headers in [#269](https://github.com/daeuniverse/dae/pull/269) by (@yqlbu)
|
||||
- chore/refactor: rework issue_templates in [#267](https://github.com/daeuniverse/dae/pull/267) by (@yqlbu)
|
||||
- chore: add -buildmode=pie in [#266](https://github.com/daeuniverse/dae/pull/266) by (@shenghuang147)
|
||||
- ci(release): draft release v0.2.4rc2 in [#260](https://github.com/daeuniverse/dae/pull/260) by (@daebot)
|
||||
|
||||
### 特性支持
|
||||
|
||||
- 优化(juicity): 支持 PinnedCertchainSha256 的 Base64URLEncoding in [#265](https://github.com/daeuniverse/dae/pull/265) by (@mzz2017)
|
||||
- 特性: 添加 meek in [#258](https://github.com/daeuniverse/dae/pull/258) by (@AkinoKaede)
|
||||
|
||||
### 问题修复
|
||||
|
||||
- 修复: 重新绑定 wg/tun 无效的问题 in [#271](https://github.com/daeuniverse/dae/pull/271) by (@mzz2017)
|
||||
- 修复: caddy 无法接受连接的问题 in [#262](https://github.com/daeuniverse/dae/pull/262) by (@mzz2017)
|
||||
|
||||
### 其他变更
|
||||
|
||||
- 自动化(发布): 起草发布 v0.2.4 版本 in [#277](https://github.com/daeuniverse/dae/pull/277) by (@yqlbu)
|
||||
- 自动化/杂项: 在 CI 中移除指定的 buildmode in [#273](https://github.com/daeuniverse/dae/pull/273) by (@shenghuang147)
|
||||
- 杂项: amd64 和 arm64 默认使用 PIE 构建模式 in [#272](https://github.com/daeuniverse/dae/pull/272) by (@shenghuang147)
|
||||
- 杂项: 升级 quic-go 到 0.37.4 以支持 go1.21 in [#270](https://github.com/daeuniverse/dae/pull/270) by (@mzz2017)
|
||||
- 杂项(pr_template): 更新标题 in [#269](https://github.com/daeuniverse/dae/pull/269) by (@yqlbu)
|
||||
- 杂项/重构: 重新设计 issue_templates in [#267](https://github.com/daeuniverse/dae/pull/267) by (@yqlbu)
|
||||
- 杂项: 添加 -buildmode=pie in [#266](https://github.com/daeuniverse/dae/pull/266) by (@shenghuang147)
|
||||
- 自动化(发布): 起草发布 v0.2.4rc2 版本 in [#260](https://github.com/daeuniverse/dae/pull/260) by (@daebot)
|
||||
|
||||
**Example Config**: https://github.com/daeuniverse/dae/blob/v0.2.5rc1/example.dae
|
||||
|
||||
**Full Changelog**: https://github.com/daeuniverse/dae/compare/v0.2.4...v0.2.5rc1
|
||||
|
||||
### New Contributors
|
||||
|
||||
- @shenghuang147 made their first contribution in https://github.com/daeuniverse/dae/pull/266
|
||||
|
||||
### v0.2.4 (Latest)
|
||||
|
||||
> Release date: 2023/08/13
|
||||
|
||||
### Features
|
||||
|
||||
- feat(juicity): support certificate pinning in [#256](https://github.com/daeuniverse/dae/pull/256) by (@mzz2017)
|
||||
- optimize: force to choose one if there is only one node in the group in [#251](https://github.com/daeuniverse/dae/pull/251) by (@mzz2017)
|
||||
- feat: support juicity in [#248](https://github.com/daeuniverse/dae/pull/248) by (@mzz2017)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- fix: bad ipversion selection caused by #251 in [#257](https://github.com/daeuniverse/dae/pull/257) by (@mzz2017)
|
||||
|
||||
### 特性支持
|
||||
|
||||
- 特性(juicity): 支持证书固定 (Certificate Pinning) in [#256](https://github.com/daeuniverse/dae/pull/256) by (@mzz2017)
|
||||
|
||||
### 问题修复
|
||||
|
||||
- 修复: 由 #251 导致的错误的 IP 版本选择 in [#257](https://github.com/daeuniverse/dae/pull/257) by (@mzz2017)
|
||||
|
||||
**Example Config**: https://github.com/daeuniverse/dae/blob/v0.2.4rc2/example.dae
|
||||
|
||||
**Full Changelog**: https://github.com/daeuniverse/dae/compare/v0.2.4rc1...v0.2.4rc2
|
||||
|
||||
### v0.2.4rc1 (Pre-release)
|
||||
|
||||
> Release date: 2023/08/03
|
||||
|
||||
### Features
|
||||
|
||||
- optimize: force to choose one if there is only one node in the group in [#251](https://github.com/daeuniverse/dae/pull/251) by (@mzz2017)
|
||||
- feat: support juicity in [#248](https://github.com/daeuniverse/dae/pull/248) by (@mzz2017)
|
||||
|
||||
### Others
|
||||
|
||||
- ci(release): add entry for release-v0.2.3 in [#253](https://github.com/daeuniverse/dae/pull/253) by (@yqlbu)
|
||||
@ -78,9 +130,14 @@ curl --silent "https://api.github.com/repos/daeuniverse/dae/releases" | jq -r '.
|
||||
|
||||
### 特性支持
|
||||
|
||||
- 特性(juicity): 支持证书固定 (Certificate Pinning) in [#256](https://github.com/daeuniverse/dae/pull/256) by (@mzz2017)
|
||||
- 优化: 在组中只有一个节点时强制选择该节点 in [#251](https://github.com/daeuniverse/dae/pull/251) by (@mzz2017)
|
||||
- 特性: 支持 juicity in [#248](https://github.com/daeuniverse/dae/pull/248) by (@mzz2017)
|
||||
|
||||
### 问题修复
|
||||
|
||||
- 修复: 由 #251 导致的错误的 IP 版本选择 in [#257](https://github.com/daeuniverse/dae/pull/257) by (@mzz2017)
|
||||
|
||||
### 其他变更
|
||||
|
||||
- 自动化(release): 添加发布版本 v0.2.3 的条目 in [#253](https://github.com/daeuniverse/dae/pull/253) by (@yqlbu)
|
||||
@ -90,15 +147,15 @@ curl --silent "https://api.github.com/repos/daeuniverse/dae/releases" | jq -r '.
|
||||
- 文档: 完善协议支持和 Alpine 安装 in [#241](https://github.com/daeuniverse/dae/pull/241) by (@mzz2017)
|
||||
- 自动化(release): 撰写发布版本 v0.2.3rc1 in [#240](https://github.com/daeuniverse/dae/pull/240) by (@daebot)
|
||||
|
||||
**Example Config**: https://github.com/daeuniverse/dae/blob/v0.2.4rc1/example.dae
|
||||
**Example Config**: https://github.com/daeuniverse/dae/blob/v0.2.4/example.dae
|
||||
|
||||
**Full Changelog**: https://github.com/daeuniverse/dae/compare/v0.2.3...v0.2.4rc1
|
||||
**Full Changelog**: https://github.com/daeuniverse/dae/compare/v0.2.3...v0.2.4
|
||||
|
||||
### New Contributors
|
||||
|
||||
- @bradfordzhang made their first contribution in #247
|
||||
|
||||
### v0.2.3 (Latest)
|
||||
### v0.2.3
|
||||
|
||||
> Release date: 2023/08/02
|
||||
|
||||
|
@ -8,7 +8,6 @@ package control
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/daeuniverse/softwind/transport/meek"
|
||||
"net"
|
||||
"net/netip"
|
||||
"os"
|
||||
@ -36,6 +35,7 @@ import (
|
||||
"github.com/daeuniverse/softwind/pool"
|
||||
"github.com/daeuniverse/softwind/protocol/direct"
|
||||
"github.com/daeuniverse/softwind/transport/grpc"
|
||||
"github.com/daeuniverse/softwind/transport/meek"
|
||||
dnsmessage "github.com/miekg/dns"
|
||||
"github.com/mohae/deepcopy"
|
||||
"github.com/sirupsen/logrus"
|
||||
@ -190,11 +190,6 @@ func NewControlPlane(
|
||||
}
|
||||
|
||||
/// Bind to links. Binding should be advance of dialerGroups to avoid un-routable old connection.
|
||||
// Add clsact qdisc
|
||||
for _, ifname := range common.Deduplicate(append(append([]string{}, global.LanInterface...), global.WanInterface...)) {
|
||||
_ = core.addQdisc(ifname)
|
||||
_ = core.mapLinkType(ifname)
|
||||
}
|
||||
// Bind to LAN
|
||||
if len(global.LanInterface) > 0 {
|
||||
if err = core.setupRoutingPolicy(); err != nil {
|
||||
|
@ -425,6 +425,8 @@ func (c *controlPlaneCore) _bindLan(ifname string) error {
|
||||
if err = CheckSendRedirects(ifname); err != nil {
|
||||
return err
|
||||
}
|
||||
_ = c.addQdisc(ifname)
|
||||
_ = c.mapLinkType(ifname)
|
||||
/// Insert an elem into IfindexParamsMap.
|
||||
ifParams, err := getIfParamsFromLink(link)
|
||||
if err != nil {
|
||||
@ -564,6 +566,9 @@ func (c *controlPlaneCore) _bindWan(ifname string) error {
|
||||
if link.Attrs().Index == consts.LoopbackIfIndex {
|
||||
return fmt.Errorf("cannot bind to loopback interface")
|
||||
}
|
||||
_ = c.addQdisc(ifname)
|
||||
_ = c.mapLinkType(ifname)
|
||||
|
||||
/// Insert an elem into IfindexParamsMap.
|
||||
ifParams, err := getIfParamsFromLink(link)
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user