├── .github └── workflows │ ├── arm64.env │ ├── debug.yml │ ├── luci.patch │ ├── main.yml │ ├── mipsel.env │ └── x64.env ├── .gitignore ├── README.md ├── applications ├── airconnect │ ├── Makefile │ └── files │ │ ├── airconnect.config │ │ └── airconnect.init ├── luci-app-airconnect │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── airconnect.lua │ │ └── model │ │ │ └── cbi │ │ │ └── airconnect.lua │ └── po │ │ └── zh-cn │ │ └── airconnect.po ├── luci-app-ap-modem │ ├── Makefile │ ├── htdocs │ │ └── luci-static │ │ │ └── resources │ │ │ └── view │ │ │ └── ap_modem.js │ ├── po │ │ └── zh-cn │ │ │ └── ap-modem.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── ap_modem │ │ └── init.d │ │ │ └── ap_modem │ │ └── usr │ │ └── share │ │ ├── luci │ │ └── menu.d │ │ │ └── luci-app-ap-modem.json │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-ap-modem.json ├── luci-app-arcadia │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── arcadia.lua │ │ ├── model │ │ │ ├── arcadia.lua │ │ │ └── cbi │ │ │ │ └── arcadia.lua │ │ └── view │ │ │ └── arcadia │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── arcadia.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── arcadia │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── arcadia.sh ├── luci-app-bmtedge │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── bmtedge.lua │ │ ├── model │ │ │ ├── bmtedge.lua │ │ │ └── cbi │ │ │ │ └── bmtedge.lua │ │ └── view │ │ │ └── bmtedge │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── bmtedge.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── bmtedge │ │ └── uci-defaults │ │ │ └── luci-app-bmtedge │ │ ├── usr │ │ └── libexec │ │ │ └── istorec │ │ │ └── bmtedge.sh │ │ └── www │ │ └── luci-static │ │ └── bmtedge │ │ ├── qrcode.min.js │ │ └── weapp.jpg ├── luci-app-chinesesubfinder │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── chinesesubfinder.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── chinesesubfinder.lua │ │ │ └── chinesesubfinder.lua │ │ └── view │ │ │ └── chinesesubfinder │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── chinesesubfinder.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── chinesesubfinder │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── chinesesubfinder.sh ├── luci-app-clouddrive2 │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── clouddrive2.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── clouddrive2.lua │ │ │ └── clouddrive2.lua │ │ └── view │ │ │ └── clouddrive2 │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── clouddrive2.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── clouddrive2 │ │ └── init.d │ │ │ └── clouddrive2 │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── clouddrive2.sh ├── luci-app-codeserver │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── codeserver.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── codeserver │ │ │ │ │ ├── config.lua │ │ │ │ │ ├── console.lua │ │ │ │ │ └── tool.lua │ │ │ └── codeserver.lua │ │ └── view │ │ │ └── codeserver │ │ │ ├── console.htm │ │ │ ├── status.htm │ │ │ └── tool.htm │ ├── po │ │ └── zh-cn │ │ │ └── codeserver.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── codeserver │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── codeserver.sh ├── luci-app-drawio │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── drawio.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── drawio.lua │ │ │ └── drawio.lua │ │ └── view │ │ │ └── drawio │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── drawio.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── drawio │ │ └── usr │ │ ├── libexec │ │ └── istorec │ │ │ └── drawio.sh │ │ └── share │ │ └── drawio │ │ └── docker-compose.template.yaml ├── luci-app-emby │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── emby.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── emby.lua │ │ │ └── emby.lua │ │ └── view │ │ │ └── emby │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── emby.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── emby │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── emby.sh ├── luci-app-excalidraw │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── excalidraw.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── excalidraw.lua │ │ │ └── excalidraw.lua │ │ └── view │ │ │ └── excalidraw │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── excalidraw.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── excalidraw │ │ └── usr │ │ ├── libexec │ │ └── istorec │ │ │ └── excalidraw.sh │ │ └── share │ │ └── excalidraw │ │ └── docker-compose.template.yaml ├── luci-app-feishuvpn │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── feishuvpn.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── feishuvpn.lua │ │ │ └── feishuvpn.lua │ │ └── view │ │ │ └── feishuvpn │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── feishuvpn.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── feishuvpn │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── feishuvpn.sh ├── luci-app-gogs │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── gogs.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── gogs.lua │ │ │ └── gogs.lua │ │ └── view │ │ │ └── gogs │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── gogs.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── gogs │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── gogs.sh ├── luci-app-heimdall │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── heimdall.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── heimdall.lua │ │ └── view │ │ │ └── heimdall │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── heimdall.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── heimdall │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── heimdall.sh ├── luci-app-homeassistant │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── homeassistant.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── homeassistant │ │ │ │ │ ├── config.lua │ │ │ │ │ ├── console.lua │ │ │ │ │ └── tool.lua │ │ │ └── homeassistant.lua │ │ └── view │ │ │ └── homeassistant │ │ │ ├── console.htm │ │ │ ├── status.htm │ │ │ └── tool.htm │ ├── po │ │ └── zh-cn │ │ │ └── homeassistant.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── homeassistant │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── homeassistant.sh ├── luci-app-htreader │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── htreader.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── htreader.lua │ │ │ └── htreader.lua │ │ └── view │ │ │ └── htreader │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── htreader.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── htreader │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── htreader.sh ├── luci-app-immich │ ├── .vscode │ │ └── settings.json │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── immich.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── immich.lua │ │ │ └── immich.lua │ │ └── view │ │ │ └── immich │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── immich.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── immich │ │ └── usr │ │ ├── libexec │ │ └── istorec │ │ │ └── immich.sh │ │ └── share │ │ └── immich │ │ ├── docker-compose.yaml │ │ └── env ├── luci-app-istoredup │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── istoredup.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── istoredup │ │ │ │ │ ├── config.lua │ │ │ │ │ ├── console.lua │ │ │ │ │ └── tool.lua │ │ │ └── istoredup.lua │ │ └── view │ │ │ └── istoredup │ │ │ ├── console.htm │ │ │ ├── status.htm │ │ │ └── tool.htm │ ├── po │ │ └── zh-cn │ │ │ └── istoredup.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── istoredup │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── istoredup.sh ├── luci-app-istorepanel │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── istorepanel.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── istorepanel.lua │ │ │ └── istorepanel.lua │ │ └── view │ │ │ └── istorepanel │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── istorepanel.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── istorepanel │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── istorepanel.sh ├── luci-app-ittools │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── ittools.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── ittools.lua │ │ │ └── ittools.lua │ │ └── view │ │ │ └── ittools │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── ittools.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── ittools │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── ittools.sh ├── luci-app-jackett │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── jackett.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── jackett.lua │ │ │ └── jackett.lua │ │ └── view │ │ │ └── jackett │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── jackett.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── jackett │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── jackett.sh ├── luci-app-jellyfin │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── jellyfin.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── jellyfin.lua │ │ │ └── jellyfin.lua │ │ └── view │ │ │ └── jellyfin │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── jellyfin.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── jellyfin │ │ └── uci-defaults │ │ │ └── luci-app-jellyfin │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── jellyfin.sh ├── luci-app-kodexplorer │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── kodexplorer.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── kodexplorer.lua │ │ │ └── kodexplorer.lua │ │ └── view │ │ │ └── kodexplorer │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── kodexplorer.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── kodexplorer │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── kodexplorer.sh ├── luci-app-lanraragi │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── lanraragi.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── lanraragi.lua │ │ │ └── lanraragi.lua │ │ └── view │ │ │ └── lanraragi │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── lanraragi.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── lanraragi │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── lanraragi.sh ├── luci-app-memos │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── memos.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── memos.lua │ │ │ └── memos.lua │ │ └── view │ │ │ └── memos │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── memos.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── memos │ │ └── uci-defaults │ │ │ └── luci-app-memos-fix-bug1 │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── memos.sh ├── luci-app-mtphotos │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── mtphotos.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── mtphotos.lua │ │ │ └── mtphotos.lua │ │ └── view │ │ │ └── mtphotos │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── mtphotos.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── mtphotos │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── mtphotos.sh ├── luci-app-multiaccountdial │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── multiaccountdial.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── multiaccountdial.lua │ │ └── view │ │ │ └── multiaccountdial │ │ │ ├── add_vwan_button.htm │ │ │ ├── del_vwan_button.htm │ │ │ ├── dial_status.htm │ │ │ └── redial_button.htm │ ├── root │ │ ├── etc │ │ │ ├── config │ │ │ │ └── multiaccountdial │ │ │ └── uci-defaults │ │ │ │ └── luci-multiaccountdial │ │ └── usr │ │ │ └── libexec │ │ │ └── multiaccountdial │ │ │ └── multi_account_dial │ └── simple-install.sh ├── luci-app-mymind │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── mymind.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── mymind.lua │ │ └── view │ │ │ └── mymind │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── mymind.po │ └── root │ │ └── www │ │ └── luci-static │ │ └── mymind │ │ ├── LICENSE.txt │ │ ├── PRIVACY.txt │ │ ├── README.md │ │ ├── css │ │ ├── font.css │ │ ├── item.css │ │ ├── menu.css │ │ ├── print.css │ │ ├── shape.css │ │ ├── style.css │ │ ├── throbber.gif │ │ └── ui.css │ │ ├── editor.html │ │ ├── favicon.ico │ │ ├── github.png │ │ ├── icons │ │ ├── help.png │ │ ├── new.png │ │ ├── notes-indicator.png │ │ ├── notes.png │ │ ├── open.png │ │ ├── save-as.png │ │ └── save.png │ │ ├── index.html │ │ ├── logo │ │ ├── logo.svg │ │ ├── logo128.png │ │ ├── logo16.png │ │ ├── logo256.png │ │ ├── logo32.png │ │ └── logo64.png │ │ ├── my-mind.js │ │ ├── screenshot.png │ │ └── vendor │ │ └── pell │ │ ├── css │ │ └── pell.min.css │ │ └── src │ │ └── pell.min.js ├── luci-app-nastools │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── nastools.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── nastools.lua │ │ │ └── nastools.lua │ │ └── view │ │ │ └── nastools │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── nastools.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── nastools │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── nastools.sh ├── luci-app-navidrome │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── navidrome.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── navidrome.lua │ │ │ └── navidrome.lua │ │ └── view │ │ │ └── navidrome │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── navidrome.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── navidrome │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── navidrome.sh ├── luci-app-netdata │ ├── Makefile │ ├── README.md │ ├── luasrc │ │ ├── controller │ │ │ └── netdata.lua │ │ ├── model │ │ │ └── cgi │ │ │ │ └── netdate.lua │ │ └── view │ │ │ └── netdata.htm │ ├── po │ │ └── zh-cn │ │ │ └── netdata.po │ ├── readme.txt │ ├── root │ │ ├── etc │ │ │ ├── netdata │ │ │ │ ├── apps_groups.conf │ │ │ │ ├── ebpf.conf │ │ │ │ ├── exporting.conf │ │ │ │ ├── netdata.conf │ │ │ │ └── stream.conf │ │ │ └── uci-defaults │ │ │ │ └── 40_luci-app-netdata │ │ └── usr │ │ │ └── share │ │ │ ├── netdata │ │ │ └── webcn │ │ │ │ ├── dashboard.js │ │ │ │ ├── dashboard_info.js │ │ │ │ ├── index.html │ │ │ │ └── main.js │ │ │ └── rpcd │ │ │ └── acl.d │ │ │ └── luci-app-netdata.json │ └── web │ │ ├── dashboard.js │ │ ├── dashboard_info.js │ │ ├── index.html │ │ └── main.js ├── luci-app-nextcloud │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── nextcloud.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── nextcloud.lua │ │ │ └── nextcloud.lua │ │ └── view │ │ │ └── nextcloud │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── nextcloud.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── nextcloud │ │ └── uci-defaults │ │ │ └── luci-app-nextcloud │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── nextcloud.sh ├── luci-app-oneapi │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── oneapi.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── oneapi.lua │ │ │ └── oneapi.lua │ │ └── view │ │ │ └── oneapi │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── oneapi.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── oneapi │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── oneapi.sh ├── luci-app-openwebui │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── openwebui.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── openwebui.lua │ │ │ └── openwebui.lua │ │ └── view │ │ │ └── openwebui │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── openwebui.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── openwebui │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── openwebui.sh ├── luci-app-owntone │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── owntone.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── owntone.lua │ │ │ └── owntone.lua │ │ └── view │ │ │ └── owntone │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── owntone.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── owntone │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── owntone.sh ├── luci-app-penpot │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── penpot.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── penpot │ │ │ │ │ ├── config.lua │ │ │ │ │ └── tool.lua │ │ │ └── penpot.lua │ │ └── view │ │ │ └── penpot │ │ │ ├── status.htm │ │ │ └── tool.htm │ ├── po │ │ └── zh-cn │ │ │ └── penpot.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── penpot │ │ └── usr │ │ ├── libexec │ │ └── istorec │ │ │ ├── penpot.sh │ │ │ └── penpot_template.lua │ │ └── share │ │ └── penpot │ │ ├── config.template.env │ │ └── docker-compose.template.yaml ├── luci-app-photoprism │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── photoprism.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── photoprism.lua │ │ │ └── photoprism.lua │ │ └── view │ │ │ └── photoprism │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── photoprism.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── photoprism │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── photoprism.sh ├── luci-app-plex │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── plex.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── plex.lua │ │ │ └── plex.lua │ │ └── view │ │ │ └── plex │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── plex.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── plex │ │ └── uci-defaults │ │ │ └── luci-app-plex │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── plex.sh ├── luci-app-pve │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── pve.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── pve │ │ │ │ │ ├── config.lua │ │ │ │ │ └── tool.lua │ │ │ └── pve.lua │ │ └── view │ │ │ └── pve │ │ │ ├── status.htm │ │ │ └── tool.htm │ ├── po │ │ └── zh-cn │ │ │ └── pve.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── pve │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── pve.sh ├── luci-app-rtbwmon │ ├── Makefile │ ├── README.md │ ├── htdocs │ │ └── luci-static │ │ │ └── rtbwmon │ │ │ └── rtbwmon.js │ ├── luasrc │ │ ├── controller │ │ │ └── rtbwmon.lua │ │ └── view │ │ │ └── rtbwmon │ │ │ └── rtbwmon.htm │ ├── po │ │ └── zh-cn │ │ │ └── rtbwmon.po │ └── root │ │ ├── etc │ │ └── init.d │ │ │ └── rtbwmon │ │ └── usr │ │ └── libexec │ │ └── rtbwmon.sh ├── luci-app-runmynas │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── runmynas.lua │ │ ├── model │ │ │ └── runmynas_disk.lua │ │ └── view │ │ │ └── runmynas │ │ │ └── main.htm │ ├── po │ │ └── zh-cn │ │ │ └── runmynas.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── runmynas │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── runmynas.sh ├── luci-app-sunpanel │ ├── Makefile │ ├── htdocs │ │ └── luci-static │ │ │ └── sunpanel │ │ │ ├── assets │ │ │ ├── 404-b0d1a3d9.svg │ │ │ ├── Alert-018ca7af.js │ │ │ ├── Divider-a11d112a.js │ │ │ ├── GradientText-44d798c5.js │ │ │ ├── KaTeX_AMS-Regular-0cdd387c.woff2 │ │ │ ├── KaTeX_AMS-Regular-30da91e8.woff │ │ │ ├── KaTeX_AMS-Regular-68534840.ttf │ │ │ ├── KaTeX_Caligraphic-Bold-07d8e303.ttf │ │ │ ├── KaTeX_Caligraphic-Bold-1ae6bd74.woff │ │ │ ├── KaTeX_Caligraphic-Bold-de7701e4.woff2 │ │ │ ├── KaTeX_Caligraphic-Regular-3398dd02.woff │ │ │ ├── KaTeX_Caligraphic-Regular-5d53e70a.woff2 │ │ │ ├── KaTeX_Caligraphic-Regular-ed0b7437.ttf │ │ │ ├── KaTeX_Fraktur-Bold-74444efd.woff2 │ │ │ ├── KaTeX_Fraktur-Bold-9163df9c.ttf │ │ │ ├── KaTeX_Fraktur-Bold-9be7ceb8.woff │ │ │ ├── KaTeX_Fraktur-Regular-1e6f9579.ttf │ │ │ ├── KaTeX_Fraktur-Regular-51814d27.woff2 │ │ │ ├── KaTeX_Fraktur-Regular-5e28753b.woff │ │ │ ├── KaTeX_Main-Bold-0f60d1b8.woff2 │ │ │ ├── KaTeX_Main-Bold-138ac28d.ttf │ │ │ ├── KaTeX_Main-Bold-c76c5d69.woff │ │ │ ├── KaTeX_Main-BoldItalic-70ee1f64.ttf │ │ │ ├── KaTeX_Main-BoldItalic-99cd42a3.woff2 │ │ │ ├── KaTeX_Main-BoldItalic-a6f7ec0d.woff │ │ │ ├── KaTeX_Main-Italic-0d85ae7c.ttf │ │ │ ├── KaTeX_Main-Italic-97479ca6.woff2 │ │ │ ├── KaTeX_Main-Italic-f1d6ef86.woff │ │ │ ├── KaTeX_Main-Regular-c2342cd8.woff2 │ │ │ ├── KaTeX_Main-Regular-c6368d87.woff │ │ │ ├── KaTeX_Main-Regular-d0332f52.ttf │ │ │ ├── KaTeX_Math-BoldItalic-850c0af5.woff │ │ │ ├── KaTeX_Math-BoldItalic-dc47344d.woff2 │ │ │ ├── KaTeX_Math-BoldItalic-f9377ab0.ttf │ │ │ ├── KaTeX_Math-Italic-08ce98e5.ttf │ │ │ ├── KaTeX_Math-Italic-7af58c5e.woff2 │ │ │ ├── KaTeX_Math-Italic-8a8d2445.woff │ │ │ ├── KaTeX_SansSerif-Bold-1ece03f7.ttf │ │ │ ├── KaTeX_SansSerif-Bold-e99ae511.woff2 │ │ │ ├── KaTeX_SansSerif-Bold-ece03cfd.woff │ │ │ ├── KaTeX_SansSerif-Italic-00b26ac8.woff2 │ │ │ ├── KaTeX_SansSerif-Italic-3931dd81.ttf │ │ │ ├── KaTeX_SansSerif-Italic-91ee6750.woff │ │ │ ├── KaTeX_SansSerif-Regular-11e4dc8a.woff │ │ │ ├── KaTeX_SansSerif-Regular-68e8c73e.woff2 │ │ │ ├── KaTeX_SansSerif-Regular-f36ea897.ttf │ │ │ ├── KaTeX_Script-Regular-036d4e95.woff2 │ │ │ ├── KaTeX_Script-Regular-1c67f068.ttf │ │ │ ├── KaTeX_Script-Regular-d96cdf2b.woff │ │ │ ├── KaTeX_Size1-Regular-6b47c401.woff2 │ │ │ ├── KaTeX_Size1-Regular-95b6d2f1.ttf │ │ │ ├── KaTeX_Size1-Regular-c943cc98.woff │ │ │ ├── KaTeX_Size2-Regular-2014c523.woff │ │ │ ├── KaTeX_Size2-Regular-a6b2099f.ttf │ │ │ ├── KaTeX_Size2-Regular-d04c5421.woff2 │ │ │ ├── KaTeX_Size3-Regular-500e04d5.ttf │ │ │ ├── KaTeX_Size3-Regular-6ab6b62e.woff │ │ │ ├── KaTeX_Size4-Regular-99f9c675.woff │ │ │ ├── KaTeX_Size4-Regular-a4af7d41.woff2 │ │ │ ├── KaTeX_Size4-Regular-c647367d.ttf │ │ │ ├── KaTeX_Typewriter-Regular-71d517d6.woff2 │ │ │ ├── KaTeX_Typewriter-Regular-e14fed02.woff │ │ │ ├── KaTeX_Typewriter-Regular-f01f3e87.ttf │ │ │ ├── _plugin-vue_export-helper-c27b6911.js │ │ │ ├── about-2688cabc.js │ │ │ ├── baidu-604a969a.svg │ │ │ ├── bing-4e21c40a.svg │ │ │ ├── defaultBackground-80f713c8.webp │ │ │ ├── gitee-9d895e3a.png │ │ │ ├── google-c8534e94.svg │ │ │ ├── index-2b251fda.css │ │ │ ├── index-2b595d91.js │ │ │ ├── index-36cf7848.css │ │ │ ├── index-7ae5884e.css │ │ │ ├── index-7e19b821.js │ │ │ ├── index-85275cb2.js │ │ │ ├── index-8886367f.css │ │ │ ├── index-8a6943bf.js │ │ │ ├── index-8f0537f1.js │ │ │ ├── index-8f8851de.js │ │ │ ├── index-93265a97.js │ │ │ ├── index-b1580adf.js │ │ │ ├── index-b1d3d9b0.js │ │ │ ├── index-b57a7b1c.js │ │ │ ├── index-bb41db9d.js │ │ │ ├── index-bc9666b7.js │ │ │ ├── index-c238f14b.js │ │ │ ├── index-c4f1fb1a.css │ │ │ ├── index-d074e84b.js │ │ │ ├── index-d715da4a.css │ │ │ ├── index-e0b65a22.js │ │ │ ├── index-ed75c22d.js │ │ │ ├── index-f036cca6.css │ │ │ ├── index-fd895f10.js │ │ │ ├── logo-3d38229d.svg │ │ │ └── qq_group_qr2-e70d9e73.png │ │ │ ├── favicon-black.svg │ │ │ ├── favicon.ico │ │ │ ├── favicon.svg │ │ │ ├── index.html │ │ │ ├── logo.png │ │ │ └── static │ │ │ └── global.css │ ├── luasrc │ │ ├── controller │ │ │ └── sunpanel.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── sunpanel.lua │ │ │ └── sunpanel.lua │ │ └── view │ │ │ └── sunpanel │ │ │ └── status.htm │ └── po │ │ ├── zh-cn │ │ └── sunpanel.po │ │ └── zh_Hans ├── luci-app-systools │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── systools.lua │ │ └── view │ │ │ └── systools │ │ │ └── main.htm │ ├── po │ │ └── zh-cn │ │ │ └── systools.po │ └── root │ │ └── usr │ │ ├── libexec │ │ └── systools.sh │ │ └── share │ │ └── systools │ │ ├── disable-planb.run │ │ ├── disable-wandrop.run │ │ ├── disk_power_mode.run │ │ ├── firewall.nat6 │ │ ├── fw_wxedge.run │ │ ├── ipv6_full_1.run │ │ ├── ipv6_full_try_2.run │ │ ├── ipv6_half_4.run │ │ ├── ipv6_nat_3.run │ │ ├── istore-reinstall.run │ │ ├── jellyfin_host.run │ │ ├── net_check.run │ │ ├── openssl-aes256gcm.run │ │ ├── openssl-chacha20-poly1305.run │ │ ├── qb_reset_password.run │ │ ├── reset_rom_pkgs.run │ │ ├── select_none.run │ │ ├── speedtest-servers.run │ │ ├── speedtest.run │ │ └── turn_off_ipv6.run ├── luci-app-typecho │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── typecho.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── typecho.lua │ │ │ └── typecho.lua │ │ └── view │ │ │ └── typecho │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── typecho.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── typecho │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── typecho.sh ├── luci-app-ubuntu │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── ubuntu.lua │ │ └── view │ │ │ └── ubuntu │ │ │ └── main.htm │ ├── po │ │ └── zh-cn │ │ │ └── ubuntu.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── ubuntu │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── ubuntu.sh ├── luci-app-ubuntu2 │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── ubuntu2.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── ubuntu2.lua │ │ │ └── ubuntu2.lua │ │ └── view │ │ │ └── ubuntu2 │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── ubuntu2.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── ubuntu2 │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── ubuntu2.sh ├── luci-app-unifi │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── unifi.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── unifi.lua │ │ │ └── unifi.lua │ │ └── view │ │ │ └── unifi │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── unifi.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── unifi │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── unifi.sh ├── luci-app-uptimekuma │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── uptimekuma.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── uptimekuma.lua │ │ │ └── uptimekuma.lua │ │ └── view │ │ │ └── uptimekuma │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── uptimekuma.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── uptimekuma │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── uptimekuma.sh ├── luci-app-vaultwarden │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── vaultwarden.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── vaultwarden.lua │ │ │ └── vaultwarden.lua │ │ └── view │ │ │ └── vaultwarden │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── vaultwarden.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── vaultwarden │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── vaultwarden.sh ├── luci-app-wan-mac │ ├── Makefile │ ├── htdocs │ │ └── luci-static │ │ │ └── resources │ │ │ └── view │ │ │ └── wan_mac.js │ ├── po │ │ └── zh-cn │ │ │ └── wan_mac.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── wan_mac │ │ └── init.d │ │ │ └── wan_mac │ │ └── usr │ │ └── share │ │ ├── luci │ │ └── menu.d │ │ │ └── luci-app-wan-mac.json │ │ └── rpcd │ │ └── acl.d │ │ └── luci-app-wan-mac.json ├── luci-app-webvirtcloud │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── webvirtcloud.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── webvirtcloud │ │ │ │ │ ├── config.lua │ │ │ │ │ └── tool.lua │ │ │ └── webvirtcloud.lua │ │ └── view │ │ │ └── webvirtcloud │ │ │ ├── status.htm │ │ │ └── tool.htm │ ├── po │ │ └── zh-cn │ │ │ └── webvirtcloud.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── webvirtcloud │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── webvirtcloud.sh ├── luci-app-wxedge │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── wxedge.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── wxedge.lua │ │ │ └── wxedge.lua │ │ └── view │ │ │ └── wxedge │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── wxedge.po │ └── root │ │ ├── etc │ │ ├── config │ │ │ └── wxedge │ │ └── uci-defaults │ │ │ └── luci-app-wxedge │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── wxedge.sh ├── luci-app-xteve │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── xteve.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── xteve.lua │ │ │ └── xteve.lua │ │ └── view │ │ │ └── xteve │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── xteve.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── xteve │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── xteve.sh ├── luci-app-xunlei │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── xunlei.lua │ │ ├── model │ │ │ ├── cbi │ │ │ │ └── xunlei.lua │ │ │ └── xunlei.lua │ │ └── view │ │ │ └── xunlei │ │ │ └── status.htm │ ├── po │ │ └── zh-cn │ │ │ └── xunlei.po │ └── root │ │ ├── etc │ │ └── config │ │ │ └── xunlei │ │ └── usr │ │ └── libexec │ │ └── istorec │ │ └── xunlei.sh ├── luci-app-xunyou │ ├── Makefile │ ├── luasrc │ │ ├── controller │ │ │ └── xunyou.lua │ │ ├── model │ │ │ └── cbi │ │ │ │ └── xunyou │ │ │ │ └── main.lua │ │ └── view │ │ │ └── xunyou │ │ │ └── status.htm │ └── po │ │ └── zh-cn │ │ └── xunyou.po ├── speedtestcli │ └── Makefile ├── sunpanel │ ├── Makefile │ └── files │ │ ├── conf.temp │ │ ├── sunpanel.config │ │ ├── sunpanel.init │ │ ├── sunpanel.uci-default │ │ └── sunpanel_conf.lua ├── vmease │ ├── Makefile │ └── files │ │ ├── vmease.config │ │ ├── vmease.init │ │ └── vmease.uci-default └── xunyou │ ├── Makefile │ └── files │ ├── xunyou.config │ ├── xunyou.init │ └── xunyou.uci-default ├── feeds.conf ├── forkapp ├── build.sh ├── copydir.go ├── copydir_linux.go ├── copydir_other.go ├── forkapp.go ├── go.mod ├── go.sum └── sshremote.go └── tools └── simple-install.sh /.github/workflows/arm64.env: -------------------------------------------------------------------------------- 1 | SDK_NAME=openwrt-sdk-21.02.3-mvebu-cortexa53_gcc-8.4.0_musl.Linux-x86_64 2 | SDK_URL=https://downloads.openwrt.org/releases/21.02.3/targets/mvebu/cortexa53/ 3 | SDK_ARCH=aarch64_cortex-a53 4 | -------------------------------------------------------------------------------- /.github/workflows/mipsel.env: -------------------------------------------------------------------------------- 1 | SDK_NAME=openwrt-sdk-21.02.3-ramips-mt7620_gcc-8.4.0_musl.Linux-x86_64 2 | SDK_URL=https://downloads.openwrt.org/releases/21.02.3/targets/ramips/mt7620/ 3 | SDK_ARCH=mipsel_24kc 4 | -------------------------------------------------------------------------------- /.github/workflows/x64.env: -------------------------------------------------------------------------------- 1 | SDK_NAME=openwrt-sdk-21.02.3-x86-64_gcc-8.4.0_musl.Linux-x86_64 2 | SDK_URL=https://downloads.openwrt.org/releases/21.02.3/targets/x86/64/ 3 | SDK_ARCH=x86_64 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | forkapp/forkapp 3 | tools/forkapp 4 | forkapp/forkapp.exe 5 | tools/forkapp.exe 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Openwrt-actions 2 | 3 | ## 使用步骤 4 | 1. 选择actions标签,选择Build IPKs![image](https://user-images.githubusercontent.com/1214708/153843131-615197e2-4ff4-4c0b-b30a-372e1c513158.png) 5 | 6 | 2. 点击run workflow,输入要编译的插件名称,空格隔开,或者填“all”用来编译所有插件,然后开始编译![image](https://user-images.githubusercontent.com/1214708/153843217-0591a7e6-4758-461e-8b2b-9bb830b87fb2.png) 7 | 8 | 3. 等待编译完成,点击任务进入详情页 9 | 4. 在详情页下载插件压缩包![image](https://user-images.githubusercontent.com/1214708/153843272-81843b45-6dc8-4945-871f-a9a467f63c33.png) 10 | 11 | ## ForkApp 12 | 13 | 1. ./forkapp forkapp -from ../applications/luci-app-plex -to ../applications/luci-app-demo 14 | 2. ./forkapp upload -ip 192.168.100.1 -pwd "password" -from ../applications/luci-app-demo -to /root/ 15 | 3. ./forkapp upload -ip 192.168.100.1 -pwd "password" -from ../applications/luci-app-demo -to /root/ -script ../tools/simple-install.sh -install 16 | -------------------------------------------------------------------------------- /applications/airconnect/files/airconnect.config: -------------------------------------------------------------------------------- 1 | config main 2 | option 'enabled' '0' 3 | option 'interface' 'lan' 4 | option 'aircast' '1' 5 | option 'airupnp' '1' 6 | -------------------------------------------------------------------------------- /applications/luci-app-airconnect/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.0-20221219 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for airconnect 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+airconnect 11 | 12 | include $(TOPDIR)/feeds/luci/luci.mk 13 | 14 | # call BuildPackage - OpenWrt buildroot signature 15 | 16 | -------------------------------------------------------------------------------- /applications/luci-app-airconnect/luasrc/controller/airconnect.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.airconnect", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "airconnect"}, alias("admin", "services", "airconnect", "config"), _("AirConnect"), 90).dependent = true 6 | entry({"admin", "services", "airconnect", "config"}, cbi("airconnect")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-airconnect/luasrc/model/cbi/airconnect.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | LuCI - Lua Configuration Interface 3 | ]]-- 4 | 5 | local m, s, o 6 | 7 | m = Map("airconnect", translate("AirConnect"), translate("Use AirPlay to stream to UPnP/Sonos & Chromecast devices")) 8 | 9 | s = m:section(TypedSection, "main", translate("Global Settings")) 10 | s.addremove=false 11 | s.anonymous=true 12 | 13 | o = s:option(Flag, "enabled", translate("Enable")) 14 | o.default = 0 15 | o.rmempty = false 16 | 17 | o = s:option(Value, "interface", translate("Interface"), translate("Network interface for serving, usually LAN")) 18 | o.template = "cbi/network_netlist" 19 | o.nocreate = true 20 | o.default = "lan" 21 | o.datatype = "string" 22 | 23 | o = s:option(Flag, "aircast", translate("Supports Chromecast"), translate("Select this if you have Chromecast devices")) 24 | o.default = 1 25 | o.rmempty = false 26 | 27 | o = s:option(Flag, "airupnp", translate("Supports UPnP/Sonos"), translate("Select this if you have UPnP/Sonos devices")) 28 | o.default = 1 29 | o.rmempty = false 30 | 31 | return m 32 | -------------------------------------------------------------------------------- /applications/luci-app-airconnect/po/zh-cn/airconnect.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Use AirPlay to stream to UPnP/Sonos & Chromecast devices" 5 | msgstr "AirConnect 让 UPnP/Sonos 和 Chromecast 设备支持 AirPlay 音频串流" 6 | 7 | msgid "Global Settings" 8 | msgstr "全局设置" 9 | 10 | msgid "Network interface for serving, usually LAN" 11 | msgstr "提供服务的网络接口,通常是 LAN 口" 12 | 13 | msgid "Supports Chromecast" 14 | msgstr "支持 Chromecast 设备" 15 | 16 | msgid "Supports UPnP/Sonos" 17 | msgstr "支持 UPnP/Sonos 设备" 18 | 19 | msgid "Select this if you have Chromecast devices" 20 | msgstr "如果你有 Chromecast 设备就选中这个" 21 | 22 | msgid "Select this if you have UPnP/Sonos devices" 23 | msgstr "如果你有 UPnP/Sonos 设备就选中这个" 24 | -------------------------------------------------------------------------------- /applications/luci-app-ap-modem/Makefile: -------------------------------------------------------------------------------- 1 | 2 | include $(TOPDIR)/rules.mk 3 | 4 | PKG_VERSION:=1.0.5-20241208 5 | PKG_RELEASE:= 6 | PKG_MAINTAINER:=jjm2473 7 | 8 | LUCI_TITLE:=Easy Access AP / Modem 9 | LUCI_PKGARCH:=all 10 | 11 | define Package/luci-app-ap-modem/conffiles 12 | /etc/config/ap_modem 13 | endef 14 | 15 | include $(TOPDIR)/feeds/luci/luci.mk 16 | 17 | # call BuildPackage - OpenWrt buildroot signature 18 | -------------------------------------------------------------------------------- /applications/luci-app-ap-modem/root/etc/config/ap_modem: -------------------------------------------------------------------------------- 1 | config ap_modem 'config' 2 | option enabled '0' 3 | 4 | config interface 'lan' 5 | # list ipaddr '192.168.31.254' 6 | 7 | config interface 'wan' 8 | # list ipaddr '192.168.1.254' 9 | -------------------------------------------------------------------------------- /applications/luci-app-ap-modem/root/usr/share/luci/menu.d/luci-app-ap-modem.json: -------------------------------------------------------------------------------- 1 | { 2 | "admin/network/ap_modem": { 3 | "title": "Access AP / Modem", 4 | "order": 99, 5 | "action": { 6 | "type": "view", 7 | "path": "ap_modem" 8 | }, 9 | "depends": { 10 | "acl": [ "luci-app-ap-modem" ], 11 | "uci": { "ap_modem": true } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /applications/luci-app-ap-modem/root/usr/share/rpcd/acl.d/luci-app-ap-modem.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-ap-modem": { 3 | "description": "Grant access to 'Access AP / Modem'", 4 | "read": { 5 | "uci": [ "ap_modem" ] 6 | }, 7 | "write": { 8 | "uci": [ "ap_modem" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /applications/luci-app-arcadia/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=0.0.2-1 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for arcadia 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-arcadia/conffiles 13 | /etc/config/arcadia 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | 20 | -------------------------------------------------------------------------------- /applications/luci-app-arcadia/luasrc/controller/arcadia.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.arcadia", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "arcadia"}, alias("admin", "services", "arcadia", "config"), _("Arcadia"), 30).dependent = true 6 | entry({"admin", "services", "arcadia", "config"}, cbi("arcadia")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-arcadia/root/etc/config/arcadia: -------------------------------------------------------------------------------- 1 | config arcadia 2 | option 'hostnet' '0' 3 | option 'port' '5678' 4 | # option 'image' 'default' 5 | # option 'config_path' '' 6 | -------------------------------------------------------------------------------- /applications/luci-app-bmtedge/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20241211 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for bmtedge 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-bmtedge/conffiles 13 | /etc/config/bmtedge 14 | endef 15 | 16 | # prerm 17 | # postrm 18 | define Package/luci-app-bmtedge/prerm 19 | #!/bin/sh 20 | /root/usr/libexec/istorec/bmtedge.sh rm 21 | exit 0 22 | endef 23 | 24 | include $(TOPDIR)/feeds/luci/luci.mk 25 | 26 | # call BuildPackage - OpenWrt buildroot signature 27 | -------------------------------------------------------------------------------- /applications/luci-app-bmtedge/luasrc/controller/bmtedge.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.bmtedge", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "bmtedge"}, alias("admin", "services", "bmtedge", "config"), _("BlueMountain Edge"), 30).dependent = true 6 | entry({"admin", "services", "bmtedge", "config"}, cbi("bmtedge")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-bmtedge/po/zh-cn/bmtedge.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "BlueMountain Edge" 5 | msgstr "蓝山云-流量宝" 6 | 7 | msgid "Cache path" 8 | msgstr "缓存文件路径" 9 | 10 | msgid "Service Status" 11 | msgstr "服务状态" 12 | 13 | msgid "BlueMountain Edge status:" 14 | msgstr "蓝山云的状态信息如下:" 15 | 16 | msgid "Setup" 17 | msgstr "安装配置" 18 | 19 | msgid "The following parameters will only take effect during installation or upgrade:" 20 | msgstr "以下参数只在安装或者升级时才会生效:" 21 | 22 | msgid "Status" 23 | msgstr "状态" 24 | 25 | msgid "Running, click to show QR" 26 | msgstr "运行中,点击查看二维码" 27 | 28 | msgid "BlueMountain Edge is not running" 29 | msgstr "蓝山云未运行" 30 | 31 | 32 | msgid "Use “蓝山云” Wechat Little APP to scan the QR, click:" 33 | msgstr "用“蓝山云”小程序扫码,请查看:" 34 | 35 | msgid "Guide" 36 | msgstr "教程" 37 | 38 | msgid "UID" 39 | msgstr "唯一标识" 40 | 41 | -------------------------------------------------------------------------------- /applications/luci-app-bmtedge/root/etc/config/bmtedge: -------------------------------------------------------------------------------- 1 | config bmtedge 2 | # option cache_path '' 3 | # option image_name '' 4 | # option uid '' 5 | -------------------------------------------------------------------------------- /applications/luci-app-bmtedge/root/etc/uci-defaults/luci-app-bmtedge: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.bmtedge 5 | set firewall.bmtedge=rule 6 | set firewall.bmtedge.name="bmtedge" 7 | set firewall.bmtedge.target="ACCEPT" 8 | set firewall.bmtedge.src="wan" 9 | set firewall.bmtedge.dest_port="1024-65535" 10 | set firewall.bmtedge.enabled="0" 11 | commit firewall 12 | EOF 13 | 14 | exit 0 15 | -------------------------------------------------------------------------------- /applications/luci-app-bmtedge/root/www/luci-static/bmtedge/weapp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-bmtedge/root/www/luci-static/bmtedge/weapp.jpg -------------------------------------------------------------------------------- /applications/luci-app-chinesesubfinder/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.3-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for ChineseSubFinder 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-chinesesubfinder/conffiles 13 | /etc/config/chinesesubfinder 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-chinesesubfinder/luasrc/controller/chinesesubfinder.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.chinesesubfinder", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "chinesesubfinder"}, alias("admin", "services", "chinesesubfinder", "config"), _("ChineseSubFinder"), 30).dependent = true 6 | entry({"admin", "services", "chinesesubfinder", "config"}, cbi("chinesesubfinder")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-chinesesubfinder/po/zh-cn/chinesesubfinder.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "ChineseSubFinder is a tool which can download chinese subtitle automaticly." 8 | msgstr "ChineseSubFinder是一个自动化中文字幕下载工具。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "HTTP Port" 14 | msgstr "HTTP 端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "ChineseSubFinder status:" 20 | msgstr "ChineseSubFinder 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "ChineseSubFinder is running" 32 | msgstr "ChineseSubFinder 运行中" 33 | 34 | msgid "ChineseSubFinder is not running" 35 | msgstr "ChineseSubFinder 未运行" 36 | 37 | msgid "Open ChineseSubFinder" 38 | msgstr "打开 ChineseSubFinder" 39 | 40 | msgid "Not required, all disk is mounted in" 41 | msgstr "可不填,所有硬盘都在" 42 | -------------------------------------------------------------------------------- /applications/luci-app-chinesesubfinder/root/etc/config/chinesesubfinder: -------------------------------------------------------------------------------- 1 | config main 2 | option 'http_port' '19035' 3 | option 'web_port' '19037' 4 | option 'image_name' '' 5 | option 'config_path' '' 6 | 7 | -------------------------------------------------------------------------------- /applications/luci-app-clouddrive2/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.1-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for CloudDrive2 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+mount-utils +lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-clouddrive2/conffiles 13 | /etc/config/clouddrive2 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | 20 | -------------------------------------------------------------------------------- /applications/luci-app-clouddrive2/luasrc/controller/clouddrive2.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.clouddrive2", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "clouddrive2"}, alias("admin", "services", "clouddrive2", "config"), _("CloudDrive2"), 30).dependent = true 6 | entry({"admin", "services", "clouddrive2", "config"}, cbi("clouddrive2")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-clouddrive2/root/etc/config/clouddrive2: -------------------------------------------------------------------------------- 1 | config clouddrive2 2 | option 'port' '19798' 3 | option 'image' 'default' 4 | # option 'config_path' '' 5 | # option 'cache_path' '' 6 | option 'share_mnt' '0' 7 | -------------------------------------------------------------------------------- /applications/luci-app-clouddrive2/root/etc/init.d/clouddrive2: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | 3 | START=98 4 | 5 | boot() { 6 | # /usr/bin/mountpoint -q /CloudNAS || /usr/bin/mount --make-shared -t tmpfs -o size=4M tmpfs /CloudNAS 7 | [ -d /mnt/CloudNAS ] || mkdir -p /mnt/CloudNAS 8 | if /usr/bin/mountpoint -q /mnt; then 9 | /usr/bin/mount --make-shared /mnt 10 | else 11 | /usr/bin/mount --make-shared -t tmpfs -o size=4M tmpfs /mnt/CloudNAS 12 | fi 13 | } 14 | -------------------------------------------------------------------------------- /applications/luci-app-codeserver/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.1-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for CodeServer 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-codeserver/conffiles 13 | /etc/config/codeserver 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-codeserver/luasrc/controller/codeserver.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.codeserver", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "codeserver"}, alias("admin", "services", "codeserver", "config"), _("CodeServer"), 30).dependent = true 6 | entry({"admin", "services", "codeserver", "config"}, cbi("codeserver/config"), _("Config"), 10).leaf = true 7 | entry({"admin", "services", "codeserver", "tool"}, form("codeserver/tool"), _("Tool"), 30).leaf = true 8 | entry({"admin", "services", "codeserver", "console"}, form("codeserver/console"), _("Console"), 50).leaf = true 9 | end 10 | -------------------------------------------------------------------------------- /applications/luci-app-codeserver/luasrc/view/codeserver/console.htm: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 11 | -------------------------------------------------------------------------------- /applications/luci-app-codeserver/luasrc/view/codeserver/tool.htm: -------------------------------------------------------------------------------- 1 | <%+tasks/embed%> 2 | 3 | 11 | 12 | -------------------------------------------------------------------------------- /applications/luci-app-codeserver/po/zh-cn/codeserver.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "CodeServer is a web version of VSCode." 8 | msgstr "CodeServer 就一个在线版本的 VSCode,可以在线开发。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "HTTP Port" 14 | msgstr "HTTP 端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "CodeServer status:" 20 | msgstr "CodeServer 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "CodeServer is running" 32 | msgstr "CodeServer 运行中" 33 | 34 | msgid "CodeServer is not running" 35 | msgstr "CodeServer 未运行" 36 | 37 | msgid "Open CodeServer" 38 | msgstr "打开 CodeServer" 39 | 40 | msgid "Tool" 41 | msgstr "操作" 42 | 43 | msgid "Console" 44 | msgstr "控制台" 45 | 46 | msgid "Only works in LAN" 47 | msgstr "只在内网环境下工作。" 48 | 49 | msgid "Execute" 50 | msgstr "执行" 51 | -------------------------------------------------------------------------------- /applications/luci-app-codeserver/root/etc/config/codeserver: -------------------------------------------------------------------------------- 1 | config main 2 | option 'http_port' '8085' 3 | option 'image_name' 'lscr.io/linuxserver/code-server:latest' 4 | option 'config_path' '' 5 | option 'env_password' '' 6 | option 'env_hashed_password' '' 7 | option 'env_sudo_password' '' 8 | option 'env_sudo_password_hash' '' 9 | option 'env_proxy_domain' '' 10 | 11 | -------------------------------------------------------------------------------- /applications/luci-app-drawio/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.0-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for DrawIO 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +luci-lib-docker +docker-compose 11 | 12 | define Package/luci-app-drawio/conffiles 13 | /etc/config/drawio 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-drawio/luasrc/controller/drawio.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.drawio", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "drawio"}, alias("admin", "services", "drawio", "config"), _("DrawIO"), 30).dependent = true 6 | entry({"admin", "services", "drawio", "config"}, cbi("drawio")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-drawio/po/zh-cn/drawio.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "DrawIO" 8 | msgstr "DrawIO绘图" 9 | 10 | msgid "DrawIO is a draw.io is a client-side editor for general diagramming and whiteboarding." 11 | msgstr "DrawIO 是运行在浏览器中的在线绘图工具。" 12 | 13 | msgid "Config path" 14 | msgstr "配置文件路径" 15 | 16 | msgid "Port" 17 | msgstr "端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "DrawIO status:" 23 | msgstr "DrawIO 的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "DrawIO is running" 35 | msgstr "DrawIO 运行中" 36 | 37 | msgid "DrawIO is not running" 38 | msgstr "DrawIO 未运行" 39 | 40 | msgid "Open DrawIO" 41 | msgstr "打开 DrawIO" 42 | 43 | msgid "The free space of Docker is less than 2GB, which may cause the installation to fail." 44 | msgstr "Docker 可用空间已不足2GB,可能导致安装失败。" 45 | 46 | msgid "Please make sure there has enough space" 47 | msgstr "请确保有足够空间" 48 | -------------------------------------------------------------------------------- /applications/luci-app-drawio/root/etc/config/drawio: -------------------------------------------------------------------------------- 1 | config main 2 | option 'port' '8091' 3 | option 'config_path' '' 4 | 5 | -------------------------------------------------------------------------------- /applications/luci-app-emby/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.3-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Emby 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-emby/conffiles 13 | /etc/config/emby 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-emby/luasrc/controller/emby.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.emby", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "emby"}, alias("admin", "services", "emby", "config"), _("Emby"), 30).dependent = true 6 | entry({"admin", "services", "emby", "config"}, cbi("emby")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-emby/po/zh-cn/emby.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Emby brings together your personal videos, music, photos, and live television." 8 | msgstr "Emby 是一个多媒体串流平台。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "HTTP Port" 14 | msgstr "HTTP 端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "Emby status:" 20 | msgstr "Emby 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "Emby is running" 32 | msgstr "Emby 运行中" 33 | 34 | msgid "Emby is not running" 35 | msgstr "Emby 未运行" 36 | 37 | msgid "Open Emby" 38 | msgstr "打开 Emby" 39 | 40 | msgid "Not required, all disk is mounted in" 41 | msgstr "可不填,所有硬盘都在" 42 | 43 | msgid "Emby running in host network, for DLNA application, port is always 8096 if enabled" 44 | msgstr "在宿主网络运行 Emby,以支持 DLNA 等应用,例如投屏,如果启用则端口固定为8096,需注意端口与 Jellyfin 冲突" -------------------------------------------------------------------------------- /applications/luci-app-emby/root/etc/config/emby: -------------------------------------------------------------------------------- 1 | config main 2 | option 'hostnet' '0' 3 | option 'http_port' '8097' 4 | option 'image_name' 'emby/embyserver' 5 | option 'config_path' '' 6 | 7 | -------------------------------------------------------------------------------- /applications/luci-app-excalidraw/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.0-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Excalidraw 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +luci-lib-docker +docker-compose 11 | 12 | define Package/luci-app-excalidraw/conffiles 13 | /etc/config/excalidraw 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-excalidraw/luasrc/controller/excalidraw.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.excalidraw", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "excalidraw"}, alias("admin", "services", "excalidraw", "config"), _("Excalidraw"), 30).dependent = true 6 | entry({"admin", "services", "excalidraw", "config"}, cbi("excalidraw")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-excalidraw/po/zh-cn/excalidraw.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Excalidraw" 8 | msgstr "Excalidraw画板" 9 | 10 | msgid "Excalidraw is a self-host virtual whiteboard for sketching hand-drawn like diagrams." 11 | msgstr "Excalidraw 是支持多人协同的私有化在线画板工具。" 12 | 13 | msgid "Config path" 14 | msgstr "配置文件路径" 15 | 16 | msgid "Port" 17 | msgstr "端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "Excalidraw status:" 23 | msgstr "Excalidraw 的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "Excalidraw is running" 35 | msgstr "Excalidraw 运行中" 36 | 37 | msgid "Excalidraw is not running" 38 | msgstr "Excalidraw 未运行" 39 | 40 | msgid "Open Excalidraw" 41 | msgstr "打开 Excalidraw" 42 | 43 | msgid "The free space of Docker is less than 2GB, which may cause the installation to fail." 44 | msgstr "Docker 可用空间已不足2GB,可能导致安装失败。" 45 | 46 | msgid "Please make sure there has enough space" 47 | msgstr "请确保有足够空间" 48 | 49 | -------------------------------------------------------------------------------- /applications/luci-app-excalidraw/root/etc/config/excalidraw: -------------------------------------------------------------------------------- 1 | config main 2 | option 'port' '8090' 3 | option 'config_path' '' 4 | option 'image_ver' '' 5 | 6 | -------------------------------------------------------------------------------- /applications/luci-app-excalidraw/root/usr/share/excalidraw/docker-compose.template.yaml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | 3 | networks: 4 | excalidrawnet: 5 | 6 | services: 7 | frontend: 8 | image: janson/excalidraw:IMAGE_VER_VAR 9 | ports: 10 | - PORT_VAR:80 11 | networks: 12 | - excalidrawnet 13 | 14 | storage: 15 | image: janson/excalidraw-storage-backend:IMAGE_VER_VAR 16 | restart: always 17 | environment: 18 | - PORT=8081 19 | networks: 20 | - excalidrawnet 21 | 22 | room: 23 | image: janson/excalidraw-room:IMAGE_VER_VAR 24 | networks: 25 | - excalidrawnet 26 | -------------------------------------------------------------------------------- /applications/luci-app-feishuvpn/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for FeiShuVpn 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +luci-lib-docker 11 | 12 | define Package/luci-app-feishuvpn/conffiles 13 | /etc/config/feishuvpn 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-feishuvpn/luasrc/controller/feishuvpn.lua: -------------------------------------------------------------------------------- 1 | -- 定义luci.controller.feishuvpn模块 2 | module("luci.controller.feishuvpn", package.seeall) 3 | 4 | -- index函数:配置FeiShuVpn的管理界面入口 5 | function index() 6 | -- 创建admin/services/feishuvpn目录下的入口,重定向到config页面 7 | -- dependent = true表示该入口依赖于其他服务 8 | entry({"admin", "services", "feishuvpn"}, alias("admin", "services", "feishuvpn", "config"), _("FeiShuVpn"), 30).dependent = true 9 | 10 | -- 创建admin/services/feishuvpn/config页面,用于配置FeiShuVpn 11 | entry({"admin", "services", "feishuvpn", "config"}, cbi("feishuvpn")) 12 | end -------------------------------------------------------------------------------- /applications/luci-app-feishuvpn/po/zh-cn/feishuvpn.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "FeiShuVpn" 5 | msgstr "飞鼠组网" 6 | 7 | msgid "Official website:" 8 | msgstr "官方网站:" 9 | 10 | msgid "FeiShuVpn is p2p vpn client." 11 | msgstr "飞鼠组网是一个点对点的组网工具。" 12 | 13 | msgid "Config path" 14 | msgstr "配置文件路径" 15 | 16 | msgid "Port" 17 | msgstr "端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "FeiShuVpn status:" 23 | msgstr "飞鼠组网的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "FeiShuVpn is running" 35 | msgstr "飞鼠组网运行中" 36 | 37 | msgid "FeiShuVpn is not running" 38 | msgstr "飞鼠组网未运行" 39 | 40 | msgid "Open FeiShuVpn" 41 | msgstr "打开飞鼠组网" 42 | 43 | msgid "Not required, all disk will be mounted under %s" 44 | msgstr "可不填,所有硬盘都会挂载到 %s 下" 45 | 46 | msgid "The free space of Docker is less than 2GB, which may cause the installation to fail." 47 | msgstr "Docker 可用空间已不足2GB,可能导致安装失败。" 48 | 49 | msgid "Please make sure there has enough space" 50 | msgstr "请确保有足够空间" 51 | -------------------------------------------------------------------------------- /applications/luci-app-feishuvpn/root/etc/config/feishuvpn: -------------------------------------------------------------------------------- 1 | config main 2 | option 'config_path' '' 3 | 4 | -------------------------------------------------------------------------------- /applications/luci-app-gogs/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.3-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Gogs 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-gogs/conffiles 13 | /etc/config/gogs 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-gogs/luasrc/controller/gogs.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.gogs", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "gogs"}, alias("admin", "services", "gogs", "config"), _("Gogs"), 30).dependent = true 6 | entry({"admin", "services", "gogs", "config"}, cbi("gogs")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-gogs/po/zh-cn/gogs.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Gogs is a painless self-hosted Git service." 8 | msgstr "Gogs 是一个轻松易用的 Git 服务。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "HTTP Port" 14 | msgstr "HTTP 端口" 15 | 16 | msgid "SSH Port" 17 | msgstr "SSH 端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "Gogs status:" 23 | msgstr "Gogs 的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "Gogs is running" 35 | msgstr "Gogs 运行中" 36 | 37 | msgid "Gogs is not running" 38 | msgstr "Gogs 未运行" 39 | 40 | msgid "Open Gogs" 41 | msgstr "打开 Gogs" 42 | 43 | -------------------------------------------------------------------------------- /applications/luci-app-gogs/root/etc/config/gogs: -------------------------------------------------------------------------------- 1 | config main 2 | option 'http_port' '3001' 3 | option 'ssh_port' '3022' 4 | option 'image_name' 'gogs/gogs:latest' 5 | option 'config_path' '' 6 | 7 | -------------------------------------------------------------------------------- /applications/luci-app-heimdall/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.1.2-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for heimdall 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+docker +luci-lib-taskd 11 | 12 | define Package/luci-app-heimdall/conffiles 13 | /etc/config/heimdall 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-heimdall/luasrc/controller/heimdall.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.heimdall", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "heimdall"}, alias("admin", "services", "heimdall", "config"), _("Heimdall"), 30).dependent = true 6 | entry({"admin", "services", "heimdall", "config"}, cbi("heimdall")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-heimdall/po/zh-cn/heimdall.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Heimdall is an elegant solution to organise all your web applications." 8 | msgstr "Heimdall 是组织所有 Web 应用程序的优雅解决方案。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Port" 14 | msgstr "端口" 15 | 16 | msgid "HTTP Port" 17 | msgstr "HTTP 端口" 18 | 19 | msgid "HTTPS Port" 20 | msgstr "HTTPS 端口" 21 | 22 | msgid "Service Status" 23 | msgstr "服务状态" 24 | 25 | msgid "Heimdall status:" 26 | msgstr "Heimdall 的状态信息如下:" 27 | 28 | msgid "Setup" 29 | msgstr "安装配置" 30 | 31 | msgid "The following parameters will only take effect during installation or upgrade:" 32 | msgstr "以下参数只在安装或者升级时才会生效:" 33 | 34 | msgid "Status" 35 | msgstr "状态" 36 | 37 | msgid "Heimdall is running" 38 | msgstr "Heimdall 运行中" 39 | 40 | msgid "Heimdall is not running" 41 | msgstr "Heimdall 未运行" 42 | 43 | msgid "Open Heimdall" 44 | msgstr "打开 Heimdall" 45 | -------------------------------------------------------------------------------- /applications/luci-app-heimdall/root/etc/config/heimdall: -------------------------------------------------------------------------------- 1 | config heimdall 2 | option 'http_port' '8088' 3 | option 'https_port' '8089' 4 | option 'config_path' '/root/heimdall/config' 5 | -------------------------------------------------------------------------------- /applications/luci-app-homeassistant/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.1.4-20250321 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for homeassistant 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-homeassistant/conffiles 13 | /etc/config/homeassistant 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-homeassistant/luasrc/controller/homeassistant.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.homeassistant", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "homeassistant"}, alias("admin", "services", "homeassistant", "config"), _("Home Assistant"), 30).dependent = true 6 | entry({"admin", "services", "homeassistant", "config"}, cbi("homeassistant/config"), _("Config"), 10).leaf = true 7 | entry({"admin", "services", "homeassistant", "tool"}, form("homeassistant/tool"), _("Tool"), 30).leaf = true 8 | entry({"admin", "services", "homeassistant", "console"}, form("homeassistant/console"), _("Console"), 50).leaf = true 9 | end 10 | -------------------------------------------------------------------------------- /applications/luci-app-homeassistant/luasrc/model/cbi/homeassistant/tool.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | LuCI - Lua Configuration Interface 3 | ]]-- 4 | 5 | local http = require 'luci.http' 6 | 7 | m=SimpleForm("Tools") 8 | m.submit = false 9 | m.reset = false 10 | 11 | s = m:section(SimpleSection) 12 | 13 | o = s:option(Value, "action", translate("Action").."*") 14 | o.rmempty = false 15 | o.datatype = "string" 16 | o:value("hacs-install", "hacs-install") 17 | o.default = "hacs-install" 18 | 19 | local t=Template("homeassistant/tool") 20 | m:append(t) 21 | 22 | local btn_do = s:option(Button, "_do") 23 | btn_do.render = function(self, section, scope) 24 | self.inputstyle = "add" 25 | self.title = " " 26 | self.inputtitle = translate("Execute") 27 | Button.render(self, section, scope) 28 | end 29 | 30 | btn_do.write = function(self, section, value) 31 | local action = m:get(section, "action") 32 | if action == "hacs-install" then 33 | local cmd = string.format("/usr/libexec/istorec/homeassistant.sh %s", action) 34 | cmd = "/etc/init.d/tasks task_add homeassistant " .. luci.util.shellquote(cmd) .. " >/dev/null 2>&1" 35 | os.execute(cmd) 36 | t.show_log_taskid = "homeassistant" 37 | end 38 | end 39 | 40 | return m 41 | 42 | -------------------------------------------------------------------------------- /applications/luci-app-homeassistant/luasrc/view/homeassistant/console.htm: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 7 | -------------------------------------------------------------------------------- /applications/luci-app-homeassistant/luasrc/view/homeassistant/tool.htm: -------------------------------------------------------------------------------- 1 | <%+tasks/embed%> 2 | 3 | 11 | 12 | -------------------------------------------------------------------------------- /applications/luci-app-homeassistant/po/zh-cn/homeassistant.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts." 8 | msgstr "将本地控制和隐私放在首位的开源家庭自动化,由全世界 DIY 爱好者组成的社区驱动。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Service Status" 14 | msgstr "服务状态" 15 | 16 | msgid "Home Assistant status:" 17 | msgstr "Home Assistant 的状态信息如下:" 18 | 19 | msgid "Setup" 20 | msgstr "安装配置" 21 | 22 | msgid "The following parameters will only take effect during installation or upgrade:" 23 | msgstr "以下参数只在安装或者升级时才会生效:" 24 | 25 | msgid "Status" 26 | msgstr "状态" 27 | 28 | msgid "Home Assistant is running" 29 | msgstr "Home Assistant 运行中" 30 | 31 | msgid "Home Assistant is not running" 32 | msgstr "Home Assistant 未运行" 33 | 34 | msgid "Open the Home Assistant" 35 | msgstr "打开 Home Assistant" 36 | 37 | msgid "Tool" 38 | msgstr "操作" 39 | 40 | msgid "Console" 41 | msgstr "控制台" 42 | 43 | msgid "Only works in LAN" 44 | msgstr "只在内网环境下工作。" 45 | 46 | msgid "Execute" 47 | msgstr "执行" 48 | 49 | msgid "Timezone" 50 | msgstr "时区" 51 | 52 | -------------------------------------------------------------------------------- /applications/luci-app-homeassistant/root/etc/config/homeassistant: -------------------------------------------------------------------------------- 1 | config homeassistant 2 | option 'config_path' '' 3 | option 'image_name' 'homeassistant/home-assistant:latest' 4 | option 'time_zone' '' 5 | -------------------------------------------------------------------------------- /applications/luci-app-htreader/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for HTReader 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +luci-lib-docker 11 | 12 | define Package/luci-app-htreader/conffiles 13 | /etc/config/htreader 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-htreader/luasrc/controller/htreader.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.htreader", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "htreader"}, alias("admin", "services", "htreader", "config"), _("HTReader"), 30).dependent = true 6 | entry({"admin", "services", "htreader", "config"}, cbi("htreader")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-htreader/po/zh-cn/htreader.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "HTReader is book reader in web." 8 | msgstr "HTReader 是一个网页版本在线读书。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Port" 14 | msgstr "端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "HTReader status:" 20 | msgstr "HTReader 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "HTReader is running" 32 | msgstr "HTReader 运行中" 33 | 34 | msgid "HTReader is not running" 35 | msgstr "HTReader 未运行" 36 | 37 | msgid "Open HTReader" 38 | msgstr "打开 HTReader" 39 | 40 | msgid "The free space of Docker is less than 2GB, which may cause the installation to fail." 41 | msgstr "Docker 可用空间已不足2GB,可能导致安装失败。" 42 | 43 | msgid "Please make sure there has enough space" 44 | msgstr "请确保有足够空间" 45 | -------------------------------------------------------------------------------- /applications/luci-app-htreader/root/etc/config/htreader: -------------------------------------------------------------------------------- 1 | config main 2 | option 'port' '9060' 3 | option 'multiuser' '0' 4 | 5 | -------------------------------------------------------------------------------- /applications/luci-app-immich/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "makefile.configureOnOpen": true 3 | } -------------------------------------------------------------------------------- /applications/luci-app-immich/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20250321 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Immich 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +luci-lib-docker +docker-compose 11 | 12 | define Package/luci-app-immich/conffiles 13 | /etc/config/immich 14 | endef 15 | 16 | define Package/luci-app-immich/prerm 17 | #!/bin/sh 18 | /usr/libexec/istorec/immich.sh stop 19 | exit 0 20 | endef 21 | 22 | include $(TOPDIR)/feeds/luci/luci.mk 23 | 24 | # call BuildPackage - OpenWrt buildroot signature 25 | -------------------------------------------------------------------------------- /applications/luci-app-immich/luasrc/controller/immich.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.immich", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "immich"}, alias("admin", "services", "immich", "config"), _("Immich"), 30).dependent = true 6 | entry({"admin", "services", "immich", "config"}, cbi("immich")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-immich/po/zh-cn/immich.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Immich" 8 | msgstr "Immich画板" 9 | 10 | msgid "Immich is a self-host photo and video management solution." 11 | msgstr "Immich 是私有化的相册视频管理工具。很占资源,网络好而且高性能设备推荐。" 12 | 13 | msgid "Config path" 14 | msgstr "配置文件路径" 15 | 16 | msgid "Port" 17 | msgstr "端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "Immich status:" 23 | msgstr "Immich 的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "Immich is running" 35 | msgstr "Immich 运行中" 36 | 37 | msgid "Immich is not running" 38 | msgstr "Immich 未运行" 39 | 40 | msgid "Open Immich" 41 | msgstr "打开 Immich" 42 | 43 | msgid "The free space of Docker is less than 2GB, which may cause the installation to fail." 44 | msgstr "Docker 可用空间已不足2GB,可能导致安装失败。" 45 | 46 | msgid "Please make sure there has enough space" 47 | msgstr "请确保有足够空间" 48 | 49 | -------------------------------------------------------------------------------- /applications/luci-app-immich/root/etc/config/immich: -------------------------------------------------------------------------------- 1 | config main 2 | # option 'port' '' 3 | # option 'config_path' '' 4 | # option 'image_ver' '' 5 | 6 | -------------------------------------------------------------------------------- /applications/luci-app-immich/root/usr/share/immich/env: -------------------------------------------------------------------------------- 1 | # You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables 2 | 3 | # The location where your uploaded files are stored 4 | UPLOAD_LOCATION=./library 5 | # The location where your database files are stored 6 | DB_DATA_LOCATION=./postgres 7 | 8 | # To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List 9 | # TZ=Etc/UTC 10 | 11 | # The Immich version to use. You can pin this to a specific version like "v1.71.0" 12 | IMMICH_VERSION=$immich_version_var 13 | 14 | # Connection secret for postgres. You should change it to a random password 15 | # Please use only the characters `A-Za-z0-9`, without special characters or spaces 16 | DB_PASSWORD=$db_password_var 17 | PORT=$port_var 18 | 19 | # The values below this line do not need to be changed 20 | ################################################################################### 21 | DB_USERNAME=postgres 22 | DB_DATABASE_NAME=immich 23 | -------------------------------------------------------------------------------- /applications/luci-app-istoredup/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.1.7-20241211 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for istoredup 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +vmease 11 | 12 | define Package/luci-app-istoredup/conffiles 13 | /etc/config/istoredup 14 | endef 15 | 16 | define Package/luci-app-istoredup/prerm 17 | #!/bin/sh 18 | /usr/libexec/istorec/istoredup.sh stop 19 | exit 0 20 | endef 21 | 22 | include $(TOPDIR)/feeds/luci/luci.mk 23 | 24 | # call BuildPackage - OpenWrt buildroot signature 25 | -------------------------------------------------------------------------------- /applications/luci-app-istoredup/luasrc/controller/istoredup.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.istoredup", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "istoredup"}, alias("admin", "services", "istoredup", "config"), _("iStoreDup"), 30).dependent = true 6 | entry({"admin", "services", "istoredup", "config"}, cbi("istoredup/config"), _("Config"), 10).leaf = true 7 | entry({"admin", "services", "istoredup", "tool"}, form("istoredup/tool"), _("Tool"), 30).leaf = true 8 | entry({"admin", "services", "istoredup", "console"}, form("istoredup/console"), _("Console"), 50).leaf = true 9 | end 10 | -------------------------------------------------------------------------------- /applications/luci-app-istoredup/luasrc/model/cbi/istoredup/tool.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | LuCI - Lua Configuration Interface 3 | ]]-- 4 | 5 | local http = require 'luci.http' 6 | 7 | m=SimpleForm("Tools") 8 | m.submit = false 9 | m.reset = false 10 | 11 | s = m:section(SimpleSection) 12 | 13 | o = s:option(Value, "action", translate("Action").."*") 14 | o.rmempty = false 15 | o.datatype = "string" 16 | o:value("show-ip", "show-ip") 17 | o.default = "show-ip" 18 | 19 | local t=Template("istoredup/tool") 20 | m:append(t) 21 | 22 | local btn_do = s:option(Button, "_do") 23 | btn_do.render = function(self, section, scope) 24 | self.inputstyle = "add" 25 | self.title = " " 26 | self.inputtitle = translate("Execute") 27 | Button.render(self, section, scope) 28 | end 29 | 30 | btn_do.write = function(self, section, value) 31 | local action = m:get(section, "action") 32 | if action == "show-ip" then 33 | local cmd = string.format("/usr/libexec/istorec/istoredup.sh %s", action) 34 | cmd = "/etc/init.d/tasks task_add istoredup " .. luci.util.shellquote(cmd) .. " >/dev/null 2>&1" 35 | os.execute(cmd) 36 | t.show_log_taskid = "istoredup" 37 | end 38 | end 39 | 40 | return m 41 | 42 | -------------------------------------------------------------------------------- /applications/luci-app-istoredup/luasrc/view/istoredup/console.htm: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 7 | -------------------------------------------------------------------------------- /applications/luci-app-istoredup/luasrc/view/istoredup/tool.htm: -------------------------------------------------------------------------------- 1 | <%+tasks/embed%> 2 | 3 | 11 | 12 | -------------------------------------------------------------------------------- /applications/luci-app-istoredup/po/zh-cn/istoredup.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "A duplica of iStoreOS." 8 | msgstr "iStoreOS 的分身,可以把风险高的软件安装到分身里面,出问题不影响到主系统。" 9 | 10 | msgid "Service Status" 11 | msgstr "服务状态" 12 | 13 | msgid "iStoreDup status:" 14 | msgstr "iStoreDup 的状态信息如下:" 15 | 16 | msgid "Setup" 17 | msgstr "安装配置" 18 | 19 | msgid "The following parameters will only take effect during installation or upgrade:" 20 | msgstr "以下参数只在安装或者升级时才会生效:" 21 | 22 | msgid "Status" 23 | msgstr "状态" 24 | 25 | msgid "iStoreDup is running" 26 | msgstr "iStoreDup 运行中" 27 | 28 | msgid "iStoreDup is not running" 29 | msgstr "iStoreDup 未运行" 30 | 31 | msgid "Open the iStoreDup" 32 | msgstr "打开 iStoreDup" 33 | 34 | msgid "Tool" 35 | msgstr "操作" 36 | 37 | msgid "Console" 38 | msgstr "控制台" 39 | 40 | msgid "Only works in LAN" 41 | msgstr "只在内网环境下工作。" 42 | 43 | msgid "Execute" 44 | msgstr "执行" 45 | 46 | msgid "Timezone" 47 | msgstr "时区" 48 | 49 | -------------------------------------------------------------------------------- /applications/luci-app-istoredup/root/etc/config/istoredup: -------------------------------------------------------------------------------- 1 | config istoredup 2 | -------------------------------------------------------------------------------- /applications/luci-app-istorepanel/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.6-20250406 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for 1Panel 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +zoneinfo-asia +docker +luci-lib-taskd +luci-lib-docker 11 | 12 | define Package/luci-app-istorepanel/conffiles 13 | /etc/config/istorepanel 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-istorepanel/luasrc/controller/istorepanel.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.istorepanel", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "istorepanel"}, alias("admin", "services", "istorepanel", "config"), _("1Panel"), 30).dependent = true 6 | entry({"admin", "services", "istorepanel", "config"}, cbi("istorepanel")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-istorepanel/po/zh-cn/istorepanel.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "1Panel is the new generation Linux server maintenance panel." 8 | msgstr "1Panel 是新一代的 Linux 服务器运维管理面板" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Port" 14 | msgstr "端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "1Panel status:" 20 | msgstr "1Panel 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "1Panel is running" 32 | msgstr "1Panel 运行中" 33 | 34 | msgid "1Panel is not running" 35 | msgstr "1Panel 未运行" 36 | 37 | msgid "Open 1Panel" 38 | msgstr "打开 1Panel" 39 | 40 | msgid "The free space of Docker is less than 2GB, which may cause the installation to fail." 41 | msgstr "Docker 可用空间已不足2GB,可能导致安装失败。" 42 | 43 | msgid "Please make sure there has enough space" 44 | msgstr "请确保有足够空间" 45 | -------------------------------------------------------------------------------- /applications/luci-app-istorepanel/root/etc/config/istorepanel: -------------------------------------------------------------------------------- 1 | config main 2 | option 'port' '10086' 3 | # option 'config_path' '' 4 | # option 'ver' 'v1.10.10-lts' 5 | # option 'entrance' 'entrance' 6 | # option 'username' '1panel' 7 | # option 'password' 'password' 8 | 9 | -------------------------------------------------------------------------------- /applications/luci-app-ittools/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.4-20250321 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for ITTools 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +luci-lib-docker 11 | 12 | define Package/luci-app-ittools/conffiles 13 | /etc/config/ittools 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-ittools/luasrc/controller/ittools.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.ittools", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "ittools"}, alias("admin", "services", "ittools", "config"), _("ITTools"), 30).dependent = true 6 | entry({"admin", "services", "ittools", "config"}, cbi("ittools")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-ittools/po/zh-cn/ittools.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "ITTools" 5 | msgid "开发工具集" 6 | 7 | msgid "Official website:" 8 | msgstr "官方网站:" 9 | 10 | msgid "ITTools is useful tools for developer and people working in IT." 11 | msgstr "开发工具集是集成了很多有用的网页工具。" 12 | 13 | msgid "Port" 14 | msgstr "端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "ITTools status:" 20 | msgstr "ITTools 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "ITTools is running" 32 | msgstr "ITTools 运行中" 33 | 34 | msgid "ITTools is not running" 35 | msgstr "ITTools 未运行" 36 | 37 | msgid "Open ITTools" 38 | msgstr "打开 ITTools" 39 | 40 | msgid "The free space of Docker is less than 2GB, which may cause the installation to fail." 41 | msgstr "Docker 可用空间已不足2GB,可能导致安装失败。" 42 | 43 | msgid "Please make sure there has enough space" 44 | msgstr "请确保有足够空间" 45 | -------------------------------------------------------------------------------- /applications/luci-app-ittools/root/etc/config/ittools: -------------------------------------------------------------------------------- 1 | config main 2 | option 'port' '9070' 3 | 4 | -------------------------------------------------------------------------------- /applications/luci-app-jackett/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.1.1-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for jackett 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-jackett/conffiles 13 | /etc/config/jackett 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | 20 | -------------------------------------------------------------------------------- /applications/luci-app-jackett/luasrc/controller/jackett.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.jackett", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "jackett"}, alias("admin", "services", "jackett", "config"), _("Jackett"), 30).dependent = true 6 | entry({"admin", "services", "jackett", "config"}, cbi("jackett")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-jackett/po/zh-cn/jackett.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps." 8 | msgstr "Jackett 是维护索引器抓取和翻译逻辑的单一存储库 - 消除了其他应用程序的负担。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Torrent save path" 14 | msgstr "种子保存路径" 15 | 16 | msgid "Port" 17 | msgstr "端口" 18 | 19 | msgid "Auto update" 20 | msgstr "自动更新" 21 | 22 | msgid "Service Status" 23 | msgstr "服务状态" 24 | 25 | msgid "Jackett status:" 26 | msgstr "Jackett 的状态信息如下:" 27 | 28 | msgid "Setup" 29 | msgstr "安装配置" 30 | 31 | msgid "The following parameters will only take effect during installation or upgrade:" 32 | msgstr "以下参数只在安装或者升级时才会生效:" 33 | 34 | msgid "Status" 35 | msgstr "状态" 36 | 37 | msgid "Jackett is running" 38 | msgstr "Jackett 运行中" 39 | 40 | msgid "Jackett is not running" 41 | msgstr "Jackett 未运行" 42 | 43 | msgid "Open Jackett" 44 | msgstr "打开 Jackett" 45 | 46 | msgid "Usually use the monitoring folder of the torrent download tool" 47 | msgstr "通常使用BT下载工具的监控文件夹" 48 | -------------------------------------------------------------------------------- /applications/luci-app-jackett/root/etc/config/jackett: -------------------------------------------------------------------------------- 1 | config jackett 2 | option 'auto_update' '1' 3 | option 'port' '9117' 4 | option 'save_path' '' 5 | option 'config_path' '' 6 | option 'image_name' 'linuxserver/jackett:latest' 7 | -------------------------------------------------------------------------------- /applications/luci-app-jellyfin/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.2.2-20250321 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for jellyfin 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-jellyfin/conffiles 13 | /etc/config/jellyfin 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | 20 | -------------------------------------------------------------------------------- /applications/luci-app-jellyfin/luasrc/controller/jellyfin.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.jellyfin", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "jellyfin"}, alias("admin", "services", "jellyfin", "config"), _("Jellyfin"), 30).dependent = true 6 | entry({"admin", "services", "jellyfin", "config"}, cbi("jellyfin")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-jellyfin/root/etc/config/jellyfin: -------------------------------------------------------------------------------- 1 | config jellyfin 2 | option 'hostnet' '0' 3 | option 'port' '8096' 4 | option 'image' 'default' 5 | # option 'media_path' '' 6 | # option 'config_path' '' 7 | # option 'cache_path' '' 8 | -------------------------------------------------------------------------------- /applications/luci-app-jellyfin/root/etc/uci-defaults/luci-app-jellyfin: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | image_name=`uci get jellyfin.@jellyfin[0].image 2>/dev/null` 4 | 5 | if [ "$image_name" == "jjm2473/jellyfin-rtk:latest" -o "$image_name" == "default" ]; then 6 | uci -q batch <<-EOF >/dev/null 7 | delete jellyfin.@jellyfin[0].image 8 | commit jellyfin 9 | EOF 10 | fi 11 | exit 0 12 | -------------------------------------------------------------------------------- /applications/luci-app-kodexplorer/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.2.1-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for kodexplorer 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-kodexplorer/conffiles 13 | /etc/config/kodexplorer 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-kodexplorer/luasrc/controller/kodexplorer.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.kodexplorer", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "kodexplorer"}, alias("admin", "services", "kodexplorer", "config"), _("KodExplorer"), 30).dependent = true 6 | entry({"admin", "services", "kodexplorer", "config"}, cbi("kodexplorer")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-kodexplorer/po/zh-cn/kodexplorer.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "KodExplorer" 5 | msgstr "可道云" 6 | 7 | msgid "Official website:" 8 | msgstr "官方网站:" 9 | 10 | msgid "Private cloud online document management solution based on web technology." 11 | msgstr "基于Web技术的私有云在线文档管理解决方案。" 12 | 13 | msgid "Config path" 14 | msgstr "配置文件路径" 15 | 16 | msgid "Port" 17 | msgstr "端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "KodExplorer status:" 23 | msgstr "可道云的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "KodExplorer is running" 35 | msgstr "可道云运行中" 36 | 37 | msgid "KodExplorer is not running" 38 | msgstr "可道云未运行" 39 | 40 | msgid "Open KodExplorer" 41 | msgstr "打开可道云" 42 | -------------------------------------------------------------------------------- /applications/luci-app-kodexplorer/root/etc/config/kodexplorer: -------------------------------------------------------------------------------- 1 | config kodexplorer 2 | option 'cache_path' '' 3 | option 'port' '8081' 4 | option 'image_name' 'kodcloud/kodbox:latest' 5 | -------------------------------------------------------------------------------- /applications/luci-app-lanraragi/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.1-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for LANraragi 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-lanraragi/conffiles 13 | /etc/config/lanraragi 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-lanraragi/luasrc/controller/lanraragi.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.lanraragi", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "lanraragi"}, alias("admin", "services", "lanraragi", "config"), _("LANraragi"), 30).dependent = true 6 | entry({"admin", "services", "lanraragi", "config"}, cbi("lanraragi")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-lanraragi/po/zh-cn/lanraragi.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "LANraragi is Open source server for archival of comics/manga." 8 | msgstr "LANraragi 是一个开源的电子书、漫画管理平台。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Content path" 14 | msgstr "资源路径" 15 | 16 | msgid "HTTP Port" 17 | msgstr "HTTP 端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "LANraragi status:" 23 | msgstr "LANraragi 的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "LANraragi is running" 35 | msgstr "LANraragi 运行中" 36 | 37 | msgid "LANraragi is not running" 38 | msgstr "LANraragi 未运行" 39 | 40 | msgid "Open LANraragi" 41 | msgstr "打开 LANraragi" 42 | 43 | msgid "Default Password:" 44 | msgstr "默认密码:" 45 | -------------------------------------------------------------------------------- /applications/luci-app-lanraragi/root/etc/config/lanraragi: -------------------------------------------------------------------------------- 1 | config main 2 | option 'http_port' '3000' 3 | option 'image_name' 'dezhao/lanraragi_cn' 4 | option 'config_path' '' 5 | option 'content_path' '' 6 | 7 | -------------------------------------------------------------------------------- /applications/luci-app-memos/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Memos 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-memos/conffiles 13 | /etc/config/memos 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-memos/luasrc/controller/memos.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.memos", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "memos"}, alias("admin", "services", "memos", "config"), _("Memos"), 30).dependent = true 6 | entry({"admin", "services", "memos", "config"}, cbi("memos")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-memos/po/zh-cn/memos.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Memos" 5 | msgstr "Memos 知识管理" 6 | 7 | msgid "Official website:" 8 | msgstr "官方网站:" 9 | 10 | msgid "Memos is an open-source, self-hosted memo hub with knowledge management and collaboration." 11 | msgstr "Memos 是一个开源的极简的碎片化知识管理工具。" 12 | 13 | msgid "Config path" 14 | msgstr "配置文件路径" 15 | 16 | msgid "HTTP Port" 17 | msgstr "HTTP 端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "Memos status:" 23 | msgstr "Memos 的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "Memos is running" 35 | msgstr "Memos 运行中" 36 | 37 | msgid "Memos is not running" 38 | msgstr "Memos 未运行" 39 | 40 | msgid "Open Memos" 41 | msgstr "打开 Memos" 42 | 43 | -------------------------------------------------------------------------------- /applications/luci-app-memos/root/etc/config/memos: -------------------------------------------------------------------------------- 1 | config main 2 | option 'http_port' '5230' 3 | option 'image_name' 'neosmemo/memos:latest' 4 | option 'config_path' '' 5 | 6 | -------------------------------------------------------------------------------- /applications/luci-app-memos/root/etc/uci-defaults/luci-app-memos-fix-bug1: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [[ "`docker container inspect -f '{{ (index .Mounts 0).Destination }}' memos`" = "/config" ]]; then 4 | echo "fix script bug" 5 | config_path="`docker container inspect -f '{{ (index .Mounts 0).Source }}' memos`" 6 | echo "backup old data" 7 | if [[ -z "$config_path" ]]; then 8 | docker start memos 2>/dev/null 9 | docker exec memos cp -a /var/opt/memos/. /config/ 10 | docker stop memos 2>/dev/null 11 | else 12 | mkdir -p "$config_path" 13 | docker stop memos 2>/dev/null 14 | docker cp -a memos:/var/opt/memos/. "${config_path%/}/" 15 | fi 16 | echo "remove old container" 17 | docker rm -f memos 18 | echo "you should deploy later" 19 | fi 20 | exit 0 21 | -------------------------------------------------------------------------------- /applications/luci-app-mtphotos/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for MTPhotos 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +luci-lib-docker 11 | 12 | define Package/luci-app-mtphotos/conffiles 13 | /etc/config/mtphotos 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-mtphotos/luasrc/controller/mtphotos.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.mtphotos", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "mtphotos"}, alias("admin", "services", "mtphotos", "config"), _("MTPhotos"), 30).dependent = true 6 | entry({"admin", "services", "mtphotos", "config"}, cbi("mtphotos")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-mtphotos/po/zh-cn/mtphotos.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "MTPhotos is a photo manager, made by MTPhotos, Inc." 8 | msgstr "MTPhotos 是一个相册管理软件。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Upload path" 14 | msgstr "上传文件路径" 15 | 16 | msgid "Port" 17 | msgstr "端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "MTPhotos status:" 23 | msgstr "MTPhotos 的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "MTPhotos is running" 35 | msgstr "MTPhotos 运行中" 36 | 37 | msgid "MTPhotos is not running" 38 | msgstr "MTPhotos 未运行" 39 | 40 | msgid "Open MTPhotos" 41 | msgstr "打开 MTPhotos" 42 | 43 | msgid "The free space of Docker is less than 2GB, which may cause the installation to fail." 44 | msgstr "Docker 可用空间已不足2GB,可能导致安装失败。" 45 | 46 | msgid "Please make sure there has enough space" 47 | msgstr "请确保有足够空间" 48 | -------------------------------------------------------------------------------- /applications/luci-app-mtphotos/root/etc/config/mtphotos: -------------------------------------------------------------------------------- 1 | config main 2 | option 'port' '8063' 3 | # option 'config_path' '' 4 | # option 'upload_path' '' 5 | 6 | -------------------------------------------------------------------------------- /applications/luci-app-multiaccountdial/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2008-2014 The LuCI Team 3 | # 4 | # This is free software, licensed under the Apache License, Version 2.0 . 5 | # 6 | 7 | include $(TOPDIR)/rules.mk 8 | 9 | LUCI_TITLE:=multi account Virtual WAN config generator 10 | LUCI_PKGARCH:=all 11 | LUCI_DEPENDS:=+kmod-macvlan +luci-app-mwan3 12 | 13 | PKG_VERSION:=2.2-2 14 | PKG_RELEASE:= 15 | 16 | define Package/luci-app-multiaccountdial/conffiles 17 | /etc/config/multiaccountdial 18 | /etc/multiaccountdial/config 19 | endef 20 | 21 | include $(TOPDIR)/feeds/luci/luci.mk 22 | 23 | # call BuildPackage - OpenWrt buildroot signature 24 | -------------------------------------------------------------------------------- /applications/luci-app-multiaccountdial/luasrc/view/multiaccountdial/add_vwan_button.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | 3 | 15 | 16 | 17 | <%+cbi/valuefooter%> 18 | -------------------------------------------------------------------------------- /applications/luci-app-multiaccountdial/luasrc/view/multiaccountdial/del_vwan_button.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | 3 | 15 | 16 | 17 | <%+cbi/valuefooter%> 18 | -------------------------------------------------------------------------------- /applications/luci-app-multiaccountdial/luasrc/view/multiaccountdial/dial_status.htm: -------------------------------------------------------------------------------- 1 | 12 | 13 |
14 |

