Jump to content

Search the Community

Showing results for tags 'dns seeder'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • News & Announcements
    • BlockForums Announcements
    • Denarius Announcements
  • Cryptocurrency Discussions
    • Cryptocurrencies
    • Altcoin Announcements
    • General Discussion
    • Tutorials & Help
  • Denarius Discussions
    • General Discussion
    • Tutorials & Help
    • Marketing & PR
    • Development
    • Mining & Staking
    • Trading & Exchanges
    • Marketplace
  • Programming & Design
    • Development QA
    • Design QA
  • Gaming
    • Bot Downloads & Discussion
    • Gaming Discussion
  • Classifieds
    • Buy Sell and Trade
  • Other Discussions
    • The Lounge
    • Hardware & IoT
    • Tutorials & Guides
    • Domains & Hosting

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


BTC Address

Found 2 results

  1. A really nice fork of sipa dns seeder that makes everything easy for basically any bitcoin fork (altcoin) like a Denarius. https://github.com/team-exor/generic-seeder Clone and make the binary sudo apt-get install build-essential libboost-all-dev libssl-dev libcurl4-openssl-dev libconfig++-dev git clone https://github.com/team-exor/generic-seeder cd generic-seeder make settings.conf protocol_version="33900" init_proto_version="33900" min_peer_proto_version="33900" caddr_time_version="33900" pchMessageStart_0 = "0xfa" pchMessageStart_1 = "0xf2" pchMessageStart_2 = "0xef" pchMessageStart_3 = "0xb4" wallet_port="33369" explorer_url="https://chainz.cryptoid.info/d/api.dws?q=getblockcount" second_explorer_url="" explorer_requery_seconds="60" block_count="3272984" seed_1="dnsseed.denarius.guide" seed_2="dnsseed.denarius.pro" seed_3="mseed.denarius.guide" seed_4="" seed_5="" seed_6="" seed_7="" seed_8="" seed_9="" seed_10="" cf_domain="" cf_domain_prefix="" cf_username="[email protected]" cf_api_key="" cf_seed_dump="dnsseed.dump" Using bseed.denarius.guide as the sample seeder that's in Denarius wallet already. A record setup NS setup Give that a few minutes to propagate and then run the seeder like this which matches the above. ./dnsseed -h bseed.denarius.guide -n vps.denarius.guide -m buzz.denarius.guide Wait to get some seeds. Then check propagation from https://www.whatsmydns.net/#A/vps.denarius.guide  Then check your seeder is working https://www.whatsmydns.net/#A/bseed.denarius.guide Then spinup a linux vm and type nslookup bseed.denarius.guide and you should see Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: bseed.denarius.guide Address: 95.111.245.53 Name: bseed.denarius.guide Address: 67.172.231.51 Name: bseed.denarius.guide Address: 77.56.152.58 Name: bseed.denarius.guide Address: 92.106.177.110 And your seeder is setup. huge thanks to @joeuhren for getting this to work on Denarius extremely easy. To exit and leave screen session open type ctrl a+d to get back in type screen -ls will show There is a screen on: 13441.generic-seeder (05/18/2020 06:36:18 AM) (Detached) type screen -r 13441.generic-seeder to get back in. example: screen -r number then push tab to autocomplete the rest and push enter
  2. Spent some time with the DNS seeders and there is very little info so I was playing with cloudflare and wondered if I could automate the DNS seeds somehow. I assume this works on any coins that has a peer list with minor tweaks. The basic idea is getpeerinfo from the daemon into a json file and then send line by line of that into an A record on your seeder domain name. I am hopeful some others will see this and have a better idea how to automate this by making it easier to setup and run on generic coin. https://github.com/buzzkillb/duct-tape-dns-seeder Make a cloudflare account and point your domain denarius.pro at the cloudflare nameservers from your domain host control panel. Now we can edit records on cloudflare and the changes are almost immediate. Cloudflare API Key is here, top right Icon -> My Profile -> View Global API Key #Install Python Cloudflare sudo apt install python-pip git clone https://github.com/cloudflare/python-cloudflare cd python-cloudflare ./setup.py build sudo ./setup.py install #Create a config file for your cloudflare API, change email and token (API KEY) mkdir ~/.cloudflare nano ~/.cloudflare/cloudflare.cfg [CloudFlare] email = <[email protected]> token = <API KEY> certtoken = v1.0-... extras = #test this works. change the ipv4 and denarius.pro to your stuff. dnsseed.denarius.pro is what my example will show. cli4 --post name="dnsseed" type="A" content="73.218.220.108" /zones/:denarius.pro/dns_records now we want to store a couple text files somewhere. you choose this for now I will use /root/ #create seed.sh and edit denarius.pro to your domain name. still using dnsseed.denarius.pro for this example. #!/bin/sh grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' "${1:?}" | while read IP do echo "$IP" cli4 --post name="dnsseed" type="A" content="$IP" /zones/:denarius.pro/dns_records done make this file executable chmod +x seed.sh now how to grab and put the ipv4's into the domain A records. denariusd daemon send peerinfo into a json file. then jq parses the json for the addr array and then we remove some junk and put that into peers.txt. From there the bash file uses regex to make the ipv4's pretty. denariusd getpeerinfo > peer.json jq '.[] | .addr' -r peer.json | sed 's/[][]//g' > peers.txt ./seed.sh peers.txt This can be updated as much as the cloudflare API limits gives. But how to remove A records and try to keep this list fresh? Lets make a delete file from python cloudflare examples. https://github.com/cloudflare/python-cloudflare/blob/master/examples/example_delete_zone_entry.py #create delete.py and chmod+x this, and then put this inside. #!/usr/bin/env python """Cloudflare API code - example""" from __future__ import print_function import os import sys import re import json import requests sys.path.insert(0, os.path.abspath('..')) import CloudFlare def main(): """Cloudflare API code - example""" try: zone_name = sys.argv[1] dns_name = sys.argv[2] except IndexError: exit('usage: example_delete_zone_entry.py zone dns_record') cf = CloudFlare.CloudFlare() # grab the zone identifier try: params = {'name':zone_name} zones = cf.zones.get(params=params) except CloudFlare.exceptions.CloudFlareAPIError as e: exit('/zones %d %s - api call failed' % (e, e)) except Exception as e: exit('/zones.get - %s - api call failed' % (e)) if len(zones) == 0: exit('/zones.get - %s - zone not found' % (zone_name)) if len(zones) != 1: exit('/zones.get - %s - api call returned %d items' % (zone_name, len(zones))) zone = zones[0] zone_id = zone['id'] zone_name = zone['name'] print('ZONE:', zone_id, zone_name) try: params = {'name':dns_name + '.' + zone_name} dns_records = cf.zones.dns_records.get(zone_id, params=params) except CloudFlare.exceptions.CloudFlareAPIError as e: exit('/zones/dns_records %s - %d %s - api call failed' % (dns_name, e, e)) found = False for dns_record in dns_records: dns_record_id = dns_record['id'] dns_record_name = dns_record['name'] dns_record_type = dns_record['type'] dns_record_value = dns_record['content'] print('DNS RECORD:', dns_record_id, dns_record_name, dns_record_type, dns_record_value) try: dns_record = cf.zones.dns_records.delete(zone_id, dns_record_id) print('DELETED') except CloudFlare.exceptions.CloudFlareAPIError as e: exit('/zones.dns_records.delete %s - %d %s - api call failed' % (dns_name, e, e)) found = True if not found: print('RECORD NOT FOUND') exit(0) if __name__ == '__main__': main() to run the deleter, and it appears this only deletes 10-15 records at a time, so you might need to run this 5 times before sending a fresh list. This is only deleting records from dnsseed.denarius.pro. Nothing else on denarius.pro. Magical. ./delete.py denarius.pro dnsseed Right now I am trying to think how frequent to send new ip's and delete the list and start over. Once I get that down I will post a sample cronjob to use. Otherwise this should work with basically any bitcoin fork daemon, maybe minor tweaks. I also need a better regex to parse ipv6 so we can also make some on the fly AAAA records. Use the github as that shows the crontab for adding and deleting the A records
×
×
  • Create New...