txthinking/brook · error
<combined output of child connect process>
Error message
<combined output of child connect process>
What it means
In the socks5 subcommand, brook spawns itself as a child 'connect' process and this error carries the child's entire combined stdout/stderr output. It means the underlying connect process exited or failed; the message text is whatever the child printed (e.g. link parse errors, dial failures), not a specific brook failure itself.
Source
Thrown at cli/brook/main.go:2615
return nil
}
if c.String("link") == "" {
return cli.ShowSubcommandHelp(c)
}
socks5.Debug = true
fmt.Println("Run brook connect to listen", c.String("socks5"))
var cmd *exec.Cmd
var err error
go func() {
var s string
s, err = os.Executable()
if err != nil {
return
}
// TODO append global dial options
cmd = exec.Command(s, "connect", "--link", c.String("link"), "--socks5", c.String("socks5"))
b, _ := cmd.CombinedOutput()
err = errors.New(string(b))
}()
time.Sleep(3 * time.Second)
if err != nil {
return err
}
err1 := brook.Socks5Test(c.String("socks5"), "", "", c.String("domain"), c.String("a"), c.String("dns"))
_ = cmd.Process.Signal(syscall.SIGTERM)
return err1
},
},
&cli.Command{
Name: "echoserver",
Usage: "Echo server, echo UDP and TCP address of routes",
BashComplete: func(c *cli.Context) {
l := c.Command.VisibleFlags()
for _, v := range l {
fmt.Println("--" + v.Names()[0])
}View on GitHub (pinned to 5cd13ef3b1)
Solutions
- Read the embedded output to identify the child connect error
- Verify the --link value is correct and the server is reachable
- Run the connect subcommand directly with the same link to see the live error
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cli/brook/main.go:2615 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of txthinking/brook@5cd13ef3b1 (2026-09-06).
Data as JSON: /api/errors/f78fbb580027a939.
Report an issue: GitHub.