API Clients/Agents/Server for Moody's Infrasturcture, and a place where I learn various programming languages.
Language Ingredients: C++
, CMake
, Golang
, PostgreSQL
, QML
, Rust
, TypeScript
Component | Build Status |
---|---|
API Server | |
Web Panel | |
Qt Client | |
Camera Agent | |
Notifier Agent | |
PiScreen |
- Camera Controlling: Whether to turn on. or turn off a remote camera.
- Notification Handling: Pushing notifications to all clients.
- Dynamic DNS Server.
- Monitoring Screen on RPi: CPU, Memory, systemd serivces, IP Address.
- (WIP) A central management panel for all functionalities.
(TODO) Wireguard Clients Managing: Managing Wireguard clients and setting IPs.Removed due to lack of interests.
- A common Server, implemented in Golang
- A Web Panel managing API clients and Wireguard clients, using Next.js (React)
- Some common assets, including
systemd
services and somesudoers
configurations
- CameraAgent: Camera agent monitoring the camera state and perform start/stop tasks, written in Rust
- Client: A Qt-based client toggling app, for both Desktop and Android platforms
- PiScreen: A C++ SH1106 OLED screen controller to display camera status messages
- Notifier: The notification daemon and sender (WIP), written in Rust.
I don't think anyone would need these code, but just in case, they are licensed under GPLv3
Major Credits:
- @KDAB/android_openssl for prebuilt OpenSSL libraries for Android platforms
- @bitbank2/ss_oled for the SSOLED implementation
- @bitbank2/BitBang_I2C for the actural I2C implementation
- Although I have removed most of their code.
- @miekg/exdns for the great DNS server library