All notable changes to this project will be documented in this file,
webexec adheres to Semantic Versioning.
his file's format is define in Keep a Changelog and the release workflow reads it to set github's release notes.
webexec status
now shows the correct ICE candidate pairs
- the status command shows the chosen ICE candidate pairs for connected peers
- WEBEXEC environment variable to hold the unix socket path
- installer messages improved
- paste subcommand to print the client's clipboard to standard output
- copy subcommand to copy standard input to the client's clipboard
- an ack value in the
timeouts
section of the configuration file
- not aboring connection attempts when ice gathering timeouts
- no exception for localhost - no unrecognized client allowed
$ go install github.com/tuzig/webexec@latest
go: downloading github.com/tuzig/webexec v1.3.0
go: github.com/tuzig/webexec@latest (in github.com/tuzig/[email protected]):
The go.mod file for the module providing named packages contains one or
more replace directives. It must not contain directives that would cause
it to be interpreted differently than if it were the main module.
- No more zombie processes
- WHIP support
- terminal restore is now in full color
- after install, the agent was exiting with an error
- first marker restore
- broadcasting layout changes to all connected peers
- rename admin command to rename a peer
- welcome message newlines
- restore buffer now sends the buffer only to the requesting peer
- upgrading using the installer
- New lines in welcome message
- The upgrade subcommand
- Welcome message on connect
- Message when a new version is available
- A uri that returns the latest version in https://version.webexec.sh/latest
- The install script
- Use the standard "Authorization" header for "Bearer "
- Supporting PeerBook 1.3
- Ice servers list is now passed using a getter function
- Auth backend IsAuthorized method is now using ellipses
- split to two subpackages: httpserver & peers
- Restored peerbook support. Now in beta, peerbook service includes behind-the-NAT connection and 2FA protected address book and a websocket signaling server.
- READY is sent only when agent is ready
- A race condition on with
webexec accept
on a LAN
- Restore default ICE server configuration as EC2s don't know their address
- Simplifyied the installer and make it work for Mac & Linux
- Notarization of Mac binaries
- accept command emits a line with "READY" when it's ready to accept offers and candidates
- accept command exits on 0 length candidate
- updted the install script which was stuck on 0.17.6
- the accept command for SSH based signaling
- a docker compose based automated testing infrastructure
- an automated acceptance test procedure for
webexec accept
- pid file is at ~/.local/run/webexec.pid
- socket file is at ~/.local/run/webexec.sock
- log file is called
webexec.log
- run files are stored in ~/.local/run and ~/.local/log
- installer messages are much improved on a mac
- run files such as .pid and .sock are in /var/run/webexec.
- Peerbook connection is much stabler
- a silly bug in installation script
- a silly bug in the changelog
- The accept command, enabling using SSH for signaling
- moving
authorized_tokens
file toauthorized_fingerprints
- Try to connect even no turn servers are available
- Handling of PeerBook disconnection
- MacOS one line installer
- Client can send "*" in the shell to use user's default shell
- Installer on WSL2
- Extending support of old/minimized linux distribuitions
- Restored github release changelog
- SystemD template and rendering
- Increasing PeerBook connection handshake timeout
- Added missing files
- Using TURN server from PeerBook
- the tests
- linux installer
- linux boot script was fixed and refactored to systemd
- the init command
- MacOS one line install - with service
- MacOS one line install - still no service
- the release workflow
- one line installer
- init scripts for linux & mac
- letting the client start a pane in the directory of a "parent" pane
- creating config only on start and improving messaging
- installation script
- one-line-installer
- init.d script
- updated dependencies based on the workflow's recommendation
- no more init command; files are created on first run
- add_pane and reconnect_pane commands
- free pass for localhost - no need to add their key
- crash on on closing an already closed peerbook connection
- new pane flow was streamlined to fix [re]connection failures
- a send thread was added and data is no longer lost on high load (TODO: add a high load test)
- generate aythors script no returns 0 on success
- change log entries (TODO: to add a local .git/hooks to test this)
- a typo that failed the release action
- github action to generate authors (based on work done for pion/.goassets)
- disconnecting peer on authorization removal
- passing candidates regardless of signalling state (which is unreliable)
- Fixing Dup2 conmpatability
- upgrading github action's go to 1.16
- agent.err should work better and capture panix on darwin as well
- init command now insists on starting with a fresh conf folder
- improved peerbook support
- default log level is info for now
- A changlelog entry
- (probably) binary failed to run on darwin
- supporting latest peerbook protocol i.e, adding "peer_upadte" hanfling
- Improved connection speed (~200ms quicker)
- Better logs
- improved error handling of peerbook's errors
- improved websoucket buffer's and timeout
- the previous version translatted "forever" as twice
- forever trying to reconnect to peerbook
- removing a hidden loop that could cause webexec to hang
- a re-entrancy crash eas fixed using a mutex
- updated the changelog
- improving tar ball names
- updated the changelog
- updated the changelog and the README
webexec init
to initialize configuration- support for behind-the-nat hosts through a ginaling server - peerbook
- webexec.conf support for
[env]
section for env vars to set in shells. - webexec.conf support for
net.upd_port_min
andnet.udp_port_max
- settings file documentation
- Certificates are now consistent
- Improved security docs
- Release action
- Building darwin
- Building linux_arm64
- redirect err to an error file
- Added pion logging configuration
- exit when port is busy
- pion's logging goes tot he same file as webexec log
- use webrtc's certificate to authenticate
- renamed cong 'stun_urls' to 'ice_servers' and added it to default conf
- "api_version" in auth message. current is version is 2
- "release" workflow should be working now
- "release" workflow should be working now
- "release" workflow should really work now
- "release" workflow should work now
- extended the conf file to include timeouts, stun server, etc.
- upgraded pion/webrtc to v3
- improved stability by introducting the client database
- Automated release should be working now
- Auto releasing with wide os & architecture support
- reentrancy on dcs db causing a crash
- removed the
init
subcommand, home dir is created if missing
- Security doc
- Installation instructions
- Producing binaries on release
- Replacing C terminal emulation with vt10x - a go project
- crash on very active, app switching clients
- daylight hours are now increasesing
- Continous integration for generating binaries
- Pane buffer to store output
- Orderly shutdown and marker based restore
- improving simple trminal reentrancy locks
- rotating logs
- a Makefile!
- When a peer connection fails, close it and foggatabouit
- Solving the multi-output bug #33 by refactoring the panes and dcs management
- Improved log messages
- Immidiatly closing a reconnect to a non-running pane
- Fixing github actions
- Removing silly linter
- Linter based code beutification
- Screen buffer & cursor position restore. Monchrome & plain for now
- An agent that runs in the backgroung and managed by sub commands
- Sub commands - help, auth, start, stop, status, restart, init
- Added sub command placeholders - copy, paste
- Zap logger
- API documentation
- Support for client payload
- Tests
- Replaced "/etc/passwd" based auth with a single token: "THEoneANDonlyTOKEN"
- Source tree is now flat but for a pidfile package we copied
- Control message schema has changed. It now has the "type" and "args" keys
- Improved HTTP server error handling
- Removing panics
- resize message
- Improved reconnect support
- Authentication is based on secret which can be either a password or a hash
- commands now run under the authenticated user
- starting shell only once
- adding a
body
field to the Ack message and using it return a token on auth
- Authentication: A control message lets linux clients authenticate.