15 | <%:Collecting data...%> 16 |

17 |
18 | 19 | -------------------------------------------------------------------------------- /applications/luci-app-multiaccountdial/luasrc/view/multiaccountdial/redial_button.htm: -------------------------------------------------------------------------------- 1 | <%+cbi/valueheader%> 2 | 3 | 15 | 16 | 17 | <%+cbi/valuefooter%> 18 | -------------------------------------------------------------------------------- /applications/luci-app-multiaccountdial/root/etc/config/multiaccountdial: -------------------------------------------------------------------------------- 1 | config base_setting 2 | option add_mwan "0" 3 | -------------------------------------------------------------------------------- /applications/luci-app-multiaccountdial/root/etc/uci-defaults/luci-multiaccountdial: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | rm -f /tmp/luci-indexcache 3 | exit 0 4 | -------------------------------------------------------------------------------- /applications/luci-app-multiaccountdial/simple-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # run in router 4 | APPNAME=$1 5 | 6 | if [ -z "${APPNAME}" ]; then 7 | APPNAME=plex 8 | fi 9 | 10 | mkdir -p /usr/lib/lua/luci/view/${APPNAME} 11 | cp ./luasrc/controller/${APPNAME}.lua /usr/lib/lua/luci/controller/ 12 | cp ./luasrc/view/${APPNAME}/* /usr/lib/lua/luci/view/${APPNAME}/ 13 | cp -rf ./luasrc/model/* /usr/lib/lua/luci/model/ 14 | cp -rf ./root/* / 15 | rm -rf /tmp/luci-* 16 | 17 | -------------------------------------------------------------------------------- /applications/luci-app-mymind/Makefile: -------------------------------------------------------------------------------- 1 | include $(TOPDIR)/rules.mk 2 | 3 | PKG_VERSION:=1.0.1-20221119 4 | PKG_RELEASE:= 5 | PKG_MAINTAINER:=xiaobao 6 | 7 | LUCI_TITLE:=LuCI support for mymind 8 | LUCI_DESCRIPTION:=all 9 | 10 | LUCI_PKGARCH:=all 11 | 12 | include $(TOPDIR)/feeds/luci/luci.mk 13 | 14 | # call BuildPackage - OpenWrt buildroot signature 15 | 16 | -------------------------------------------------------------------------------- /applications/luci-app-mymind/luasrc/controller/mymind.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.mymind", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "mymind"}, alias("admin", "services", "mymind", "config"), _("MyMind"), 30).dependent = true 6 | entry({"admin", "services", "mymind", "config"}, cbi("mymind")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-mymind/luasrc/model/cbi/mymind.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | LuCI - Lua Configuration Interface 3 | ]]-- 4 | 5 | local taskd = require "luci.model.tasks" 6 | local m, s 7 | 8 | m = Map("mymind", 9 | translate("MyMind"), 10 | translate("MyMind is mind editor.") 11 | .. translate("Official website:") .. ' https://github.com/ondras/my-mind') 12 | 13 | s = m:section(SimpleSection, translate("MyMind Web"), translate("MyMind Web:")) 14 | s:append(Template("mymind/status")) 15 | 16 | return m 17 | -------------------------------------------------------------------------------- /applications/luci-app-mymind/luasrc/view/mymind/status.htm: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 |
6 |
7 | 8 | -------------------------------------------------------------------------------- /applications/luci-app-mymind/po/zh-cn/mymind.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "MyMind is mind editor." 8 | msgstr "MyMind 是一个在线思维导图编辑器。" 9 | 10 | msgid "Open MyMind" 11 | msgstr "打开 MyMind" 12 | 13 | msgid "MyMind Web" 14 | msgstr "MyMind 网页" 15 | -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013-2019 Ondrej Zara 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/PRIVACY.txt: -------------------------------------------------------------------------------- 1 | Privacy Policy 2 | ============== 3 | 4 | This application can be configured to use Google Drive as a storage option for Mind Map design files. If you decide to do so, please note that My Mind will have a theoretical access to all your Google Drive files. 5 | 6 | This application, however, only saves/loads those files that are explicitely requested by the user via My Mind's User Interface. 7 | 8 | This application is not accessing, reading, writing, modifying or deleting other kinds of data. In particular, user data and metadata (information about the user logged into the Google ecosystem) is never accessed. 9 | -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/css/menu.css: -------------------------------------------------------------------------------- 1 | #menu { 2 | position: absolute; 3 | z-index: 1; 4 | border: 1px solid #666; 5 | background-color: #fff; 6 | box-shadow: 0 0 2px 1px #666; 7 | } 8 | 9 | #menu button { 10 | display: block; 11 | background-color: transparent; 12 | border: none; 13 | margin: 0; 14 | padding: 3px 6px; 15 | font-size: 15px; 16 | width: 130px; 17 | text-align: left; 18 | } 19 | 20 | #menu button:hover { 21 | font-weight: bold; 22 | } 23 | 24 | #menu span { 25 | display: block; 26 | border-top: 1px solid #666; 27 | margin-top: 4px; 28 | padding-top: 4px; 29 | } 30 | 31 | #menu .ui select.fa-select, .ui select.fa-select option { 32 | font-size: 13px; 33 | } 34 | -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/css/print.css: -------------------------------------------------------------------------------- 1 | .ui, #toggle, #tip { 2 | display: none; 3 | } 4 | 5 | #port > .item { 6 | position: static; 7 | } 8 | -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/css/shape.css: -------------------------------------------------------------------------------- 1 | .shape-box > .content { 2 | padding: 0.15em 0.4em; 3 | background-color: #fff; 4 | border: 1px solid #666; 5 | border-radius: 3px; 6 | } 7 | 8 | .shape-ellipse > .content { 9 | background-color: #fff; 10 | border: 1px solid #666; 11 | border-radius: 50%; 12 | padding: 0.5em 1em; 13 | } 14 | 15 | /* current */ 16 | 17 | .current > .content { 18 | background-color: rgba(255, 255, 187, 0.9); 19 | } 20 | 21 | /* root */ 22 | 23 | #port > .item > .content { 24 | font-weight: bold; 25 | border-width: 2px; 26 | font-size: 140%; 27 | } 28 | 29 | #port > .item > .toggle { 30 | display: none; 31 | } 32 | 33 | /* 1st children */ 34 | 35 | #port > .item > .children > .item > .content { 36 | border-width: 2px; 37 | font-size: 120%; 38 | } 39 | 40 | .item .icon { 41 | margin: 0 0.5em 0 0; 42 | font-size: x-large; 43 | } 44 | -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/css/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/css/throbber.gif -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/favicon.ico -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/github.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/icons/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/icons/help.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/icons/new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/icons/new.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/icons/notes-indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/icons/notes-indicator.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/icons/notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/icons/notes.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/icons/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/icons/open.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/icons/save-as.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/icons/save-as.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/icons/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/icons/save.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/logo/logo128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/logo/logo128.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/logo/logo16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/logo/logo16.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/logo/logo256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/logo/logo256.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/logo/logo32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/logo/logo32.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/logo/logo64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/logo/logo64.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-mymind/root/www/luci-static/mymind/screenshot.png -------------------------------------------------------------------------------- /applications/luci-app-mymind/root/www/luci-static/mymind/vendor/pell/css/pell.min.css: -------------------------------------------------------------------------------- 1 | .pell{border:1px solid hsla(0,0%,4%,.1)}.pell,.pell-content{box-sizing:border-box}.pell-content{height:300px;outline:0;overflow-y:auto;padding:10px}.pell-actionbar{background-color:#fff;border-bottom:1px solid hsla(0,0%,4%,.1)}.pell-button{background-color:transparent;border:none;cursor:pointer;height:30px;outline:0;width:30px;vertical-align:bottom}.pell-button-selected{background-color:#f0f0f0} -------------------------------------------------------------------------------- /applications/luci-app-nastools/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.1.3-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for nastools 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-nastools/conffiles 13 | /etc/config/nastools 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-nastools/luasrc/controller/nastools.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.nastools", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "nastools"}, alias("admin", "services", "nastools", "config"), _("NasTools"), 30).dependent = true 6 | entry({"admin", "services", "nastools", "config"}, cbi("nastools")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-nastools/po/zh-cn/nastools.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "NasTools is a tools for resource aggregation running in NAS." 8 | msgstr "NasTools 是汇聚了电影搜索,下载,订阅,观看等等 NAS 功能的工具集合。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Port" 14 | msgstr "端口" 15 | 16 | msgid "Auto update" 17 | msgstr "自动更新" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "NasTools status:" 23 | msgstr "NasTools 的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "NasTools is running" 35 | msgstr "NasTools 运行中" 36 | 37 | msgid "Default username: admin, password: password" 38 | msgstr "默认用户名:admin,密码:password" 39 | 40 | msgid "NasTools is not running" 41 | msgstr "NasTools 未运行" 42 | 43 | msgid "Open NasTools" 44 | msgstr "打开 NasTools" 45 | -------------------------------------------------------------------------------- /applications/luci-app-nastools/root/etc/config/nastools: -------------------------------------------------------------------------------- 1 | config nastools 2 | option 'config_path' '' 3 | option 'http_port' '3003' 4 | option 'auto_upgrade' '0' 5 | option 'image_name' '' 6 | -------------------------------------------------------------------------------- /applications/luci-app-navidrome/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.1-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Navidrome 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-navidrome/conffiles 13 | /etc/config/navidrome 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-navidrome/luasrc/controller/navidrome.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.navidrome", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "navidrome"}, alias("admin", "services", "navidrome", "config"), _("Navidrome"), 30).dependent = true 6 | entry({"admin", "services", "navidrome", "config"}, cbi("navidrome")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-navidrome/po/zh-cn/navidrome.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Navidrome is an open source web-based music collection server and streamer." 8 | msgstr "Navidrome 是一个开源的在线音乐播放软件。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Music path" 14 | msgstr "音乐路径" 15 | 16 | msgid "HTTP Port" 17 | msgstr "HTTP 端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "Navidrome status:" 23 | msgstr "Navidrome 的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "Navidrome is running" 35 | msgstr "Navidrome 运行中" 36 | 37 | msgid "Navidrome is not running" 38 | msgstr "Navidrome 未运行" 39 | 40 | msgid "Open Navidrome" 41 | msgstr "打开 Navidrome" 42 | -------------------------------------------------------------------------------- /applications/luci-app-navidrome/root/etc/config/navidrome: -------------------------------------------------------------------------------- 1 | config main 2 | option 'http_port' '4533' 3 | option 'image_name' 'deluan/navidrome:latest' 4 | option 'config_path' '' 5 | option 'music_path' '' 6 | 7 | -------------------------------------------------------------------------------- /applications/luci-app-netdata/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2016 Openwrt.org 2 | # Copyright (C) 2020-2021 sirpdboy 3 | # https://github.com/sirpdboy/luci-app-netdata for v 1.30.1 cn 4 | # This is free software, licensed under the Apache License, Version 2.0 . 5 | # 6 | 7 | include $(TOPDIR)/rules.mk 8 | 9 | LUCI_TITLE:=LuCI support for Netdata 10 | LUCI_DEPENDS:=+netdata 11 | LUCI_PKGARCH:=all 12 | PKG_VERSION:=1.1-20210610 13 | PKG_RELEASE:= 14 | 15 | define Build/Compile 16 | endef 17 | 18 | 19 | include $(TOPDIR)/feeds/luci/luci.mk 20 | 21 | # call BuildPackage - OpenWrt buildroot signature 22 | 23 | -------------------------------------------------------------------------------- /applications/luci-app-netdata/README.md: -------------------------------------------------------------------------------- 1 | luci-app-netdata for OpenWRT/Lede 2 | 3 | 4 | Install to OpenWRT/LEDE 5 | 6 | git clone https://github.com/sirpdboy/luci-app-netdata 7 | 8 | cp -r luci-app-netdata LEDE_DIR/package/luci-app-netdata 9 | 10 | cd LEDE_DIR 11 | 12 | ./scripts/feeds update -a 13 | 14 | ./scripts/feeds install -a 15 | 16 | make menuconfig 17 | 18 | LuCI ---> 19 | 20 | 1. Collections ---> 21 | 22 | <*> luci 23 | 24 | 3. Applications ---> 25 | 26 | <*> luci-app-netdata.........................LuCI support for Netdata 27 | 28 | 29 | make package/new/luci-app-netdata/compile V=s 30 | 31 | -------------------------------------------------------------------------------- /applications/luci-app-netdata/luasrc/controller/netdata.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.netdata", package.seeall) 2 | 3 | function index() 4 | if not (luci.sys.call("pidof netdata > /dev/null") == 0) then 5 | return 6 | end 7 | local fs = require "nixio.fs" 8 | 9 | entry({"admin","status","netdata"},template("netdata"),_("NetData"),10).leaf=true 10 | 11 | 12 | end -------------------------------------------------------------------------------- /applications/luci-app-netdata/luasrc/model/cgi/netdate.lua: -------------------------------------------------------------------------------- 1 | -- Copyright 2018 Nick Peng (pymumu@gmail.com) 2 | 3 | function index() 4 | 5 | 6 | o = Map("netdate", "" .. translate("实时监控") .."", "" .. translate( "强大的实时监控数据,需要中文版请点击:【升级中文版】") .."") 7 | 8 | t = o:section(TypedSection, "netdate") 9 | t.anonymous = true 10 | t.description = translate(string.format("%s

