| C | C++ | Kotlin | Javascript | SQLite3 | HTML5 | CSS | SCSS | PHP |
|---|---|---|---|---|---|---|---|---|
| popen_wdt lib | main C++ code | Android socket client app | Webpage | Database support | Webpage | Webpage | Webpage | Webpage |
- Abseil C++ common library - Used for logging - Link
- C++ HTTP library - Used for website server support - Link
- dlfcn Win32 support - Used for runtime loader for commands - Link
- GTest - Test framework for C++ codes - Link
- Git library 2 - Used for retrieving git root, etc - Link
- SQLite3 - Used for one database backend, for whitelist, blacklist saving support
- Protobuf - Used for another database backend - Link
- TgBot-cpp - Core library for being a Telegram bot - Link
- CppTrace - C++ Backtrace Library - Link
- Sol2 - C++ and Lua integration - Link
- There is no goal - I will just add stuff whichever I could and learn those while writing code for it
- See TODO file, though its not really updated
- TGBOTCPP_BUILD_TESTS: Build the test suite (default: OFF)
- TGBOTCPP_RUST_MODULES: Enable and build command modules written with Rust language (default: OFF)
- TGBOTCPP_LUA_MODULES: Enable support for command module written with Lua language (default: ON)
- TGBOTCPP_ENABLE_LOCAL_LLM: Enable support for local LLM framework (Requires compatible hardware, e.g. NVIDIA GPU) (default: OFF)
- Token: Telegram bot token
- LogFile: Log file path
- DatabaseCfg: Database configuration. Format: "type:filename", where type is one of "sqlite" or "protobuf", and filename is the database file path.
- GitHubToken: Github token (Used for private repo access).
- OptionalComponents: Enable optional components. Comma-separated list of components to enable. Supported components: "webserver", "datacollector".
- BuildBuddyApiKey: BuildBuddy API key for Android RBE.
- LLMConfig: LLM configuration. (local/localnet),(filepath/urlendpoint)(,authkey)
- PrimaryUrl: Primary socket url that is binded to. e.g. 192.168.0.X:239 or unix://path/to/file
- SecondaryUrl: Secondary socket url.
- LoggingUrl: Logging service socket url.
- ROMBuild: Path to use for ROMBuild module
- KernelBuild: Path to use for KernelBuild module