Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
e6eef17
Update readme.md
boy-hack Feb 14, 2022
d03197c
update static compile action
Feb 15, 2022
537ae31
update static compile action
Feb 15, 2022
0bc55b0
update test action for static compile
Feb 15, 2022
3e201fc
update test action for static compile
Feb 15, 2022
ff8bb8c
更新编译脚本,linux下可直接使用,更新版本到1.8.2
Feb 15, 2022
e341703
bugfix github action
Feb 15, 2022
1dc0288
fix: friendly for cmd 'go install github.com/boy-hack/ksubdomain/cmd/…
zt2 Feb 26, 2022
57b5fb7
Merge pull request #7 from zt2/main
boy-hack Feb 26, 2022
dadfe47
update workflows
boy-hack Feb 26, 2022
d90a777
update readme
boy-hack Feb 26, 2022
9a2f296
update version to 1.8.3
boy-hack Feb 26, 2022
dea57fb
Add Slice2String and bugfix https://github.com/boy-hack/ksubdomain/is…
boy-hack Mar 5, 2022
7091a39
go mod tidy && update version to 1.8.4
boy-hack Mar 5, 2022
ef4efb6
update readme
boy-hack Mar 5, 2022
66dfd7d
优化泛解析时的错误处理
boy-hack Mar 5, 2022
a14b665
修复高并发下拷贝的问题...
boy-hack Mar 6, 2022
f54eed7
update 1.8.5
boy-hack Mar 6, 2022
5168cb9
add param --dns-type
Mar 7, 2022
5895391
update version to 1.8.6
Mar 7, 2022
287fc45
编程api
boy-hack Mar 13, 2022
37be3e6
new feature for api
boy-hack Mar 13, 2022
b90a569
ksubdomain api模式
Mar 17, 2022
f4c4ff8
bugfix
Mar 18, 2022
90a8827
加强速度
Mar 18, 2022
82e84af
限速器优化
Mar 18, 2022
eec26a9
加入dev文档
Mar 18, 2022
639b811
扫描时可指定特定域名使用特定的dns,enum枚举模式时会加入ns地址进行扫描
Mar 21, 2022
72e72ff
add tips
Mar 21, 2022
dc978bd
add param '--ns'
Mar 21, 2022
97efec3
fixed https://github.com/boy-hack/ksubdomain/issues/15
boy-hack Mar 24, 2022
d10d8a1
Merge pull request #16 from boy-hack/dev
boy-hack Mar 24, 2022
a332818
update version to 1.9.3
boy-hack Mar 24, 2022
4808684
fixed https://github.com/boy-hack/ksubdomain/issues/17
Mar 30, 2022
428fb8e
fixed https://github.com/boy-hack/ksubdomain/issues/17
Mar 30, 2022
6b07239
读取域名改用chan方式
Mar 30, 2022
52a7004
update version to 1.9.4
Mar 30, 2022
7dfc192
针对suffix domain指定特定dns的提示
Mar 30, 2022
af40042
修复verify模式计算域名总量错误
Mar 31, 2022
36df57a
update version to 1.9.5
Mar 31, 2022
50e66c6
Update readme.md
boy-hack Apr 1, 2022
426067a
Update dev.md
boy-hack Apr 7, 2022
2666471
增加泛解析过滤函数
Jun 15, 2022
cba3999
Merge branch 'main' of https://github.com/boy-hack/ksubdomain
Jun 15, 2022
6985640
解决竞争异常,优雅退出
Jun 21, 2024
9b431e0
添加域名枚举测试用例
Jun 21, 2024
af66726
修复某些情况获取不到ip的bug
Jul 23, 2024
876eb3f
minnor fix
Jul 23, 2024
026f335
update test workflows
Jul 23, 2024
53b2814
update github action test build
Jul 23, 2024
03b7a63
update github action build
Jul 23, 2024
dfe10ad
update action build
Jul 23, 2024
5eceba7
修改默认dns为1.1.1.1
boy-hack Aug 31, 2024
08aed3c
update version 1.9.9
boy-hack Aug 31, 2024
5e41e1a
优化代码
boy-hack Apr 10, 2025
124ae13
优化性能
boy-hack Apr 10, 2025
cfb44b1
添加域名预测
Apr 11, 2025
5d09769
优化代码,添加json csv支持,优化泛解析过滤算法
Apr 11, 2025
d6a7f8e
predict模式增加
Apr 11, 2025
d2a8d03
update
Apr 11, 2025
3c623af
Update build.yml
boy-hack Apr 11, 2025
b48cd51
Update build.yml
boy-hack Apr 11, 2025
80d8c7b
Update build.yml
boy-hack Apr 11, 2025
484b5a6
更新result
boy-hack Apr 11, 2025
366e1af
update 2.1
boy-hack Apr 11, 2025
2c4254a
wild update
boy-hack Apr 11, 2025
a90986a
fixed https://github.com/boy-hack/ksubdomain/issues/51
boy-hack Apr 13, 2025
e2b55d9
fixed https://github.com/boy-hack/ksubdomain/issues/52
boy-hack Apr 13, 2025
e527558
fixed https://github.com/boy-hack/ksubdomain/issues/53
boy-hack Apr 13, 2025
74a3333
fixed https://github.com/boy-hack/ksubdomain/issues/54
boy-hack Apr 13, 2025
61463b4
update version 2.2
boy-hack Apr 13, 2025
bfee5e5
暂时去掉predict模式
boy-hack Apr 13, 2025
ba2b4f1
update 2.2.21
boy-hack Apr 13, 2025
3b868e2
修复因系统dns问题导致的获取网卡失败 fixed https://github.com/boy-hack/ksubdomain/issu…
Apr 15, 2025
59ffd91
优化代码流程&&predict模式
boy-hack Apr 15, 2025
5be4dc8
update version to 2.3
boy-hack Apr 15, 2025
323a7ba
update action
boy-hack Apr 15, 2025
fbc3f92
update action for ubuntu22
boy-hack Apr 15, 2025
8c281ae
update test action
boy-hack Apr 15, 2025
1f7e68c
update test action
boy-hack Apr 15, 2025
eab9695
update test action
boy-hack Apr 15, 2025
833529b
1
boy-hack Apr 15, 2025
31c10dd
1
boy-hack Apr 15, 2025
1d8afa6
update
boy-hack Apr 15, 2025
670f6bc
update readme
boy-hack Apr 15, 2025
55d7e2f
go module 改造为v2
boy-hack Apr 16, 2025
bd87ac2
Merge branch 'main' of https://github.com/boy-hack/ksubdomain
boy-hack Apr 16, 2025
0478e16
update version to v2.3.1
boy-hack Apr 16, 2025
0b89efe
Update readme.md
boy-hack Jun 17, 2025
3f3a68a
Update readme.md
boy-hack Jun 18, 2025
03f9199
1. silent模式修复
Aug 14, 2025
52c6dcb
update v2.4
Aug 14, 2025
44ea92a
perf: comprehensive performance optimizations (+40-60% speed boost)
invalid-email-address Feb 26, 2026
fa6469b
fix: resolve issues #70, #68, #67 (CNAME parsing, WSL2 errors, --od p…
Feb 26, 2026
6015a8b
fix: resolve Mac buffer overflow issue during high-speed packet sending
Feb 26, 2026
330b9b1
test: add comprehensive test suite (100+ test cases)
Feb 26, 2026
5b1f8aa
test: add 100k domain performance benchmark (README standard)
Feb 26, 2026
d8e6580
feat: internationalization - English README, JSONL output, Go SDK
Feb 26, 2026
019a143
feat: add beautified output and output formats documentation
Feb 26, 2026
5847ae5
feat: internationalize CLI parameters for better global UX
Feb 26, 2026
15f8869
Delete PERFORMANCE_OPTIMIZATIONS.md
boy-hack Feb 26, 2026
f9f3a00
Delete PR_DESCRIPTION.md
boy-hack Feb 26, 2026
526473c
Merge pull request #71 from boy-hack/feature/performance-optimizations
boy-hack Feb 26, 2026
d39de4e
Delete BUGFIX_DETAILS.md
boy-hack Feb 26, 2026
5a75797
Merge pull request #72 from boy-hack/fix/issue-70-cname-parsing
boy-hack Feb 26, 2026
0eef669
Merge pull request #73 from boy-hack/fix/mac-buffer-issue
boy-hack Feb 26, 2026
5bd0fcc
Merge branch 'main' into feature/internationalization
boy-hack Feb 26, 2026
3e2fc3b
Merge pull request #74 from boy-hack/feature/internationalization
boy-hack Feb 26, 2026
7f84225
update
Feb 26, 2026
00896e1
optimize: integrate GetDefaultRouteInterface for network device detec…
Feb 26, 2026
51a7d36
add network_improved
Feb 26, 2026
93bc327
delete TESTING.md
Feb 26, 2026
82a71d9
Merge pull request #75 from boy-hack/optimize-network-device-detection
boy-hack Feb 26, 2026
a91c2c7
feat(runner): add RTT sliding window for dynamic timeout adaptation
boy-hack Mar 17, 2026
1b47755
refactor(timeout): remove configurable timeout, always-on dynamic RTT…
boy-hack Mar 17, 2026
cf22d03
feat(runner): add recv-side backpressure control
boy-hack Mar 17, 2026
4956032
docs: update agent-log with backpressure and timeout refactor records
boy-hack Mar 17, 2026
e4601c5
docs: restore and update program.md, mark P0-1 and P0-2 complete
boy-hack Mar 17, 2026
8adfd36
perf(runner): batch retry by DNS server, eliminate channel relay
boy-hack Mar 17, 2026
6e12601
docs: mark P0-3 batch retry complete
boy-hack Mar 17, 2026
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
146 changes: 114 additions & 32 deletions .github/workflows/build.yml
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -3,58 +3,140 @@ on:
create:
tags:
- v*
workflow_dispatch:
jobs:

