Saravanan666/pypi-org huggingface dataset:
Package: dnsbin-cli
# dnsbin-cli[![Build Status](https://travis-ci.org/thomas-maurice/dnsbin-cli.svg?branch=v0.0.1)](https://travis-ci.org/thomas-maurice/dnsbin-cli)This is the commandline for the dnsbin project (https://github.com/thomas-maurice/dnsbin)# Using the commandlineTo use the command line you need to install few packages using pip :```bashpip install requests dnspython clifactory```## Posting a file```bash./dnsbin.py post someserver.tld file_name87597b44-d913-4740-9091-d9bd62b8f422```Note that if the file is not ascii only, it will be encodedbefore being uploaded.Done ! Your paste has id `87597b44-d913-4740-9091-d9bd62b8f422`## Getting a paste```bash./dnsbin.py get someserver.tld 87597b44-d913-4740-9091-d9bd62b8f422Paste is 15 chunks long* Getting 1.87597b44-d913-4740-9091-d9bd62b8f422 chunk* Getting 2.87597b44-d913-4740-9091-d9bd62b8f422 chunk... Some more chunks ...* Getting 14.87597b44-d913-4740-9091-d9bd62b8f422 chunk* Getting 15.87597b44-d913-4740-9091-d9bd62b8f422 chunkYour paste :... The text you did paste ! ...```That was easy :)
Package: dnsbl
This module is used to check an ip’s blacklisting status.CHANGE LOG0.0.1 (10/03/2021)First Release0.0.2 (10/03/2021)Changed dns python modules query ( it causes error in some machines )0.0.3 (10/03/2021)Included some dependencies ( it will automatically install needed plugins )0.0.4 (12/03/2021)Added a new field in output that will return some information about the blacklisted IP.0.0.5 (16/03/2021)Bug fix.0.0.6 (22/03/2021)Changed output structure and max workers.
Package: dnsbl-checker
# dnsbl-checkerAsynchronous script for monitoring dns blacklists## Installation`pip install dnsbl-checker`## Usage#### Shell commandsGet list of dns blacklists in which IP_ADDR was found ('all' for listing all ips)```bashdnsbl get IP_ADDR```Perform check for dns blacklists:```bashdnsbl check CONF_FILE```##### Configuration```yamlips: /path/to/file/with/ip_list.txtbanned_providers: /path/to/file/with/banned_providers.txt # optionaltelegram_token: token123 # token of tg bot (optional)telegram_ids: # ids of telegram users to whish send msgs about check (optional)- 11111111- 22222222```
Package: dnsblock-update
dnsblock-updateBlocklist Updater for DNSmasqUsageInstallationRun the following command:pip3 install dnsblock_updateConfigurationCreate a configuration file with the following content:dnsmasq:path:"result.conf"# Generated DNSMasq configurationrepository:path:"./repo/"# Path to the cache repository used by the updaterblocklists:-name:"notracking"# name of the blocklisturl:https://example.com/blacklist.txt# url of the blocklistExecutionCreate a cronjob:0 2 * * * /usr/bin/python3 -m dnsblock_update /etc/dnsblock_update/config.yml
Package: dnscatz
Catalog Zones Toolscatz2nsdcatz2nsdconfigures NSD using catalog zones. It reads a configuration file (default/etc/nsd/catz2nsd.conf) and updates NSD usingnsd-control.catz2nsdmust be able to read the list of currently configured zones in NSD (default/var/lib/nsd/zone.list) in order to determine which zones to add, remove, or update.The configuration file is NSD-like as described below:catalog-zone:
  name: <string>
  request-xfr: <ip-address> <key-name | NOKEY>
  zonefile: <filename>
  pattern: <pattern-name>

key:
  name: <string>
  algorithm: <string>
  secret: <base64 blob>zones2catzzones2catzcreates a catalog zone from a comma-separated text file containing one zone per line (and optionally the intended group for the zone) and writes its output to a file orstdout.Referencesdraft-ietf-dnsop-dns-catalog-zones
