svcb_rr_patch

the patch that adds SVCB Resource Record and HTTPS Resource Record


Keywords
dns, https, ruby, svcb
License
MIT
Install
gem install svcb_rr_patch -v 0.0.5

Documentation

svcb_rr_patch

Gem Version CI Maintainability

svcb_rr_patch is the patch that adds SVCB Resource Record and HTTPS Resource Record.

svcb_rr_patch supports "ech" SvcParamKey that ECHConfig.version is 0xfe0d.

Installation

he gem is available at rubygems.org. You can install it the following.

$ gem install svcb_rr_patch

Usage

You can resolve HTTPS resources.

$ irb
irb(main):001:0> require 'svcb_rr_patch'
=> true
irb(main):002:1* Resolv::DNS.new.getresources(
irb(main):003:1*   "blog.cloudflare.com",
irb(main):004:1*   Resolv::DNS::Resource::IN::HTTPS
irb(main):005:0> )
=>
[#<Resolv::DNS::Resource::IN::HTTPS:0x0000000000000001
  @svc_params=
   #<SvcbRrPatch::SvcParams::Hash:0x0000000000000002
    @hash=
     {"alpn"=>#<SvcbRrPatch::SvcParams::Alpn:0x0000000000000003 @protocols=["http/1.1", "h2"]>,
      "ipv4hint"=>#<SvcbRrPatch::SvcParams::Ipv4hint:0x0000000000000004 @addresses=[#<Resolv::IPv4 162.159.137.85>, #<Resolv::IPv4 162.159.138.85>]>,
      "ech"=>
       #<SvcbRrPatch::SvcParams::Ech:0x0000000000000005
        @echconfiglist=
         [#<SvcbRrPatch::SvcParams::Ech::ECHConfig:0x0000000000000006
           @echconfig_contents=
            #<SvcbRrPatch::SvcParams::Ech::ECHConfigContents:0x0000000000000007
             @extensions=[],
             @key_config=
              #<SvcbRrPatch::SvcParams::Ech::ECHConfigContents::HpkeKeyConfig:0x0000000000000008
               @cipher_suites=
                [#<SvcbRrPatch::SvcParams::Ech::ECHConfigContents::HpkeKeyConfig::HpkeSymmetricCipherSuite:0x0000000000000009
                  @aead_id=#<SvcbRrPatch::SvcParams::Ech::ECHConfigContents::HpkeKeyConfig::HpkeSymmetricCipherSuite::HpkeAeadId:0x0000000000000010 @uint16=1>,
                  @kdf_id=#<SvcbRrPatch::SvcParams::Ech::ECHConfigContents::HpkeKeyConfig::HpkeSymmetricCipherSuite::HpkeKdfId:0x0000000000000011 @uint16=1>>],
               @config_id=238,
               @kem_id=#<SvcbRrPatch::SvcParams::Ech::ECHConfigContents::HpkeKeyConfig::HpkeKemId:0x0000000000000012 @uint16=32>,
               @public_key=
                #<SvcbRrPatch::SvcParams::Ech::ECHConfigContents::HpkeKeyConfig::HpkePublicKey:0x0000000000000013
                 @opaque="I\x19\xD0\xCFP\b>e\xDF\xE1Q\xE8+i\x89\x8AJ\xA2b'\xD0j\xB9+\xDE\xE2\xDE\xF8\xFA\xAD\xBBm">>,
             @maximum_name_length=0,
             @public_name="cloudflare-esni.com">,
           @version="\xFE\r">]>,
      "ipv6hint"=>#<SvcbRrPatch::SvcParams::Ipv6hint:0x0000000000000014 @addresses=[#<Resolv::IPv6 2606:4700:7::a29f:8955>, #<Resolv::IPv6 2606:4700:7::a29f:8a55>]>}>,
  @svc_priority=1,
  @target_name="",
  @ttl=58>]

License

The gem is available as open source under the terms of the MIT License.