build:
name: Build
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
jobs:
build-linux:
name: Build Linux
runs-on: ubuntu-22.04
steps:
- name: Set up Go 1.17
uses: actions/setup-go@v1
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.17
go-version: '1.23'
id: go

- name: Set up libpcap-dev
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get install libpcap-dev -y

- name: Get version
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
run: echo "VERSION=${{ github.ref_name }}" >> $GITHUB_OUTPUT

- name: Set up dependencies
run: sudo apt-get update && sudo apt-get install libpcap-dev libdbus-1-dev libsystemd-dev gcc -y

- name: Check out code into the Go module directory
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Get dependencies
run: go mod download

- name: Build
- name: Build On Linux
run: |
go build -o ./ksubdomain ./cmd/
go build -o ./ksubdomain ./cmd/ksubdomain/
chmod +x ksubdomain
tar -cvf Ksubdomain-${{ steps.get_version.outputs.VERSION }}-${{ runner.os }}.tar ksubdomain
if: matrix.os != 'windows-latest'
zip KSubdomain-${{ steps.get_version.outputs.VERSION }}-linux-amd64.zip ksubdomain
env:
GOENABLE: 1
CGO_LDFLAGS: "-Wl,-static -L/usr/lib/x86_64-linux-gnu/libpcap.a -lpcap -Wl,-Bdynamic -ldbus-1 -lsystemd"

