{"id":13493686,"url":"https://github.com/do-community/dns-tool","last_synced_at":"2025-03-06T05:47:24.412Z","repository":{"id":35656136,"uuid":"196717347","full_name":"do-community/dns-tool","owner":"do-community","description":"A set of browser-based DNS tools for DigitalOcean Community.","archived":false,"fork":false,"pushed_at":"2024-12-05T23:06:47.000Z","size":17556,"stargazers_count":114,"open_issues_count":7,"forks_count":35,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-01-16T17:00:49.902Z","etag":null,"topics":["digitalocean","digitalocean-community-tools","dns","dns-lookup","dns-lookups","dns-over-https","doh","doh-json","hacktoberfest","spf","spf-explainer","spf-record"],"latest_commit_sha":null,"homepage":"https://do.co/dns-lookup","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/do-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":"2019-07-13T12:08:52.000Z","updated_at":"2024-12-12T08:18:49.000Z","dependencies_parsed_at":"2024-06-22T09:32:25.230Z","dependency_job_id":"a32b1238-7b25-4ad2-a3a4-4491985b928f","html_url":"https://github.com/do-community/dns-tool","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/do-community%2Fdns-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/do-community%2Fdns-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/do-community%2Fdns-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/do-community%2Fdns-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/do-community","download_url":"https://codeload.github.com/do-community/dns-tool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242157191,"owners_count":20081037,"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":["digitalocean","digitalocean-community-tools","dns","dns-lookup","dns-lookups","dns-over-https","doh","doh-json","hacktoberfest","spf","spf-explainer","spf-record"],"created_at":"2024-07-31T19:01:17.824Z","updated_at":"2025-03-06T05:47:24.390Z","avatar_url":"https://github.com/do-community.png","language":"Vue","funding_links":[],"categories":["Vue"],"sub_categories":[],"readme":"# Community DNS Tools\n\nA set of browser-based DNS tools for DigitalOcean Community.\n\n---\n\n\u003ca href=\"https://www.digitalocean.com/community/tools/dns\"\u003e\n    \u003cimg src=\"src/static/dns-lookup.svg\" alt=\"\" align=\"left\" width=\"150\"/\u003e\n\u003c/a\u003e\n\n## DNS Lookup\n\nA simple browser-based tool to perform DNS lookups. Type a domain, search, and instantly get results.\n\n### [➡️ Use now](https://www.digitalocean.com/community/tools/dns)\n\n---\n\n\u003ca href=\"https://www.digitalocean.com/community/tools/spf\"\u003e\n    \u003cimg src=\"src/static/spf-explainer.svg\" alt=\"\" align=\"left\" width=\"150\"/\u003e\n\u003c/a\u003e\n\n## SPF Explainer\n\nA tool that explains a domain's SPF records. Search a domain and either explore its records or evaluate an IP for mail sending.\n\n### [➡️ Use now](https://www.digitalocean.com/community/tools/spf)\n\n## Development/Building\n\nTo setup the build/develop environment, you will need to run `npm i` with Node 12+ installed. This will install the\n dependencies to allow you to build the project.\n\nTo develop for the DNS tool run `npm run dev:tools:dns-lookup`, and to develop for the SPF explainer run\n `npm run dev:tools:spf-explainer`.\\\nThis will start a development server that will automatically reload the codebase when changes occur.\n\nIf you wish to host these tools on a service, simply run `npm run build`. This will run all the necessary build scripts\n automatically to build all the tools present in the source folder.\\\nYou can then take the `dist` folder and put it on your web server/bucket. The `dist` folder will contain the folders\n `dns-lookup` and `spf-explainer` which will each have their respective tools inside.\n\nGitHub Actions is setup to do this automatically for this repository to deploy to gh-pages.\nIt is also configured to deploy each PR commit to DigitalOcean Spaces for PR previews.\n\n## Source Structure\n\n### [`src`](./src)\n\nAll the source for the tools is located within the [`src`](./src) directory.\n\nIn this directory, there is the [`src/shared`](./src/shared) directory which contains centralised assets and source for\n the tools, such as the main Community styling which is located in [`src/shared/scss`](./src/shared/scss) and the\n generic templates used by all tools in [`src/shared/templates`](./src/shared/templates).\n \nWithin this directory are also the main tool source directories ([`src/dns-lookup`](./src/dns-lookup) \u0026\n [`src/spf-explainer`](./src/spf-explainer)).\\\nThese directories contain the specific source for that tool, which includes custom templates and style inheritance from\n the centralised styles.\n\nAnything that is data which is used in a tool should be stored in `src/\u003ctool name\u003e/data`.\nAny helper functions should be stored in `src/\u003ctool name\u003e/utils`.\nVue templates should be stored in `src/\u003ctool name\u003e/templates` with a name that makes sense for what it does.\nThe `src/\u003ctool name\u003e/index.html` file should only be used to handle basic head information and initialise the app.\n \n### [`build`](./build)\n\nThe [`build`](./build) directory contains all the scripts needed to successfully build the tools into a minimal number\n of assets.\n \n[`build/cleanDist.js`](./build/cleanDist.js) is a simple script that creates the `dist` directory if it does not exist\n and then ensures that it is completely empty so that the build script has a fresh beginning.\n\n[`build/fetchTemplate.js`](./build/fetchTemplate.js) handles pulling down the blank DigitalOcean Community template\n page, converting it to be a PostHTML-Extend template and save it to `build/base.html`.\n\n[`build/buildSVGs.js`](./build/buildSVGs.js) takes all SVG files located in [`src/shared/assets`](./src/shared/assets)\n and converts them to JS strings (saved to `build/svg/\u003cname\u003e.svg.js`) that allow Vue/Parcel to include the SVGs inline.\n\n[`build/buildTool.js`](./build/buildTool.js) is the main script file for the build process a tool in [`src`](./src).\nThis builds out the `mount.js` file first, then compiles the `scss/style.scss` file to `style.css`, both using Parcel.\nFinally, the script uses PostHTML to bundle the `index.html` file, making use of the generate DigitalOcean Community\n template at `build/base.html`.\n\n## Contributing\n\nIf you are contributing, please read the [contributing file](CONTRIBUTING.md) before submitting your pull requests.\n\n## Thanks\n\nThanks to [Cloudflare](https://cloudflare.com) for their great WHOIS/DNS-over-HTTPS APIs.\nYou can learn more about the importance of DNS-over-HTTPS and how to use it [here](https://developers.cloudflare.com/1.1.1.1/dns-over-https/).\n\nThanks to [Matthew Gall](https://twitter.com/matthewgall) for his wonderful [WHOIS API.](https://whoisjs.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdo-community%2Fdns-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdo-community%2Fdns-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdo-community%2Fdns-tool/lists"}