Skip to content

Releases: oryxlabs/PolarDNS

v1.6.0

04 Feb 16:44
Compare
Choose a tag to compare

New documentation, features and updates.

Change log:

03/Feb/2025

  • new catalog documentation using GitHub Pages, providing detailed explanations, examples, and PCAP files for each example
  • major rework of all modules to align with the new documentation format, including examples and in-depth explanations
  • added tests (total test count: 2407)

28/Jan/2025

  • deprecated the bigcname feature, succeeded by the nfz modifier
  • deprecated the cgena feature, succeeded by the nfz modifier
  • deprecated the cgenb feature, succeeded by the nfz modifier
  • deprecated the cnamefuzz1 feature, succeeded by the nfz modifier
  • deprecated the cnamefuzz2 feature, succeeded by the nfz modifier
  • deprecated the dotcname feature, succeeded by the nfz modifier
  • deprecated the illcname feature, succeeded by the nfz modifier
  • deprecated the manycnames feature, succeeded by the nfz modifier
  • deprecated the manylabels feature, succeeded by the nfz modifier
  • deprecated the cutabuf feature, succeeded by the cut modifier
  • deprecated the cutcnamebuf feature, succeeded by the cut modifier
  • deprecated the chunkedcnames feature, succeeded by the cnk modifier

27/Jan/2025

  • deprecated the inj01 feature, succeeded by the inja feature
  • deprecated the inj02 feature, succeeded by the inja feature
  • deprecated the inj03 feature, succeeded by the inja feature
  • deprecated the inj04 feature, succeeded by the inja feature
  • deprecated the inj05 feature, succeeded by the inja feature
  • deprecated the inj06 feature, succeeded by the injaaaa feature
  • deprecated the inj07 feature, succeeded by the inja feature
  • deprecated the inj08 feature, succeeded by the inja feature
  • deprecated the inj09 feature, succeeded by the injptr feature
  • deprecated the inj10 feature, succeeded by the injns feature
  • deprecated the inj11 feature, succeeded by the injns feature
  • deprecated the inj12 feature, succeeded by the injns feature
  • deprecated the inj13 feature, succeeded by the injns feature
  • deprecated the inj14 feature, succeeded by the injcname feature

26/Jan/2025

  • major consolidation of all cache poisoning (record injection) modules, introducing new injection features
  • added the inja feature for injecting unsolicited A records
  • added the injns feature for injecting unsolicited NS records
  • added the injaaaa feature for injecting unsolicited AAAA records
  • added the injcname feature for injecting unsolicited CNAME records
  • added the injdname feature for injecting unsolicited DNAME records
  • added the injmx feature for injecting unsolicited MX records

19/Jan/2025

  • overhaul of the nfz name fuzzing generator, now supporting variable, parameterized, and customizable malformations
  • enhanced the always feature feature to support generating a variable number of A or AAAA records

15/Dec/2024

  • enhanced the size feature to support both A and AAAA records
  • enhanced the self feature to return both the client's IP address and source port

11/Dec/2024

  • added the cnk modifier enabling transmission of DNS responses in variable sized chunks
  • added the len modifier allowing adjusting the DNS packet length (size) in TCP

28/Oct/2024

  • added the queryback4 feature
  • added self-DoS protection in the queryback3 feature

Full History: v1.5.0...v1.6.0

v1.5.0

24 Sep 12:13
Compare
Choose a tag to compare

New features and updates.