- name: Build On Windows
run: |
go build -o ./ksubdomain.exe ./cmd/
tar -cvf Ksubdomain-${{ runner.os }}.tar ksubdomain.exe
if: matrix.os == 'windows-latest'
- name: Release
go build -o ./ksubdomain.exe ./cmd/ksubdomain/
zip KSubdomain-${{ steps.get_version.outputs.VERSION }}-windows-amd64.zip ksubdomain.exe
env:
GOOS: windows
GOENABLE: 1

- name: Release Linux and Windows
uses: softprops/action-gh-release@master
with:
files: |
KSubdomain-${{ steps.get_version.outputs.VERSION }}-linux-amd64.zip
KSubdomain-${{ steps.get_version.outputs.VERSION }}-windows-amd64.zip
fail_on_unmatched_files: true
token: ${{ secrets.TOKEN }}
append_body: true
env:
GITHUB_REPOSITORY: boy-hack/ksubdomain

build-macos-amd64:
name: Build macOS (amd64)
runs-on: macos-13
steps:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.23'
id: go

- name: Get version
id: get_version
run: echo "VERSION=${{ github.ref_name }}" >> $GITHUB_OUTPUT

- name: Install zip
run: brew install zip

- name: Check out code into the Go module directory
uses: actions/checkout@v3

- name: Get dependencies
run: go mod download

- name: Build On Darwin amd64
run: |
go build -o ./ksubdomain ./cmd/ksubdomain/
chmod +x ksubdomain
zip KSubdomain-${{ steps.get_version.outputs.VERSION }}-darwin-amd64.zip ksubdomain
env:
GOOS: darwin
GOARCH: amd64

