Compare commits

..

No commits in common. "main" and "2024-01-30" have entirely different histories.

7 changed files with 14 additions and 74 deletions

View File

@ -26,14 +26,14 @@ jobs:
cd /opt/openwrt-sdk*/bin/packages/aarch64_generic/base cd /opt/openwrt-sdk*/bin/packages/aarch64_generic/base
ls ls
mv *.ipk luci-app-caddy_all.ipk mv *.ipk luci-app-caddy_all.ipk
echo "build_time=$(date '+%Y年%m月%d日%H:%M:%S' | jq -sRr @uri)" >> $GITHUB_ENV echo "build_time=$(date '+%Y-%m-%d %H:%M:%S')" >> $GITHUB_ENV
echo "tag=$(date '+%Y-%m-%d')" >> $GITHUB_ENV echo "tag=$(date '+%Y-%m-%d')" >> $GITHUB_ENV
- name: 发布 - name: 发布
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
with: with:
token: ${{ secrets.c8 }} token: ${{ secrets.c8 }}
body: | body: |
> ### ![](https://img.shields.io/badge/%E7%BC%96%E8%AF%91%E6%97%B6%E9%97%B4-${{ env.build_time }}-8267?logo=github&labelColor=%E9%A1%BB)![](https://img.shields.io/github/downloads/${{ github.repository }}/${{ env.tag }}/total?label=%E4%B8%8B%E8%BD%BD%E6%AC%A1%E6%95%B0&logo=github) > ### 编译时间 ${{ env.build_time }}
二进制程序下载地址:[caddy](https://github.com/lmq8267/caddy/releases) 二进制程序下载地址:[caddy](https://github.com/lmq8267/caddy/releases)

View File

@ -1,26 +1,11 @@
# luci-app-caddy # luci-app-caddy
<p align="center">
<img alt="GitHub Created At" src="https://img.shields.io/github/created-at/lmq8267/luci-app-caddy?logo=github&label=%E5%88%9B%E5%BB%BA%E6%97%A5%E6%9C%9F">
<a href="https://hits.seeyoufarm.com"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Flmq8267%2Fluci-app-caddy&count_bg=%2395C10D&title_bg=%23555555&icon=github.svg&icon_color=%238DC409&title=%E8%AE%BF%E9%97%AE%E6%95%B0&edge_flat=false"/></a>
<a href="https://github.com/lmq8267/luci-app-caddy/releases"><img src="https://img.shields.io/github/downloads/lmq8267/luci-app-caddy/total?logo=github&label=%E4%B8%8B%E8%BD%BD%E9%87%8F"></a>
<a href="https://github.com/lmq8267/luci-app-caddy/graphs/contributors"><img src="https://img.shields.io/github/contributors-anon/lmq8267/luci-app-caddy?logo=github&label=%E8%B4%A1%E7%8C%AE%E8%80%85"></a>
<a href="https://github.com/lmq8267/luci-app-caddy/releases/"><img src="https://img.shields.io/github/release/lmq8267/luci-app-caddy?logo=github&label=%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC"></a>
<a href="https://github.com/lmq8267/luci-app-caddy/issues"><img src="https://img.shields.io/github/issues-raw/lmq8267/luci-app-caddy?logo=github&label=%E9%97%AE%E9%A2%98"></a>
<a href="https://github.com/lmq8267/luci-app-caddy/discussions"><img src="https://img.shields.io/github/discussions/lmq8267/luci-app-caddy?logo=github&label=%E8%AE%A8%E8%AE%BA"></a>
<a href="GitHub repo size"><img src="https://img.shields.io/github/repo-size/lmq8267/luci-app-caddy?logo=github&label=%E4%BB%93%E5%BA%93%E5%A4%A7%E5%B0%8F"></a>
<a href="https://github.com/lmq8267/luci-app-caddy/actions?query=workflow%3ABuild"><img src="https://img.shields.io/github/actions/workflow/status/lmq8267/luci-app-caddy/build.yml?branch=main&logo=github&label=%E6%9E%84%E5%BB%BA%E7%8A%B6%E6%80%81" alt="Build status"></a>
项目地址https://github.com/caddyserver/caddy 项目地址https://github.com/caddyserver/caddy
没有添加caddy二进制程序需要下载或编译对应cpu架构的二进制程序手动上传至路由器然后填写对应的程序路径。 没有添加caddy二进制程序需要下载或编译对应cpu架构的二进制程序手动上传至路由器然后填写对应的程序路径。
caddy的大概 [命令参数](https://github.com/lmq8267/caddy/blob/main/README_caddy.md)
```shell
#查看添加了哪些插件命令
caddy list-modules -s
```
------------------------------------------------------ ------------------------------------------------------
编译的大概步骤:抄自网上的方法, 也有我编译好的二进制文件[caddy](https://github.com/lmq8267/caddy/releases)文件服务器支持照片音视频预览播放 支持markdown[UI预览效果图](https://github.com/lmq8267/caddy/tree/main#ui%E9%A2%84%E8%A7%88) 编译的大概步骤:抄自网上的方法
还有OpenWrt的[github.com/fuqiang03/openwrt-caddy](https://github.com/fuqiang03/openwrt-caddy)Makefile
```shell ```shell
apt update apt update
apt install xcaddy git libnss3 upx-ucl apt install xcaddy git libnss3 upx-ucl
@ -53,8 +38,3 @@ upx --lzma --best caddy
其他功能可以自行修改编辑配置文件 其他功能可以自行修改编辑配置文件
![](./Image/自定义启动.png) ![](./Image/自定义启动.png)
![QQ截图20240131092630](https://github.com/lmq8267/luci-app-caddy/assets/119713693/05742312-7b0f-4a71-bbc2-83fdafb96df4)
![QQ截图20240131092717](https://github.com/lmq8267/luci-app-caddy/assets/119713693/60c57424-1a5b-4e99-9517-4fd663e13d5c)

View File

@ -16,7 +16,6 @@ function index()
entry({"admin", "nas", "caddy", "caddy_status"}, call("caddy_status")).leaf = true entry({"admin", "nas", "caddy", "caddy_status"}, call("caddy_status")).leaf = true
entry({"admin", "nas", "caddy", "get_log"}, call("get_log")).leaf = true entry({"admin", "nas", "caddy", "get_log"}, call("get_log")).leaf = true
entry({"admin", "nas", "caddy", "clear_log"}, call("clear_log")).leaf = true entry({"admin", "nas", "caddy", "clear_log"}, call("clear_log")).leaf = true
entry({"admin", "nas", "caddy", "admin_info"}, call("admin_info")).leaf = true
end end
function caddy_status() function caddy_status()
@ -82,10 +81,3 @@ function clear_log()
luci.sys.call("cat /dev/null > $(uci -q get caddy.@caddy[0].log_dir)") luci.sys.call("cat /dev/null > $(uci -q get caddy.@caddy[0].log_dir)")
end end
function admin_info()
local validate = luci.sys.exec("$(uci -q get caddy.@caddy[0].bin_dir) validate --config /etc/caddy/Caddyfile --adapter caddyfile 2>&1")
luci.http.prepare_content("application/json")
luci.http.write_json({ validate = validate })
end

View File

@ -11,15 +11,6 @@ o = s:option(Flag, "enabled", translate("Enabled"))
o.rmempty = false o.rmempty = false
o.default = 0 o.default = 0
o = s:option(Button, "btnrm", translate("重启"))
o.inputtitle = translate("重启")
o.description = translate("在没有修改参数的情况下快速重新启动一次")
o.inputstyle = "apply"
o:depends("enabled", "1")
o.write = function()
os.execute("/etc/init.d/caddy restart")
end
e=s:option(ListValue,"cmd",translate("启动方式"), e=s:option(ListValue,"cmd",translate("启动方式"),
translate("自定义配置文件启动,若不懂参数请勿选择自定义")) translate("自定义配置文件启动,若不懂参数请勿选择自定义"))
e:value("默认") e:value("默认")
@ -118,10 +109,4 @@ o.rmempty = false
o = s:option(Flag, "api", translate("启用 API接口")) o = s:option(Flag, "api", translate("启用 API接口"))
o:depends("cmd", "默认") o:depends("cmd", "默认")
o = s:option(Button, "admin_info", translate("检测配置文件"),
translate("验证Caddyfile配置文件是否正确它会模拟启动caddy<br>但是并不会真的启动,会列出详细信息,以便修正配置文件"))
o.rawhtml = true
o.template = "caddy/admin_info"
return m return m

View File

@ -1,25 +0,0 @@
<%+cbi/valueheader%>
<script type="text/javascript">//<![CDATA[
function admin_info(btn)
{
btn.disabled = true;
btn.value = '<%:Collecting data...%>';
XHR.get('<%=luci.dispatcher.build_url("admin", "nas", "caddy", "admin_info")%>',
null,
function(x,rv)
{
var tb = document.getElementById('<%=self.option%>-status');
if (tb) {
rv.validate = rv.validate.replace(/{"level":/g, '<br>{"level":').replace(/Error/g, "<br>Error").replace(/Valid configuration/g, "<br><strong><font color='#008000'>当前配置文件正确!</font></strong>").replace(/warn/g, "<font color='#800080'>警告</font>").replace(/level/g, "<font color='#1E90FF'>等级</font>").replace(/info/g, "<font color='#00BFFF'>普通</font>").replace(/msg/g, "<font color='#FFA500'>信息</font>").replace(/error/g, "<font color='#DB7093'>错误</font>").replace(/Error:/g, "<font color='red'><strong>当前配置文件错误!</strong><br>错误位置信息:</font>");
tb.innerHTML = "<br><font color='#FF00FF'><%:状态:%></font>" + "<font color='#2F4F4F'>" + rv.validate + "</font>";
}
btn.disabled = false;
btn.value = '<%:检测%>';
}
);
return false;
}
//]]></script>
<input type="button" class="btn cbi-button cbi-button-apply" value="<%:检测%>" onclick="return admin_info(this)" />
<span id="<%=self.option%>-status"><em><%=self.value%></em></span>
<%+cbi/valuefooter%>

View File

@ -21,6 +21,11 @@ admin $2a$14$RdbOHzJhf5BaapSdlYTCbe.yWY9cEZjyDpfgwStY28K/qsM1tX8tu
#文件服务器 端口12311 #文件服务器 端口12311
file_server browse file_server browse
header {
#中文字符显示
Content-Type "text/plain; charset=utf-8"
}
log { log {
#日志 路径/tmp/caddy/requests.log #日志 路径/tmp/caddy/requests.log
output file /tmp/caddy/requests.log { output file /tmp/caddy/requests.log {

View File

@ -63,7 +63,7 @@ start_service() {
exit 1 exit 1
else else
chmod +x $PROG chmod +x $PROG
if [[ "$($PROG -h 2>&1 | wc -l)" -lt 3 ]] ;then if [ $(($($PROG -h | wc -l))) -lt 3 ] ;then
uci -q set caddy.@caddy[0].enabled=0 uci -q set caddy.@caddy[0].enabled=0
uci commit caddy uci commit caddy
echo "$(TZ=UTC-8 date -R +%Y年%m月%d日\ %X) : $PROG 程序不完整或CPU架构不支持的程序无法启动!" >>$log_dir 2>&1 echo "$(TZ=UTC-8 date -R +%Y年%m月%d日\ %X) : $PROG 程序不完整或CPU架构不支持的程序无法启动!" >>$log_dir 2>&1
@ -139,6 +139,10 @@ $filebasicauth
root * $data_dir root * $data_dir
file_server browse file_server browse
header {
Content-Type "text/plain; charset=utf-8"
}
$logs $logs
} }
@ -161,7 +165,6 @@ logpath="$(echo $caddyf | grep "output file" | awk -F 'output file' '{print $2}'
exit 1 exit 1
fi fi
fi fi
$PROG fmt --overwrite $caddy_file
procd_open_instance caddy procd_open_instance caddy
procd_set_param command $PROG procd_set_param command $PROG
procd_append_param command run procd_append_param command run