", status)) 11 | 12 | t:tab("base",translate("Basic Settings")) 13 | 14 | e = t:taboption("base", Button, "restart", translate("手动更新")) 15 | e.inputtitle = translate("升级中文版") 16 | e.inputstyle = "reload" 17 | e.write = function() 18 | luci.sys.call("/usr/share/netdata/netdatacn 2>&1 >/dev/null") 19 | luci.http.redirect(luci.dispatcher.build_url("admin","status","netdata")) 20 | end 21 | 22 | t=o:section(TypedSection,"rss_rules",translate("技术支持")) 23 | t.anonymous = true 24 | t:append(Template("feedback")) 25 | return o 26 | -------------------------------------------------------------------------------- /applications/luci-app-netdata/luasrc/view/netdata.htm: -------------------------------------------------------------------------------- 1 | <%# 2 | Copyright 2008-2020 sirpdboy Wich 3 | https://github.com/sirpdboy/luci-app-netdata 4 | Licensed to the public under the Apache License 2.0. 5 | -%> 6 | 7 | <%+header%> 8 |
9 |

<%=translate("NetData")%>

10 | 16 | 17 | 18 |
19 | 22 | <%+footer%> 23 | -------------------------------------------------------------------------------- /applications/luci-app-netdata/po/zh-cn/netdata.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "NetData" 5 | msgstr "实时监控" 6 | -------------------------------------------------------------------------------- /applications/luci-app-netdata/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-netdata/readme.txt -------------------------------------------------------------------------------- /applications/luci-app-netdata/root/etc/netdata/ebpf.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | ebpf load mode = entry 3 | disable apps = no 4 | 5 | [ebpf programs] 6 | process = yes 7 | network viewer = yes 8 | -------------------------------------------------------------------------------- /applications/luci-app-netdata/root/etc/uci-defaults/40_luci-app-netdata: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | [ -f /usr/share/netdata/webcn/dashboard.js ] && mv -f /usr/share/netdata/webcn/dashboard.js /usr/share/netdata/web/dashboard.js 3 | [ -f /usr/share/netdata/webcn/dashboard_info.js ] && mv -f /usr/share/netdata/webcn/dashboard_info.js /usr/share/netdata/web/dashboard_info.js 4 | [ -f /usr/share/netdata/webcn/main.js ] && mv -f /usr/share/netdata/webcn/dashboard.js /usr/share/netdata/web/main.js 5 | [ -f /usr/share/netdata/webcn/index.html ] && mv -f /usr/share/netdata/webcn/index.html /usr/share/netdata/web/index.html 6 | 7 | rm -rf /tmp/luci-modulecache /tmp/luci-indexcache* 8 | exit 0 9 | -------------------------------------------------------------------------------- /applications/luci-app-netdata/root/usr/share/rpcd/acl.d/luci-app-netdata.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-nedata": { 3 | "description": "Grant UCI access for luci-app-netdata", 4 | "read": { 5 | "uci": [ "netdata" ] 6 | }, 7 | "write": { 8 | "uci": [ "netdata" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /applications/luci-app-nextcloud/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.1.1-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for nextcloud 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-nextcloud/conffiles 13 | /etc/config/nextcloud 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-nextcloud/luasrc/controller/nextcloud.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.nextcloud", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "nextcloud"}, alias("admin", "services", "nextcloud", "config"), _("Nextcloud"), 30).dependent = true 6 | entry({"admin", "services", "nextcloud", "config"}, cbi("nextcloud")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-nextcloud/po/zh-cn/nextcloud.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms." 8 | msgstr "所有数据的安全之家。 根据您的条件,从任何设备访问和共享您的文件、日历、联系人、邮件等。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Port" 14 | msgstr "端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "Nextcloud status:" 20 | msgstr "Nextcloud 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "Nextcloud is running" 32 | msgstr "Nextcloud 运行中" 33 | 34 | msgid "Nextcloud is not running" 35 | msgstr "Nextcloud 未运行" 36 | 37 | msgid "Open Nextcloud" 38 | msgstr "打开 Nextcloud" 39 | -------------------------------------------------------------------------------- /applications/luci-app-nextcloud/root/etc/config/nextcloud: -------------------------------------------------------------------------------- 1 | config nextcloud 2 | option 'port' '8082' 3 | option 'config_path' '' 4 | option 'image_name' 'nextcloud' 5 | -------------------------------------------------------------------------------- /applications/luci-app-nextcloud/root/etc/uci-defaults/luci-app-nextcloud: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | config_dir=`uci -q get nextcloud.@nextcloud[0].config_path` 4 | 5 | data_dir=`docker inspect --format '{{.Mounts}}' nextcloud | grep -Eom1 '[^ ]+/_data /var/www/html local true ' | cut -d' ' -f1` 6 | 7 | if [ -n "$data_dir" -a "$data_dir" != "$config_dir" ]; then 8 | uci -q batch <<-EOF >/dev/null 9 | set nextcloud.@nextcloud[0].config_path="$data_dir" 10 | commit nextcloud 11 | EOF 12 | fi 13 | 14 | exit 0 15 | -------------------------------------------------------------------------------- /applications/luci-app-oneapi/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.1-20250403 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for OneAPI 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +zoneinfo-asia +docker +luci-lib-taskd +luci-lib-docker 11 | 12 | define Package/luci-app-oneapi/conffiles 13 | /etc/config/oneapi 14 | endef 15 | 16 | define Package/luci-app-oneapi/prerm 17 | #!/bin/sh 18 | /usr/libexec/istorec/oneapi.sh stop 19 | exit 0 20 | endef 21 | 22 | include $(TOPDIR)/feeds/luci/luci.mk 23 | 24 | # call BuildPackage - OpenWrt buildroot signature 25 | -------------------------------------------------------------------------------- /applications/luci-app-oneapi/luasrc/controller/oneapi.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.oneapi", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "oneapi"}, alias("admin", "services", "oneapi", "config"), _("OneAPI"), 30).dependent = true 6 | entry({"admin", "services", "oneapi", "config"}, cbi("oneapi")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-oneapi/root/etc/config/oneapi: -------------------------------------------------------------------------------- 1 | config main 2 | option 'port' '3005' 3 | # option 'config_path' '' 4 | 5 | -------------------------------------------------------------------------------- /applications/luci-app-openwebui/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.8-20250207 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for OpenWebUI 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +zoneinfo-asia +docker +luci-lib-taskd +luci-lib-docker 11 | 12 | define Package/luci-app-openwebui/conffiles 13 | /etc/config/openwebui 14 | endef 15 | 16 | define Package/luci-app-openwebui/prerm 17 | #!/bin/sh 18 | /usr/libexec/istorec/openwebui.sh stop 19 | exit 0 20 | endef 21 | 22 | include $(TOPDIR)/feeds/luci/luci.mk 23 | 24 | # call BuildPackage - OpenWrt buildroot signature 25 | -------------------------------------------------------------------------------- /applications/luci-app-openwebui/luasrc/controller/openwebui.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.openwebui", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "openwebui"}, alias("admin", "services", "openwebui", "config"), _("OpenWebUI"), 30).dependent = true 6 | entry({"admin", "services", "openwebui", "config"}, cbi("openwebui")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-openwebui/po/zh-cn/openwebui.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Open WebUI is an extensible, self-hosted AI interface that adapts to your workflow, all while operating entirely offline." 8 | msgstr "Open WebUI 是一款可扩展、自托管的 AI 界面,能够无缝适配您的工作流程,且所有操作均可完全离线运行。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Port" 14 | msgstr "端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "OpenWebUI status:" 20 | msgstr "OpenWebUI 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "OpenWebUI is running" 32 | msgstr "OpenWebUI 运行中" 33 | 34 | msgid "OpenWebUI is not running" 35 | msgstr "OpenWebUI 未运行" 36 | 37 | msgid "Open OpenWebUI" 38 | msgstr "打开 OpenWebUI" 39 | 40 | msgid "The free space of Docker is less than 2GB, which may cause the installation to fail." 41 | msgstr "Docker 可用空间已不足2GB,可能导致安装失败。" 42 | 43 | msgid "Please make sure there has enough space" 44 | msgstr "请确保有足够空间" 45 | -------------------------------------------------------------------------------- /applications/luci-app-openwebui/root/etc/config/openwebui: -------------------------------------------------------------------------------- 1 | config main 2 | option 'port' '3000' 3 | -------------------------------------------------------------------------------- /applications/luci-app-owntone/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Owntone 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-owntone/conffiles 13 | /etc/config/owntone 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-owntone/luasrc/controller/owntone.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.owntone", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "owntone"}, alias("admin", "services", "owntone", "config"), _("Owntone"), 30).dependent = true 6 | entry({"admin", "services", "owntone", "config"}, cbi("owntone")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-owntone/po/zh-cn/owntone.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "OwnTone is an open source (audio) media server which allows sharing and streaming your media library to iTunes (DAAP1), Roku (RSP), AirPlay devices (multiroom), Chromecast and also supports local playback." 8 | msgstr "Owntone 是一个支持 iTunes, AirPlay, Chromecast 等的音乐串流平台。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Service Status" 14 | msgstr "服务状态" 15 | 16 | msgid "Owntone status:" 17 | msgstr "Owntone 的状态信息如下:" 18 | 19 | msgid "Setup" 20 | msgstr "安装配置" 21 | 22 | msgid "The following parameters will only take effect during installation or upgrade:" 23 | msgstr "以下参数只在安装或者升级时才会生效:" 24 | 25 | msgid "Status" 26 | msgstr "状态" 27 | 28 | msgid "Owntone is running" 29 | msgstr "Owntone 运行中" 30 | 31 | msgid "Owntone is not running" 32 | msgstr "Owntone 未运行" 33 | 34 | msgid "Open Owntone" 35 | msgstr "打开 Owntone" 36 | 37 | msgid "Owntone only works in host network with port 3689" 38 | msgstr "Owntone 只工作在宿主网络,管理端口 3689" 39 | -------------------------------------------------------------------------------- /applications/luci-app-owntone/root/etc/config/owntone: -------------------------------------------------------------------------------- 1 | config main 2 | option 'image_name' 'lscr.io/linuxserver/daapd:latest' 3 | option 'config_path' '' 4 | option 'music_path' '' 5 | 6 | -------------------------------------------------------------------------------- /applications/luci-app-penpot/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.0-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Penpot 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +docker-compose 11 | 12 | define Package/luci-app-penpot/conffiles 13 | /etc/config/penpot 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-penpot/luasrc/controller/penpot.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.penpot", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "penpot"}, alias("admin", "services", "penpot", "config"), _("Penpot"), 30).dependent = true 6 | entry({"admin", "services", "penpot", "config"}, cbi("penpot/config"), _("Config"), 10).leaf = true 7 | entry({"admin", "services", "penpot", "tool"}, form("penpot/tool"), _("Tool"), 30).leaf = true 8 | end 9 | -------------------------------------------------------------------------------- /applications/luci-app-penpot/luasrc/view/penpot/tool.htm: -------------------------------------------------------------------------------- 1 | <%+tasks/embed%> 2 | 3 | 11 | 12 | -------------------------------------------------------------------------------- /applications/luci-app-penpot/po/zh-cn/penpot.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Penpot is the first Open Source design and prototyping platform meant for cross-domain teams." 8 | msgstr "Penpot 是第一个开源的便于团队协作的在线设计平台。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "HTTP Port" 14 | msgstr "HTTP 端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "Penpot status:" 20 | msgstr "Penpot 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "Penpot is running" 32 | msgstr "Penpot 运行中" 33 | 34 | msgid "Penpot is not running" 35 | msgstr "Penpot 未运行" 36 | 37 | msgid "Open Penpot" 38 | msgstr "打开 Penpot" 39 | 40 | msgid "Console" 41 | msgstr "控制台" 42 | 43 | msgid "Manually edit template at" 44 | msgstr "可以手动手改配置文件的模板,路径在:" 45 | -------------------------------------------------------------------------------- /applications/luci-app-penpot/root/etc/config/penpot: -------------------------------------------------------------------------------- 1 | config main 2 | option 'http_port' '9001' 3 | option 'config_path' '' 4 | option 'public_uri' 'http://localhost:9001' 5 | option 'redis_uri' 'redis://penpot-redis/0' 6 | option 'db_uri' 'postgresql://penpot-postgres/penpot' 7 | option 'db_name' 'penpot' 8 | option 'db_username' 'penpot' 9 | option 'db_password' 'penpot' 10 | option 'smtp_default_from' 'no-reply@example.com' 11 | option 'smtp_default_reply_to' 'no-reply@example.com' 12 | 13 | -------------------------------------------------------------------------------- /applications/luci-app-photoprism/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.3-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for PhotoPrism 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-photoprism/conffiles 13 | /etc/config/photoprism 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-photoprism/luasrc/controller/photoprism.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.photoprism", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "photoprism"}, alias("admin", "services", "photoprism", "config"), _("PhotoPrism"), 30).dependent = true 6 | entry({"admin", "services", "photoprism", "config"}, cbi("photoprism")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-photoprism/po/zh-cn/photoprism.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "PhotoPrism® is an AI-Powered Photos App for the Decentralized Web." 8 | msgstr "PhotoPrism® PhotoPrism 是一个 AI 驱动的相册管理应用。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "HTTP Port" 14 | msgstr "HTTP 端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "Photoprism status:" 20 | msgstr "Photoprism 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "Photoprism is running" 32 | msgstr "Photoprism 运行中" 33 | 34 | msgid "Photoprism is not running" 35 | msgstr "Photoprism 未运行" 36 | 37 | msgid "Open Photoprism" 38 | msgstr "打开 Photoprism" 39 | 40 | msgid "Photo path" 41 | msgstr "相册路径" 42 | 43 | msgid "Default Password" 44 | msgstr "初始密码" 45 | 46 | msgid "Default User:" 47 | msgstr "默认用户:" 48 | 49 | msgid "Only works on first install or after using a fresh 'Config path'" 50 | msgstr "只在初次安装时或使用全新的'配置文件路径'后有效" 51 | -------------------------------------------------------------------------------- /applications/luci-app-photoprism/root/etc/config/photoprism: -------------------------------------------------------------------------------- 1 | config main 2 | option 'http_port' '2342' 3 | option 'image_name' 'photoprism/photoprism' 4 | option 'config_path' '' 5 | option 'password' '' 6 | 7 | -------------------------------------------------------------------------------- /applications/luci-app-plex/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Plex 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +luci-lib-docker 11 | 12 | define Package/luci-app-plex/conffiles 13 | /etc/config/plex 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-plex/luasrc/controller/plex.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.plex", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "plex"}, alias("admin", "services", "plex", "config"), _("Plex"), 30).dependent = true 6 | entry({"admin", "services", "plex", "config"}, cbi("plex")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-plex/root/etc/config/plex: -------------------------------------------------------------------------------- 1 | config main 2 | option 'hostnet' '0' 3 | option 'claim_token' '' 4 | option 'port' '32400' 5 | option 'config_path' '' 6 | 7 | -------------------------------------------------------------------------------- /applications/luci-app-plex/root/etc/uci-defaults/luci-app-plex: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | image_name=`uci get plex.@main[0].image_name 2>/dev/null` 4 | 5 | if [ "$image_name" == "plexinc/pms-docker:latest" -a "`uname -m`" != "x86_64" ]; then 6 | uci -q batch <<-EOF >/dev/null 7 | set plex.@main[0].image_name="" 8 | commit plex 9 | EOF 10 | fi 11 | exit 0 12 | -------------------------------------------------------------------------------- /applications/luci-app-pve/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=8.3.2-20250106 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for pve 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +vmease 11 | 12 | define Package/luci-app-pve/conffiles 13 | /etc/config/pve 14 | endef 15 | 16 | define Package/luci-app-pve/prerm 17 | #!/bin/sh 18 | /usr/libexec/istorec/pve.sh stop 19 | exit 0 20 | endef 21 | 22 | include $(TOPDIR)/feeds/luci/luci.mk 23 | 24 | # call BuildPackage - OpenWrt buildroot signature 25 | -------------------------------------------------------------------------------- /applications/luci-app-pve/luasrc/controller/pve.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.pve", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "pve"}, alias("admin", "services", "pve", "config"), _("PVE"), 30).dependent = true 6 | entry({"admin", "services", "pve", "config"}, cbi("pve/config"), _("Config"), 10).leaf = true 7 | entry({"admin", "services", "pve", "tool"}, form("pve/tool"), _("Tool"), 30).leaf = true 8 | end 9 | -------------------------------------------------------------------------------- /applications/luci-app-pve/luasrc/model/cbi/pve/tool.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | LuCI - Lua Configuration Interface 3 | ]]-- 4 | 5 | local http = require 'luci.http' 6 | 7 | m=SimpleForm("Tools") 8 | m.submit = false 9 | m.reset = false 10 | 11 | s = m:section(SimpleSection) 12 | 13 | o = s:option(Value, "action", translate("Action").."*") 14 | o.rmempty = false 15 | o.datatype = "string" 16 | o:value("gpu-passthrough", "gpu-passthrough") 17 | o.default = "gpu-passthrough" 18 | 19 | local t=Template("pve/tool") 20 | m:append(t) 21 | 22 | local btn_do = s:option(Button, "_do") 23 | btn_do.render = function(self, section, scope) 24 | self.inputstyle = "add" 25 | self.title = " " 26 | self.inputtitle = translate("Execute") 27 | Button.render(self, section, scope) 28 | end 29 | 30 | btn_do.write = function(self, section, value) 31 | local action = m:get(section, "action") 32 | if action == "gpu-passthrough" then 33 | local cmd = string.format("/usr/libexec/istorec/pve.sh %s", action) 34 | cmd = "/etc/init.d/tasks task_add pve " .. luci.util.shellquote(cmd) .. " >/dev/null 2>&1" 35 | os.execute(cmd) 36 | t.show_log_taskid = "pve" 37 | end 38 | end 39 | 40 | return m 41 | 42 | -------------------------------------------------------------------------------- /applications/luci-app-pve/luasrc/view/pve/tool.htm: -------------------------------------------------------------------------------- 1 | <%+tasks/embed%> 2 | 3 | 11 | 12 | -------------------------------------------------------------------------------- /applications/luci-app-pve/po/zh-cn/pve.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Proxmox" 8 | msgstr "Proxmox虚拟机(PVE)" 9 | 10 | msgid "Proxmox in iStoreOS." 11 | msgstr "运行在 iStoreOS 上面的 Proxmox(PVE) 虚拟机平台。" 12 | 13 | msgid "Config path" 14 | msgstr "配置文件路径" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "PVE status:" 20 | msgstr "PVE 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "PVE is running" 32 | msgstr "PVE 运行中" 33 | 34 | msgid "PVE is not running" 35 | msgstr "PVE 未运行" 36 | 37 | msgid "Open the PVE" 38 | msgstr "打开 PVE" 39 | 40 | msgid "Tool" 41 | msgstr "操作" 42 | 43 | msgid "Execute" 44 | msgstr "执行" 45 | 46 | msgid "Timezone" 47 | msgstr "时区" 48 | 49 | -------------------------------------------------------------------------------- /applications/luci-app-pve/root/etc/config/pve: -------------------------------------------------------------------------------- 1 | config pve 2 | option 'config_path' '' 3 | option 'http_port' '8006' 4 | option 'image_name' 'linkease/pve:latest' 5 | -------------------------------------------------------------------------------- /applications/luci-app-rtbwmon/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.1.0-1 6 | PKG_RELEASE:= 7 | PKG_MAINTAINER:=jjm2473 8 | 9 | LUCI_TITLE:=LuCI realtime client bandwidth monitor 10 | LUCI_PKGARCH:=all 11 | 12 | define Package/luci-app-rtbwmon/prerm 13 | #!/bin/sh 14 | if [ -z "$${IPKG_INSTROOT}" ]; then 15 | /usr/libexec/rtbwmon.sh prerm 16 | fi 17 | exit 0 18 | endef 19 | 20 | include $(TOPDIR)/feeds/luci/luci.mk 21 | 22 | # call BuildPackage - OpenWrt buildroot signature 23 | -------------------------------------------------------------------------------- /applications/luci-app-rtbwmon/README.md: -------------------------------------------------------------------------------- 1 | LuCI realtime traffic monitor, inspired by luci-app-wrtbwmon -------------------------------------------------------------------------------- /applications/luci-app-rtbwmon/luasrc/controller/rtbwmon.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.rtbwmon", package.seeall) 2 | 3 | function index() 4 | entry({"admin", "status", "rtbwmon"}, template("rtbwmon/rtbwmon"), _("Realtime Bandwidth"), 90) 5 | entry({"admin", "status", "rtbwmon", "data"}, call("data")) 6 | entry({"admin", "status", "rtbwmon", "ifaces"}, call("ifaces")) 7 | end 8 | 9 | function data() 10 | luci.http.prepare_content("text/csv") 11 | luci.http.write(luci.sys.exec("/usr/libexec/rtbwmon.sh update 2>/dev/null")) 12 | end 13 | 14 | function ifaces() 15 | luci.http.prepare_content("text/csv") 16 | luci.http.write(luci.sys.exec("/usr/libexec/rtbwmon.sh ifaces 2>/dev/null")) 17 | end 18 | -------------------------------------------------------------------------------- /applications/luci-app-rtbwmon/po/zh-cn/rtbwmon.po: -------------------------------------------------------------------------------- 1 | msgid "Realtime Bandwidth" 2 | msgstr "实时流量" 3 | 4 | msgid "Display the network speed of the client, and only count the external traffic" 5 | msgstr "显示客户端网速,只统计外连流量" 6 | 7 | msgid "Pause refresh" 8 | msgstr "暂停刷新" 9 | 10 | msgid "Only display clients of specific network interface" 11 | msgstr "只显示特定网络接口的客户端" 12 | 13 | msgid "Interface..." 14 | msgstr "接口..." 15 | 16 | msgid "Merge by MAC address" 17 | msgstr "按MAC地址合并" 18 | 19 | msgid "Filter..." 20 | msgstr "过滤..." 21 | 22 | msgid "Filter the data according to the hostname, IP, MAC" 23 | msgstr "按主机名、IP、MAC过滤数据" 24 | 25 | msgid "Client IP" 26 | msgstr "客户端 IP" 27 | 28 | msgid "Client MAC" 29 | msgstr "客户端 MAC" 30 | 31 | msgid "Download speed" 32 | msgstr "下载速度" 33 | 34 | msgid "Download packets" 35 | msgstr "下载包" 36 | 37 | msgid "Upload speed" 38 | msgstr "上传速度" 39 | 40 | msgid "Upload packets" 41 | msgstr "上传包" 42 | -------------------------------------------------------------------------------- /applications/luci-app-rtbwmon/root/etc/init.d/rtbwmon: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | 3 | USE_PROCD=1 4 | 5 | boot() { 6 | return 0 7 | } 8 | 9 | start_service() { 10 | procd_open_instance 11 | procd_set_param command /usr/libexec/rtbwmon.sh gc 12 | procd_close_instance 13 | } 14 | -------------------------------------------------------------------------------- /applications/luci-app-runmynas/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.1.1-20231208 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for runmynas 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+docker +luci-lib-iform +luci-lib-taskd 11 | LUCI_EXTRA_DEPENDS:=luci-lib-iform (>=1.1) 12 | 13 | define Package/luci-app-runmynas/conffiles 14 | /etc/config/runmynas 15 | endef 16 | 17 | include $(TOPDIR)/feeds/luci/luci.mk 18 | 19 | # call BuildPackage - OpenWrt buildroot signature 20 | 21 | -------------------------------------------------------------------------------- /applications/luci-app-runmynas/luasrc/view/runmynas/main.htm: -------------------------------------------------------------------------------- 1 | <%+header%> 2 | 3 | <%+tasks/embed%> 4 | 5 | 9 |
10 |
11 | 12 | 25 | 26 | 27 | 28 | <%+footer%> 29 | -------------------------------------------------------------------------------- /applications/luci-app-runmynas/root/etc/config/runmynas: -------------------------------------------------------------------------------- 1 | config runmynas 2 | option 'target' '' 3 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2016 Openwrt.org 2 | # 3 | # This is free software, licensed under the Apache License, Version 2.0 . 4 | # 5 | 6 | include $(TOPDIR)/rules.mk 7 | 8 | LUCI_TITLE:=LuCI support for sunpanel 9 | LUCI_DEPENDS:=+sunpanel 10 | LUCI_PKGARCH:=all 11 | 12 | PKG_VERSION:=1.3.1-2 13 | # PKG_RELEASE MUST be empty for luci.mk 14 | PKG_RELEASE:= 15 | 16 | LUCI_MINIFY_CSS:=0 17 | LUCI_MINIFY_JS:=0 18 | 19 | include $(TOPDIR)/feeds/luci/luci.mk 20 | 21 | # call BuildPackage - OpenWrt buildroot signature 22 | 23 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_AMS-Regular-0cdd387c.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_AMS-Regular-0cdd387c.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_AMS-Regular-30da91e8.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_AMS-Regular-30da91e8.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_AMS-Regular-68534840.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_AMS-Regular-68534840.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Bold-07d8e303.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Bold-07d8e303.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Bold-1ae6bd74.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Bold-1ae6bd74.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Bold-de7701e4.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Bold-de7701e4.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Regular-3398dd02.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Regular-3398dd02.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Regular-5d53e70a.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Regular-5d53e70a.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Regular-ed0b7437.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Caligraphic-Regular-ed0b7437.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Bold-74444efd.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Bold-74444efd.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Bold-9163df9c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Bold-9163df9c.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Bold-9be7ceb8.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Bold-9be7ceb8.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Regular-1e6f9579.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Regular-1e6f9579.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Regular-51814d27.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Regular-51814d27.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Regular-5e28753b.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Fraktur-Regular-5e28753b.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Bold-0f60d1b8.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Bold-0f60d1b8.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Bold-138ac28d.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Bold-138ac28d.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Bold-c76c5d69.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Bold-c76c5d69.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-BoldItalic-70ee1f64.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-BoldItalic-70ee1f64.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-BoldItalic-99cd42a3.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-BoldItalic-99cd42a3.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-BoldItalic-a6f7ec0d.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-BoldItalic-a6f7ec0d.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Italic-0d85ae7c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Italic-0d85ae7c.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Italic-97479ca6.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Italic-97479ca6.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Italic-f1d6ef86.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Italic-f1d6ef86.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Regular-c2342cd8.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Regular-c2342cd8.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Regular-c6368d87.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Regular-c6368d87.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Regular-d0332f52.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Main-Regular-d0332f52.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-BoldItalic-850c0af5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-BoldItalic-850c0af5.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-BoldItalic-dc47344d.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-BoldItalic-dc47344d.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-BoldItalic-f9377ab0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-BoldItalic-f9377ab0.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-Italic-08ce98e5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-Italic-08ce98e5.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-Italic-7af58c5e.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-Italic-7af58c5e.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-Italic-8a8d2445.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Math-Italic-8a8d2445.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Bold-1ece03f7.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Bold-1ece03f7.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Bold-e99ae511.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Bold-e99ae511.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Bold-ece03cfd.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Bold-ece03cfd.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Italic-00b26ac8.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Italic-00b26ac8.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Italic-3931dd81.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Italic-3931dd81.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Italic-91ee6750.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Italic-91ee6750.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Regular-11e4dc8a.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Regular-11e4dc8a.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Regular-68e8c73e.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Regular-68e8c73e.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Regular-f36ea897.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_SansSerif-Regular-f36ea897.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Script-Regular-036d4e95.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Script-Regular-036d4e95.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Script-Regular-1c67f068.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Script-Regular-1c67f068.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Script-Regular-d96cdf2b.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Script-Regular-d96cdf2b.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size1-Regular-6b47c401.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size1-Regular-6b47c401.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size1-Regular-95b6d2f1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size1-Regular-95b6d2f1.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size1-Regular-c943cc98.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size1-Regular-c943cc98.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size2-Regular-2014c523.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size2-Regular-2014c523.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size2-Regular-a6b2099f.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size2-Regular-a6b2099f.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size2-Regular-d04c5421.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size2-Regular-d04c5421.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size3-Regular-500e04d5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size3-Regular-500e04d5.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size3-Regular-6ab6b62e.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size3-Regular-6ab6b62e.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size4-Regular-99f9c675.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size4-Regular-99f9c675.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size4-Regular-a4af7d41.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size4-Regular-a4af7d41.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size4-Regular-c647367d.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Size4-Regular-c647367d.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Typewriter-Regular-71d517d6.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Typewriter-Regular-71d517d6.woff2 -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Typewriter-Regular-e14fed02.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Typewriter-Regular-e14fed02.woff -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Typewriter-Regular-f01f3e87.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/KaTeX_Typewriter-Regular-f01f3e87.ttf -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/_plugin-vue_export-helper-c27b6911.js: -------------------------------------------------------------------------------- 1 | const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _}; 2 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/about-2688cabc.js: -------------------------------------------------------------------------------- 1 | import{be as t}from"./index-7e19b821.js";function r(){return t({url:"/about"})}export{r as g}; 2 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/defaultBackground-80f713c8.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/defaultBackground-80f713c8.webp -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/gitee-9d895e3a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/gitee-9d895e3a.png -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/index-2b251fda.css: -------------------------------------------------------------------------------- 1 | .card[data-v-157c4864]{display:flex;justify-content:center;align-items:center;height:100px}.transparent-grid[data-v-157c4864]{background-image:linear-gradient(45deg,#e6e4e4 25%,transparent 25%,transparent 75%,#e6e4e4 75%),linear-gradient(45deg,#e6e4e4 25%,transparent 25%,transparent 75%,#e6e4e4 75%);background-size:16px 16px;background-position:0 0,8px 8px} 2 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/index-36cf7848.css: -------------------------------------------------------------------------------- 1 | .link{color:#0059ff} 2 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/index-7ae5884e.css: -------------------------------------------------------------------------------- 1 | .login-container{padding:20px;display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f2f6ff}.dark .login-container{background-color:#2b2b2b}@media (min-width: 600px){.login-card{width:auto;margin:0 10px}.login-button{width:100%}}.login-card{margin:20px;min-width:400px}.login-title{text-align:center;margin:20px} 2 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/index-8886367f.css: -------------------------------------------------------------------------------- 1 | .text-shadow[data-v-da662465]{text-shadow:0px 0px 5px gray} 2 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/index-8f0537f1.js: -------------------------------------------------------------------------------- 1 | import{be as o}from"./index-7e19b821.js";function n(r){return o({url:"/login",data:r})}function u(){return o({url:"/logout"})}export{u as a,n as l}; 2 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/index-8f8851de.js: -------------------------------------------------------------------------------- 1 | import{f as s,aX as a,b3 as c,b4 as o,a$ as r,b2 as n,bW as i,bX as l,aW as d,b0 as x,ac as p}from"./index-7e19b821.js";const u="/assets/404-b0d1a3d9.svg",_={class:"flex h-full"},m={class:"px-4 m-auto space-y-4 text-center max-[400px]"},f=i('

页面不存在

404
',3),N=s({__name:"index",setup(h){const e=l();function t(){e.push("/")}return(b,v)=>(d(),a("div",_,[c("div",m,[f,o(n(p),{type:"primary",onClick:t},{default:r(()=>[x(" 返回首页 ")]),_:1})])]))}});export{N as default}; 2 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/index-d715da4a.css: -------------------------------------------------------------------------------- 1 | .card[data-v-ad2e06f3]{display:flex;justify-content:center;align-items:center;height:80px}.transparent-grid[data-v-ad2e06f3]{background-image:linear-gradient(45deg,#f0f0f0 25%,transparent 25%,transparent 75%,#f0f0f0 75%),linear-gradient(45deg,#f0f0f0 25%,transparent 25%,transparent 75%,#f0f0f0 75%);background-size:16px 16px;background-position:0 0,8px 8px} 2 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/index-e0b65a22.js: -------------------------------------------------------------------------------- 1 | import{g as a,U as s}from"./index-d074e84b.js";import{f as n,r as i,D as _,aX as c,b4 as r,aW as p}from"./index-7e19b821.js";import{_ as l}from"./_plugin-vue_export-helper-c27b6911.js";import"./index-c238f14b.js";import"./index-b1d3d9b0.js";import"./Alert-018ca7af.js";const d=n({__name:"index",setup(m){const t=i([]);async function o(){const{data:e}=await a();console.log(e),t.value=e.list}return _(()=>{o()}),(e,f)=>(p(),c("div",null,[r(s)]))}});const k=l(d,[["__scopeId","data-v-157c4864"]]);export{k as default}; 2 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/logo-3d38229d.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/qq_group_qr2-e70d9e73.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/assets/qq_group_qr2-e70d9e73.png -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/favicon-black.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/favicon.ico -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/favicon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/logo.png -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/static/global.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkease/openwrt-app-actions/23472ba3a656f838385d0c66fe7b3f88102f91e2/applications/luci-app-sunpanel/htdocs/luci-static/sunpanel/static/global.css -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/luasrc/controller/sunpanel.lua: -------------------------------------------------------------------------------- 1 | module("luci.controller.sunpanel", package.seeall) 2 | 3 | function index() 4 | if not nixio.fs.access("/etc/config/sunpanel") then 5 | return 6 | end 7 | 8 | entry({"admin", "services", "sunpanel"}, cbi("sunpanel"), _("SunPanel"), 20).dependent = true 9 | 10 | entry({"admin", "services", "sunpanel_status"}, call("sunpanel_status")) 11 | end 12 | 13 | function sunpanel_status() 14 | local sys = require "luci.sys" 15 | local uci = require "luci.model.uci".cursor() 16 | local port = tonumber(uci:get_first("sunpanel", "sunpanel", "port")) 17 | 18 | local status = { 19 | running = (sys.call("pidof sunpanelbin >/dev/null") == 0), 20 | port = (port or 8897) 21 | } 22 | 23 | luci.http.prepare_content("application/json") 24 | luci.http.write_json(status) 25 | end 26 | 27 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/luasrc/model/cbi/sunpanel.lua: -------------------------------------------------------------------------------- 1 | --xiaobao ,20240223 2 | 3 | 4 | local block_model = require "luci.model.sunpanel" 5 | local m, s, o 6 | 7 | m = Map("sunpanel", translate("SunPanel"), translate("Server, NAS navigation panel, Homepage, Browser homepage. Login:") .. "admin@sun.cc/12345678" 8 | .. translate("Official website:") .. ' https://sun-panel-doc.enianteam.com/') 9 | 10 | m:section(SimpleSection).template = "sunpanel/status" 11 | 12 | s=m:section(TypedSection, "sunpanel", translate("Global settings")) 13 | s.addremove=false 14 | s.anonymous=true 15 | 16 | s:option(Flag, "enabled", translate("Enable")).rmempty=false 17 | 18 | s:option(Value, "port", translate("Port")).rmempty=false 19 | 20 | local blocks = block_model.blocks() 21 | local home = block_model.home() 22 | 23 | o = s:option(Value, "config_path", translate("Config path").."*") 24 | o.rmempty = false 25 | o.datatype = "string" 26 | 27 | local paths, default_path = block_model.find_paths(blocks, home, "Configs") 28 | for _, val in pairs(paths) do 29 | o:value(val, val) 30 | end 31 | o.default = default_path 32 | 33 | return m 34 | 35 | 36 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/luasrc/view/sunpanel/status.htm: -------------------------------------------------------------------------------- 1 | 21 | 22 |
23 | <%:SunPanel Status%> 24 |

25 | <%:Collecting data...%> 26 |

27 |
28 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/po/zh-cn/sunpanel.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Config path" 8 | msgstr "配置文件路径" 9 | 10 | msgid "Service Status" 11 | msgstr "服务状态" 12 | 13 | msgid "Server, NAS navigation panel, Homepage, Browser homepage. Login:" 14 | msgstr "一个好看的NAS导航页,登录:" 15 | 16 | msgid "Global settings" 17 | msgstr "全局配置" 18 | 19 | msgid "Status" 20 | msgstr "状态" 21 | 22 | -------------------------------------------------------------------------------- /applications/luci-app-sunpanel/po/zh_Hans: -------------------------------------------------------------------------------- 1 | zh-cn -------------------------------------------------------------------------------- /applications/luci-app-systools/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.12-20250528 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for SysTools 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +luci-lib-iform +luci-lib-taskd +speedtestcli 11 | LUCI_EXTRA_DEPENDS:=luci-lib-iform (>=1.1) 12 | 13 | include $(TOPDIR)/feeds/luci/luci.mk 14 | 15 | # call BuildPackage - OpenWrt buildroot signature 16 | 17 | -------------------------------------------------------------------------------- /applications/luci-app-systools/po/zh-cn/systools.po: -------------------------------------------------------------------------------- 1 | msgid "System Convenient Tools" 2 | msgstr "系统便利工具" 3 | 4 | msgid "Execute" 5 | msgstr "执行" 6 | 7 | msgid "Some convenient tools which can fix some errors." 8 | msgstr "一些便利的工具集,方便修复一些问题。" 9 | 10 | msgid "Disable LAN port keepalive" 11 | msgstr "禁用 LAN 口保活" 12 | 13 | msgid "Reset rom pkgs" 14 | msgstr "修复系统软件" 15 | 16 | msgid "Turn off IPv6" 17 | msgstr "关闭 IPv6" 18 | 19 | msgid "Full IPv6" 20 | msgstr "开启 IPv6" 21 | 22 | msgid "Half IPv6 (Only Router)" 23 | msgstr "半 IPv6(仅路由器)" 24 | 25 | msgid "Reset qBittorrent Password" 26 | msgstr "重置 qBittorrent 密码" 27 | 28 | msgid "HDD hibernation Status" 29 | msgstr "查看硬盘休眠" 30 | 31 | msgid "Run SpeedTest" 32 | msgstr "外网测速" 33 | 34 | msgid "Select the action to run:" 35 | msgstr "选择执行的操作:" 36 | 37 | msgid "Actions" 38 | msgstr "操作" 39 | 40 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/disable-planb.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "x$(uci -q get quickstart.main.disable_dhns)" = x1 ]; then 4 | echo "Already disabled!" 5 | else 6 | echo "Disabling..." 7 | uci set quickstart.main.disable_dhns=1 8 | uci commit quickstart 9 | /etc/init.d/quickstart restart 10 | echo "Done" 11 | fi 12 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/disable-wandrop.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | /etc/init.d/wan_drop disable 4 | 5 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/fw_wxedge.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.wxedge 5 | set firewall.wxedge=rule 6 | set firewall.wxedge.name="wxedge" 7 | set firewall.wxedge.target="ACCEPT" 8 | set firewall.wxedge.src="wan" 9 | set firewall.wxedge.dest_port="40000-65535" 10 | set firewall.wxedge.enabled="1" 11 | commit firewall 12 | EOF 13 | 14 | /etc/init.d/firewall reload 15 | 16 | echo "done" 17 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/ipv6_half_4.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ipv6_disable_nat() { 4 | NAT6=`uci -q get firewall.nat6.reload` 5 | if [ "$NAT6" = "1" ]; then 6 | uci -q delete network.wan6.sourcefilter 7 | uci -q delete firewall.nat6 8 | uci commit firewall 9 | /etc/init.d/firewall reload 10 | fi 11 | } 12 | 13 | ipv6_dns_on() { 14 | uci -q delete 'dhcp.@dnsmasq[0].filter_aaaa' 15 | } 16 | 17 | ipv6_half_mode() { 18 | uci -q batch <<-EOF >/dev/null 19 | del network.wan.ipv6 20 | del network.wan6.auto 21 | 22 | delete network.lan.ip6class 23 | 24 | del dhcp.wan6 25 | 26 | set dhcp.lan.ra='relay' 27 | del dhcp.lan.ra_slaac 28 | del dhcp.lan.ra_flags 29 | set dhcp.lan.dhcpv6='relay' 30 | set dhcp.lan.ndp='relay' 31 | EOF 32 | ipv6_dns_on 33 | } 34 | 35 | # disable ipv6 nat 36 | ipv6_disable_nat 37 | 38 | ipv6_half_mode 39 | 40 | uci -q batch <<-EOF >/dev/null 41 | commit dhcp 42 | commit network 43 | EOF 44 | 45 | /etc/init.d/odhcpd reload 46 | /etc/init.d/dnsmasq reload 47 | /etc/init.d/network reload 48 | 49 | echo "Done" 50 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/istore-reinstall.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ISTORE_REPO=https://istore.istoreos.com/repo/all/store 3 | FCURL="curl --fail --show-error" 4 | 5 | curl -V >/dev/null 2>&1 || { 6 | echo "prereq: install curl" 7 | opkg info curl | grep -Fqm1 curl || opkg update 8 | opkg install curl 9 | } 10 | 11 | IPK=`$FCURL "$ISTORE_REPO/Packages.gz" | zcat | grep -m1 '^Filename: luci-app-store.*\.ipk$' | sed -n -e 's/^Filename: \(.\+\)$/\1/p'` 12 | 13 | [ -n "$IPK" ] || exit 1 14 | 15 | $FCURL "$ISTORE_REPO/$IPK" | tar -xzO ./data.tar.gz | tar -xzO ./bin/is-opkg > /tmp/is-opkg 16 | 17 | [ -s "/tmp/is-opkg" ] || exit 1 18 | 19 | chmod 755 /tmp/is-opkg 20 | /tmp/is-opkg update 21 | # /tmp/is-opkg install taskd 22 | /tmp/is-opkg opkg install --force-reinstall luci-lib-taskd luci-lib-xterm 23 | /tmp/is-opkg opkg install --force-reinstall luci-app-store || exit $? 24 | [ -s "/etc/init.d/tasks" ] || /tmp/is-opkg opkg install --force-reinstall taskd 25 | [ -s "/usr/lib/lua/luci/cbi.lua" ] || /tmp/is-opkg opkg install luci-compat >/dev/null 2>&1 26 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/jellyfin_host.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # @jjm2473 3 | 4 | hosts() { 5 | cat <<-EOF 6 | api.themoviedb.org 13.35.67.86 7 | image.tmdb.org 104.16.61.155 8 | www.themoviedb.org 54.192.151.79 9 | EOF 10 | } 11 | 12 | filter() { 13 | local EXISTED=`uci show dhcp | grep -E '^dhcp\.@domain\[\d+\]\.name=' | sed 's/.*=//g'"; s/'//g" | sort -u` 14 | if [ "x$EXISTED" = "x" ]; then 15 | cat 16 | else 17 | grep -vFwe "$EXISTED" 18 | fi 19 | } 20 | add_host() { 21 | [ "x$1" = "x" -o "x$2" = "x" ] && return 22 | echo "set $1 = $2" 23 | uci -q batch <<-EOF >/dev/null 24 | add dhcp domain 25 | set dhcp.@domain[-1].name=$1 26 | set dhcp.@domain[-1].ip=$2 27 | EOF 28 | } 29 | add_hosts() { 30 | local line 31 | while read; do 32 | line="$REPLY" 33 | add_host $line 34 | done 35 | if [ -n "`uci changes dhcp`" ]; then 36 | echo "commit changes and reload dnsmasq" 37 | uci commit dhcp 38 | /etc/init.d/dnsmasq reload 39 | else 40 | echo "there is nothing to do" 41 | fi 42 | } 43 | 44 | hosts | filter | add_hosts 45 | 46 | echo "done" 47 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/net_check.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | date 4 | 5 | nslookup baidu.com 6 | 7 | ping -c 4 baidu.com 8 | 9 | curl -o /dev/null https://www.baidu.com/ 10 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/openssl-aes256gcm.run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | openssl speed -evp aes-256-gcm 4 | 5 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/openssl-chacha20-poly1305.run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | openssl speed -evp chacha20-poly1305 4 | 5 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/qb_reset_password.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | profile=`uci get qbittorrent.main.profile` 4 | if [ -n "$profile" ]; then 5 | echo "qb profile: $profile" 6 | echo "stop qb" 7 | /etc/init.d/qbittorrent stop 8 | sleep 2 9 | echo "delete password" 10 | sed -i '/^WebUI\\Password_/d' "$profile/qBittorrent/config/qBittorrent.conf" 11 | echo "start qb" 12 | /etc/init.d/qbittorrent start 13 | else 14 | echo "profile not defined!" 15 | fi 16 | 17 | echo "done" 18 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/select_none.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "Please select action to run!" 4 | 5 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/speedtest-servers.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export PATH=/usr/bin:/sbin:/bin/usr/bin:/sbin:/bin 4 | export HOME=/root 5 | export GATEWAY_INTERFACE= 6 | export REMOTE_HOST= 7 | export REMOTE_ADDR= 8 | export SHLVL= 9 | export QUERY_STRING= 10 | export HTTP_USER_AGENT= 11 | export DOCUMENT_ROOT= 12 | export REMOTE_PORT= 13 | export HTTP_ACCEPT= 14 | export SCRIPT_FILENAME= 15 | export HTTP_HOST= 16 | export REQUEST_URI= 17 | export SERVER_SOFTWARE= 18 | export HTTP_CONNECTION= 19 | export HTTP_COOKIE= 20 | export HTTP_ACCEPT_LANGUAGE= 21 | export SERVER_PROTOCOL= 22 | export HTTP_ACCEPT_ENCODING= 23 | export PATH_INFO= 24 | export REDIRECT_STATUS= 25 | export REQUEST_METHOD= 26 | export SERVER_ADDR= 27 | export PWD= 28 | export SERVER_PORT= 29 | export SCRIPT_NAME= 30 | export SERVER_NAME= 31 | export TERM=screen-256color 32 | 33 | /usr/bin/speedtest --format=json --accept-license --accept-gdpr --servers 2>/dev/null 34 | 35 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/speedtest.run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd /root 4 | export HOME=/root 5 | SERVER=${1} 6 | 7 | echo "run speedtest" 8 | if [ "$SERVER" == "auto" ]; then 9 | echo "/usr/bin/speedtest" 10 | echo "yes"|/usr/bin/speedtest 11 | else 12 | echo "/usr/bin/speedtest -s $SERVER" 13 | echo "yes"|/usr/bin/speedtest -s $SERVER 14 | fi 15 | 16 | -------------------------------------------------------------------------------- /applications/luci-app-systools/root/usr/share/systools/turn_off_ipv6.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "uci settings" 4 | 5 | ipv6_disable_nat() { 6 | NAT6=`uci -q get firewall.nat6.reload` 7 | if [ "$NAT6" = "1" ]; then 8 | uci -q delete network.wan6.sourcefilter 9 | uci -q delete firewall.nat6 10 | uci commit firewall 11 | /etc/init.d/firewall reload 12 | fi 13 | } 14 | 15 | ipv6_disable_nat 16 | 17 | uci -q batch <<-EOF 18 | del dhcp.lan.ra 19 | del dhcp.lan.dhcpv6 20 | del dhcp.lan.ra_flags 21 | add_list dhcp.lan.ra_flags=none 22 | 23 | set network.wan.ipv6='0' 24 | del dhcp.wan.ra_flags 25 | add_list dhcp.wan.ra_flags=none 26 | 27 | set network.wan6.auto=0 28 | delete network.lan.ip6class 29 | 30 | set dhcp.@dnsmasq[0].filter_aaaa='1' 31 | 32 | commit network 33 | commit dhcp 34 | EOF 35 | 36 | echo "reload_config" 37 | reload_config 38 | echo -n "wait for device online" 39 | for i in `seq 10 -1 1`; do 40 | echo -n "." 41 | sleep 1 42 | done 43 | echo "" 44 | echo "done" 45 | -------------------------------------------------------------------------------- /applications/luci-app-typecho/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for TypeCho 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +luci-lib-docker 11 | 12 | define Package/luci-app-typecho/conffiles 13 | /etc/config/typecho 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-typecho/luasrc/controller/typecho.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.typecho", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "typecho"}, alias("admin", "services", "typecho", "config"), _("TypeCho"), 30).dependent = true 6 | entry({"admin", "services", "typecho", "config"}, cbi("typecho")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-typecho/po/zh-cn/typecho.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "TypeCho is a lightweight blog." 8 | msgstr "TypeCho 是一个轻量级博客。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Port" 14 | msgstr "端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "TypeCho status:" 20 | msgstr "TypeCho 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "TypeCho is running" 32 | msgstr "TypeCho 运行中" 33 | 34 | msgid "TypeCho is not running" 35 | msgstr "TypeCho 未运行" 36 | 37 | msgid "Open TypeCho" 38 | msgstr "打开 TypeCho" 39 | 40 | msgid "The free space of Docker is less than 2GB, which may cause the installation to fail." 41 | msgstr "Docker 可用空间已不足2GB,可能导致安装失败。" 42 | 43 | msgid "Please make sure there has enough space" 44 | msgstr "请确保有足够空间" 45 | -------------------------------------------------------------------------------- /applications/luci-app-typecho/root/etc/config/typecho: -------------------------------------------------------------------------------- 1 | config main 2 | option 'port' '9080' 3 | option 'config_path' '' 4 | 5 | -------------------------------------------------------------------------------- /applications/luci-app-ubuntu/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.1.1-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for ubuntu 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+docker +luci-lib-iform +luci-lib-taskd 11 | LUCI_EXTRA_DEPENDS:=luci-lib-iform (>=1.1) 12 | 13 | define Package/luci-app-ubuntu/conffiles 14 | /etc/config/ubuntu 15 | endef 16 | 17 | include $(TOPDIR)/feeds/luci/luci.mk 18 | 19 | # call BuildPackage - OpenWrt buildroot signature 20 | 21 | -------------------------------------------------------------------------------- /applications/luci-app-ubuntu/luasrc/view/ubuntu/main.htm: -------------------------------------------------------------------------------- 1 | <%+header%> 2 | 3 | <%+tasks/embed%> 4 | 5 | 9 |
10 |
11 | 12 | 32 | 33 | 34 | 35 | <%+footer%> 36 | -------------------------------------------------------------------------------- /applications/luci-app-ubuntu/po/zh-cn/ubuntu.po: -------------------------------------------------------------------------------- 1 | msgid "ubuntu" 2 | msgstr "ubuntu" 3 | 4 | msgid "The ubuntu service is running." 5 | msgstr "ubuntu已启动" 6 | 7 | msgid "The ubuntu service is not running." 8 | msgstr "ubuntu服务未启动" 9 | 10 | msgid "The ubuntu service is not installed." 11 | msgstr "ubuntu服务未安装" 12 | 13 | msgid "open ubuntu" 14 | msgstr "打开ubuntu" 15 | 16 | msgid "stop ubuntu" 17 | msgstr "停止ubuntu" 18 | 19 | msgid "run ubuntu" 20 | msgstr "启动ubuntu" 21 | 22 | msgid "uninstall ubuntu" 23 | msgstr "删除ubuntu" 24 | 25 | msgid "install ubuntu" 26 | msgstr "安装ubuntu" 27 | 28 | msgid "Collecting data..." 29 | msgstr "收集数据..." 30 | 31 | msgid "storage path" 32 | msgstr "存储路径(建议插入U盘或硬盘,然后输入路径。例如:/mnt/sda1/ubuntu)" 33 | 34 | msgid "Storage path could not be empty!" 35 | msgstr "存储路径不能为空!" 36 | 37 | msgid "Version" 38 | msgstr "系统版本" 39 | 40 | msgid "Port (optional)" 41 | msgstr "端口" 42 | 43 | msgid "Password (optional)" 44 | msgstr "密码" 45 | 46 | msgid "standard version" 47 | msgstr "标准版本" 48 | 49 | msgid "full version" 50 | msgstr "全量版本" 51 | 52 | msgid "UserName" 53 | msgstr "用户名" 54 | 55 | msgid "Password" 56 | msgstr "密码" 57 | 58 | msgid "LanAddress" 59 | msgstr "内网地址" 60 | 61 | msgid "WanAddress" 62 | msgstr "外网地址" -------------------------------------------------------------------------------- /applications/luci-app-ubuntu/root/etc/config/ubuntu: -------------------------------------------------------------------------------- 1 | config ubuntu 2 | option 'image' 'linkease/desktop-ubuntu-standard-arm64:latest' 3 | option 'password' 'password' 4 | option 'port' '6901' 5 | option 'version' 'standard' 6 | -------------------------------------------------------------------------------- /applications/luci-app-ubuntu2/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.3-20241215 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Ubuntu2 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-ubuntu2/conffiles 13 | /etc/config/ubuntu2 14 | endef 15 | 16 | define Package/luci-app-ubuntu2/prerm 17 | #!/bin/sh 18 | /usr/libexec/istorec/ubuntu2.sh stop 19 | exit 0 20 | endef 21 | 22 | include $(TOPDIR)/feeds/luci/luci.mk 23 | 24 | # call BuildPackage - OpenWrt buildroot signature 25 | -------------------------------------------------------------------------------- /applications/luci-app-ubuntu2/luasrc/controller/ubuntu2.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.ubuntu2", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "ubuntu2"}, alias("admin", "services", "ubuntu2", "config"), _("Ubuntu2"), 30).dependent = true 6 | entry({"admin", "services", "ubuntu2", "config"}, cbi("ubuntu2")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-ubuntu2/po/zh-cn/ubuntu2.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Ubuntu2 is a high-Performance ubuntu with web remote desktop. [username: abc, password is empty]" 8 | msgstr "Ubuntu2 是带浏览器桌面的高性能 Ubuntu. [用户名: abc, 密码为空]。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "HTTPS Port" 14 | msgstr "HTTPS 端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "Ubuntu2 status:" 20 | msgstr "Ubuntu2 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "Ubuntu2 is running" 32 | msgstr "Ubuntu2 运行中" 33 | 34 | msgid "Ubuntu2 is not running" 35 | msgstr "Ubuntu2 未运行" 36 | 37 | msgid "Open Ubuntu2" 38 | msgstr "打开 Ubuntu2" 39 | -------------------------------------------------------------------------------- /applications/luci-app-ubuntu2/root/etc/config/ubuntu2: -------------------------------------------------------------------------------- 1 | config main 2 | # option 'config_path' '' 3 | 4 | -------------------------------------------------------------------------------- /applications/luci-app-unifi/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for UnifiController 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-unifi/conffiles 13 | /etc/config/unifi 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-unifi/luasrc/controller/unifi.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.unifi", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "unifi"}, alias("admin", "services", "unifi", "config"), _("UnifiController"), 30).dependent = true 6 | entry({"admin", "services", "unifi", "config"}, cbi("unifi")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-unifi/po/zh-cn/unifi.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "UnifiController ubnt." 8 | msgstr "Ubnt AC 控制器。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "HTTPS Port" 14 | msgstr "HTTPS 端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "UnifiController status:" 20 | msgstr "UnifiController 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "UnifiController is running" 32 | msgstr "UnifiController 运行中" 33 | 34 | msgid "UnifiController is not running" 35 | msgstr "UnifiController 未运行" 36 | 37 | msgid "Open UnifiController" 38 | msgstr "打开 UnifiController" 39 | 40 | msgid "UnifiController running in host network, port is always 8443 if enabled" 41 | msgstr "在宿主网络运行 UnifiController,如果启用则端口固定为8443,注意此端口可能与其他应用冲突" 42 | -------------------------------------------------------------------------------- /applications/luci-app-unifi/root/etc/config/unifi: -------------------------------------------------------------------------------- 1 | config main 2 | option 'hostnet' '0' 3 | option 'http_port' '8083' 4 | option 'image_name' 'lscr.io/linuxserver/unifi-controller:latest' 5 | option 'config_path' '' 6 | 7 | -------------------------------------------------------------------------------- /applications/luci-app-uptimekuma/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.0-20250406 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for UptimeKuma 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +zoneinfo-asia +docker +luci-lib-taskd +luci-lib-docker 11 | 12 | define Package/luci-app-uptimekuma/conffiles 13 | /etc/config/uptimekuma 14 | endef 15 | 16 | define Package/luci-app-uptimekuma/prerm 17 | #!/bin/sh 18 | /usr/libexec/istorec/uptimekuma.sh stop 19 | exit 0 20 | endef 21 | 22 | include $(TOPDIR)/feeds/luci/luci.mk 23 | 24 | # call BuildPackage - OpenWrt buildroot signature 25 | -------------------------------------------------------------------------------- /applications/luci-app-uptimekuma/luasrc/controller/uptimekuma.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.uptimekuma", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "uptimekuma"}, alias("admin", "services", "uptimekuma", "config"), _("UptimeKuma"), 30).dependent = true 6 | entry({"admin", "services", "uptimekuma", "config"}, cbi("uptimekuma")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-uptimekuma/po/zh-cn/uptimekuma.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Uptime Kuma is an easy-to-use self-hosted monitoring tool." 8 | msgstr "Uptime Kuma 是一款易于使用的自托管监控工具。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Port" 14 | msgstr "端口" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "UptimeKuma status:" 20 | msgstr "UptimeKuma 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "UptimeKuma is running" 32 | msgstr "UptimeKuma 运行中" 33 | 34 | msgid "UptimeKuma is not running" 35 | msgstr "UptimeKuma 未运行" 36 | 37 | msgid "Open UptimeKuma" 38 | msgstr "打开 UptimeKuma" 39 | 40 | msgid "The free space of Docker is less than 2GB, which may cause the installation to fail." 41 | msgstr "Docker 可用空间已不足2GB,可能导致安装失败。" 42 | 43 | msgid "Please make sure there has enough space" 44 | msgstr "请确保有足够空间" 45 | -------------------------------------------------------------------------------- /applications/luci-app-uptimekuma/root/etc/config/uptimekuma: -------------------------------------------------------------------------------- 1 | config main 2 | option 'port' '3001' 3 | # option 'config_path' '' 4 | 5 | -------------------------------------------------------------------------------- /applications/luci-app-vaultwarden/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.1-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Vaultwarden 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-vaultwarden/conffiles 13 | /etc/config/vaultwarden 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-vaultwarden/luasrc/controller/vaultwarden.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.vaultwarden", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "vaultwarden"}, alias("admin", "services", "vaultwarden", "config"), _("Vaultwarden"), 30).dependent = true 6 | entry({"admin", "services", "vaultwarden", "config"}, cbi("vaultwarden")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-vaultwarden/po/zh-cn/vaultwarden.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Vaultwarden is an alternative implementation of the Bitwarden server API written in Rust and compatible with upstream Bitwarden clients." 8 | msgstr "Vaultwarden 是另一个 Bitwarden server API 的服务器端实现。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "HTTP Port" 14 | msgstr "HTTP 端口" 15 | 16 | msgid "Notify Port" 17 | msgstr "通知端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "Vaultwarden status:" 23 | msgstr "Vaultwarden 的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "Vaultwarden is running" 35 | msgstr "Vaultwarden 运行中" 36 | 37 | msgid "Vaultwarden is not running" 38 | msgstr "Vaultwarden 未运行" 39 | 40 | msgid "Open Vaultwarden" 41 | msgstr "打开 Vaultwarden" 42 | 43 | msgid "Open Vaultwarden Admin" 44 | msgstr "打开 Vaultwarden 管理" 45 | -------------------------------------------------------------------------------- /applications/luci-app-vaultwarden/root/etc/config/vaultwarden: -------------------------------------------------------------------------------- 1 | config main 2 | option 'http_port' '8002' 3 | option 'notify_port' '' 4 | option 'admin_token' '' 5 | option 'signup_allowed' '0' 6 | option 'image_name' 'vaultwarden/server:latest' 7 | option 'config_path' '' 8 | 9 | -------------------------------------------------------------------------------- /applications/luci-app-wan-mac/Makefile: -------------------------------------------------------------------------------- 1 | 2 | include $(TOPDIR)/rules.mk 3 | 4 | PKG_VERSION:=1.0.1-20230405 5 | PKG_RELEASE:= 6 | PKG_MAINTAINER:=jjm2473 7 | 8 | LUCI_TITLE:=Generate MAC address for WAN 9 | LUCI_PKGARCH:=all 10 | 11 | define Package/luci-app-wan-mac/conffiles 12 | /etc/config/wan_mac 13 | endef 14 | 15 | include $(TOPDIR)/feeds/luci/luci.mk 16 | 17 | # call BuildPackage - OpenWrt buildroot signature 18 | -------------------------------------------------------------------------------- /applications/luci-app-wan-mac/po/zh-cn/wan_mac.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Content-Type: text/plain; charset=UTF-8" 4 | 5 | msgid "Global Settings" 6 | msgstr "全局设置" 7 | 8 | msgid "Select or input Prefix first!" 9 | msgstr "先选择或者输入前缀!" 10 | 11 | msgid "Prefix is a Multicast address!" 12 | msgstr "前缀是一个多播地址!" 13 | 14 | msgid "WAN MAC address" 15 | msgstr "WAN口MAC地址" 16 | 17 | msgid "" 18 | "Change the MAC address of WAN port.
" 19 | "Note that modifying the MAC address may cause the IP address to change." 20 | msgstr "修改WAN口的MAC地址。
注意修改MAC地址以后可能导致IP地址变化。" 21 | 22 | msgid "MAC Address Settings" 23 | msgstr "MAC地址设置" 24 | 25 | msgid "MAC address prefix" 26 | msgstr "MAC地址前缀" 27 | 28 | msgid "Supports \"000000\" format" 29 | msgstr "支持\"000000\"格式" 30 | 31 | msgid "MAC address" 32 | msgstr "MAC地址" 33 | 34 | msgid "Supports \"00:00:00:00:00:00\" format" 35 | msgstr "支持\"00:00:00:00:00:00\"格式" 36 | 37 | msgid "Randomly Generate Using Prefix" 38 | msgstr "使用前缀随机生成" 39 | 40 | msgid "Select a prefix and click the \"Randomly Generate Using Prefix\" button to generate a MAC address" 41 | msgstr "选择前缀,然后点击“使用前缀随机生成”按钮即可生成MAC地址" 42 | -------------------------------------------------------------------------------- /applications/luci-app-wan-mac/root/etc/config/wan_mac: -------------------------------------------------------------------------------- 1 | config wan_mac 'config' 2 | option enabled '0' 3 | # option prefix '' 4 | # option macaddr '' 5 | -------------------------------------------------------------------------------- /applications/luci-app-wan-mac/root/usr/share/luci/menu.d/luci-app-wan-mac.json: -------------------------------------------------------------------------------- 1 | { 2 | "admin/network/wan_mac": { 3 | "title": "WAN MAC", 4 | "order": 99, 5 | "action": { 6 | "type": "view", 7 | "path": "wan_mac" 8 | }, 9 | "depends": { 10 | "acl": [ "luci-app-wan-mac" ], 11 | "uci": { "wan_mac": true } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /applications/luci-app-wan-mac/root/usr/share/rpcd/acl.d/luci-app-wan-mac.json: -------------------------------------------------------------------------------- 1 | { 2 | "luci-app-wan-mac": { 3 | "description": "Grant access to 'WAN MAC'", 4 | "read": { 5 | "uci": [ "wan_mac" ] 6 | }, 7 | "write": { 8 | "uci": [ "wan_mac" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /applications/luci-app-webvirtcloud/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=0.8.5-20241221-1 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for webvirtcloud 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +vmease 11 | 12 | define Package/luci-app-webvirtcloud/conffiles 13 | /etc/config/webvirtcloud 14 | endef 15 | 16 | define Package/luci-app-webvirtcloud/prerm 17 | #!/bin/sh 18 | /usr/libexec/istorec/webvirtcloud.sh stop 19 | exit 0 20 | endef 21 | 22 | include $(TOPDIR)/feeds/luci/luci.mk 23 | 24 | # call BuildPackage - OpenWrt buildroot signature 25 | -------------------------------------------------------------------------------- /applications/luci-app-webvirtcloud/luasrc/controller/webvirtcloud.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.webvirtcloud", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "webvirtcloud"}, alias("admin", "services", "webvirtcloud", "config"), _("KVM WebVirtCloud"), 30).dependent = true 6 | entry({"admin", "services", "webvirtcloud", "config"}, cbi("webvirtcloud/config"), _("Config"), 10).leaf = true 7 | entry({"admin", "services", "webvirtcloud", "tool"}, form("webvirtcloud/tool"), _("Tool"), 30).leaf = true 8 | end 9 | -------------------------------------------------------------------------------- /applications/luci-app-webvirtcloud/luasrc/model/cbi/webvirtcloud/tool.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | LuCI - Lua Configuration Interface 3 | ]]-- 4 | 5 | local http = require 'luci.http' 6 | 7 | m=SimpleForm("Tools") 8 | m.submit = false 9 | m.reset = false 10 | 11 | s = m:section(SimpleSection) 12 | 13 | o = s:option(Value, "action", translate("Action").."*") 14 | o.rmempty = false 15 | o.datatype = "string" 16 | o:value("gpu-passthrough", "gpu-passthrough") 17 | o.default = "gpu-passthrough" 18 | 19 | local t=Template("webvirtcloud/tool") 20 | m:append(t) 21 | 22 | local btn_do = s:option(Button, "_do") 23 | btn_do.render = function(self, section, scope) 24 | self.inputstyle = "add" 25 | self.title = " " 26 | self.inputtitle = translate("Execute") 27 | Button.render(self, section, scope) 28 | end 29 | 30 | btn_do.write = function(self, section, value) 31 | local action = m:get(section, "action") 32 | if action == "gpu-passthrough" then 33 | local cmd = string.format("/usr/libexec/istorec/webvirtcloud.sh %s", action) 34 | cmd = "/etc/init.d/tasks task_add webvirtcloud " .. luci.util.shellquote(cmd) .. " >/dev/null 2>&1" 35 | os.execute(cmd) 36 | t.show_log_taskid = "webvirtcloud" 37 | end 38 | end 39 | 40 | return m 41 | 42 | -------------------------------------------------------------------------------- /applications/luci-app-webvirtcloud/luasrc/view/webvirtcloud/tool.htm: -------------------------------------------------------------------------------- 1 | <%+tasks/embed%> 2 | 3 | 11 | 12 | -------------------------------------------------------------------------------- /applications/luci-app-webvirtcloud/po/zh-cn/webvirtcloud.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "KVM WebVirtCloud" 8 | msgstr "KVM虚拟机(WebVirtCloud)" 9 | 10 | msgid "KVM web manager in iStoreOS using webvirtcloud." 11 | msgstr "iStoreOS 上面的 KVM 虚拟机,基于 WebVirtCloud 实现。" 12 | 13 | msgid "Config path" 14 | msgstr "配置文件路径" 15 | 16 | msgid "Service Status" 17 | msgstr "服务状态" 18 | 19 | msgid "WebVirtCloud status:" 20 | msgstr "WebVirtCloud 的状态信息如下:" 21 | 22 | msgid "Setup" 23 | msgstr "安装配置" 24 | 25 | msgid "The following parameters will only take effect during installation or upgrade:" 26 | msgstr "以下参数只在安装或者升级时才会生效:" 27 | 28 | msgid "Status" 29 | msgstr "状态" 30 | 31 | msgid "WebVirtCloud is running" 32 | msgstr "WebVirtCloud 运行中" 33 | 34 | msgid "WebVirtCloud is not running" 35 | msgstr "WebVirtCloud 未运行" 36 | 37 | msgid "Open the WebVirtCloud" 38 | msgstr "打开 WebVirtCloud" 39 | 40 | msgid "Tool" 41 | msgstr "操作" 42 | 43 | msgid "Execute" 44 | msgstr "执行" 45 | 46 | msgid "Timezone" 47 | msgstr "时区" 48 | 49 | -------------------------------------------------------------------------------- /applications/luci-app-webvirtcloud/root/etc/config/webvirtcloud: -------------------------------------------------------------------------------- 1 | config webvirtcloud 2 | option 'config_path' '' 3 | option 'http_port' '6009' 4 | option 'image_name' 'linkease/webvirtcloud:latest' 5 | # option 'time_zone' '' 6 | # option 'bootargs' '' 7 | # option 'vfioargs' '' 8 | # option 'mod_ignores' '' 9 | -------------------------------------------------------------------------------- /applications/luci-app-wxedge/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.1.7-20250516 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for wxedge 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-wxedge/conffiles 13 | /etc/config/wxedge 14 | endef 15 | 16 | # prerm 17 | # postrm 18 | define Package/luci-app-wxedge/prerm 19 | #!/bin/sh 20 | docker rm -f wxedge 21 | exit 0 22 | endef 23 | 24 | include $(TOPDIR)/feeds/luci/luci.mk 25 | 26 | # call BuildPackage - OpenWrt buildroot signature 27 | -------------------------------------------------------------------------------- /applications/luci-app-wxedge/luasrc/controller/wxedge.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.wxedge", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "wxedge"}, alias("admin", "services", "wxedge", "config"), _("Onething Edge"), 30).dependent = true 6 | entry({"admin", "services", "wxedge", "config"}, cbi("wxedge")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-wxedge/luasrc/model/wxedge.lua: -------------------------------------------------------------------------------- 1 | local util = require "luci.util" 2 | local jsonc = require "luci.jsonc" 3 | local nixio = require "nixio" 4 | 5 | local wxedge = {} 6 | 7 | wxedge.blocks = function() 8 | local f = io.popen("lsblk -s -f -b -o NAME,FSSIZE,MOUNTPOINT --json", "r") 9 | local vals = {} 10 | if f then 11 | local ret = f:read("*all") 12 | f:close() 13 | local obj = jsonc.parse(ret) 14 | for _, val in pairs(obj["blockdevices"]) do 15 | local fsize = val["fssize"] 16 | if fsize ~= nil and string.len(fsize) > 10 and val["mountpoint"] then 17 | -- fsize > 1G 18 | vals[#vals+1] = val["mountpoint"] 19 | end 20 | end 21 | end 22 | return vals 23 | end 24 | 25 | return wxedge 26 | 27 | -------------------------------------------------------------------------------- /applications/luci-app-wxedge/po/zh-cn/wxedge.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Onething Edge" 5 | msgstr "网心云-容器魔方" 6 | 7 | msgid "Cache path" 8 | msgstr "缓存文件路径" 9 | 10 | msgid "Service Status" 11 | msgstr "服务状态" 12 | 13 | msgid "Onething Edge status:" 14 | msgstr "网心云的状态信息如下:" 15 | 16 | msgid "Setup" 17 | msgstr "安装配置" 18 | 19 | msgid "The following parameters will only take effect during installation or upgrade:" 20 | msgstr "以下参数只在安装或者升级时才会生效:" 21 | 22 | msgid "Status" 23 | msgstr "状态" 24 | 25 | msgid "Onething Edge is running" 26 | msgstr "网心云运行中" 27 | 28 | msgid "Onething Edge is not running" 29 | msgstr "网心云未运行" 30 | 31 | msgid "Open the Onething Edge" 32 | msgstr "打开网心云" 33 | -------------------------------------------------------------------------------- /applications/luci-app-wxedge/root/etc/config/wxedge: -------------------------------------------------------------------------------- 1 | config wxedge 2 | # option 'cache_path' '' 3 | # option 'image_name' '' 4 | -------------------------------------------------------------------------------- /applications/luci-app-wxedge/root/etc/uci-defaults/luci-app-wxedge: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete firewall.wxedge 5 | set firewall.wxedge=rule 6 | set firewall.wxedge.name="wxedge" 7 | set firewall.wxedge.target="ACCEPT" 8 | set firewall.wxedge.src="wan" 9 | set firewall.wxedge.dest_port="1024-65535" 10 | set firewall.wxedge.enabled="0" 11 | commit firewall 12 | EOF 13 | 14 | exit 0 15 | -------------------------------------------------------------------------------- /applications/luci-app-xteve/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Xteve 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd +luci-lib-docker 11 | 12 | define Package/luci-app-xteve/conffiles 13 | /etc/config/xteve 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-xteve/luasrc/controller/xteve.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.xteve", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "xteve"}, alias("admin", "services", "xteve", "config"), _("Xteve"), 30).dependent = true 6 | entry({"admin", "services", "xteve", "config"}, cbi("xteve")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-xteve/po/zh-cn/xteve.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Xteve is M3U Proxy for Plex DVR and Emby Live TV." 8 | msgstr "Xteve 是一个在线电视源的代理工具。" 9 | 10 | msgid "Config path" 11 | msgstr "配置文件路径" 12 | 13 | msgid "Port" 14 | msgstr "端口" 15 | 16 | msgid "HTTP Port" 17 | msgstr "HTTP 端口" 18 | 19 | msgid "Service Status" 20 | msgstr "服务状态" 21 | 22 | msgid "Xteve status:" 23 | msgstr "Xteve 的状态信息如下:" 24 | 25 | msgid "Setup" 26 | msgstr "安装配置" 27 | 28 | msgid "The following parameters will only take effect during installation or upgrade:" 29 | msgstr "以下参数只在安装或者升级时才会生效:" 30 | 31 | msgid "Status" 32 | msgstr "状态" 33 | 34 | msgid "Xteve is running" 35 | msgstr "Xteve 运行中" 36 | 37 | msgid "Xteve is not running" 38 | msgstr "Xteve 未运行" 39 | 40 | msgid "Open Xteve" 41 | msgstr "打开 Xteve" 42 | 43 | msgid "Unsupported Architecture" 44 | msgstr "不支持此架构" 45 | -------------------------------------------------------------------------------- /applications/luci-app-xteve/root/etc/config/xteve: -------------------------------------------------------------------------------- 1 | config main 2 | option 'port' '34400' 3 | option 'config_path' '' 4 | 5 | -------------------------------------------------------------------------------- /applications/luci-app-xunlei/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.3-20240822 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for Xunlei 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=+lsblk +docker +luci-lib-taskd 11 | 12 | define Package/luci-app-xunlei/conffiles 13 | /etc/config/xunlei 14 | endef 15 | 16 | include $(TOPDIR)/feeds/luci/luci.mk 17 | 18 | # call BuildPackage - OpenWrt buildroot signature 19 | -------------------------------------------------------------------------------- /applications/luci-app-xunlei/luasrc/controller/xunlei.lua: -------------------------------------------------------------------------------- 1 | 2 | module("luci.controller.xunlei", package.seeall) 3 | 4 | function index() 5 | entry({"admin", "services", "xunlei"}, alias("admin", "services", "xunlei", "config"), _("Xunlei"), 30).dependent = true 6 | entry({"admin", "services", "xunlei", "config"}, cbi("xunlei")) 7 | end 8 | -------------------------------------------------------------------------------- /applications/luci-app-xunlei/po/zh-cn/xunlei.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "Content-Type: text/plain; charset=UTF-8" 3 | 4 | msgid "Official website:" 5 | msgstr "官方网站:" 6 | 7 | msgid "Xunlei" 8 | msgstr "迅雷下载" 9 | 10 | msgid "Xunlei is an download tool, made by Xunlei, Inc." 11 | msgstr "迅雷是一个迅雷公司出品下载工具。" 12 | 13 | msgid "Config path" 14 | msgstr "配置文件路径" 15 | 16 | msgid "Download path" 17 | msgstr "下载路径" 18 | 19 | msgid "Port" 20 | msgstr "端口" 21 | 22 | msgid "HTTP Port" 23 | msgstr "HTTP 端口" 24 | 25 | msgid "Service Status" 26 | msgstr "服务状态" 27 | 28 | msgid "Xunlei status:" 29 | msgstr "迅雷的状态信息如下:" 30 | 31 | msgid "Setup" 32 | msgstr "安装配置" 33 | 34 | msgid "The following parameters will only take effect during installation or upgrade:" 35 | msgstr "以下参数只在安装或者升级时才会生效:" 36 | 37 | msgid "Status" 38 | msgstr "状态" 39 | 40 | msgid "Xunlei is running" 41 | msgstr "迅雷运行中" 42 | 43 | msgid "Xunlei is not running" 44 | msgstr "迅雷未运行" 45 | 46 | msgid "Open Xunlei" 47 | msgstr "打开迅雷" 48 | 49 | msgid "Xunlei running in host network, port is always 2345 if enabled" 50 | msgstr "在宿主网络运行迅雷,如果启用则端口固定为 2345" 51 | -------------------------------------------------------------------------------- /applications/luci-app-xunlei/root/etc/config/xunlei: -------------------------------------------------------------------------------- 1 | config main 2 | option 'hostnet' '0' 3 | option 'port' '2345' 4 | option 'image_name' 'registry.cn-shenzhen.aliyuncs.com/cnk3x/xunlei:latest' 5 | option 'config_path' '' 6 | option 'dl_path' '' 7 | 8 | -------------------------------------------------------------------------------- /applications/luci-app-xunyou/Makefile: -------------------------------------------------------------------------------- 1 | 2 | 3 | include $(TOPDIR)/rules.mk 4 | 5 | PKG_VERSION:=1.0.2-20230106 6 | PKG_RELEASE:= 7 | 8 | LUCI_TITLE:=LuCI support for xunyou 9 | LUCI_PKGARCH:=all 10 | LUCI_DEPENDS:=xunyou 11 | 12 | include $(TOPDIR)/feeds/luci/luci.mk 13 | 14 | # call BuildPackage - OpenWrt buildroot signature 15 | 16 | 17 | -------------------------------------------------------------------------------- /applications/luci-app-xunyou/luasrc/model/cbi/xunyou/main.lua: -------------------------------------------------------------------------------- 1 | local m, s, o 2 | local uci = luci.model.uci.cursor() 3 | local sys = require 'luci.sys' 4 | 5 | 6 | m = Map("xunyou", translate("xunyou"), translate("迅游是一款小巧且功能强大的网游加速器,迅游所采用的第五代网游加速技术能更有效地为您解决网游卡机、掉线、延时高、登录难等问题。") 7 | .. translatef("更多信息请" 8 | .. "" 9 | .. "访问官网", "https://www.xunyou.com/")) 10 | 11 | m:section(SimpleSection).template = "xunyou/status" 12 | 13 | s=m:section(TypedSection, "xunyou", translate("Global settings")) 14 | s.addremove=false 15 | s.anonymous=true 16 | s:option(Flag, "enabled", translate("Enable")).rmempty=false 17 | 18 | o = s:option(Value, "interface", translate("Interface"), translate("Network interface for serving, usually LAN")) 19 | o.template = "cbi/network_netlist" 20 | o.nocreate = true 21 | o.default = "lan" 22 | o.datatype = "string" 23 | 24 | return m -------------------------------------------------------------------------------- /applications/luci-app-xunyou/po/zh-cn/xunyou.po: -------------------------------------------------------------------------------- 1 | msgid "xunyou" 2 | msgstr "迅游" 3 | 4 | msgid "The xunyou service is running." 5 | msgstr "迅游已启动" 6 | 7 | msgid "The xunyou service is not running." 8 | msgstr "迅游服务未启动" 9 | 10 | msgid "The xunyou service is not installed." 11 | msgstr "迅游服务未安装" 12 | 13 | msgid "open xunyou" 14 | msgstr "打开迅游" 15 | 16 | msgid "stop xunyou" 17 | msgstr "停止迅游" 18 | 19 | msgid "run xunyou" 20 | msgstr "启动迅游" 21 | 22 | msgid "uninstall xunyou" 23 | msgstr "删除迅游" 24 | 25 | msgid "install xunyou" 26 | msgstr "安装迅游" 27 | 28 | msgid "Collecting data..." 29 | msgstr "收集数据..." 30 | 31 | msgid "Network interface for serving, usually LAN" 32 | msgstr "提供服务的网络接口,通常是 LAN 口" 33 | -------------------------------------------------------------------------------- /applications/sunpanel/files/sunpanel.config: -------------------------------------------------------------------------------- 1 | config sunpanel 2 | option enabled '0' 3 | option port '3002' 4 | option config_path '' 5 | -------------------------------------------------------------------------------- /applications/sunpanel/files/sunpanel.init: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | 3 | START=99 4 | USE_PROCD=1 5 | NAME=sunpanel 6 | 7 | get_config() { 8 | config_get_bool enabled $1 enabled 0 9 | config_get config_path $1 config_path 10 | } 11 | 12 | start_service() { 13 | config_load "$NAME" 14 | config_foreach get_config "$NAME" 15 | [ $enabled != 1 ] && return 1 16 | mkdir -p "$config_path" 17 | lua /usr/libexec/istorec/sunpanel_conf.lua $NAME /usr/share/$NAME/conf.temp $config_path/conf.ini 18 | 19 | procd_open_instance 20 | procd_set_param file $config_path/conf.ini 21 | procd_set_param command /usr/sbin/sunpanelbin -cfgPath $config_path 22 | procd_set_param stderr 1 23 | procd_set_param respawn 24 | procd_close_instance 25 | } 26 | 27 | service_triggers() { 28 | procd_add_reload_trigger "$NAME" 29 | } 30 | 31 | -------------------------------------------------------------------------------- /applications/sunpanel/files/sunpanel.uci-default: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@sunpanel[-1] 5 | add ucitrack sunpanel 6 | set ucitrack.@sunpanel[-1].init=sunpanel 7 | commit ucitrack 8 | EOF 9 | 10 | /etc/init.d/sunpanel enable 11 | 12 | exit 0 13 | 14 | -------------------------------------------------------------------------------- /applications/vmease/files/vmease.config: -------------------------------------------------------------------------------- 1 | config main 2 | option enabled '1' 3 | -------------------------------------------------------------------------------- /applications/vmease/files/vmease.init: -------------------------------------------------------------------------------- 1 | #!/bin/sh /etc/rc.common 2 | 3 | START=98 4 | USE_PROCD=1 5 | 6 | start_service() { 7 | procd_open_instance 8 | procd_set_param limits nofile="65535 65535" 9 | procd_set_param command /usr/sbin/vmeasedaemon 10 | procd_append_param command vmeasedaemon 11 | procd_set_param respawn 12 | procd_close_instance 13 | } 14 | 15 | service_triggers() { 16 | procd_add_reload_trigger "vmease" 17 | } 18 | 19 | -------------------------------------------------------------------------------- /applications/vmease/files/vmease.uci-default: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | /etc/init.d/vmease enable 4 | /etc/init.d/vmease start 5 | 6 | exit 0 7 | -------------------------------------------------------------------------------- /applications/xunyou/files/xunyou.config: -------------------------------------------------------------------------------- 1 | config xunyou 2 | option 'enabled' '0' 3 | option 'interface' 'lan' 4 | -------------------------------------------------------------------------------- /applications/xunyou/files/xunyou.uci-default: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | uci -q batch <<-EOF >/dev/null 4 | delete ucitrack.@xunyou[-1] 5 | add ucitrack xunyou 6 | set ucitrack.@xunyou[-1].init=xunyou 7 | commit ucitrack 8 | EOF 9 | 10 | 11 | exit 0 -------------------------------------------------------------------------------- /feeds.conf: -------------------------------------------------------------------------------- 1 | src-git nas https://github.com/linkease/nas-packages.git;master 2 | src-git nas_luci https://github.com/linkease/nas-packages-luci.git;main 3 | src-git istore https://github.com/linkease/istore.git;main 4 | # src-git cups https://github.com/sirpdboy/luci-app-cupsd.git;main 5 | -------------------------------------------------------------------------------- /forkapp/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -a -ldflags '-s -w -extldflags "-static"' -o forkapp 4 | CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -trimpath -a -ldflags '-s -w -extldflags "-static"' -o forkapp.exe 5 | CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -trimpath -a -ldflags '-s -w -extldflags "-static"' -o forkapp_mac 6 | 7 | -------------------------------------------------------------------------------- /forkapp/copydir_linux.go: -------------------------------------------------------------------------------- 1 | //go:build linux 2 | // +build linux 3 | 4 | package main 5 | 6 | import ( 7 | "os" 8 | "syscall" 9 | ) 10 | 11 | func chown(destPath string, ostat interface{}) error { 12 | stat, ok := ostat.(*syscall.Stat_t) 13 | if ok { 14 | if err := os.Lchown(destPath, int(stat.Uid), int(stat.Gid)); err != nil { 15 | return err 16 | } 17 | } 18 | return nil 19 | } 20 | -------------------------------------------------------------------------------- /forkapp/copydir_other.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | // +build !linux 3 | 4 | package main 5 | 6 | func chown(destPath string, ostat interface{}) error { 7 | return nil 8 | } 9 | -------------------------------------------------------------------------------- /tools/simple-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # run in router 4 | APPNAME=$1 5 | 6 | CURR=`pwd` 7 | if [ -z "${APPNAME}" ]; then 8 | APPNAME=`basename "$CURR"|cut -d '-' -f 3` 9 | fi 10 | 11 | if [ -z "${APPNAME}" ]; then 12 | echo "please run in luci-app-xxx paths" 13 | exit 1 14 | fi 15 | 16 | if [ ! -d luasrc ]; then 17 | echo "luasrc not found, please run in luci-app-xxx paths" 18 | exit 1 19 | fi 20 | 21 | mkdir -p /usr/lib/lua/luci/view/${APPNAME} 22 | if [ -f ./luasrc/controller/${APPNAME}.lua ]; then 23 | cp ./luasrc/controller/${APPNAME}.lua /usr/lib/lua/luci/controller/ 24 | fi 25 | if [ -d ./luasrc/view/${APPNAME} ]; then 26 | cp ./luasrc/view/${APPNAME}/* /usr/lib/lua/luci/view/${APPNAME}/ 27 | fi 28 | if [ -d ./luasrc/model ]; then 29 | cp -rf ./luasrc/model/* /usr/lib/lua/luci/model/ 30 | fi 31 | cp -rf ./root/* / 32 | rm -rf /tmp/luci-* 33 | echo "Ok" 34 | 35 | --------------------------------------------------------------------------------