Teamshell documentation
Work is in progress
Sorry, we are working hard to add more docs here. In the meantime you may check out GUI and Node docs in left menu.
Introduction
Teamshell is team-oriented remote shell access management software stack with end-to-end encryption. It allows you to:
- have a cloud syncronized list of connections(services). All team devices have same services (according to access rights)
- connect directly to services using macros(example:
psql -U someuser -h somehost somedatabase
). Minimize time and eliminate errors. - connect and resume connection with all previous session data on any devices. Connection seamlessly works across network interrupts.
- view whole session using player
- view command list log
- invite new team members and delete from workspace
- give access to specific service and for limited time
- get notifications of all shell activity in your team
System components
GUI client
Qt based open source client in tandem with local storage client written in Go. All-in-one solution, use it for:
- signing up
- signing in
- workspace creation
- members invite
- nodes operations(creation/removal)
- configuration of nodes services
- creation of shell sessions and resuming them
- chat with your team in session
- playback of shell sessions
- instant notifications
Node
Open source and written in Go node that executes sessions by launching commands specified in config.
You may have private IPs on remote servers. No public IP is required since node connection is outgoing and it doesn’t open any network ports.
Cloud server
Cloud based server acts as central point connecting nodes and client. It also saves all encrypted session data and makes it available to legitimate requests for playback. We have geo-distributed cluster of servers to provide stable and fail-free connections to your services. No plaintext data gets our server since both client and node encrypt everything prior to sending to server.