From e64744721483e4c40d2b40371468197cee946800 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Thu, 30 Dec 2021 10:37:58 +0800 Subject: [PATCH 01/21] Create codeql-analysis.yml --- .github/workflows/codeql-analysis.yml | 70 +++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 .github/workflows/codeql-analysis.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..6da7786 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,70 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ main ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ main ] + schedule: + - cron: '26 7 * * 2' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'go' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://git.io/codeql-language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 From 5b89726bc3cc032cd2422f74b93e50e7d8c948b9 Mon Sep 17 00:00:00 2001 From: Dem0ns <28812134+nic329@users.noreply.github.com> Date: Thu, 30 Dec 2021 11:00:23 +0800 Subject: [PATCH 02/21] =?UTF-8?q?=E5=A2=9E=E5=8A=A0docker=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 +++++++++- config.default.ini | 2 +- docker-compose.yml | 23 +++++++++++++++++++++++ go.mod | 1 + init.sql | 22 ++++++++++++++++++++++ main.go | 1 + 6 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 docker-compose.yml create mode 100644 init.sql diff --git a/README.md b/README.md index dfed170..32f7c77 100644 --- a/README.md +++ b/README.md @@ -6,4 +6,12 @@ ### 说明 -初次使用请将`config.default.ini`文件重命名为`config.ini`,并填写数据库连接信息。 \ No newline at end of file +初次使用请将`config.default.ini`文件重命名为`config.ini`,并填写数据库连接信息。 + +### 编译 + +`go build` + +### 在Docker中运行 + +`CGO_ENABLED=0 GOOS=linux go build && docker-compose up -d` diff --git a/config.default.ini b/config.default.ini index d661025..07e956b 100644 --- a/config.default.ini +++ b/config.default.ini @@ -1,3 +1,3 @@ [DNSLog_config] -conn = root:root@tcp(127.0.0.1:3306)/dnslog?parseTime=true +conn = root:root@tcp(db:3306)/dnslog?parseTime=true default_ip = 127.0.0.1 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..cc00c88 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,23 @@ +version: '3' +services: + web: + image: ubuntu:latest + command: bash -c 'cd /srv && sleep 15 && ./dnslogger' + depends_on: + - db + restart: always + links: + - db:db + volumes: + - ./dnslogger:/srv/dnslogger + - ./config.default.ini:/srv/config.ini + ports: + - "53:53/udp" + - "1965:1965/tcp" + db: + image: mariadb:latest + environment: + - MYSQL_ROOT_PASSWORD=root + - MYSQL_DATABASE=dnslogger + volumes: + - ./init.sql:/docker-entrypoint-initdb.d/init.sql \ No newline at end of file diff --git a/go.mod b/go.mod index 7231699..e91ae0c 100644 --- a/go.mod +++ b/go.mod @@ -26,5 +26,6 @@ require ( golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect + gopkg.in/ini.v1 v1.66.2 // indirect gopkg.in/yaml.v2 v2.2.8 // indirect ) diff --git a/init.sql b/init.sql new file mode 100644 index 0000000..62f8dc9 --- /dev/null +++ b/init.sql @@ -0,0 +1,22 @@ +USE +`dnslogger`; + +SET NAMES utf8mb4; +SET +FOREIGN_KEY_CHECKS = 0; + +DROP TABLE IF EXISTS `record`; +CREATE TABLE `record` +( + `id` int(11) NOT NULL AUTO_INCREMENT, + `domain` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `resp` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `src` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `created_at` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE, + FULLTEXT INDEX `domain`(`domain`) +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Compact; + +SET +FOREIGN_KEY_CHECKS = 1; \ No newline at end of file diff --git a/main.go b/main.go index 370cd99..ae74541 100644 --- a/main.go +++ b/main.go @@ -7,6 +7,7 @@ import ( _ "github.com/gin-gonic/gin" _ "github.com/go-sql-driver/mysql" "github.com/miekg/dns" + "gopkg.in/ini.v1" "log" "net" "net/http" From 4a7d84abe2c784c508e58b6ed198f4eef49f0077 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Thu, 30 Dec 2021 11:23:51 +0800 Subject: [PATCH 03/21] Create LICENSE --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..01b48aa --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Dem0ns + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 69ea11425b168397e9fb92ca26e0e9735dde6a36 Mon Sep 17 00:00:00 2001 From: Dem0ns <28812134+nic329@users.noreply.github.com> Date: Thu, 30 Dec 2021 23:12:56 +0800 Subject: [PATCH 04/21] fix for docker --- config.default.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.default.ini b/config.default.ini index 07e956b..cd9ed1c 100644 --- a/config.default.ini +++ b/config.default.ini @@ -1,3 +1,3 @@ [DNSLog_config] -conn = root:root@tcp(db:3306)/dnslog?parseTime=true +conn = root:root@tcp(db:3306)/dnslogger?parseTime=true default_ip = 127.0.0.1 \ No newline at end of file From 526bda564e6ae9aa139389709d2098b92b73bd9b Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Tue, 15 Mar 2022 17:53:14 +0800 Subject: [PATCH 05/21] =?UTF-8?q?=E5=B0=86mysql=E6=94=B9=E6=88=90sqlite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + README.md | 26 +++++++-- config.default.ini | 4 +- docker-compose.yml | 14 +---- go.mod | 3 +- images/running.jpg | Bin 0 -> 281424 bytes init.sql | 22 -------- main.go | 129 ++++++++++++++++++++++++++++++--------------- tests/main_test.go | 1 + 9 files changed, 116 insertions(+), 84 deletions(-) create mode 100644 images/running.jpg delete mode 100644 init.sql create mode 100644 tests/main_test.go diff --git a/.gitignore b/.gitignore index 895d669..b23c545 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ config.ini +*.db .idea !.gitignore vendor diff --git a/README.md b/README.md index 32f7c77..da8fac5 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,34 @@ ### 适用场景 -自建DNSLog环境。 +自建DNSLog + +![Running](./images/running.jpg) ### 说明 -初次使用请将`config.default.ini`文件重命名为`config.ini`,并填写数据库连接信息。 +udp 53 DNS + +tcp 1965 API + +API: + +查看最新5条记录 GET `/api/latest` + +根据域名查询 POST `/api/validate` `{"Domain":"dnslogger.local"}` + +### 测试 + +`dig dnslogger.local @127.0.0.1` + +`curl http://localhost:1965/api/latest -v` + +`curl http://localhost:1965/api/validate -d '{"domain":"dnslogger.local"}' -v` ### 编译 -`go build` +因采用了go-sqlite3组件,涉及到CGO,编译有问题请参考 https://github.com/mattn/go-sqlite3 ### 在Docker中运行 -`CGO_ENABLED=0 GOOS=linux go build && docker-compose up -d` +`CGO_ENABLED=1 GOOS=linux go build && docker-compose up -d` diff --git a/config.default.ini b/config.default.ini index cd9ed1c..c114bd7 100644 --- a/config.default.ini +++ b/config.default.ini @@ -1,3 +1,3 @@ -[DNSLog_config] -conn = root:root@tcp(db:3306)/dnslogger?parseTime=true +[config] +db_file = dnslog.db default_ip = 127.0.0.1 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index cc00c88..252f9f1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,22 +2,12 @@ version: '3' services: web: image: ubuntu:latest - command: bash -c 'cd /srv && sleep 15 && ./dnslogger' + command: bash -c 'cd /srv && ./dnslogger' depends_on: - db restart: always - links: - - db:db volumes: - ./dnslogger:/srv/dnslogger - - ./config.default.ini:/srv/config.ini ports: - "53:53/udp" - - "1965:1965/tcp" - db: - image: mariadb:latest - environment: - - MYSQL_ROOT_PASSWORD=root - - MYSQL_DATABASE=dnslogger - volumes: - - ./init.sql:/docker-entrypoint-initdb.d/init.sql \ No newline at end of file + - "1965:1965/tcp" \ No newline at end of file diff --git a/go.mod b/go.mod index e91ae0c..3f062de 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,9 @@ go 1.17 require ( github.com/gin-gonic/gin v1.7.7 github.com/go-sql-driver/mysql v1.6.0 + github.com/mattn/go-sqlite3 v1.14.12 github.com/miekg/dns v1.1.45 + gopkg.in/ini.v1 v1.66.2 ) require ( @@ -26,6 +28,5 @@ require ( golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect - gopkg.in/ini.v1 v1.66.2 // indirect gopkg.in/yaml.v2 v2.2.8 // indirect ) diff --git a/images/running.jpg b/images/running.jpg new file mode 100644 index 0000000000000000000000000000000000000000..29b485acde47ea990778e04fc548eabfc42ffdb1 GIT binary patch literal 281424 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�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�{3Uv|-iF~YP}uS)f4o=1;( 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 response " + record.Resp) return true } @@ -101,13 +126,23 @@ func (this *handler) ServeDNS(w dns.ResponseWriter, r *dns.Msg) { } func main() { - fmt.Println("[+] Welcome to DNSLogger.") + + fmt.Println("[+] Hello from DNSLogger") fmt.Println("[+] Starting...") loadConfig() + var err error + db, err = sql.Open("sqlite3", config.DbPath) + checkErr(err) + defer func(db *sql.DB) { + err := db.Close() + checkErr(err) + }(db) + err = db.Ping() + checkErr(err) check() go httpServer() - fmt.Println("[+] Server Started") - fmt.Println("[+] GitHub: https://github.com/dem0ns/dnslogger") + fmt.Println("[+] Server Started!") + srv := &dns.Server{Addr: ":" + strconv.Itoa(53), Net: "udp"} srv.Handler = &handler{} if err := srv.ListenAndServe(); err != nil { @@ -116,36 +151,41 @@ func main() { } func check() { - fmt.Println("[*] Testing SQL connection...") - Db, err := sql.Open("mysql", config.Conn) - if err != nil { - log.Fatalln(err) + fmt.Println("[*] 数据库检查...") + exec, err := db.Query("SELECT name FROM sqlite_master WHERE type='table' AND name='dnslog';") + checkErr(err) + defer func(exec *sql.Rows) { + checkErr(exec.Close()) + }(exec) + if !exec.Next() { + fmt.Println("[*] 数据库初始化中") + initSql := "create table dnslog_dg_tmp\n(\n id integer\n constraint dnslog_pk\n primary key autoincrement,\n domain text,\n type text,\n resp text,\n src text,\n created_at text\n);\n\ninsert into dnslog_dg_tmp(id, domain, type, resp, src, created_at)\nselect id, domain, type, resp, src, created_at\nfrom dnslog;\n\ndrop table dnslog;\n\nalter table dnslog_dg_tmp\n rename to dnslog;\n\ncreate index dnslog_domain_index\n on dnslog (domain);\n\n" + _, err := db.Exec(initSql) + checkErr(err) + fmt.Println("[*] 数据库初始化完毕") } - err = Db.Ping() - if err != nil { - log.Fatalln(err) - } - Db.Close() - fmt.Println("[*] Done.") + + fmt.Println("[*] 数据库检查完毕") } func httpServer() { gin.SetMode(gin.ReleaseMode) r := gin.Default() - Db, err := sql.Open("mysql", config.Conn) - if err != nil { - log.Fatalln(err) - } r.GET("/api/latest", func(c *gin.Context) { - rows, err := Db.Query("SELECT `id`, `domain`, `type`, `resp`, `src`, `created_at` FROM record ORDER BY `id` DESC LIMIT 10") + rows, err := db.Query("SELECT `id`, `domain`, `type`, `resp`, `src`, datetime(created_at) FROM dnslog ORDER BY `id` DESC LIMIT 10") + checkErrWarmly(err) if err != nil { log.Fatal(err) } - defer rows.Close() + defer func(rows *sql.Rows) { + checkErrWarmly(rows.Close()) + }(rows) logs := make([]DNS, 0) for rows.Next() { var d DNS - _ = rows.Scan(&d.Id, &d.Domain, &d.Type, &d.Resp, &d.Src, &d.Created) + var timeCreated string + err = rows.Scan(&d.Id, &d.Domain, &d.Type, &d.Resp, &d.Src, &timeCreated) + d.Created, _ = time.Parse(TIME_LAYOUT, timeCreated) logs = append(logs, d) } c.JSON(http.StatusOK, gin.H{ @@ -156,12 +196,15 @@ func httpServer() { var query Query if c.ShouldBindJSON(&query) == nil { var d DNS - query.Domain = query.Domain + "." + query.Domain += "." m, _ := time.ParseDuration("-5m") - err := Db.QueryRow("SELECT `id`, `domain`,`type`,`resp`,`src`,`created_at` FROM record WHERE `domain` = ? and `created_at` >= ? LIMIT 1", query.Domain, time.Now().Add(m)).Scan(&d.Id, &d.Domain, &d.Type, &d.Resp, &d.Src, &d.Created) + var timeCreated string + err := db.QueryRow("SELECT `id`, `domain`,`type`,`resp`,`src`,datetime(created_at) FROM dnslog WHERE `domain` = ? and `created_at` >= ? LIMIT 1", query.Domain, time.Now().Add(m)).Scan(&d.Id, &d.Domain, &d.Type, &d.Resp, &d.Src, &timeCreated) + d.Created, _ = time.Parse(TIME_LAYOUT, timeCreated) if err != nil { + checkErrWarmly(err) c.JSON(http.StatusNoContent, gin.H{ - "msg": "No record(s) within 5 minute.", + "msg": "No record within 5 minute.", }) return } @@ -172,7 +215,7 @@ func httpServer() { } c.JSON(http.StatusNotAcceptable, gin.H{ "status": "0", - "msg": "You looks like a 🐖.", + "msg": "Wrong 🐖", }) }) _ = r.Run("127.0.0.1:1965") diff --git a/tests/main_test.go b/tests/main_test.go new file mode 100644 index 0000000..ca8701d --- /dev/null +++ b/tests/main_test.go @@ -0,0 +1 @@ +package tests From 0a31b9f546ad55baac7610cb6b039a9b53aff248 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Tue, 15 Mar 2022 18:03:49 +0800 Subject: [PATCH 06/21] =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 17 ++++++++++++----- main.go | 9 ++++----- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index da8fac5..68a62c9 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,9 @@ ### 说明 -udp 53 DNS +UDP 53 DNS -tcp 1965 API +TCP 1965 API API: @@ -20,14 +20,21 @@ API: ### 测试 -`dig dnslogger.local @127.0.0.1` +``` +# 发送DNS请求 +dig dnslogger.local @127.0.0.1 -`curl http://localhost:1965/api/latest -v` +# 查询最新的5条DNS请求 +curl http://localhost:1965/api/latest -v -`curl http://localhost:1965/api/validate -d '{"domain":"dnslogger.local"}' -v` +# 查询domain为dnslogger.local的请求(5分钟内) +curl http://localhost:1965/api/validate -d '{"domain":"dnslogger.local"}' -v +``` ### 编译 +`go build` + 因采用了go-sqlite3组件,涉及到CGO,编译有问题请参考 https://github.com/mattn/go-sqlite3 ### 在Docker中运行 diff --git a/main.go b/main.go index 19b72f0..54d83b3 100644 --- a/main.go +++ b/main.go @@ -18,7 +18,7 @@ import ( var db *sql.DB -const TIME_LAYOUT = "2006-01-02 15:04:05" +const TimeLayout = "2006-01-02 15:04:05" type DNS struct { Id int @@ -95,7 +95,7 @@ func loadConfig() { func saveDatabase(record DNS) bool { _, err := db.Exec("INSERT INTO `dnslog` (`domain`, `type`, `resp`, `src`, `created_at`) VALUES (?, ?, ?, ?, ?)", &record.Domain, &record.Type, &record.Resp, &record.Src, &record.Created) checkErrWarmly(err) - fmt.Println("[+] " + record.Domain + " from " + record.Src + " -> response " + record.Resp) + fmt.Printf("[+] REQ [%s] FROM [%s] RESP [%s]\n", record.Domain, record.Src, record.Resp) return true } @@ -126,7 +126,6 @@ func (this *handler) ServeDNS(w dns.ResponseWriter, r *dns.Msg) { } func main() { - fmt.Println("[+] Hello from DNSLogger") fmt.Println("[+] Starting...") loadConfig() @@ -185,7 +184,7 @@ func httpServer() { var d DNS var timeCreated string err = rows.Scan(&d.Id, &d.Domain, &d.Type, &d.Resp, &d.Src, &timeCreated) - d.Created, _ = time.Parse(TIME_LAYOUT, timeCreated) + d.Created, _ = time.Parse(TimeLayout, timeCreated) logs = append(logs, d) } c.JSON(http.StatusOK, gin.H{ @@ -200,7 +199,7 @@ func httpServer() { m, _ := time.ParseDuration("-5m") var timeCreated string err := db.QueryRow("SELECT `id`, `domain`,`type`,`resp`,`src`,datetime(created_at) FROM dnslog WHERE `domain` = ? and `created_at` >= ? LIMIT 1", query.Domain, time.Now().Add(m)).Scan(&d.Id, &d.Domain, &d.Type, &d.Resp, &d.Src, &timeCreated) - d.Created, _ = time.Parse(TIME_LAYOUT, timeCreated) + d.Created, _ = time.Parse(TimeLayout, timeCreated) if err != nil { checkErrWarmly(err) c.JSON(http.StatusNoContent, gin.H{ From fc7ff4cce7949f60a91939b56b82a49570d5d9e1 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Tue, 15 Mar 2022 18:07:09 +0800 Subject: [PATCH 07/21] Create go.yml --- .github/workflows/go.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/go.yml diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 0000000..f869ba3 --- /dev/null +++ b/.github/workflows/go.yml @@ -0,0 +1,25 @@ +name: Go + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.17 + + - name: Build + run: go build -v ./... + + - name: Test + run: go test -v ./... From 807fe744182fcc038ddff986d4da8ee201b20b2a Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Tue, 15 Mar 2022 18:08:44 +0800 Subject: [PATCH 08/21] go.sum sync --- .gitignore | 1 - README.md | 2 +- go.sum | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 go.sum diff --git a/.gitignore b/.gitignore index b23c545..a7e163b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,4 @@ config.ini .idea !.gitignore vendor -*.sum dnslogger \ No newline at end of file diff --git a/README.md b/README.md index 68a62c9..68712e1 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ### 适用场景 -自建DNSLog +自建DNSLog平台。 ![Running](./images/running.jpg) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..21d8569 --- /dev/null +++ b/go.sum @@ -0,0 +1,88 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.7.7 h1:3DoBmSbJbZAWqXJC3SLjAPfutPJJRN1U5pALB7EeTTs= +github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-sqlite3 v1.14.12 h1:TJ1bhYJPV44phC+IMu1u2K/i5RriLTPe+yc68XDJ1Z0= +github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/miekg/dns v1.1.45 h1:g5fRIhm9nx7g8osrAvgb16QJfmyMsyOCb+J7LSv+Qzk= +github.com/miekg/dns v1.1.45/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985 h1:4CSI6oo7cOjJKajidEljs9h+uP0rRZBPPPhcCbj5mw8= +golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2 h1:BonxutuHCTL0rBDnZlKjpGIQFTjyUVTexFOdWkB6Fg0= +golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= +gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= From 828e9b3600f0d1619c6c39a7db1dddb7d119a725 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Tue, 15 Mar 2022 18:18:14 +0800 Subject: [PATCH 09/21] =?UTF-8?q?=E5=B0=8F=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 21 +++++++++++++++------ go.mod | 1 - go.sum | 2 -- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 68712e1..1622b82 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # DNSLogger -### 适用场景 - 自建DNSLog平台。 ![Running](./images/running.jpg) @@ -14,9 +12,15 @@ TCP 1965 API API: -查看最新5条记录 GET `/api/latest` +``` +查看最新5条记录 +GET /api/latest + +根据域名查询 +POST /api/validate -根据域名查询 POST `/api/validate` `{"Domain":"dnslogger.local"}` +{"domain":"dnslogger.local"} +``` ### 测试 @@ -33,10 +37,15 @@ curl http://localhost:1965/api/validate -d '{"domain":"dnslogger.local"}' -v ### 编译 -`go build` +``` +go build +``` 因采用了go-sqlite3组件,涉及到CGO,编译有问题请参考 https://github.com/mattn/go-sqlite3 ### 在Docker中运行 -`CGO_ENABLED=1 GOOS=linux go build && docker-compose up -d` +``` +CGO_ENABLED=1 GOOS=linux go build && +docker-compose up -d +``` diff --git a/go.mod b/go.mod index 3f062de..2ae9500 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,6 @@ go 1.17 require ( github.com/gin-gonic/gin v1.7.7 - github.com/go-sql-driver/mysql v1.6.0 github.com/mattn/go-sqlite3 v1.14.12 github.com/miekg/dns v1.1.45 gopkg.in/ini.v1 v1.66.2 diff --git a/go.sum b/go.sum index 21d8569..8a91526 100644 --- a/go.sum +++ b/go.sum @@ -13,8 +13,6 @@ github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD87 github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= -github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= -github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= From af575a90b182bc87ff98670b383c13eab427cc5e Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Tue, 15 Mar 2022 19:18:44 +0800 Subject: [PATCH 10/21] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.default.ini | 3 ++- docker-compose.yml | 2 -- main.go | 19 ++++++++++++------- main_test.go | 42 ++++++++++++++++++++++++++++++++++++++++++ tests/main_test.go | 1 - 5 files changed, 56 insertions(+), 11 deletions(-) create mode 100644 main_test.go delete mode 100644 tests/main_test.go diff --git a/config.default.ini b/config.default.ini index c114bd7..1b976c9 100644 --- a/config.default.ini +++ b/config.default.ini @@ -1,3 +1,4 @@ [config] db_file = dnslog.db -default_ip = 127.0.0.1 \ No newline at end of file +default_ip = 127.0.0.1 +http_port = 1965 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 252f9f1..44621ee 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,8 +3,6 @@ services: web: image: ubuntu:latest command: bash -c 'cd /srv && ./dnslogger' - depends_on: - - db restart: always volumes: - ./dnslogger:/srv/dnslogger diff --git a/main.go b/main.go index 54d83b3..b9ba181 100644 --- a/main.go +++ b/main.go @@ -30,9 +30,9 @@ type DNS struct { } type Config struct { - Conn string DefaultIp string DbPath string + HttpPort uint16 } type Query struct { @@ -85,10 +85,14 @@ func getConfig(str string) string { return value.String() } -func loadConfig() { +func LoadConfig() { fmt.Println("[*] 加载配置文件...") config.DefaultIp = getConfig("default_ip") config.DbPath = getConfig("db_file") + port, err := strconv.ParseInt(getConfig("http_port"), 10, 16) + checkErr(err) + config.HttpPort = uint16(port) + fmt.Printf("[*] HTTP API端口: %d\n", port) fmt.Println("[*] 配置文件加载完毕") } @@ -128,7 +132,7 @@ func (this *handler) ServeDNS(w dns.ResponseWriter, r *dns.Msg) { func main() { fmt.Println("[+] Hello from DNSLogger") fmt.Println("[+] Starting...") - loadConfig() + LoadConfig() var err error db, err = sql.Open("sqlite3", config.DbPath) checkErr(err) @@ -141,8 +145,8 @@ func main() { check() go httpServer() fmt.Println("[+] Server Started!") - - srv := &dns.Server{Addr: ":" + strconv.Itoa(53), Net: "udp"} + listenAddr := fmt.Sprintf(":%s", strconv.Itoa(53)) + srv := &dns.Server{Addr: listenAddr, Net: "udp"} srv.Handler = &handler{} if err := srv.ListenAndServe(); err != nil { log.Fatalf("Failed to set udp listener %s\n", err.Error()) @@ -163,7 +167,6 @@ func check() { checkErr(err) fmt.Println("[*] 数据库初始化完毕") } - fmt.Println("[*] 数据库检查完毕") } @@ -217,5 +220,7 @@ func httpServer() { "msg": "Wrong 🐖", }) }) - _ = r.Run("127.0.0.1:1965") + listenAddr := fmt.Sprintf("127.0.0.1:%d", config.HttpPort) + fmt.Printf("[*] HTTP API: %s\n", listenAddr) + _ = r.Run(listenAddr) } diff --git a/main_test.go b/main_test.go new file mode 100644 index 0000000..5d51560 --- /dev/null +++ b/main_test.go @@ -0,0 +1,42 @@ +package main + +import ( + "fmt" + "github.com/miekg/dns" + "net/http" + "testing" + "time" +) + +func TestMain(m *testing.M) { + go main() + time.Sleep(3) + _ = m.Run() +} + +func TestDNS(t *testing.T) { + t.Run("req", func(t *testing.T) { + ns := "localhost:53" + c := dns.Client{} + m := dns.Msg{} + m.SetQuestion("dnslogger.local.", dns.TypeA) + r, _, err := c.Exchange(&m, ns) + checkErr(err) + for _, ans := range r.Answer { + if ans.(*dns.A).A.String() != config.DefaultIp { + t.Errorf("DNS解析错误.\n") + } + } + }) + ApiBase := fmt.Sprintf("http://localhost:%d", config.HttpPort) + t.Run("queryLatest", func(t *testing.T) { + reqest, err := http.NewRequest("GET", fmt.Sprintf("%s/api/latest", ApiBase), nil) + if err != nil { + panic(err) + } + response, _ := (&http.Client{}).Do(reqest) + if response.StatusCode != 200 { + t.Errorf("API status code异常. %d\n", response.StatusCode) + } + }) +} diff --git a/tests/main_test.go b/tests/main_test.go deleted file mode 100644 index ca8701d..0000000 --- a/tests/main_test.go +++ /dev/null @@ -1 +0,0 @@ -package tests From 1465937d7f0c0b56a7afbb6ab82851bf43a0f442 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Tue, 15 Mar 2022 19:22:03 +0800 Subject: [PATCH 11/21] change to ipv4. --- main_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main_test.go b/main_test.go index 5d51560..3de5b80 100644 --- a/main_test.go +++ b/main_test.go @@ -28,7 +28,7 @@ func TestDNS(t *testing.T) { } } }) - ApiBase := fmt.Sprintf("http://localhost:%d", config.HttpPort) + ApiBase := fmt.Sprintf("http://127.0.0.1:%d", config.HttpPort) t.Run("queryLatest", func(t *testing.T) { reqest, err := http.NewRequest("GET", fmt.Sprintf("%s/api/latest", ApiBase), nil) if err != nil { From d287c6735ba03662143157b9a973071ed06d88d7 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Tue, 15 Mar 2022 19:24:01 +0800 Subject: [PATCH 12/21] change to ipv4. --- main_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main_test.go b/main_test.go index 3de5b80..de00bfb 100644 --- a/main_test.go +++ b/main_test.go @@ -16,7 +16,7 @@ func TestMain(m *testing.M) { func TestDNS(t *testing.T) { t.Run("req", func(t *testing.T) { - ns := "localhost:53" + ns := "127.0.0.1:53" c := dns.Client{} m := dns.Msg{} m.SetQuestion("dnslogger.local.", dns.TypeA) From 975429341328eeed881638147161574980ff6822 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Tue, 15 Mar 2022 19:35:51 +0800 Subject: [PATCH 13/21] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index b9ba181..2b545ac 100644 --- a/main.go +++ b/main.go @@ -162,9 +162,12 @@ func check() { }(exec) if !exec.Next() { fmt.Println("[*] 数据库初始化中") - initSql := "create table dnslog_dg_tmp\n(\n id integer\n constraint dnslog_pk\n primary key autoincrement,\n domain text,\n type text,\n resp text,\n src text,\n created_at text\n);\n\ninsert into dnslog_dg_tmp(id, domain, type, resp, src, created_at)\nselect id, domain, type, resp, src, created_at\nfrom dnslog;\n\ndrop table dnslog;\n\nalter table dnslog_dg_tmp\n rename to dnslog;\n\ncreate index dnslog_domain_index\n on dnslog (domain);\n\n" + initSql := "create table dnslog(id integer constraint dnslog_pk primary key autoincrement, domain text, type text, resp text, src text, created_at text);" _, err := db.Exec(initSql) checkErr(err) + initSql = "create index dnslog_domain_index on dnslog (domain);" + _, err = db.Exec(initSql) + checkErr(err) fmt.Println("[*] 数据库初始化完毕") } fmt.Println("[*] 数据库检查完毕") From 29acd286b712caac11223582744697147dcbad07 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Tue, 15 Mar 2022 19:41:40 +0800 Subject: [PATCH 14/21] =?UTF-8?q?=E5=A5=87=E6=80=AA=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 2 +- main_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 2b545ac..d5b29d6 100644 --- a/main.go +++ b/main.go @@ -145,7 +145,7 @@ func main() { check() go httpServer() fmt.Println("[+] Server Started!") - listenAddr := fmt.Sprintf(":%s", strconv.Itoa(53)) + listenAddr := fmt.Sprintf("0.0.0.0:%s", strconv.Itoa(53)) srv := &dns.Server{Addr: listenAddr, Net: "udp"} srv.Handler = &handler{} if err := srv.ListenAndServe(); err != nil { diff --git a/main_test.go b/main_test.go index de00bfb..3de5b80 100644 --- a/main_test.go +++ b/main_test.go @@ -16,7 +16,7 @@ func TestMain(m *testing.M) { func TestDNS(t *testing.T) { t.Run("req", func(t *testing.T) { - ns := "127.0.0.1:53" + ns := "localhost:53" c := dns.Client{} m := dns.Msg{} m.SetQuestion("dnslogger.local.", dns.TypeA) From fffe2525a7f08512c8ef942cd56542e21c07d129 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Tue, 15 Mar 2022 23:02:34 +0800 Subject: [PATCH 15/21] fix --- main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.go b/main.go index d5b29d6..2b545ac 100644 --- a/main.go +++ b/main.go @@ -145,7 +145,7 @@ func main() { check() go httpServer() fmt.Println("[+] Server Started!") - listenAddr := fmt.Sprintf("0.0.0.0:%s", strconv.Itoa(53)) + listenAddr := fmt.Sprintf(":%s", strconv.Itoa(53)) srv := &dns.Server{Addr: listenAddr, Net: "udp"} srv.Handler = &handler{} if err := srv.ListenAndServe(); err != nil { From 471be4d2a04fce04054b7ef68f29399d551ee46f Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Wed, 16 Mar 2022 15:18:19 +0800 Subject: [PATCH 16/21] update readme --- README.md | 51 +++++++++++++++++++++++++++++++++------------- config.default.ini | 3 ++- 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 1622b82..0d3a505 100644 --- a/README.md +++ b/README.md @@ -4,22 +4,25 @@ ![Running](./images/running.jpg) -### 说明 +### 编译 & 运行 -UDP 53 DNS - -TCP 1965 API - -API: +``` +export GOPROXY=https://proxy.golang.com.cn,direct # 可选 +go build +./dnslogger +因采用了go-sqlite3组件,涉及到CGO,编译有问题请参考 https://github.com/mattn/go-sqlite3 ``` -查看最新5条记录 -GET /api/latest -根据域名查询 -POST /api/validate +### 配置 -{"domain":"dnslogger.local"} +``` +准备一个域名,假设为dnslogger.local +准备一个公网服务器,IP假设为1.1.1.1 +采用*.log.dnslogger.local为DNSLog域名 +第一步,添加NS记录 log -> ns.dnslogger.local. +第二步,添加A记录 ns -> 1.1.1.1 +第三步,运行dnslogger ``` ### 测试 @@ -35,13 +38,33 @@ curl http://localhost:1965/api/latest -v curl http://localhost:1965/api/validate -d '{"domain":"dnslogger.local"}' -v ``` -### 编译 +### 说明 & API + +UDP 53 DNS + +TCP 1965 API + +API: ``` -go build +查看最新5条记录 +GET /api/latest + +根据域名查询 +POST /api/validate + +{"domain":"dnslogger.local"} ``` -因采用了go-sqlite3组件,涉及到CGO,编译有问题请参考 https://github.com/mattn/go-sqlite3 +### 常见问题 + +``` +1. Ubuntu UDP 53端口被占用 +需要禁用系统自带的DNS解析服务 +systemctl stop systemd-resolved.service +systemctl disable systemd-resolved.service +echo "nameserver 223.5.5.5" > /etc/resolv.conf +``` ### 在Docker中运行 diff --git a/config.default.ini b/config.default.ini index 1b976c9..3168bba 100644 --- a/config.default.ini +++ b/config.default.ini @@ -1,4 +1,5 @@ [config] db_file = dnslog.db default_ip = 127.0.0.1 -http_port = 1965 \ No newline at end of file +http_port = 1965 +domain = log.dnslogger.local \ No newline at end of file From a840e42e0cbe4c269ef62d233db60e423831d5fd Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Wed, 16 Mar 2022 15:21:12 +0800 Subject: [PATCH 17/21] change http listen interface --- main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.go b/main.go index 2b545ac..c2b3372 100644 --- a/main.go +++ b/main.go @@ -223,7 +223,7 @@ func httpServer() { "msg": "Wrong 🐖", }) }) - listenAddr := fmt.Sprintf("127.0.0.1:%d", config.HttpPort) + listenAddr := fmt.Sprintf("0.0.0.0:%d", config.HttpPort) fmt.Printf("[*] HTTP API: %s\n", listenAddr) _ = r.Run(listenAddr) } From 98c982192d64d073a4df2bd3fcb138bd2d2fb351 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Wed, 16 Mar 2022 16:37:11 +0800 Subject: [PATCH 18/21] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dtest=20sleep=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main_test.go b/main_test.go index 3de5b80..cdc5118 100644 --- a/main_test.go +++ b/main_test.go @@ -10,7 +10,7 @@ import ( func TestMain(m *testing.M) { go main() - time.Sleep(3) + time.Sleep(3 * time.Second) _ = m.Run() } From 34022f6fbf56fc0b931712693aeeae06c85afe4a Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Wed, 16 Mar 2022 19:27:26 +0800 Subject: [PATCH 19/21] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.default.ini | 5 +++-- main.go | 25 ++++++++++++------------- main_test.go | 4 ++-- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/config.default.ini b/config.default.ini index 3168bba..af311ab 100644 --- a/config.default.ini +++ b/config.default.ini @@ -1,5 +1,6 @@ [config] db_file = dnslog.db -default_ip = 127.0.0.1 -http_port = 1965 +return_ip = 127.0.0.1 +listen_dns = 0.0.0.0:53 +listen_http = 0.0.0.0:1965 domain = log.dnslogger.local \ No newline at end of file diff --git a/main.go b/main.go index c2b3372..a9722f5 100644 --- a/main.go +++ b/main.go @@ -12,7 +12,6 @@ import ( "net" "net/http" "os" - "strconv" "time" ) @@ -30,9 +29,10 @@ type DNS struct { } type Config struct { - DefaultIp string - DbPath string - HttpPort uint16 + ReturnIP string + DbPath string + ListenHttp string + ListenDNS string } type Query struct { @@ -87,12 +87,11 @@ func getConfig(str string) string { func LoadConfig() { fmt.Println("[*] 加载配置文件...") - config.DefaultIp = getConfig("default_ip") + config.ReturnIP = getConfig("return_ip") config.DbPath = getConfig("db_file") - port, err := strconv.ParseInt(getConfig("http_port"), 10, 16) - checkErr(err) - config.HttpPort = uint16(port) - fmt.Printf("[*] HTTP API端口: %d\n", port) + config.ListenHttp = getConfig("listen_http") + config.ListenDNS = getConfig("listen_dns") + fmt.Printf("[*] HTTP API: %s\n", config.ListenHttp) fmt.Println("[*] 配置文件加载完毕") } @@ -116,7 +115,7 @@ func (this *handler) ServeDNS(w dns.ResponseWriter, r *dns.Msg) { var record DNS record.Domain = domain record.Type = "A" - record.Resp = config.DefaultIp + record.Resp = config.ReturnIP record.Src = w.RemoteAddr().String() record.Created = time.Now().Local() _ = saveDatabase(record) @@ -145,8 +144,8 @@ func main() { check() go httpServer() fmt.Println("[+] Server Started!") - listenAddr := fmt.Sprintf(":%s", strconv.Itoa(53)) - srv := &dns.Server{Addr: listenAddr, Net: "udp"} + fmt.Printf("[+] DNS Interface: %s\n", config.ListenDNS) + srv := &dns.Server{Addr: config.ListenDNS, Net: "udp"} srv.Handler = &handler{} if err := srv.ListenAndServe(); err != nil { log.Fatalf("Failed to set udp listener %s\n", err.Error()) @@ -223,7 +222,7 @@ func httpServer() { "msg": "Wrong 🐖", }) }) - listenAddr := fmt.Sprintf("0.0.0.0:%d", config.HttpPort) + listenAddr := fmt.Sprintf(config.ListenHttp) fmt.Printf("[*] HTTP API: %s\n", listenAddr) _ = r.Run(listenAddr) } diff --git a/main_test.go b/main_test.go index cdc5118..a4c37d6 100644 --- a/main_test.go +++ b/main_test.go @@ -23,12 +23,12 @@ func TestDNS(t *testing.T) { r, _, err := c.Exchange(&m, ns) checkErr(err) for _, ans := range r.Answer { - if ans.(*dns.A).A.String() != config.DefaultIp { + if ans.(*dns.A).A.String() != config.ReturnIP { t.Errorf("DNS解析错误.\n") } } }) - ApiBase := fmt.Sprintf("http://127.0.0.1:%d", config.HttpPort) + ApiBase := fmt.Sprintf("http://%s", config.ListenHttp) t.Run("queryLatest", func(t *testing.T) { reqest, err := http.NewRequest("GET", fmt.Sprintf("%s/api/latest", ApiBase), nil) if err != nil { From 8fb38254c3f077b1b5f56e683a8d2ef7f42d8aa6 Mon Sep 17 00:00:00 2001 From: Dem0ns Date: Wed, 16 Mar 2022 19:34:25 +0800 Subject: [PATCH 20/21] =?UTF-8?q?readme=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 0d3a505..7134030 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,10 @@ POST /api/validate systemctl stop systemd-resolved.service systemctl disable systemd-resolved.service echo "nameserver 223.5.5.5" > /etc/resolv.conf + +2. UDP53端口权限问题 +一般来说,在Linux系统中,监听UDP53端口需要root权限, +如果担心安全问题,可以在Docker中运行或者使用端口转发。 ``` ### 在Docker中运行 From b9483edd7eda1c14cfeae692055a14f6f8680677 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Mar 2023 00:16:35 +0000 Subject: [PATCH 21/21] Bump golang.org/x/crypto from 0.0.0-20200622213623-75b288015ac9 to 0.1.0 Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.0.0-20200622213623-75b288015ac9 to 0.1.0. - [Release notes](https://github.com/golang/crypto/releases) - [Commits](https://github.com/golang/crypto/commits/v0.1.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 26 +++++++++++++++++++++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 2ae9500..7cb6f99 100644 --- a/go.mod +++ b/go.mod @@ -21,10 +21,10 @@ require ( github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 // indirect github.com/ugorji/go/codec v1.1.7 // indirect - golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 // indirect + golang.org/x/crypto v0.1.0 // indirect golang.org/x/mod v0.4.2 // indirect - golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985 // indirect - golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect + golang.org/x/net v0.1.0 // indirect + golang.org/x/sys v0.1.0 // indirect golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect gopkg.in/yaml.v2 v2.2.8 // indirect diff --git a/go.sum b/go.sum index 8a91526..34556bd 100644 --- a/go.sum +++ b/go.sum @@ -41,20 +41,30 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985 h1:4CSI6oo7cOjJKajidEljs9h+uP0rRZBPPPhcCbj5mw8= golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -62,17 +72,27 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2 h1:BonxutuHCTL0rBDnZlKjpGIQFTjyUVTexFOdWkB6Fg0= golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=