daniel156161
b87f536ecd
chore: bump version to 0.9.1
...
Testing / test (push) Failing after 11m6s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-02 19:56:39 +02:00
daniel156161
4b2abbbfc5
feat: Ed25519 challenge-response auth + YubiKey/SSH agent support (v0.9.0)
...
Testing / test (push) Successful in 26s
Package Extension / package-extension (push) Successful in 22s
Build & Publish Package / publish (push) Successful in 27s
Security:
- serve.py: server now sends nonce challenge before accepting any command;
clients sign nonce + SHA256(canonical_payload) with Ed25519 key
- New --authorized-keys FILE option for serve; token auth still works as fallback
- Connection limit: BoundedSemaphore(64) in serve.py
- Secure file creation with os.open(..., 0o600) for token/key files
- New auth.py module: keygen, file key load/save, SSH agent protocol (pure Python),
sign/verify helpers compatible with both file keys and agent-held keys (YubiKey,
TPM, gpg-agent)
Features:
- YubiKey support via SSH agent protocol — no new runtime deps, just $SSH_AUTH_SOCK
- New `browser-cli auth` command group: keygen, trust, show, keys
- Global --key PATH flag (or BROWSER_CLI_KEY env) selects signing key;
pass "agent" or "agent:<selector>" to use SSH agent key
- BrowserCLI Python API gains key= parameter
Bug fixes (11 issues across two review passes):
- client.py: check response is not None before json.loads
- native_host.py: _read_exact_stream loop handles EINTR short reads; fix Windows
Listener leak on accept error
- __init__.py: open_wait / tabs_watch_url raise RuntimeError instead of silent None
- extension/tabs.ts: dedupe skips tabs without URL; tabsSort uses pendingUrl fallback
- extension/session.ts: removeListener before addListener prevents duplicate handlers
Breaking: TCP serve protocol now sends a challenge frame first (v0.9.0)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-02 16:20:39 +02:00
daniel156161
9f03e29807
chore: bump version to 0.8.7
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-02 15:05:51 +02:00
daniel156161
753e4c4449
update version to 0.8.6 and update requirements
Testing / test (push) Successful in 23s
Package Extension / package-extension (push) Successful in 21s
Build & Publish Package / publish (push) Successful in 22s
2026-05-02 12:44:54 +02:00
daniel156161
edafd349df
use full terminal columns for completion test and add native host app as a single script wraper for native host app import
2026-05-02 01:14:28 +02:00
daniel156161
9435dcc716
target first remote browser when not giving it with a alias and update version to 0.8.4
Testing / test (push) Successful in 34s
Package Extension / package-extension (push) Successful in 1m0s
Build & Publish Package / publish (push) Successful in 37s
2026-05-01 20:14:40 +02:00
daniel156161
bd37c68e80
fix bug that getAliases got not found and update version to 0.8.3
Testing / test (push) Successful in 26s
2026-05-01 20:04:34 +02:00
daniel156161
1b0e090466
update version to 0.8.2
Testing / test (push) Failing after 12m47s
2026-05-01 19:30:29 +02:00
daniel156161
2f982fa714
fix remote clients command
Testing / test (push) Successful in 25s
Package Extension / package-extension (push) Successful in 9s
Build & Publish Package / publish (push) Successful in 21s
2026-04-30 13:49:32 +02:00
daniel156161
6785b9f70c
feat(serve): add remote browser control over TCP with token auth
...
Build & Publish Package / publish (push) Successful in 50s
Testing / test (push) Successful in 31s
Package Extension / package-extension (push) Successful in 27s
Exposes a local browser over a TCP socket so remote machines can
control it using the same CLI and Python API. Token auth (auto-generated
via secrets.token_urlsafe) is on by default; --no-auth disables it.
Profile routing via _route message field lets clients target specific
browser instances on the remote host. BROWSER_CLI_PROFILE is forwarded
automatically so --browser flag works transparently over remote.
- browser-cli serve [--host] [--port] [--token] [--no-auth]
- browser-cli --remote HOST:PORT --token TOKEN <command>
- BrowserCLI(remote="host:port", token="...").tabs_list()
2026-04-25 18:33:59 +02:00
daniel156161
cf0c9555d0
update version to 0.7.1
Testing / test (push) Successful in 28s
Package Extension / package-extension (push) Successful in 13s
Build & Publish Package / publish (push) Successful in 31s
2026-04-17 21:08:18 +02:00
daniel156161
36abde501c
update version to 0.7.0
Testing / test (push) Successful in 23s
Package Extension / package-extension (push) Successful in 21s
Build & Publish Package / publish (push) Successful in 24s
2026-04-17 20:52:47 +02:00
daniel156161
1c5fd0ffee
feat: add browser automation commands (v0.6.0)
...
Testing / test (push) Successful in 24s
Package Extension / package-extension (push) Successful in 9s
Build & Publish Package / publish (push) Successful in 21s
Navigation: open-wait (open + block until loaded)
DOM: key, hover, check/uncheck, clear, focus, submit, poll, scroll, select, eval, wait-for
Tabs: pin/unpin, screenshot, watch-url (block until URL matches regex)
New command groups: page info, storage get/set, cookies list/get/set
Extension: add cookies permission
2026-04-16 14:21:19 +02:00
daniel156161
fc4ce8f74d
rename Chrome to Browser
Testing / test (push) Successful in 20s
2026-04-16 11:55:09 +02:00
daniel156161
edf9056430
show mute status correctly when tab mute and add to get single tab status
Package Extension / package-extension (push) Successful in 17s
Build & Publish Package / publish (push) Successful in 29s
Testing / test (push) Failing after 26s
2026-04-13 21:35:25 +02:00
daniel156161
c494e76fe2
allow to mute and unmute tabs and get mute status into tab info
Testing / test (push) Failing after 34s
2026-04-13 21:19:27 +02:00
daniel156161
5150933319
change that tab open change url inplace and get active tab from window id
Testing / test (push) Successful in 29s
Package Extension / package-extension (push) Successful in 11s
Build & Publish Package / publish (push) Successful in 43s
2026-04-13 19:50:46 +02:00
daniel156161
a1038d5817
fix that alias can only exist once and when dublicate give error
Testing / test (push) Successful in 39s
Package Extension / package-extension (push) Successful in 23s
Build & Publish Package / publish (push) Successful in 33s
2026-04-12 17:31:49 +02:00
daniel156161
57c4ccc48a
move rename-profile to clients rename
2026-04-10 13:38:54 +02:00
daniel156161
362b53a384
remove the --profile flag on windows open and add opening a new window with a url
2026-04-10 13:06:53 +02:00
daniel156161
61b774a7a4
add multi browser mode to arragate data from all browsers by tabs list, tabs count, group list, group count and windows list
...
Package Extension / package-extension (push) Successful in 12s
Build & Publish Package / publish (push) Successful in 22s
remove (unnamed) into the group names just leave it a empty string, remove Focused on windows how should the browser know what windows are focused
2026-04-10 12:49:51 +02:00
daniel156161
6979f2ef30
allow to rename the profile without a browser restart and remove old sockets and registry entry when browser closes
Build & Publish Package / publish (push) Successful in 27s
Package Extension / package-extension (push) Failing after 10m17s
2026-04-10 12:02:14 +02:00
daniel156161
c9ecde9338
remove planform and show extension version into client list
2026-04-10 11:34:36 +02:00
daniel156161
f2a7f85ee3
adding new extract command to extract selector or main content as markdown, updateing version as 0.5.0
Package Extension / package-extension (push) Successful in 12s
Build & Publish Package / publish (push) Failing after 21s
2026-04-10 03:44:49 +02:00
daniel156161
f18d2d5536
fix that the cli still used the DEFAULT_SOCKET Const, give better error message when no browser found adding test for client and update cli test, and update version and readme
Package Extension / package-extension (push) Failing after 53s
Build & Publish Package / publish (push) Successful in 39s
2026-04-10 02:14:59 +02:00
daniel156161
36663826cf
update version to 0.4.0
2026-04-09 23:52:38 +02:00
daniel156161
a66bdabb46
update version of browser-cli
Build & Publish Package / publish (push) Successful in 33s
2026-04-09 08:49:48 +02:00
daniel156161
ab4ba97886
add moveing of tabs and groups, multi browser support, auto complite into terminal, extract html and adding testing
2026-04-09 01:41:01 +02:00
daniel156161
0cb2f1cb3f
update package version
2026-04-08 22:20:39 +02:00
daniel156161
178b7bf7a2
init commit
2026-04-08 21:17:59 +02:00