{"id":20234519,"url":"https://github.com/adaxi/addns","last_synced_at":"2026-06-08T11:01:23.296Z","repository":{"id":11560726,"uuid":"14047093","full_name":"adaxi/addns","owner":"adaxi","description":"Addns with packaging for Debian","archived":false,"fork":false,"pushed_at":"2013-11-10T12:00:31.000Z","size":148,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-03T14:12:55.421Z","etag":null,"topics":["dns","dyndns","ovh","perl"],"latest_commit_sha":null,"homepage":"http://apt.adaxisoft.be/","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adaxi.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-01T15:59:15.000Z","updated_at":"2018-03-05T22:30:44.000Z","dependencies_parsed_at":"2022-09-23T00:11:49.515Z","dependency_job_id":null,"html_url":"https://github.com/adaxi/addns","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/adaxi/addns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaxi%2Faddns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaxi%2Faddns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaxi%2Faddns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaxi%2Faddns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adaxi","download_url":"https://codeload.github.com/adaxi/addns/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaxi%2Faddns/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34059157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dns","dyndns","ovh","perl"],"created_at":"2024-11-14T08:11:12.743Z","updated_at":"2026-06-08T11:01:23.275Z","avatar_url":"https://github.com/adaxi.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"**************\nAddns.pl - 1.2\nby David Hasson \u003cwww.funtaff.com\u003e\n**************\n\nAddns.pl is a small utility for updating your ip address to the dyndns.org dynamic dns service.  It has grown over the years, and now supports an unlimited number of host configurations, static/dynamic/custom DNS, logging, intelegent abuse prevention, and all features available to DynDNS hosts.  It aims to be fully compliant with client response standards from DynDNS.org.\n\nAddns.pl is also known to work with other services.  The config file offers very flexible configuration options.\n\nThe known working services are www.dyndns.org and the french \"ovh\" service (see thier website)\n\n**************\nCHANGES:\n**************\n\n1.2: \n- Fixed multiple hostnames in the same configuration\n- Fixed format of --help option\n- Allows specification of configfile with -c=configfile\n- Configuration allows specification of database and log files:\n\n[files]\n{\n     cache = \"/place/where/addns/can/access/cache.db\"\n     log = \"/place/where/addns/can/access/addns.log\"\n\n}\n\nAs of 1.0, there is no support for creating a configuration file automatically.  The older versions are still available, however (although DynDNS support of older protocals is not dependable).\n\n- Other changes documented at the software website, or not at all.\n\n**************\nINSTALLATION:\n**************\n\nAddns.pl is designed to be run by any user, however the file locations for its config, host cache, and log default to system-wide locations. Here is an example of how you might set up Addns.pl \n   -as a system service\n\ta) move addns.pl to a directory in the system path\n\t   (ie. /usr/local/bin)\n\tb) make sure that whoever is going to be running addns.pl can \n\t   access these files:\n\t\t/etc/addns.conf (configuration - read permissions)\n\t\t/etc/addns.db   (hostname/ip cache - read/write)\n\t\t/var/log/addns.log (the log - read/write)\n   -as a user service\n   \ta) make configuration at /home/user/.addns.conf\n\tb) add cache = \"/home/user/.addns.db\" to [files] section of config\n\t   add log = \"/home/user/.addns.log\" to \"\"\n\tc) run addns.pl like this:\n\t\taddns.pl -x=/home/user/.addns.conf\n\nObviously, the easiest way to run addns.pl is as root, but for the security-conscous it maybe advisable to simply change the permissions on the necessary files, or change the file locations in the configuration\n\n**************\nCONFIGURATION:\n**************\n\n/etc/addns.conf has a format with sections and variable = value pairs.  Comments may be preceeded by a \"#\", and all white-space lines are ignored:\n\n[section]\n{\n\tvariable = value\n}\n[section2]\n{\n\tvariable = value\n}\n\nEach section is treated as a update \"scheme\" it may have one or more hostnames (seperated by commas), an ip detection method, and any other options specific to that set of hosts.\n\nVariables are declared as variable = value, where value may optionally be in quotes (must if there is whitespace)\n\nThere are a few \"special sections\" that get treated as system-wide options.  The \"main\" section provides system-wide options.  The \"daemon\" section provides three options for controlling the daemon mode of Addns.pl\n\n[host id]\n{\n\tupdate_host = \"hostname1,hostname2\"\n\tdetect_method = \"method\"\n\t\t# Methods:\n\t\t# manual: ip is specified via \"update_ip\" in config\n\t\t# iface:  ip is retrieved from interface specified in \"iface\"\n\t\t# webcheck: get ip from a web page, specified with \"ip_detect_\" variables\n\t\t#\t(if not set, uses checkip.dyndns.org)\n\tiface = \"iface\"\n\t\t# interface from ifconfig to pull ip from\n\tusername = \"username\"\n\tpassword = \"password\"\n\t\t# dyndns credentials\n\n\tip_detect_host = \"hostname\"\n\t\t# hostname/ip of server to get ip from\n\tip_detect_port = 80\n\t\t# port of server to get ip from\n\tip_detect_look = \"string\"\n\t\t# this specifies the string to look for that will be directly in front of the ip address.  An example is \"Current IP Address:\".  This must be almost exact to work correctly (ie html tags and such must be included).\n\tip_detect_url = \"/url?stuff\"\n\t\t# this specifies the URL to request of the webserver at ip_detect_host.  For example \"/status.html\" or \"/\"\n\n\tserver_host = \"hostname\"\n\t\t# hostname of dyndns server (for debugging)\n\tserver_port = 80\n\t\t# port to use when updating - useful for bypassing proxies (www.dyndns.org supports 80 and 8245)\n\tsystem_type = \"type\"\n\t\t# dyndns, custom, statdns\n\tmx_record = \"record\"\n\tback_mx = \"no\"\n\t\t# no, yes, nochg\n\toffline = \"no\"\n\t\t# no, yes\n}\n\n\n[main]\n{\n\tproxy_host = \"hostname\"\n\tproxy_port = 80\n\tuse_proxy = 0\n\t\t# 0, 1 \n}\n\n[daemon]\n{\n\tinterval = 600\n\t\t# Interval between updates (non-abusive, of course) in seconds\n}\n\n[files]\n{\n\tcache = \"/etc/addns.db\"\n\tlog = \"/var/log/addns.log\"\n}\n\n****************\nRUNNING Addns.pl:\n****************\n\nAddns.pl may be run manually, fron cron, from the dhcp or ppp scripts, or as a daemon to automatically poll ip's every so many seconds.  (Please advise you should not be using checkip.dyndns.org more than once every 10 minutes - 600 seconds)\n\nDaemon mode is available by the -d option.\n\nManual Mode: the user can specify  a configuration label to use \"-x=label\", or if the label is omitted, the host can be updated entirely from command line arguments\n\nExamples:\n\nhost# addns.pl -H=my.host.com -u=test -p=test -mx=10.1.2.1 -s=custom -m=iface -n=eth0\nhost# addns.pl -H=my.host.com,my.otherhost.com -u=test -p=test -mx=10.1.2.1 -s=custom  -m=iface -n=eth0\nhost# addns.pl --host=my.host.com --username=test --password=test --system=custom --method=iface --interface=eth0\nhost# addns.pl -x=label --offline=yes\nhost# addns.pl -x=label -l=88.25.33.1\nhost# addns.pl -c=/my/addns.conf \n\nOtherwise, addns.pl will attempt to read from the configuration file and update all hosts  This is more usefule for triggered, daemon, and cron updates:\n\nhost# addns.pl\n\n*********\nMULTIPLE ACCOUNTS / HOSTNAMES\n*********\n\nThe cleanest way to do more than one account or hostname is to add sections in the config file.  \n\nHowever, should you want to update more than one host on the same account with the same IP, you can specify the hostnames(s) seperated by commas like this: \"hostname.ath.cx,hostname.mine.nu\".  If the hosts are in sync, this will work fine, however, should one fail the IP *will not* be updated in the cache (perhaps I can fix this later), and the daemon will quit altogether.\n\nThis method is fairly safe, but it could potentially cause abuse problems when one is initially setting up addns.pl and possibly making mistakes in the configuration file.\n\n*********\nBUGS:\n*********\n\nPlease e-mail me with any problems at \u003cdevel@funtaff.com\u003e.  The most common problems are ifconfig parsing issues (I only have english versions of ifconfig), but since 1.01b is pretty much a complete rewrite, I welcome all feedback\n\n*********\nTODO:\n*********\n\nAdd ability to e-mail user when changes / problems occur\nReasearch other account services and add sample configurations\n\n\n*********\nCOPYING:\n*********\n\nAddns.pl is licensed under the GPL License.  (c) 1999-2004 David Hasson.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadaxi%2Faddns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadaxi%2Faddns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadaxi%2Faddns/lists"}