Documentation
¶
Overview ¶
Package headless_browser provides a simple headless browser library powered by go-rod with built-in stealth mode support.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Browser ¶
type Browser struct {
// contains filtered or unexported fields
}
Browser represents a headless browser instance with an underlying rod.Browser and launcher.
type Config ¶
type Config struct {
Headless bool // Whether to run browser in headless mode
UserAgent string // Custom user agent string
Cookies string // JSON string of cookies to set
ChromeBinPath string // Custom Chrome/Chromium executable path
Proxy string // Proxy server URL (e.g. "http://host:port", "socks5://host:port")
Trace bool // Whether to enable tracing (not implemented yet)
}
Config holds the configuration options for the browser.
type Option ¶
type Option func(*Config)
Option is a functional option for configuring the browser.
func WithChromeBinPath ¶ added in v0.1.0
WithChromeBinPath sets a custom Chrome/Chromium executable path. If not set or empty, launcher will auto-detect or download a browser. Common paths:
- macOS: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
- Linux: "/usr/bin/google-chrome" or "/usr/bin/chromium"
- Windows: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
func WithCookies ¶
WithCookies sets cookies for the browser from a JSON string. The cookies should be in the format expected by proto.NetworkCookie.
func WithHeadless ¶
WithHeadless sets whether the browser should run in headless mode.
func WithProxy ¶ added in v0.3.0
WithProxy sets a proxy server for all browser requests. Supports HTTP, HTTPS, and SOCKS5 proxies. Example: "http://proxy.example.com:8080", "socks5://127.0.0.1:1080"
Note: Chrome's --proxy-server flag does not support embedded credentials (e.g. "http://user:pass@host:port"). For authenticated proxies, handle authentication separately at the page level.
func WithUserAgent ¶
WithUserAgent sets a custom user agent string for the browser.