Merge branch 'master' of https://github.com/ddclient/ddclient into Initial-set-of-IPv6-settings
This commit is contained in:
commit
a1a078ba89
6 changed files with 143 additions and 11 deletions
45
.github/workflows/ci.yml
vendored
45
.github/workflows/ci.yml
vendored
|
|
@ -9,17 +9,28 @@ on:
|
||||||
- master
|
- master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test-ubuntu:
|
test-debian-like:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
ubuntu:
|
image:
|
||||||
- 16.04
|
- ubuntu:latest
|
||||||
- latest
|
- ubuntu:16.04
|
||||||
runs-on: ubuntu-${{ matrix.ubuntu }}
|
- debian:testing
|
||||||
|
- debian:stable
|
||||||
|
- debian:oldstable
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ matrix.image }}
|
||||||
steps:
|
steps:
|
||||||
|
- name: install dependencies
|
||||||
|
run: |
|
||||||
|
apt-get update &&
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||||
|
automake \
|
||||||
|
libtest-warnings-perl \
|
||||||
|
make \
|
||||||
|
;
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: install test dependencies
|
|
||||||
run: sudo apt-get install libtest-warnings-perl
|
|
||||||
- name: autogen
|
- name: autogen
|
||||||
run: ./autogen
|
run: ./autogen
|
||||||
- name: configure
|
- name: configure
|
||||||
|
|
@ -67,7 +78,25 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: dnf install -y perl-version automake make perl-Test-Warnings
|
run: dnf install -y automake findutils make perl-Test-Warnings perl-version
|
||||||
|
- name: autogen
|
||||||
|
run: ./autogen
|
||||||
|
- name: configure
|
||||||
|
run: ./configure
|
||||||
|
- name: check
|
||||||
|
run: make VERBOSE=1 check
|
||||||
|
- name: distcheck
|
||||||
|
run: make VERBOSE=1 distcheck
|
||||||
|
|
||||||
|
test-redhat:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# we use redhats univeral base image which is not available on docker hub
|
||||||
|
# https://catalog.redhat.com/software/containers/ubi7/ubi/5c3592dcd70cc534b3a37814
|
||||||
|
container: registry.access.redhat.com/ubi7/ubi
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: install dependencies
|
||||||
|
run: yum install -y perl-version automake make perl-Test-Simple
|
||||||
- name: autogen
|
- name: autogen
|
||||||
run: ./autogen
|
run: ./autogen
|
||||||
- name: configure
|
- name: configure
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,52 @@ possible.
|
||||||
To contribute changes, please open a pull request against the
|
To contribute changes, please open a pull request against the
|
||||||
[ddclient GitHub project](https://github.com/ddclient/ddclient/pulls).
|
[ddclient GitHub project](https://github.com/ddclient/ddclient/pulls).
|
||||||
|
|
||||||
|
## Developer Certificate of Origin
|
||||||
|
|
||||||
|
All contributions are subject to the [Developer Certificate of Origin
|
||||||
|
v1.1](https://developercertificate.org/), copied below. A
|
||||||
|
`Signed-off-by` line in each commit message is **not** required.
|
||||||
|
|
||||||
|
```
|
||||||
|
Developer Certificate of Origin
|
||||||
|
Version 1.1
|
||||||
|
|
||||||
|
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
|
||||||
|
1 Letterman Drive
|
||||||
|
Suite D4700
|
||||||
|
San Francisco, CA, 94129
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this
|
||||||
|
license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
Developer's Certificate of Origin 1.1
|
||||||
|
|
||||||
|
By making a contribution to this project, I certify that:
|
||||||
|
|
||||||
|
(a) The contribution was created in whole or in part by me and I
|
||||||
|
have the right to submit it under the open source license
|
||||||
|
indicated in the file; or
|
||||||
|
|
||||||
|
(b) The contribution is based upon previous work that, to the best
|
||||||
|
of my knowledge, is covered under an appropriate open source
|
||||||
|
license and I have the right under that license to submit that
|
||||||
|
work with modifications, whether created in whole or in part
|
||||||
|
by me, under the same open source license (unless I am
|
||||||
|
permitted to submit under a different license), as indicated
|
||||||
|
in the file; or
|
||||||
|
|
||||||
|
(c) The contribution was provided directly to me by some other
|
||||||
|
person who certified (a), (b) or (c) and I have not modified
|
||||||
|
it.
|
||||||
|
|
||||||
|
(d) I understand and agree that this project and the contribution
|
||||||
|
are public and that a record of the contribution (including all
|
||||||
|
personal information I submit with it, including my sign-off) is
|
||||||
|
maintained indefinitely and may be redistributed consistent with
|
||||||
|
this project or the open source license(s) involved.
|
||||||
|
```
|
||||||
|
|
||||||
## Style
|
## Style
|
||||||
|
|
||||||
* Above all else, try to match the existing style surrounding your
|
* Above all else, try to match the existing style surrounding your
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ EXTRA_DIST = \
|
||||||
sample-etc_dhclient-exit-hooks \
|
sample-etc_dhclient-exit-hooks \
|
||||||
sample-etc_dhcpc_dhcpcd-eth0.exe \
|
sample-etc_dhcpc_dhcpcd-eth0.exe \
|
||||||
sample-etc_ppp_ip-up.local \
|
sample-etc_ppp_ip-up.local \
|
||||||
|
sample-etc_rc.d_ddclient.freebsd \
|
||||||
sample-etc_rc.d_init.d_ddclient \
|
sample-etc_rc.d_init.d_ddclient \
|
||||||
sample-etc_rc.d_init.d_ddclient.alpine \
|
sample-etc_rc.d_init.d_ddclient.alpine \
|
||||||
sample-etc_rc.d_init.d_ddclient.lsb \
|
sample-etc_rc.d_init.d_ddclient.lsb \
|
||||||
|
|
|
||||||
24
README.md
24
README.md
|
|
@ -141,7 +141,7 @@ make sure you have perl and the required modules installed
|
||||||
|
|
||||||
if you plan to use cloudflare or feedns you need the perl json module
|
if you plan to use cloudflare or feedns you need the perl json module
|
||||||
|
|
||||||
apt-get install libjson-any-perl
|
apt-get install libjson-pp-perl
|
||||||
|
|
||||||
for IPv6 you also need to instal the perl io-socker-inet6 module
|
for IPv6 you also need to instal the perl io-socker-inet6 module
|
||||||
|
|
||||||
|
|
@ -151,6 +151,28 @@ start the first time by hand
|
||||||
|
|
||||||
service ddclient start
|
service ddclient start
|
||||||
|
|
||||||
|
### FreeBSD style rc files and daemon mode
|
||||||
|
|
||||||
|
mkdir -p /usr/local/etc/rc.d
|
||||||
|
cp sample-etc_rc.d_ddclient.freebsd /usr/local/etc/rc.d/ddclient
|
||||||
|
|
||||||
|
enable automatic startup when booting
|
||||||
|
|
||||||
|
sysrc ddclient_enable=YES
|
||||||
|
|
||||||
|
make sure you have perl and the required modules installed
|
||||||
|
|
||||||
|
pkg install perl5 p5-Data-Validate-IP p5-IO-Socket-SSL
|
||||||
|
|
||||||
|
if you plan to use cloudflare or feedns you need the perl json module
|
||||||
|
|
||||||
|
pkg install p5-JSON-PP
|
||||||
|
|
||||||
|
start the service manually for the first time
|
||||||
|
|
||||||
|
service ddclient start
|
||||||
|
|
||||||
|
|
||||||
If you are not using daemon-mode, configure cron and dhcp or ppp as described below.
|
If you are not using daemon-mode, configure cron and dhcp or ppp as described below.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -21,9 +21,12 @@ AX_PROG_PERL_VERSION([5.10.1], [],
|
||||||
[AC_MSG_ERROR([Perl 5.10.1 or newer not found])])
|
[AC_MSG_ERROR([Perl 5.10.1 or newer not found])])
|
||||||
AC_SUBST([PERL])
|
AC_SUBST([PERL])
|
||||||
|
|
||||||
# Perl modules required to run ddclient. Core modules may be omitted;
|
# Perl modules required to run ddclient. Note: CentOS, RHEL, and
|
||||||
# they are assumed to always exist.
|
# Fedora put some core modules in separate packages, and the perl
|
||||||
|
# package doesn't depend on all of them, so their availability can't
|
||||||
|
# be assumed.
|
||||||
m4_foreach_w([_m], [
|
m4_foreach_w([_m], [
|
||||||
|
version=0.77
|
||||||
], [AX_PROG_PERL_MODULES([_m], [],
|
], [AX_PROG_PERL_MODULES([_m], [],
|
||||||
[AC_MSG_ERROR([missing required Perl module _m])])])
|
[AC_MSG_ERROR([missing required Perl module _m])])])
|
||||||
|
|
||||||
|
|
|
||||||
31
sample-etc_rc.d_ddclient.freebsd
Executable file
31
sample-etc_rc.d_ddclient.freebsd
Executable file
|
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# PROVIDE: ddclient
|
||||||
|
# REQUIRE: LOGIN
|
||||||
|
# KEYWORD: shutdown
|
||||||
|
#
|
||||||
|
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
|
||||||
|
# to enable this service:
|
||||||
|
#
|
||||||
|
# ddclient_enable (bool): Set to NO by default.
|
||||||
|
# Set it to YES to enable ddclient.
|
||||||
|
|
||||||
|
. /etc/rc.subr
|
||||||
|
|
||||||
|
name=ddclient
|
||||||
|
rcvar=ddclient_enable
|
||||||
|
ddclient_conf="/etc/ddclient/ddclient.conf"
|
||||||
|
|
||||||
|
command="/usr/local/sbin/${name}"
|
||||||
|
load_rc_config $name
|
||||||
|
|
||||||
|
delay=$(grep -v '^\s*#' "${ddclient_conf}" | grep -i -m 1 "daemon" | awk -F '=' '{print $2}')
|
||||||
|
|
||||||
|
if [ -z "${delay}" ]
|
||||||
|
then
|
||||||
|
ddclient_flags="-daemon 300"
|
||||||
|
else
|
||||||
|
ddclient_flags=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
run_rc_command "$1"
|
||||||
Loading…
Reference in a new issue