You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
webexec is a terminal server running over WebRTC with support for
signaling over SSH or HTTP.
Webexec listens for connection requests, executes commands over pseudo ttys
and pipes their I/O over WebRTC data channels.
webexec is currently single session - each client that authenticates has
access to the same payload.
In the case of Terminal7,
our first client, it contains the layout of the panes.
webexec exposes TCP port 7777 by default, to support signalling.
There's a single endpoint /connect: The client exchanges tokens with the
server and then initiates a WebRTC connection.
Install
This repo inscludes a one-line installer for installing on Mac & Linux.
To use to install the latest version it run
bash -c "$(curl -sL https://get.webexec.sh)".
From Source
$ go install ./...
Ports Used
webexec has a signlaing server that listen for connection request on
ports 7777. By default it listens only for localhost. To
open webexec to the world set the http_server under [net] in the config file
to 0.0.0.0:7777.
Once communication is established, WebRTC uses UDP ports with
a default range of 60000-61000.
If you prefer another range you can set the udp_port_min and udp_port_max
in the [net] section of the conf file and webexec restart.
When running on cloud providers you'll need to set the firewall rules
to allow traffic from any address to tcp port 7777 and UDP range 60000-61000
(same as mosh).
Contributing
We welcome bug reports, ideas for new features and pull requests.
If you are new to open source, DON'T PANIC. Just follow these simple
steps:
Create your feature branch git checkout -b my-new-feature
Write tests for your new feature. We have both unit tests and integration
tests under aatp. use go test -v to run unit tests and ./aatp/test
to test integration
Commit the failed tests git commit -am 'Testing ... '
Write the code that psses the tests and commit
Push to the branch git push --set-upstream origin my-new-feature
Create a new Pull Request
About
WebRTC server for executing command over pseudo tty and piping it’s stdin & out over data channels