Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/crazyoptimist/screen-capturer-go
Screen capturer client-server application
https://github.com/crazyoptimist/screen-capturer-go
employee-monitoring mdns screencapture
Last synced: 22 days ago
JSON representation
Screen capturer client-server application
- Host: GitHub
- URL: https://github.com/crazyoptimist/screen-capturer-go
- Owner: crazyoptimist
- Created: 2024-07-30T18:46:59.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-10-03T18:36:52.000Z (3 months ago)
- Last Synced: 2024-10-25T03:19:40.328Z (2 months ago)
- Topics: employee-monitoring, mdns, screencapture
- Language: Go
- Homepage:
- Size: 155 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Screen Capturer
This is a client-server application designed for monitoring computer screens on a local area network (LAN).
### Technical Outline
**Client:**
A client is the computer that monitors registered computers on a LAN.
- Server Registration: The administrator manually registers servers on the client by providing a unique name for each server.
- MDNS Discovery: The client uses Multicast DNS (MDNS) to discover the local IP address of registered servers. IP address scan is performed at a hard-coded frequency (for example, once per minute, for now).
- Screenshot Requests: The client periodically requests screenshots from all registered servers at a configurable frequency.
- Screenshot Storage: Received screenshots are stored in named subdirectories (corresponding to the server names) within a specified directory on the client.**Server:**
A server is the computer that is being monitored.
- Registration: The server application will be given a registered name by the administrator.
- Screenshot Capture: The server captures its current screen (including multiple extended screens) using screen APIs or graphics drivers. The captured image is saved as a [file format, e.g., JPEG or PNG] file.
- HTTP Serving: The server serves the captured screenshot file via HTTP when requested by the client.**Additional Notes:**
* The client uses a SQLite database to store persistent information about registered servers.
* The client and server communicate using the HTTP protocol over the network.### Development
### TODO (Documentation)
- Development Guide
- Build Guide
- Cross-Platform Installation Guide### Author
[crazyoptimist](https://crazyoptimist.net)