Package: dnscherry
DnsCherryPyPI:PackageDoc:DocumentationLicense:MITAuthor:Pierre-Francois Carpentier - copyright 2014DescriptionDnscherry is a small cherrypy application to manage dns zones.
It can add/delete records from any dns server using tsig and
dynamic updates.ScreenshotsLicenseDnscherry is released under the MIT public license.InstallationQuick installation guide:$pipinstalldnscherry# edit configuration according to your dns setup$vim/etc/dnscherry/dnscherry.ini# launch dnscherryddnscherryd-c/etc/dnscherry/dnscherry.iniIt should be accessible from your browser onhttp://localhost:8080.
Package: dnscrypt
This library is designed to make using DNSCrypt in Python easy and compatible
withdnspython.  It provides adns.resolver.Resolver-style interface which
mixes-in thedns.query.udpanddns.query.tcpfunctions.>>> import dnscrypt
>>> r = dnscrypt.Resolver('208.67.222.222', '2.dnscrypt-cert.opendns.com',
... 'B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79',
... port=53, timeout=5)
>>> print r.query('www.google.com')
<dns.resolver.Answer object at 0x103b6f450>
>>> import dns.message
>>> r.udp(dns.message.make_query('google.com', 'A'))
<DNS message, ID 16075>Class Methods__init__(self, address, provider_name, provider_pk, private_key=None, port=53, timeout=5)addressThe IP address of the DNSCrypt resolverportThe port to use for communication with the DNSCrypt resolverprovider_nameThe provider name for the DNSCrypt resolver.  Takes the format<version>.dnscrypt-cert.<zone>.provider_pkThe provider’s hex-encoded public key or DNS hostname where to retreive the public keyprivate_keyA hex-encoded private key if you want to reuse a key you already have.  Otherwise,
a new key will be generated for each Resolver instance.timeoutTimeout in seconds for DNS lookupsaddress,provider_name, andprovider_pkare required.  All other
arguments are optional.query(qname, rdtype=1, rdclass=1, tcp=False, source=None, raise_on_no_answer=True, source_port=0)Analogous todns.resolver.Resolver.queryfordnspython.tcp(self, query, timeout=None, af=None, source=None, source_port=0, one_rr_per_rrset=False)Analogous todns.query.tcpfordnspython.  There is nowhereargument,
but is otherwise identical in function/form.udp(self, query, timeout=None, af=None, source=None, source_port=0, ignore_unexpected=False, one_rr_per_rrset=False)Analogous todns.query.udpfordnspython.  There is nowhereargument,
but is otherwise identical in function/form.Differences from dnspythonThe biggest thing is that this is a very basic implementation ofdns.resolver.Resolver.  While it’s designed to look/feel the same, it is not a
drop in replacement. (e.g. I did not implement theuse_tsig/use_edns/set_flagsfunctions, instead usedns.message.Messageanddnscrypt.resolver.tcpordnscrypt.resolver.udp.)
Package: dnsdb-getdns
GetDNS是一个使用DnsDB API查询DNS记录命令行工具。DependenciesDnsDB Python SDK>= 0.1.2b2Installpip install --upgrade dnsdb-getdnsUsage查看帮助getdns -hCommands可用子命令config 更改配置search 查询DNSapi-user 获取当前API User信息查看子命令帮助getdns <command> -hconfigconfig命令用于配置默认的API ID和API Key，配置该项可以让您在使用search，api_user命令时无需再次输入API ID和API Keygetdns config --api-id <Your API ID> -api-key <Your API Key>查看当前配置getdns config --show恢复默认配置getdns config --reset配置代理:HTTP代理getdns config --proxy http://user:pass@host:portSOCKS5代理getdns config --proxy socks5://user:pass@host:portsearchsearch命令用于查询dns记录。没有使用-a或--all参数时，该命令每成功执行一次扣除当前账号一次API请求次数,  且每次执行最多返回50条查询结果getdns search --domain example.com-o参数用于指定输出位置, 默认为-, 表示输出到标准输出(stdout), 也可以输入到文件中getdns search --domain example.com -o dns-output.txta或--all参数将会返回全部查询结果, 每次查询会根据结果数扣除当前账号的API请求次数getdns search --domain example.com  -a -o dns-output.txt-m或--max参数限制最多输出查询结果数量。例如限制最多输出5条查询结果：getdns search --domain example.com -a --max 5输出格式search命令可以通过以下参数改变输出格式--json指定输出格式为JSON，这是默认选项。--csv指定输出格式为CSV。--format<format-string>自定义输出格式。在<format-string>中，#{host}将会被DNS记录的host替换，#{type}将会被DNS记录的type替换，#{value}将会被DNS记录的value替换，其他内容将会被保留。例如:getdns search --domain exmpale.com --format "host:#{host}, type:#{type}, value:#{value}"输出结果host:a1.example.com, type:a, value:1.1.1.1
host:a2.example.com, type:a, value:1.1.1.2
host:a3.example.com, type:a, value:1.1.1.3
host:a4.example.com, type:a, value:1.1.1.4
......只输出IPv4地址getdns search --domain example.com --type a --format "#{value}"输出结果1.1.1.1
1.1.1.2
1.1.1.3
1.1.1.4
......api_user查看剩余API请求次数getdns api_userFAQMac OS X 使用getdns命令遇到下面错误，您可以查看这里requests.exceptions.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:590)LinksDNSDB Official WebsiteDNSDB Python SDKDNSDB API
Package: dnsdb-python-sdk
dnsdb-python-sdk是DNSDB为开发者提供的python SDK。使用该SDK，您可以方便的将DNSDB的查询服务集成到您的python应用中，您也可以利用它来导出查询结果。查看教程。Installpip install --upgrade dnsdb-python-sdkHow to usefrom dnsdb_sdk.api import APIClient

