rlado / oink Goto Github PK
View Code? Open in Web Editor NEWA lightweight DDNS client for Porkbun
License: MIT License
A lightweight DDNS client for Porkbun
License: MIT License
Installing the .deb package with any Debian version before 12 will result in the following error:
~$ sudo dpkg -i oink.deb
dpkg-deb: error: archive 'oink.deb' uses unknown compression for member 'control.tar.zst', giving up dpkg: error processing archive oink.deb (--install): dpkg-deb --control subprocess returned error exit status 2 Errors were encountered while processing: oink.deb
I am using your excellent work on an alpine vm which uses openrc rather than systemd. Perhaps you'd like to include this working init script for others similarly (Gentoo, etc) situated:
#!/sbin/openrc-run
##/etc/init.d/oink_ddns
name="oink_ddns"
cfgfile="/etc/oink_ddns/config.json"
command="/usr/bin/oink"
pidfile="/run/oink_ddns/oink_ddns.pid"
command_background="yes"
start_pre() {
checkpath --directory --owner root:root --mode 0775
/run/oink_ddns
}
This file and:
does the job
It would be nice if there were an option to run Oink on a systemd timer launching only at update intervals rather than running as a daemon that calls sleep() on a loop.
Not running as a daemon would reduce the overall memory footprint on machines where it runs, requiring memory only when an update is being performed.
Thanks for making this handy DDNS tool!
Running on a very clean Debian 12 installation, snap appears to install the package and dependencies with no issues
root@debianTest:~# snap install --beta oink
2023-12-27T15:23:55-07:00 INFO Waiting for automatic snapd restart...
oink (beta) 1.0.1 from Ricard Lado (rlado) installed
root@debianTest:~# snap list
Name Version Rev Tracking Publisher Notes
core22 20231123 1033 latest/stable canonical✓ base
oink 1.0.1 14 latest/beta rlado -
snapd 2.60.4 20290 latest/stable canonical✓ snapd
However there is no directory or config file created at /etc/oink_ddns/
and there is no service created for oink_ddns:
root@debianTest:~# systemctl status oink_ddns
Unit oink_ddns.service could not be found.
Critically, the snap directory for oink doesn't contain anything
root@debianTest:~# tree snap
snap
└── oink
├── 14
├── common
└── current -> 14
5 directories, 0 files
Otherwise this is a very cool tool, I think a snap package for distribution is an excellent way to go!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.