Change log:

  • added the nsloop, nschain and nsalias features responding with NS records
  • added the spfloop, spfchain, spfalias1 and spfalias2 features responding with TXT SPF records
  • the loop, chain and alias generic features now also support the NS and SPF (TXT) record types
  • added the ptralias, ptrloop1 and ptrloop2 features responding with PTR records
  • added the nptenumalias and nptenumloop features returning NAPTR records in response to ENUM (E.164) phone number queries
  • added the add modifier for appending arbitrary bytes to the end of the packet
  • added the rl modifier for recalculating the length in TCP in case cut or add modifiers were used during a request
  • changed behavior across all alias* feature (CNAME/DNAME/HTTPS/SVCB/SRV/MX/NS/TXT) to send only one alias by default
  • small fix in matching of underscored domain names for the SRV and SVCB alias/chain/loop features
  • enhanced the tests, test/test.sh -h will give usage info
  • various other small code optimizations and code fixes
  • adopting the semantic versioning (SemVer)
  • updated the catalogue documentation
  • added tests (total test count: 750)

Full History: v1.4...v1.5.0

v1.4

08 Jul 12:18
Compare
Choose a tag to compare

New features and updates.

Change log:

  • added support for the Attrleaf naming pattern (underscored domain names) for the SRV and SVCB alias/chain/loop features
  • enhanced the nfz modifier, added 4 more variants, now it can produce 49 different domain name variants
  • deprecated the manycnames, cnamefuzz1, cnamefuzz2 and illcname features
  • added support for parsing the EDNS0 section, configurable via config file
  • added the size feature that responds with the maximum number of A records that can fit in the specified packet size
  • added support for DNS compression, configurable via config file
  • added the nc modifier to not use compression in a response
  • added the fc modifier to force compression in a response
  • added the cut modifier for cutting arbitrary number of bytes from the end of the packet
  • deprecated the cutabuf and cutcnamebuf features
  • many code optimizations and code fixes
  • updated the catalogue documentation
  • added tests (total test count: 678)

Full History: v1.3...v1.4

v1.3

04 Jun 12:08
Compare
Choose a tag to compare

New features and updates.

Change log:

  • improved the startup module loading logic to be more robust and user-friendly
  • optimized the random number generation everywhere to use the random.getrandbits() which looks to be fastest
  • added the nfz modifier for name fuzzing, which can produce various illegal and malformed domain names
  • added the cnloop, cnchain and cnalias features responding with CNAME records
  • added the dnloop, dnchain and dnalias features responding with DNAME records
  • added the htloop, htchain and htalias features responding with HTTPS records
  • added the svloop, svchain and svalias features responding with SVCB records
  • added the srloop, srchain and sralias features responding with SRV records
  • added the mxloop, mxchain and mxalias features responding with MX records
  • added tests for all the new features (total test count: 545)
  • updated the catalogue documentation

Full History: v1.2...v1.3

v1.2

28 May 12:14
Compare
Choose a tag to compare

New features and updates.

Change log:

  • added the httpsloop feature for creating alias loops in HTTPS records (RFC 9460)
  • added the httpschain feature for creating infinite alias chains in HTTPS records (RFC 9460)
  • added the svcbloop feature for creating alias loops in SVCB records (RFC 9460)
  • added the svcbchain feature for creating infinite alias chains in SVCB records (RFC 9460)
  • added the dloop feature for creating alias loops in DNAME records
  • added the self/whatismyip feature for returning the client's IP address (aka. what is my IP)
  • added tests for all the new features (total test count: 344)
  • updated the catalogue and other documentation
  • small code fixes in polardns.py file

Full History: v1.1...v1.2

v1.1

08 May 07:37
Compare
Choose a tag to compare

Major update adding support for standalone modules to PolarDNS.

Change log:

  • added support for standalone feature modules in the form of .toml files
  • moved the majority of existing features to a modular format
  • major cleanup of the polardns codebase
  • major review of the variables scope and naming conventions in the code
  • adopting a more object-oriented approach for DNS request and DNS response variables
  • upon startup, sort the modules in alphabetical order during the construction of the polardns_real.py file
  • major update of the contribution page
  • added steps how to implement new features to PolarDNS
  • added steps how to debug PolarDNS in the contribution page

Full History: v1.0...v1.1

v1.0

07 May 11:59
Compare
Choose a tag to compare

First stable working version of PolarDNS.