diff --git a/net/acme/Makefile b/net/acme/Makefile index e3a4e1316..7af7982a4 100644 --- a/net/acme/Makefile +++ b/net/acme/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=acme PKG_VERSION:=2.8.5 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/Neilpang/acme.sh/tar.gz/$(PKG_VERSION)? @@ -20,8 +20,6 @@ PKG_MAINTAINER:=Toke Høiland-Jørgensen PKG_LICENSE:=GPL-3.0-only PKG_LICENSE_FILES:=LICENSE.md -LUCI_DIR:=/usr/lib/lua/luci - include $(INCLUDE_DIR)/package.mk define Package/acme @@ -76,43 +74,5 @@ define Package/acme-dnsapi/install $(INSTALL_DATA) $(PKG_BUILD_DIR)/dnsapi/*.sh $(1)/usr/lib/acme/dnsapi endef -define Package/luci-app-acme - SECTION:=luci - CATEGORY:=LuCI - TITLE:=ACME package - LuCI interface - DEPENDS:= +luci-compat +acme - SUBMENU:=3. Applications - PKGARCH:=all -endef - -define Package/luci-app-acme/description - Control the ACME Letsencrypt certificate interface -endef - -define Package/luci-app-acme/install - $(INSTALL_DIR) $(1)$(LUCI_DIR)/controller $(1)$(LUCI_DIR)/model/cbi - $(INSTALL_DATA) ./files/acme-controller.lua $(1)$(LUCI_DIR)/controller/acme.lua - $(INSTALL_DATA) ./files/acme-cbi.lua $(1)$(LUCI_DIR)/model/cbi/acme.lua - $(INSTALL_DIR) $(1)/etc/uci-defaults - $(INSTALL_BIN) ./files/uci-defaults-acme $(1)/etc/uci-defaults/luci-acme -endef - -define Package/luci-app-acme/postinst -#!/bin/sh -[ -x /etc/uci-defaults/luci-acme ] && /etc/uci-defaults/luci-acme || exit 0 -endef - -define Package/luci-app-acme/postrm -#!/bin/sh -which uci > /dev/null || exit 0 -uci -q get ucitrack.@acme[0] > /dev/null && { - uci delete ucitrack.@acme[0] - uci commit -} -exit 0 -endef - - $(eval $(call BuildPackage,acme)) $(eval $(call BuildPackage,acme-dnsapi)) -$(eval $(call BuildPackage,luci-app-acme)) diff --git a/net/acme/files/acme-cbi.lua b/net/acme/files/acme-cbi.lua deleted file mode 100644 index 5fc860e32..000000000 --- a/net/acme/files/acme-cbi.lua +++ /dev/null @@ -1,108 +0,0 @@ ---[[ -LuCI - Lua Configuration Interface - -Copyright 2016 Toke Høiland-Jørgensen - -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free Software -# Foundation; either version 3 of the License, or (at your option) any later -# version. - -]]-- - -local fs = require "nixio.fs" - -local nginx_presence = fs.access("/usr/sbin/nginx") or false -local uhttpd_presence = fs.access("/usr/sbin/uhttpd") or false - -m = Map("acme", translate("ACME certificates"), - translate("This configures ACME (Letsencrypt) automatic certificate installation. " .. - "Simply fill out this to have the router configured with Letsencrypt-issued " .. - "certificates for the web interface. " .. - "Note that the domain names in the certificate must already be configured to " .. - "point at the router's public IP address. " .. - "Once configured, issuing certificates can take a while. " .. - "Check the logs for progress and any errors.")) - -s = m:section(TypedSection, "acme", translate("ACME global config")) -s.anonymous = true - -st = s:option(Value, "state_dir", translate("State directory"), - translate("Where certs and other state files are kept.")) -st.rmempty = false -st.datatype = "directory" - -ae = s:option(Value, "account_email", translate("Account email"), - translate("Email address to associate with account key.")) -ae.rmempty = false -ae.datatype = "minlength(1)" - -d = s:option(Flag, "debug", translate("Enable debug logging")) -d.rmempty = false - -cs = m:section(TypedSection, "cert", translate("Certificate config")) -cs.anonymous = false -cs.addremove = true - -e = cs:option(Flag, "enabled", translate("Enabled")) -e.rmempty = false - -us = cs:option(Flag, "use_staging", translate("Use staging server"), - translate("Get certificate from the Letsencrypt staging server " .. - "(use for testing; the certificate won't be valid).")) -us.rmempty = false - -kl = cs:option(ListValue, "keylength", translate("Key size"), - translate("Key size (and type) for the generated certificate.")) -kl:value("2048", "RSA 2048 bits") -kl:value("3072", "RSA 3072 bits") -kl:value("4096", "RSA 4096 bits") -kl:value("ec-256", "ECC 256 bits") -kl:value("ec-384", "ECC 384 bits") -kl.default = "2048" -kl.rmempty = false - -if uhttpd_presence then -u = cs:option(Flag, "update_uhttpd", translate("Use for uhttpd"), - translate("Update the uhttpd config with this certificate once issued " .. - "(only select this for one certificate)." .. - "Is also available luci-app-uhttpd to configure uhttpd form the LuCI interface.")) -u.rmempty = false -end - -if nginx_presence then -u = cs:option(Flag, "update_nginx", translate("Use for nginx"), - translate("Update the nginx config with this certificate once issued " .. - "(only select this for one certificate)." .. - "Nginx must support ssl, if not it won't start as it needs to be " .. - "compiled with ssl support to use cert options")) -u.rmempty = false -end - -wr = cs:option(Value, "webroot", translate("Webroot directory"), - translate("Webserver root directory. Set this to the webserver " .. - "document root to run Acme in webroot mode. The web " .. - "server must be accessible from the internet on port 80.")) -wr.optional = true - -dom = cs:option(DynamicList, "domains", translate("Domain names"), - translate("Domain names to include in the certificate. " .. - "The first name will be the subject name, subsequent names will be alt names. " .. - "Note that all domain names must point at the router in the global DNS.")) -dom.datatype = "list(string)" - -dns = cs:option(Value, "dns", translate("DNS API"), - translate("To use DNS mode to issue certificates, set this to the name of a DNS API supported by acme.sh. " .. - "See https://github.com/Neilpang/acme.sh/tree/master/dnsapi for the list of available APIs. " .. - "In DNS mode, the domain name does not have to resolve to the router IP. " .. - "DNS mode is also the only mode that supports wildcard certificates. " .. - "Using this mode requires the acme-dnsapi package to be installed.")) -dns.optional = true - -cred = cs:option(DynamicList, "credentials", translate("DNS API credentials"), - translate("The credentials for the DNS API mode selected above. " .. - "See https://github.com/Neilpang/acme.sh/tree/master/dnsapi#how-to-use-dns-api for the format of credentials required by each API. " .. - "Add multiple entries here in KEY=VAL shell variable format to supply multiple credential variables.")) -cred.datatype = "list(string)" - -return m diff --git a/net/acme/files/acme-controller.lua b/net/acme/files/acme-controller.lua deleted file mode 100644 index 5f4d0ec31..000000000 --- a/net/acme/files/acme-controller.lua +++ /dev/null @@ -1,11 +0,0 @@ -module("luci.controller.acme", package.seeall) - -function index() - local page - - page = entry({"admin", "services", "acme"}, - cbi("acme"), - _("ACME certs"), 50) - page.dependent = false - page.acl_depends = { "luci-app-acme" } -end diff --git a/net/acme/files/uci-defaults-acme b/net/acme/files/uci-defaults-acme deleted file mode 100644 index 182b488cb..000000000 --- a/net/acme/files/uci-defaults-acme +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@acme[-1] - add ucitrack acme - add_list ucitrack.@bcp38[0].init=acme - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0