mirror of
https://github.com/karust/openserp.git
synced 2026-08-05 16:53:54 +08:00
- Add structured `search [engine] [query]` CLI: --limit/--lang/--region/--site/--file, --format (json|text|markdown|ndjson), --extract N, --search-timeout; Envelope and route logs to stderr with a --quiet default (fixes stdout pollution) - Unify engines behind a single engineSpec registry (CLI + serve share it) - Unify the extract knob to bool-or-int `extract=N` (drop extract_top); CLI and HTTP share core batch extraction, raw/rendered fetch, and clamp helpers - Engines: Ecosia CF captcha detection (raw + browser), Yandex progressive-result wait, Google PAA poll + Has() existence probes, Bing title/desc attribute fallbacks - Proxy: rotate challenged proxies out of the tag pool for one retry (X-Proxy-Attempts); browser health-ping skip window; opt-in WaitStable
24 lines
363 B
Go
24 lines
363 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/karust/openserp/cmd"
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
func main() {
|
|
defer recoverPanic()
|
|
|
|
if err := cmd.RootCmd.Execute(); err != nil {
|
|
// Cobra already prints the error to stderr; just set the exit code.
|
|
os.Exit(1)
|
|
}
|
|
}
|
|
|
|
func recoverPanic() {
|
|
if r := recover(); r != nil {
|
|
logrus.Fatalf("Error: %v\n", r)
|
|
}
|
|
}
|