A NodeJS wrapper to perform DNS resolution and HTTP/HTTPS requests with custom certificate authorities. Nice for container communication.
Utility functions for requester implementatons used in @gitbeaker
the http/https agent used by the npm cli
Low level multicast-dns implementation in pure javascript
An abstract-encoding compliant module for encoding / decoding DNS packets
OpenTelemetry instrumentation for `node:dns` name resolution module
Concurrent downloader of npm-compatible packages
Parse and stringify mdns service types
DNS over HTTP resolver
A Bonjour/Zeroconf implementation in pure JavaScript
Resolve DNS queries with browser fallback
An implementation to speed up the nodejs `dns.lookup` method by avoiding thread pool and using resolve4/resolve6 with DNS TTL values
Compare DNS record strings for equality
Abstraction for exponential and custom retry strategies for failed operations.
Encode/decode DNS-SD TXT record RDATA fields
Middleware to set X-DNS-Prefetch-Control header.
Make low-level DNS requests with retry and timeout support.
A Bonjour DNS-SD service announcer via mDNS on UDP
TypeScript definitions for dns-packet
Kameleoon NodeJS SDK Requester
A decorator on top of `fetch` that caches the DNS query of the `hostname` of the passed URL
An abstract-encoding compliant module for encoding / decoding DNS packets
Caches dns resolutions made with async dns.resolve instead of default sync dns.lookup, refreshes in background
TypeScript definitions for multicast-dns
ronin-listener is a small CLI utility for receiving exfiltrated data over DNS or HTTP. Supports logging DNS queries and HTTP requests as TXT, CVS, JSON, or NDJSON.
# Netchk Simple tool to troubleshoot internet connectivity issues. This tool verifies: - your computer has at least one IP address - you have at least one DNS configured - you can reach the configured nameservers - the nameservers can resolve hosts Finally, some ICMP ping statistics are presented with average durations and error rates. ## Installation ```sh gem install netchk ``` ## Usage Just run `netchk` from your terminal and basic diagnosis will start showing you progress and any error if present. Note: On Linux system, this gem requires `sudo` to perform the ICMP ping operations. On macOS, this is not needed. You also can configure how netchk verifies your connections by configuring a `~/.netchk.yaml` or `~/.netchk.yml` file like below. ```yaml # Settings to test DNS server connectivity. dns: # Path to resolv.conf file to check presence and connectivity of DNS. # Path should be absolute to avoid issues when running netchk # from different directories. resolv.conf: /etc/resolv.conf # Settings to test DNS resolution. resolv: # Path to resolv.conf file to use for testing DNS resolution. # Path should be absolute to avoid issues when running netchk # from different directories. It is advised to be the same # as dns.resolv.conf. resolv.conf: /etc/resolv.conf # The list of domains to test for DNS resolution. domains: - google.com - youtube.com - facebook.com # Settings to test icmp ping. icmp: # A list of hosts to ping with ICMP. It is advised to use # IP addresses instead of domains to rule out any issues with # DNS resolution, which is tested separately. hosts: - 1.1.1.1 - 8.8.8.8 # The number of ping to issue each host. count: 20 # The duration in seconds to wait between each ping. # Setting this value too low might cause timeouts. interval: 0.2 ``` Each value is optional. If one is missing the default value will be used. The file above shows the default values. ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/moray95/netchk.
==== subj3ct - The DNS for the Semantic Web This is a Ruby adapter for the subj3ct.com webservice. Subj3ct is an infrastructure technology for Web 3.0 applications. These are applications that are organised around subjects and semantics rather than documents and links. Subj3ct provides the technology and services to enable Web 3.0 applications to define and exchange subject definitions. Or in other words: Subj3ct.com is for the Semantic Web what DNS is for the internet. ==== Installing Install the gem: gem install subj3ct ==== Usage Query a specific subject - to be specific: its subject identity record - using it's identifier: Subj3ct.identifier("http://www.topicmapslab.de/publications/TMRA_2009_subj3ct_a_subject_identity_resolution_service") See the README or the github page for more examples. ==== Subj3ct vs. Subject The official name is "Subj3ct", however in this API, you can also use "Subject" which may be easier to remember or to type for normal, n0n-1337 people. It should work for the gem, for the require and for the main module. ==== Contribute! Subj3ct is a young and ambitious service. It's free, will stay free and needs your help. Contribute to this library! Create bindings for other languages! Publish your data as linked data to the web and register it with subj3ct.com. ==== Note on Patches/Pull Requests * Fork the project on http://github.bb/subj3ct * Make your feature addition or bug fix. * Add tests for it. This is important so I don't break it in a future version unintentionally. * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull) * Send me a pull request. Bonus points for topic branches. ==== Copyright Copyright (c) 2010 Benjamin Bock, Topic Maps Lab. See LICENSE for details.
==== subj3ct - The DNS for the Semantic Web This is a Ruby adapter for the subj3ct.com webservice. Subj3ct is an infrastructure technology for Web 3.0 applications. These are applications that are organised around subjects and semantics rather than documents and links. Subj3ct provides the technology and services to enable Web 3.0 applications to define and exchange subject definitions. Or in other words: Subj3ct.com is for the Semantic Web what DNS is for the internet. ==== Installing Install the gem: gem install subj3ct ==== Usage Query a specific subject - to be specific: its subject identity record - using it's identifier: Subj3ct.identifier("http://www.topicmapslab.de/publications/TMRA_2009_subj3ct_a_subject_identity_resolution_service") See the README or the github page for more examples. ==== Subj3ct vs. Subject The official name is "Subj3ct", however in this API, you can also use "Subject" which may be easier to remember or to type for normal, n0n-1337 people. It should work for the gem, for the require and for the main module. ==== Contribute! Subj3ct is a young and ambitious service. It's free, will stay free and needs your help. Contribute to this library! Create bindings for other languages! Publish your data as linked data to the web and register it with subj3ct.com. ==== Note on Patches/Pull Requests * Fork the project on http://github.bb/subj3ct * Make your feature addition or bug fix. * Add tests for it. This is important so I don't break it in a future version unintentionally. * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull) * Send me a pull request. Bonus points for topic branches. ==== Copyright Copyright (c) 2010 Benjamin Bock, Topic Maps Lab. See LICENSE for details.
# Sambot Sambot is our internal Platform Engineering toolchain to help standardize and simplify our DevOps workflow. It provides an executable with a variety of commands, grouped in various areas of functionality such as session management, DNS changes and cookbook management. ## Usage To install the gem, simply run `chef gem install sambot`. This will install the gem in your ChefDK installation. If you want to use it outside Chef, run `gem install sambot`. Run `chef exec sambot` to be shown the help menu. For help on specific commands, i.e. cookbook management and specific cookbook management commands, run `chef exec sambot help cookbook` or `chef exec sambot cookbook help generate` for example. ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.exacttarget.com/ads-devops/sambot. ### Installation Make sure you have `ruby >= 2.4.0` installed. Install `bundler >= 1.15.1` by running `gem install bundler` Run `bundle install` from the root of the project to install the required Ruby gems. ### Running Sambot If you want to test your changes locally, you can run `bundle exec bin/sambot`. ### Running Tests Run `bundle exec rspec spec` to execute the unit tests. Run `cd integration_tests && bundle exec rspec .` to execute the integration tests. These require that you have Docker Compose available. ### Linting There is nothing here yet
OVH::Provisioner ================ Interact with OVH REST API, mainly targeted to manage dedicated servers and OVH DNS. Installation ------------ Add this line to your application's Gemfile: ```ruby gem 'ovh-provisioner' ``` And then execute: $ bundle Or install it yourself as: $ gem install ovh-provisioner Configuration ------------- The best way to use ovh-provisioner is to create a configuration file (recommended path: ~/.config/ovh-provisioner.yml) containing your keys and some general configuration. Then, just launch it to get all commands with their description. Example: ```yaml # All keys can be overriden with cli options api_url: https://eu.api.ovh.com/1.0 app_key: XXXXXXXXXXXX app_secret: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX consumer_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXX template: template_name # is be defined in OVH manager when you save a template use_distrib_kernel: true ssh-key: 'key_name_to install' # name_scheme support any variable available as attribute in # lib/ovh/provisioner/api_object/dedicated_server.rb # Along with name_domain, it is used to rename (reverse dns) servers name_scheme: '%{location}-%{flavor_tag}-%{server_id}.%{vrack}' name_domain: example.com # example of flavors, you can use any hardware parameters from # GET /dedicated/server/{serviceName}/specifications/hardware # to differentiate your flavors flavors: EG-16S: tag: eg16s hardware: description: 'Serveur EG-16 - E3-1230v6 - 16GB - SoftRaid 2x450GB NVMe' EG-32S: tag: eg32s hardware: description: 'Serveur EG-32 - E3-1270v6 - 32GB - SoftRaid 2x450GB NVMe' EG-64S: tag: eg64s hardware: description: 'Serveur EG-64 - E5-1650v3 - 64GB - SoftRaid 2x450GB NVMe' ``` Development ----------- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). Contributing ------------ Please read carefully [CONTRIBUTING.md](CONTRIBUTING.md) before making a merge request. License and Author ------------------ - Author:: Samuel Bernard (<samuel.bernard@gmail.com>) ```text Copyright (c) 2015-2016 Sam4Mobile, 2017-2018 Make.org Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ```