{"id":16842677,"url":"https://github.com/rofl0r/firedns","last_synced_at":"2025-04-11T05:52:32.457Z","repository":{"id":138311273,"uuid":"2127709","full_name":"rofl0r/firedns","owner":"rofl0r","description":"relatively sane looking dns library. forked and splitted source into one C file per function for smaller linkage.","archived":false,"fork":false,"pushed_at":"2022-12-07T19:47:18.000Z","size":199,"stargazers_count":17,"open_issues_count":1,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-11T05:52:27.254Z","etag":null,"topics":["c","dns","library","lightweight","mx","tiny"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rofl0r.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-07-30T05:37:38.000Z","updated_at":"2024-08-12T19:20:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"9fad65f0-398a-4bc8-bb9d-00e1088add7a","html_url":"https://github.com/rofl0r/firedns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Ffiredns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Ffiredns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Ffiredns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Ffiredns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rofl0r","download_url":"https://codeload.github.com/rofl0r/firedns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248351409,"owners_count":21089271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","dns","library","lightweight","mx","tiny"],"created_at":"2024-10-13T12:47:51.066Z","updated_at":"2025-04-11T05:52:32.441Z","avatar_url":"https://github.com/rofl0r.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"FireDNS Library\n---------------\n(c) 2002 Ian Gulliver, (C) 2011, 2013 rofl0r\n\nGNU Public License, Version 2 or 3 at the users choice.\n\nwith written permission of 2013-12-17 by Ian Gulliver:\n\n\"I hereby grant a public, irrevocable license to use any and all versions of\n the firedns library under the terms of the GNU Public License version 2 or\n version 3, at the option of the user.\"\n\nSee GPL for more details.\n\nthe code written by rofl0r is dual-licensed under LGPL 2.1+,\nand GPL2+.\n\nlibfiredns is a library for handling asynchronous DNS\nrequests.  It provides a very simple interface for sending\nrequests and parsing reponses, as well as low-timeout\nblocking functions.  libfiredns functions have much lower\ntimeouts than the stock functions and tend to be faster\nbecause they send requests to all configured system\nnameservers at the same time.\n\nthis version here differs from the original in several ways:\n1) doesn't depend on firestring and firemake\n2) no global state\n3) factored and optimized for small static linkage\n4) can be combined with libulz for even smaller static linkage (optional)\n5) no dynamic allocation to avoid linking in malloc implementations\n   (the code in firedns_add_servers_from_resolv_conf(), unless USE_LIBULZ\n    is defined, uses FILE* based stdio functions though which cannot be\n    implemented without malloc().\n    if you want to avoid the dependency, you can add your own servers\n    instead of parsing resolv.conf, for example 8.8.8.8)\n6) allows to define the used nameservers manually instead of relying on\n   an existing resolv.conf.\n\nwhen to use it ?\n- if you feel your libc's DNS implementation is too slow for you,\n- if you feel your libc's DNS implementation pulls in too much code \n  into static binaries,\n- if you need additional functionality such as MX records,\n...\n\ncompilation:\nthere are 2 ways to build firedns,\n- using GNU make\n  just type \"make\" to compile and \"make prefix=/usr/local DESTDIR=test install\"\n  to install.\n  if you want to add custom CFLAGS, put them into a file called config.mak\n  for example:\n  CFLAGS += -DUSE_LIBULZ\n  LDFLAGS = -static -lulz\n\n#  WARNING: currently some stuff of the library (including in the headers) is\n#  only compiled in when -DHAVE_IPV6 is in CFLAGS!\n#  programs linked against firedns require to use the same setting.\n#  if HAVE_IPV6 is used in the one, but not the other, it will crash\n#  (see issue #1).\n#  the library was heavily optimized for minimal linkage (in the order of 1-2KB\n#  added for a program using it), and is designed to be used as source via RcB2.\n\n- using RcB2 ( https://github.com/rofl0r/rcb2 )\n  the code has the necessary RcB2 tags so RcB2 finds all required TUs\n  automatically when pointing it at the main.c file.\n\n\ncontact:\nQuote from original author:\nIf you have questions or comments, you can reach me at\nian@penguinhosting.net.\n\nwhether that email address still works, is another question.\nfor this project, use the github issue tracker for communication.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofl0r%2Ffiredns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frofl0r%2Ffiredns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofl0r%2Ffiredns/lists"}