- name: Release macOS amd64
uses: softprops/action-gh-release@master
with:
files: KSubdomain-${{ steps.get_version.outputs.VERSION }}-darwin-amd64.zip
fail_on_unmatched_files: true
token: ${{ secrets.TOKEN }}
append_body: true
env:
GITHUB_REPOSITORY: boy-hack/ksubdomain

build-macos-arm64:
name: Build macOS (arm64)
runs-on: macos-14
steps:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.23'
id: go

- name: Get version
id: get_version
run: echo "VERSION=${{ github.ref_name }}" >> $GITHUB_OUTPUT

- name: Install zip
run: brew install zip

- name: Check out code into the Go module directory
uses: actions/checkout@v3

- name: Get dependencies
run: go mod download

- name: Build On Darwin arm64
run: |
go build -o ./ksubdomain ./cmd/ksubdomain/
chmod +x ksubdomain
zip KSubdomain-${{ steps.get_version.outputs.VERSION }}-darwin-arm64.zip ksubdomain
env:
GOOS: darwin
GOARCH: arm64

- name: Release macOS arm64
uses: softprops/action-gh-release@master
with:
# note you'll typically need to create a personal access token
# with permissions to create releases in the other repo
files: Ksubdomain-*
files: KSubdomain-${{ steps.get_version.outputs.VERSION }}-darwin-arm64.zip
fail_on_unmatched_files: true
token: ${{ secrets.TOKEN }}
append_body: true
env:
GITHUB_REPOSITORY: boy-hack/ksubdomain
GITHUB_REPOSITORY: boy-hack/ksubdomain
97 changes: 97 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: 🎉 Build Binary Test
on:
workflow_dispatch:
inputs:
buildLinux:
description: '构建Linux版本'
required: true
default: 'true'
type: boolean
buildMacOS:
description: '构建macOS版本'
required: true
default: 'true'
type: boolean
buildWindows:
description: '构建Windows版本'
required: true
default: 'true'
type: boolean
jobs:
build-linux:
name: Build Linux
if: ${{ inputs.buildLinux }}
runs-on: ubuntu-22.04
steps:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.23'
id: go

- name: Set up libpcap-dev
run: sudo apt-get install libpcap-dev libdbus-1-dev libsystemd-dev gcc -y

- name: Check out code into the Go module directory
uses: actions/checkout@v3

- name: Get dependencies
run: go mod download

- name: Build On Linux
run: go build -o ./ksubdomain_Linux ./cmd/ksubdomain/
env:
GOENABLE: 1
CGO_LDFLAGS: "-Wl,-static -L/usr/lib/x86_64-linux-gnu/libpcap.a -lpcap -Wl,-Bdynamic -ldbus-1 -lsystemd"

- name: Build Windows on Linux
if: ${{ inputs.buildWindows }}
run: go build -o ./ksubdomain_windows.exe ./cmd/ksubdomain/
env:
GOOS: windows
GOENABLE: 1

- name: Upload Linux build artifact
uses: actions/upload-artifact@v4
with:
name: ksubdomain_Linux_amd64
path: ksubdomain_Linux
if-no-files-found: error

- name: Upload Windows build artifact
if: ${{ inputs.buildWindows }}
uses: actions/upload-artifact@v4
with:
name: ksubdomain_Windows_amd64
path: ksubdomain_windows.exe
if-no-files-found: error

build-macos:
name: Build macOS
if: ${{ inputs.buildMacOS }}
runs-on: macos-13
steps:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.23'
id: go

- name: Set up Darwin libpcap
run: brew install libpcap

- name: Check out code into the Go module directory
uses: actions/checkout@v3

- name: Get dependencies
run: go mod download

- name: Build On Darwin
run: go build -o ./ksubdomain_Darwin ./cmd/ksubdomain/

- name: Upload Darwin build artifact
uses: actions/upload-artifact@v4
with:
name: ksubdomain_Darwin_amd64
path: ksubdomain_Darwin
if-no-files-found: error
1 change: 1 addition & 0 deletions .gitignore
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ go.sum
test2
ksubdomain.yaml
dist/
ksubdomain
Empty file modified LICENSE
100644 → 100755
Empty file.
Loading
Loading