api_id = "your API ID"
api_key = "your API key"
client = APIClient(api_id, api_key)
result = client.search_dns(domain='github.com')
for record in result:
    print(record)更多使用方法请查看教程LinksDNSDB网站DNSDB API服务介绍DNSDB Web APIGetDNS - 基于dnsdb-python-sdk开发的命令行工具
Package: dnsdist-console
Python client for dnsdist consoleTool to interact with your dnsdist console from Python.Table of contentsInstallationGenerate console keyGenerate hash passwordRun commandGet statisticsDisplay basic dashboardInstallationThis module can be installed frompypiwebsitepipinstalldnsdist_consoleGenerate console keyYou must configure your dnsdist load balancer to accept remote connection to the console.
This module can be used to generate the secret key as below.The command in one linepython3-c"from dnsdist_console import Key;print(Key().generate())"OTgmgAR6zbrfrYlKgsAAJn+by4faMqI1bVCvzacXMW0=Save-it in your/etc/dnsdist/dnsdist.confwith thesetKeydirective.controlSocket('0.0.0.0:5199')
setKey("GQpEpQoIuzA6kzgwDokX9JcXPXFvO1Emg1wAXToJ0ag=")Generate hash passwordYou can use this module to generate a hash for the webserver of your dnsdist.
Since 1.7.0 the password should be hashed and salted.The command in one linepython3-c"from dnsdist_console import HashPassword as H;print(H().generate(\"bonjour\"))"$scrypt$ln=10,p=1,r=8$SZmi+pjuZ4u7L4jhXIkLww==$VRW7BuYUjSVjkjDIK6J1VB/RWx2s4gbz+YXgflWspf8=Run commandConfigure the client with the IP address and the TCP port of your dnsdist as well as the associated secret key. If the provided key is incorrect, an exception will be raised.fromdnsdist_consoleimportConsoleconsole_ip="127.0.0.1"console_port=5199console_key="GQpEpQoIuzA6kzgwDokX9JcXPXFvO1Emg1wAXToJ0ag="console=Console(host=console_ip,port=console_port,key=console_key)Please refer to thednsdist documentationfor all available commands.o=console.send_command(cmd="showVersion()")print(o)dnsdist1.4.0Get statisticsUse this module to extract some statistics on your dnsdist load balancer.
Statistics are stored in a python dictionary.fromdnsdist_consoleimportStatisticss=Statistics(console=console)print(s["global"]["queries"])3993# get top queriesprint(s["top-queries"])[{'entry':'www.apple.com.','hits':'9'},{'entry':'www.facebook.com.','hits':'3'},{'entry':'www.microsoft.com.','hits':'3'}]# get top nx domainprint(s["top-nxdomain"])[{'entry':'www.nxdomain.com.','hits':'1'}]# get top clientsprint(s["top-clients"])[{'entry':'127.0.0.1','hits':'21'}]Display basic dashboardYou can use this client to display a dashboard of your dnsdist from your command line.
The dashboard is updated every second.fromdnsdist_consoleimportDashboardDashboard(console=console)Run your script and you will see something like below.Dashboardfordnsdist

