|
本帖最后由 99010 于 2024-12-13 16:19 编辑
参考
https://blog.xenori.com/2021/08/openwrt-caddy-replace-uhttpd
在Linux电脑上安装组件
- apt update
- apt install xcaddy git libnss3 upx-ucl
复制代码 由于编译出来的caddy二进制文件是在mt7621上运行,所以编译时添加了GOOS=linux GOARCH=mipsle GOMIPS=softfloat参数
- GOOS=linux GOARCH=mipsle GOMIPS=softfloat ~/go/bin/xcaddy build \
- --with github.com/mholt/caddy-webdav \
- --with github.com/aksdb/caddy-cgi/v2 \
- --with github.com/caddy-dns/cloudflare \
- --with github.com/caddy-dns/tencentcloud \
- --with github.com/caddy-dns/alidns
复制代码
编译完成后在当前目录生成caddy二进制文件,大小34M,放到路由器上有点坑,接下来用upx压缩一下
- upx -k --best --lzma caddy
复制代码 最终获得一个6M的caddy文件,可以上传到路由器上用了。使用前记得关掉uhttpd运行
附一个Caddyfile配置
- {
- order cgi last
- }
- :80
- {
- @notcgi {
- not path /cgi-bin/*
- not path /
- }
- redir / /cgi-bin/luci
- file_server @notcgi {
- root /www
- }
- cgi /cgi-bin/luci* /www/cgi-bin/luci {
- script_name /cgi-bin/luci
- }
- }
- :8080
- {
- root * /mnt/sda1
- @notget not method GET
- route @notget {
- basicauth {
- admin JDJhJDEwJFRKOUM1eVZKbkg4LzA0OWMvRElsbi5sSmx1TFpXcExaNmV2ajRFUGkvSUkuYTY5S05JOUlt
- }
- webdav
- }
- file_server browse
- }
复制代码
另:如果Linux电脑不能直接安装xcaddy,可以用另一个方式。比如
- wget https://dl.google.com/go/go1.17.1.linux-arm64.tar.gz
- rm -rf /usr/local/go && tar -C /usr/local -xzf go1.17.1.linux-arm64.tar.gz
- export PATH=$PATH:/usr/local/go/bin
- go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
- GOOS=linux GOARCH=mipsle GOMIPS=softfloat ~/go/bin/xcaddy build \
- --with github.com/mholt/caddy-webdav \
- --with github.com/aksdb/caddy-cgi/v2 \
- --with github.com/caddy-dns/cloudflare \
- --with github.com/caddy-dns/tencentcloud \
- --with github.com/caddy-dns/alidns
复制代码
|
|