DBDelve
DBDelve는 Rust 기반 빠른 다중 엔진 데이터베이스 클라이언트, 무료 오픈소스, 텔레메트리 없음
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A small C99 tool (tr181ctl) that exposes an embedded Linux device as a
TR-181 (Device:2) data model. It reads /proc and /sys/class/net, answers
ubus-cli-style get/set queries, and prints USP (TR-369)-style GetResp JSON.
Ships with an OpenWrt package Makefile and a Yocto recipe.
Live playground: docs/index.html (enable GitHub Pages on the docs/ folder).
| Object | Access | Source |
|---|---|---|
Device.DeviceInfo. (Manufacturer, ModelName, SoftwareVersion, UpTime, MemoryStatus.Total) | R | uname, /proc/uptime, /proc/meminfo |
Device.Ethernet.Interface.{i}. (Name, Status, MACAddress, MaxMTUSize) | R | /sys/class/net/<if>/ |
Device.Ethernet.Interface.{i}.Stats. (Bytes/Packets/Errors Sent/Received) | R | /sys/class/net/<if>/statistics/ |
Device.ManagementServer. (URL, PeriodicInformEnable, PeriodicInformInterval) | RW | in memory, persisted to $TR181_STATE |
make && make test
./tr181ctl get Device.DeviceInfo. # partial path -> whole object
./tr181ctl get Device.Ethernet.Interface.1.Status
./tr181ctl set Device.ManagementServer.URL https://acs.example.net
./tr181ctl json Device.DeviceInfo. # USP-style GetResp
./tr181ctl schema # every param, type, access
./tr181ctl shell # interactive prompt
Example:
$ ./tr181ctl json Device.DeviceInfo.
{
"get_resp": {
"requested_path": "Device.DeviceInfo.",
"err_code": 0,
"result_params": {
"Device.DeviceInfo.Manufacturer": "OpenSource CPE",
"Device.DeviceInfo.UpTime": 145,
...
}
}
}
Errors follow the data model rules: unknown paths fail, read-only parameters
reject set, and values are type-checked (unsignedInt, boolean, string).
An invalid path in json returns USP error code 7026.
src/datamodel.c – every parameter is produced by a getter and passed to a
visitor callback, so get, json, schema and state saving share one walk.operstate is mapped to the TR-181 Status enum (Up, Down, Dormant, ...).src/main.c – CLI, JSON formatter, state persistence, interactive shell.OpenWrt – copy packaging/openwrt/Makefile to package/tr181-agent/ in your
OpenWrt tree, then make package/tr181-agent/compile.
Yocto – add packaging/yocto/tr181-agent_1.0.0.bb to your layer (point
SRC_URI at this repo) and run bitbake tr181-agent.
Cross-compile by hand – make CC=aarch64-linux-gnu-gcc.
ubus (libubus) so ubus call can query it.Device.IP.Interface.{i}.IPv4Address. from netlink.