Global:Uptime(seconds):47735Numberofqueries:0Querypersecond:0ACLdrops:0Dynamicdrops:0Ruledrops:0CPUUsage(%s):2.8Cachehitrate:0Backends:#0 / 10.0.0.140:53 / -- / dns_othersNumberofqueries:0Querypersecond:0.0Numberofdrops:0#1 / 10.0.0.55:53 / -- / dns_internalNumberofqueries:0Querypersecond:0.0Numberofdrops:0#2 / 8.8.8.8:53 / -- / dns_internetNumberofqueries:0Querypersecond:0.0Numberofdrops:0#3 / 1.1.1.1:53 / dns_1 / --Numberofqueries:0Querypersecond:0.0Numberofdrops:0Ctrl+Ctoexit
Package: dns-dnspod
说明操作dnspod域名(https://www.dnspod.cn)支持对用户、域名以及记录相关的操作。实现了官方95%以上的功能，覆盖了所有常用功能。安装1. 安装requests
pip install requests

2. 安装dns-dnspod
pip install dns-dnspod

3. 使用
import pydnspod

user_id = 'your-user-id'
user_token = 'your-user-token'

创建连接:
dp = pydnspod.connect(user_id, user_token)

获取api版本:
dp.api_version()

操作用户: dp.user.*
dp.user.detail()            # 获取用户的详细信息
dp.user.modify_email()      # 修改用户的邮箱
dp.user.modify_password()   # 修改用户的密码
dp.user.modify_userinfo()   # 修改用户个人信息
dp.user.user_log()          # 获取用户登录日志

操作域名: dp.domain.*
dp.domain.add()             # 添加domain
dp.domain.remove()          # 删除domain
dp.domain.list()            # 列出domain
dp.domain.info()            # domain信息
dp.domain.log()             # domain操作日志
dp.domain.mark()            # domain设置星标
dp.domain.purview()         # 域名权限
dp.domain.remark()          # 域名备注
dp.domain.group_add()       # 添加分组
dp.domain.group_list()      # 列出分组
dp.domain.group_remove()    # 删除分组
dp.domain.group_modify()    # 修改分组
dp.domain.record_line()     # 获取域名支持的线路类型
dp.domain.record_type()     # 获取域名支持的记录类型

操作记录: dp.record.*
pd.record.add()             # 添加record
pd.record.info()            # 查看record信息
pd.record.list()            # 查询符合条件的record
pd.record.remove()          # 删除record
pd.record.remark()          # 给record设置备注
pd.record.modify()          # 修改record
pd.record.modify_status()   # 修改record的状态。启用或禁用
pd.record.record_id()       # 获取符合条件的子域名的record id
pd.record.status()          # 获取启用或禁用的records。
Package: dnserver
dnserverSimple DNS server written in python for use in development and testing.The DNS serves its own records, if none are found it proxies the request to an upstream DNS server
eg. CloudFlare at1.1.1.1.You can set up records you want to serve with a customzones.tomlfile,
seeexample_zones.tomlan example.Installation from PyPIInstall with:pipinstalldnserverUsage:dnserver--help(orpython -m dnserver --help)For example, to serve a file calledmy_zones.tomlfile on port5053, run:dnserver--port5053my_zones.tomlUsage with PythonfromdnserverimportDNSServerserver=DNSServer.from_toml('example_zones.toml',port=5053)server.start()assertserver.is_running# now you can do some requests with your favorite dns libraryserver.stop()Usage with DockerTo use with docker:dockerrun-p5053:53/udp-p5053:53/tcp--rmsamuelcolvin/dnserver(Seednserver on hub.docker.com)Or with a custom zone file:dockerrun-p5053:53/udp-v`pwd`/zones.toml:/zones/zones.toml--rmsamuelcolvin/dnserver(assuming you have your zone records at./zones.toml,
TCP isn't required to usedig, hence why it's omitted in this case.)You can then test (either of the above) with~➤dig@localhost-p5053example.comMX
...;;ANSWERSECTION:
example.com.300INMX5whatever.com.
example.com.300INMX10mx2.whatever.com.
example.com.300INMX20mx3.whatever.com.;;Querytime:2msec;;SERVER:127.0.0.1#5053(127.0.0.1);;WHEN:SunFeb2618:14:52GMT2017;;MSGSIZErcvd:94~➤dig@localhost-p5053tutorcruncher.comMX
...;;ANSWERSECTION:
tutorcruncher.com.299INMX10aspmx2.googlemail.com.
tutorcruncher.com.299INMX5alt1.aspmx.l.google.com.
tutorcruncher.com.299INMX5alt2.aspmx.l.google.com.
tutorcruncher.com.299INMX1aspmx.l.google.com.
tutorcruncher.com.299INMX10aspmx3.googlemail.com.;;Querytime:39msec;;SERVER:127.0.0.1#5053(127.0.0.1);;WHEN:SunFeb2618:14:48GMT2017;;MSGSIZErcvd:176You can see that the first query took 2ms and returned results fromexample_zones.toml,
the second query took 39ms as dnserver didn't have any records for the domain so had to proxy the query to
the upstream DNS server.
Package: dnsexit-ip-update
dnsexit-ip-updateA dynamic DNS client forDNSExitregistered domains written in Python.Before using this client it isstrongly recommendedyou create aDynamic IP Update Passwordfor your account rather than using your DNSExit account login credentials.This client was built according to the DNSExit IP Updatespecification document.InstallPyPiFor systems using Python 3.6 or later, there is pip package available:$pipinstalldnsexit-ip-updateDocker(suggested)This package is available as a docker image as well.registry.gitlab.com/christiantragesser/dnsexit-ip-updateConfigure and RunPython Package$exportLOGIN="<your dnsexit login>"$exportPASSWORD="<your dnsexit IP Update password>"$exportDOMAIN="<your dnsexit registered domain>"$python-mdnsexitUpdateDocker$dockerrun-d-eLOGIN="<your dnsexit login>"\-ePASSWORD="<your dnsexit IP Update password>"\-eDOMAIN="<your dnsexit registered domain>"\registry.gitlab.com/christiantragesser/dnsexit-ip-updateConfigure OptionsCheck IntervalBy default IP update checks happen in 10 minute intervals.  This cadence can be changed by setting the enviromental variableCHECK_INTERVALto the desired interval in units of seconds.# 20 minute intervalexportCHECK_INTERVAL=1200
Package: dns-exporter
dns_exporterdns_exporteris amulti-targetPrometheusexporter with an exclusive focus on DNS monitoring. It is built on the excellent librariesdnspythonandthe Prometheus Python client library.dns_exportercan be used to monitor availability and performance of DNS servers, and to validate the responses they return. It can monitor recursive and authoritative servers regardless of the software they run. You can use it to make sure your (or your providers) DNS servers are sending the replies you expect and configurePrometheusandAlertmanagerto notify you if something stops working.dns_exporterworks similar to theBlackbox exporterwhere Prometheus asks the exporter to scrape the target, rather than the exporter itself being the target. This is called theMulti Target Exporter Pattern. It is typically used in black-box style exporters where 1) the thing you are monitoring is not under your control, or 2) you want to measure the path as well. Often when monitoring DNS both 1) and 2) are relevant.This means that for each scrape Prometheus speaks HTTP to thedns_exporterwhich then speaks DNS with the target DNS server and returns the resulting metrics over HTTP to Prometheus.dns_exportersupports doing DNS queries over plain port 53UDPandTCP, as well asDoTandDoH(andDoQpending the next release of dnspython).DocumentationThe documentation is available onReadTheDocsVersioning and Releases of dns_exporterVersioning, branching and tagging ofdns_exporteris done based onhttps://semver.org/andhttps://nvie.com/posts/a-successful-git-branching-model/
Package: dns-firewall
DNS firewallA proxy to inspect and mingle locally generated DNS queries.
Optional tray icon an Gtk interface.RationaleInspecting and filtering DNS traffic generated by desktop applications can be tricky.
Tools like tcpdump have no way to tell which running process generated a DNS query.
Also, Netfilter cannot filter traffic by domain name and many domains resolve to IP addresses that change frequently.A typical use case is to monitor browser, browsers plugins and extensions for suspicious home-calling or malicious/tracking javascript, or other application leaking data through DNS queries.dns-firewall acts as a forwarding DNS resolver. It listens locally on port 53 and forwards only the allowed queries to external resolvers.It detects the name of the process trying to resolve a domain name and applies filtering rules based on that.FeaturesBlock DNS queries by application and domain, or return configurable IP addressesTray icon with activity indicatorsLog window to inspect recent activityOptionally resolve names using the Tor networkUsageCreate conf.yaml from conf.yaml.exampleBinding to UDP port 53 is required. You can run the process as root or install
and configure authbind:sudo apt-get install authbind
sudo touch /etc/authbind/byport/53
authbind --depth 2 ./dns_firewall/main.py conf.yaml

