Skip to content

feat: add BotBrowser Control desktop app (Electron)#105

Open
tombaki wants to merge 10 commits intobotswin:mainfrom
tombaki:add-botbrowser-control
Open

feat: add BotBrowser Control desktop app (Electron)#105
tombaki wants to merge 10 commits intobotswin:mainfrom
tombaki:add-botbrowser-control

Conversation

@tombaki
Copy link
Copy Markdown

@tombaki tombaki commented Apr 19, 2026

BotBrowser Control — Professional Desktop Profile Manager

This PR adds a new botbrowser-control/ folder containing a full Electron desktop app for managing BotBrowser profiles.

Screenshots

Profiles View
Profiles

Settings
Settings

Profile Editor
Editor

Features

  • GoLogin-style profile manager with dark theme
  • VS Code-style profile editor (7 tabs: General, Network, Identity, Fingerprint, Behavior, Session, Advanced)
  • Card-based settings page
  • Per-profile isolated user data directories
  • Proxy support (HTTP/HTTPS/SOCKS4/SOCKS5)
  • Cookie persistence via CDP on stop/start
  • Live session monitor
  • Cross-platform builds: macOS DMG, Windows NSIS installer, Linux AppImage/DEB
  • GitHub Actions CI for automated releases on tag push

How to run

cd botbrowser-control
npm install
npm start

How to build all platforms

npm run build

BotBrowser Control and others added 10 commits April 19, 2026 01:38
Professional desktop GUI for managing BotBrowser profiles:
- GoLogin-style profile manager with dark theme
- VS Code-style profile editor (7 tabs: General, Network, Identity, Fingerprint, Behavior, Session, Advanced)
- Card-based settings page
- Per-profile user data isolation
- Proxy support (HTTP/HTTPS/SOCKS4/SOCKS5)
- Cookie persistence via CDP
- Live session monitor
- Cross-platform: macOS DMG, Windows NSIS, Linux AppImage/DEB/RPM
- GitHub Actions CI for automated releases
- Kernel Manager: Download/manage BotBrowser kernels from GitHub releases
  - Fetches releases from https://github.com/botswin/BotBrowser/releases
  - Platform-aware asset filtering (.7z/Win, .dmg/Mac, .deb+AppImage/Linux)
  - Download progress bar via IPC kernel:downloadProgress events
  - Install/delete/use kernel as active BotBrowser executable
  - Metadata stored per-version in userData/kernels/

- Check IP: Verify proxy exit IP via ip-api.com
  - Shows IP, country flag emoji, city, ISP, datacenter/proxy detection
  - Inline result bar per profile card in profiles list
  - HTTP CONNECT tunnel through HTTP/HTTPS proxies

- Quick Proxy: Inline proxy change from profile list
  - Popover with proxy server + proxy IP fields
  - Auto-fill detected exit IP from last IP check result
  - No need to open full profile editor

- Auto-detect Android: Auto-apply mobile settings when Android is set
  - Detects platform=Android or Android device model keywords
  - Auto-sets: mobile=true, orientation=portrait, mobileForceTouch=true
  - Auto-sets architecture=arm64, bitness=64 when not specified
…e notifications, kernel auto-install, settings scroll, copy/paste fix, disable devtools

- Fix SOCKS5 proxy IP check: native TCP SOCKS5 handshake (no external deps)
  supports no-auth and username/password auth, raw HTTP GET over tunnel socket
- Fix US flag: was showing wrong flag due to SOCKS5 falling back to direct
- Inline proxy editor: replace popover with in-cell editor, click proxy cell to edit
- normalizeProxy(): auto-prepend socks5:// when no scheme specified
- Auto IP check after proxy save: shows flag emoji + country code + DC badge
- Copy/paste fix: add Edit menu with cut/copy/paste/selectAll roles
- Disable devtools: devTools:false in webPreferences + devtools-opened handler
- Settings scrollbar: wrap settings-form in settings-scroll-wrap with overflow-y:auto
- Kernel manager: preserve installed list on refresh (version-keyed merge map)
- Startup update check: check latest BotBrowser + Control releases via GitHub API
  show dismissible banner when new versions available
- Kernel auto-install:
  macOS .dmg: hdiutil attach, cp to /Applications, xattr quarantine strip, codesign
  Linux .AppImage: chmod +x
  Linux .deb: pkexec dpkg -i
  Windows .zip: PowerShell Expand-Archive
- CSS: new proxy cell styles, inline editor (pie-*), update banner, update pill,
  settings-scroll-wrap, profile-card flex-start for variable height rows
- Bump version to 1.2.0
…trol), fix release tag, fix windows build cmd
…C_IDENTITY_AUTO_DISCOVERY=false shell syntax error
…t, status dot+flag inline, kernel cache persistence, single best asset download

- Fix SOCKS5 'getaddrinfo ENOTFOUND socks5': strip double-scheme in parseProxy
  e.g. socks5://socks5://host:port -> socks5://host:port
- Auto IP check: debounced 900ms check when proxy typed in inline editor (no button)
- Status dot: green/red/yellow dot next to proxy showing connection status
- Flag + country code shown inline in proxy cell after successful check
- Remove manual 'Check IP' button from inline editor (auto-check replaces it)
- Kernel releases cached to electron-store, loaded on startup (no more empty list)
- loadCachedKernelReleases() called in init() - shows releases immediately on open
- Fix double-download: show only 1 best asset per platform/arch (prefer .dmg on mac,
  .exe on win, arch-specific match) - no more showing both .dmg and .zip
- kernel:getCachedReleases IPC handler + preload bridge
- process.arch exposed via preload for arch-aware asset selection
- CSS: proxy-status-dot (ok/error/checking/unchecked), proxy-flag-country, pie-status
…nline proxy editor

- Fix countryCodeToEmoji: correct Unicode offset 0x1F1E0→0x1F1E6 (regional indicator A)
- Fix normalizeProxy: strip duplicate schemes (socks5://socks5://, http://http://, etc.)
- Replace inline proxy editor popup with GoLogin-style direct inline input:
  clicking proxy host text converts it to an <input> in-place, no popup/expanded editor,
  auto-saves on Enter/blur, cancels on Escape, auto-checks IP as you type (debounced 900ms)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant