luci-app-51ddns: add remote access agent interface - #8960
Conversation
Add an English LuCI page for configuring the 51DDNS account token and viewing validated agent status, plan, and expiry fields. Use jshn for RPC serialization and include plural-aware translation strings generated with the LuCI scanner. Declare the repository-wide Apache-2.0 license file in the package metadata. (cherry picked from commit 746fff9) (cherry picked from commit c46c3c1) Signed-off-by: Shake Cloud Inc <21hkcloud@gmail.com>
0063efa to
aeb92ae
Compare
openwrt-ai
left a comment
There was a problem hiding this comment.
Commit checks
aeb92ae"luci-app-51ddns: add remote access agent interface" — the two(cherry picked from commit …)trailers reference746fff9fde693b4b2678edd7ee18da18de911bb2andc46c3c1b09b1066176da495b91710c19e4a46143, neither of which exists inopenwrt/luci. They are the two commits on21hkcloud/luci:codex/luci-app-51ddns, the head branch of #8958, which is still open againstmaster. A backport toopenwrt-24.10should reference the SHAs the commits receive once they are merged to master, so these trailers can only be generated (viagit cherry-pick -x) after #8958 lands. As it stands the trailers point at SHAs that will never be reachable from this repository, and this branch would carry the package while master does not.aeb92ae— the message body says "Declare the repository-wide Apache-2.0 license file in the package metadata", butPKG_LICENSE_FILESis resolved against$(PKG_BUILD_DIR), not the repository root, and the package ships noLICENSEfile (see inline onMakefile:10). The message also does not mention thePKG_MAINTAINERrename, which is the other hunk that diverges from the commits being cherry-picked.
Both divergences from #8958 (PKG_LICENSE_FILES, PKG_MAINTAINER) look like they belong on the master PR rather than on the backport — the backport should ideally be a byte-identical replay of what merges to master.
Generated by Claude Code
| LUCI_PKGARCH:=all | ||
|
|
||
| PKG_LICENSE:=Apache-2.0 | ||
| PKG_LICENSE_FILES:=LICENSE |
There was a problem hiding this comment.
This line is not present in either commit the message claims to cherry-pick (746fff9 / c46c3c1 on the head branch of #8958) — it is introduced only in this 24.10 version, so the two branches will diverge as soon as #8958 lands.
It also resolves to nothing: PKG_LICENSE_FILES is looked up relative to $(PKG_BUILD_DIR), and luci.mk's Build/Prepare only copies luasrc ucode htdocs root src there. applications/luci-app-51ddns/ ships no LICENSE file, so nothing is ever collected. (The only other in-tree user on this branch, modules/luci-base/Makefile:34, has the same problem, so it is inert rather than fatal — but it does not do what the commit body says it does.)
Either drop the line, or add a real LICENSE file to the package directory:
| PKG_LICENSE_FILES:=LICENSE |
Generated by Claude Code
|
|
||
| PKG_LICENSE:=Apache-2.0 | ||
| PKG_LICENSE_FILES:=LICENSE | ||
| PKG_MAINTAINER:=Shake Cloud Inc <21hkcloud@gmail.com> |
There was a problem hiding this comment.
nit: the maintainer differs from the commits this backports. #8958 (c46c3c1, applications/luci-app-51ddns/Makefile:10) carries PKG_MAINTAINER:=Jinshuan Wang <21hkcloud@gmail.com>; here it is Shake Cloud Inc <21hkcloud@gmail.com>. Same address, different name — pick one and make both branches agree, otherwise the backport will conflict/diverge from master once #8958 is merged.
Generated by Claude Code
| LUCI_TITLE:=LuCI support for 51DDNS remote access | ||
| LUCI_URL:=https://github.com/21hkcloud/51ddns-openwrt | ||
| LUCI_DESCRIPTION:=Configure and monitor the 51DDNS remote access agent. | ||
| LUCI_DEPENDS:=+luci-base +51ddns-agent |
There was a problem hiding this comment.
nit: the two PRs name different agent submissions. This PR body cites openwrt/packages#30345 as the backing package, while #8958 — the master-branch PR whose commits this claims to cherry-pick — cites openwrt/packages#30158. Neither 51ddns-agent nor any 51ddns UCI config exists in the packages feed today, so +51ddns-agent is unresolvable until one of them lands.
Which packages PR is the 24.10 one? Worth stating explicitly, since this app is unbuildable/uninstallable until it is merged, and the 51ddns UCI config and /var/lib/51ddns/status.json that the view and the rpcd helper both read come from that package.
Generated by Claude Code
| "path": "51ddns/overview" | ||
| }, | ||
| "depends": { | ||
| "acl": [ "luci-app-51ddns" ] |
There was a problem hiding this comment.
nit: the view binds a form.NamedSection('main', 'agent') with addremove = false, so if /etc/config/51ddns is missing or has no main section the page renders as an empty form with no explanation. Roughly half of the in-tree apps that declare an acl dependency also gate the menu entry on the config existing (luci-app-adblock-fast, luci-app-acl, …), which hides the entry instead:
| "acl": [ "luci-app-51ddns" ] | |
| "acl": [ "luci-app-51ddns" ], | |
| "uci": { "51ddns": true } |
Intentional to always show it, given the agent package owns the config file?
Generated by Claude Code
|
Converted this backport to draft. It will be rebuilt as a byte-identical cherry-pick from the final master commit only after #8958 is merged; no release-branch merge is requested before then. |
Purpose
Add the LuCI interface for
51ddns-agentto the OpenWrt 24.10 branch so opkg/IPK installations have the same web configuration path as the main-branch submission in #8958.Interface
jshn.Dependencies
The matching OpenWrt 24.10 agent package is proposed in openwrt/packages#30345. The LuCI application is kept separate from the agent source archive and depends on the feed package.
Verification
Signed-off-bytrailer.git diff --checkpasses.