# or

sudo ./dns_firewall/main.py conf.yamlAdd –tray to enable the tray icon and Gtk interface. Left-click on the tray icon to display the log window.Update your /etc/resolv.conf with “nameserver 127.0.0.1”Development statusIn development. Testing and contributions are welcome!
Package: dnsgen
:cyclone: dnsgen (DNS generator)This tool generates a combination of domain names from the provided input. Combinations are created based on wordlist. Custom words are extracted per execution. Refer toTechniquessection to learn more.dnsgenis very similar toaltdns. It does not contain DNS resolver. You should usemassdnsfor DNS resolution.Installationpip3 install dnsgen..or from GitHub directly:git clone https://github.com/ProjectAnte/dnsgen
cd dnsgen
pip3 install -r requirements.txt
python3 setup.py installUsage$ dnsgen domains.txt(domains.txtcontains a list of active domain names)-l/--wordlen: minimum size of custom words to be extracted-w/--wordlist: path to custom wordlist-f/--fast: Generate lower amount of domains with most probable words onlyfilename: required parameter for an input list of domains. The input file should contain domain names separated by newline character (\n). You can also use STDIN as an input method, providing-to this argument.Combination with massdns:$ cat domains.txt | dnsgen - | massdns -r /path/to/resolvers.txt -t A -o J --flush 2>/dev/nullTechniques(For demo purposes, let's say that wordlist contains just one word:stage)Insert word on every index— Creates new subdomain levels by inserting the words between existing levels.foo.example.com->stage.foo.example.com,foo.stage.example.comIncrease/Decrease num found—(In development)If number is found in an existing subdomain, increase/decrease this number without any other alteration.foo01.example.com->foo02.example.com,foo03.example.com,...Prepend word on every index— On every subdomain level, prepend existing content withWORDandWORD-.foo.example.com->stagefoo.example.com,stage-foo.example.comAppend word on every index— On every subdomain level, append existing content withWORDandWORD-.foo.example.com->foostage.example.com,foo-stage.example.comReplace the word with word— If word longer than 3 is found in an existing subdomain, replace it with other words from the wordlist.(If we have more words than one in our wordlist).stage.foo.example.com->otherword.foo.example.com,anotherword.foo.example.com,...Extract custom words— Extend the wordlist based on target's domain naming conventions. Such words are either whole subdomain levels, or-is used for a split on some subdomain level. For instancemapp1-current.datastream.example.comhasmapp1,current,datastreamwords. To prevent the overflow, user-definedword lengthis used for word extraction. The default value is set to6. This means that only words strictly longer than5characters are included (from the previous example,mapp1does not satisfy this condition).ResourcesSubdomain Enumeration: 2019 WorkflowSubdomain Enumeration: Doing it a Bit SmarterTO DOImprove READMETests
Package: dnsimple-dyndns
dnsimple-dyndns===============Dynamic DNS implementation, that relies on DNSimple.comThis is a simple script that updates (and creates, if needed) an ``A`` domain record for any``DNSimple.com`` managed domain. It is designed to be run as a hook script right after theWAN connection.Usage-----```usage: dnsimple-dyndns [-h] [-v] [-t TTL] [-i IP]DOMAIN DOMAIN-TOKEN RECORD-NAMEDynamic DNS implementation, that relies on DNSimple.com.positional arguments:DOMAIN             domain controlled by DNSimple.comDOMAIN-TOKEN       DNSimple.com domain API key.RECORD-NAME        name of the record to be updated.optional arguments:-h, --help         show this help message and exit-v, --version      show program's version number and exit-t TTL, --ttl TTL  DNS record TTL, defaults to 60-i IP, --ip IP     IP address, defaults to current external address fromhttp://icanhazip.com/```Running on Gentoo with OpenRC-----------------------------To run this script on Gentoo with OpenRC, you should emerge the ``dnsimple-dyndns`` package:```# emerge -av dnsimple-dyndns```Then add the following function to your ``/etc/conf.d/net`` file (or edit your postup function,if already exists):```bashpostup() {if [[ "${IFACE}" = "enp3s0" ]]; theneinfo "Updated DNS record: $(dnsimple-dyndns example.com your-domain-token home)"elseeinfo "Ignoring interface: ${IFACE}"fi}```Replace ``enp3s0`` with your WAN interface, ``example.com`` with your DNSimple.com managed domain,``your-domain-token`` with your DNSimple.com domain token(see http://developer.dnsimple.com/authentication/#dnsimple-domain-token) and ``home`` with yourdesired DNS record name.