{"id":13311769,"url":"https://github.com/ysoftwareab/know-your-ietf-well","last_synced_at":"2025-03-10T17:30:47.426Z","repository":{"id":145533375,"uuid":"467270992","full_name":"ysoftwareab/know-your-ietf-well","owner":"ysoftwareab","description":"IETF Internet-Drafts, RFCs, erratas, ABNFs","archived":false,"fork":false,"pushed_at":"2022-04-02T22:12:26.000Z","size":2928005,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-03-26T09:22:43.495Z","etag":null,"topics":["abnf","ietf","ietf-rfcs","rfcs"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ysoftwareab.png","metadata":{"files":{"readme":"README.md","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":"2022-03-07T21:52:28.000Z","updated_at":"2024-03-26T09:22:43.496Z","dependencies_parsed_at":null,"dependency_job_id":"ca0dbc4c-725b-4e83-9810-fde0ec7eaabb","html_url":"https://github.com/ysoftwareab/know-your-ietf-well","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/ysoftwareab%2Fknow-your-ietf-well","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysoftwareab%2Fknow-your-ietf-well/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysoftwareab%2Fknow-your-ietf-well/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysoftwareab%2Fknow-your-ietf-well/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ysoftwareab","download_url":"https://codeload.github.com/ysoftwareab/know-your-ietf-well/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242892590,"owners_count":20202562,"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":["abnf","ietf","ietf-rfcs","rfcs"],"created_at":"2024-07-29T18:02:29.580Z","updated_at":"2025-03-10T17:30:47.420Z","avatar_url":"https://github.com/ysoftwareab.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Know your IETF well\n\n![GitHub repo size](https://img.shields.io/github/repo-size/ysoftwareab/know-your-ietf-well)\n\nThis repository archives IETF Internet-Drafts, RFCs and erratas as JSON/HTML/PDF/text,\nand extracts their ABNF grammars.\n\nEach RFC gets its own git branch for easy diffs/blame/history :rocket: .\n\nA list of all RFCs is available [here](./list.md).\n\nIf you want to get the history of only one RFC, you can `git clone` only its respective branch\n\n`RFC=7230; git clone -b rfc${RFC} --single-branch git://github.com/ysoftwareab/know-your-ietf-well.git rfc${RFC}`\n\n\n## Why?\n\nLong story short: it is close to impossible to keep track of changes\nin Internet-Drafts/RFCs/erratas and their ABNFs.\n\nLong story: Almost 10 years ago, we have ported ABNFs related to HTTP to PEGjs, namely in\nhttps://github.com/for-GET/core-pegjs and\nhttps://github.com/for-GET/api-pegjs .\nMeanwhile drafts became RFCs, RFCs got erratas, etc.\n\nTrying to bring the PEGjs grammars up to date obviously became a laborious project,\nprecisely because there was no other way to know what changed than to click-click through IETF's web UI.\n\n\n## Process\n\nWe make use of IETF's rsync services to sync Internet-Drafts and RFCS\n* https://www.ietf.org/how/ids/internet-draft-mirror-sites/\n* https://www.rfc-editor.org/retrieve/rsync/\n\nErratas get fetched from https://www.rfc-editor.org/rfc/inline-errata/ .\n\nABNFs get extract with IETF's `aex` tool, available at\nhttps://github.com/ietf-tools/bap/blob/de05dd1/aex .\n\nAll content is stored under `refs/rsync/`\n* rfcs https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/rfcs\n* rfcs-pdf https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/rfcs-pdf\n* rfcs-ien-scanned https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/rfcs-ien-scanned\n* rfcs-abnf https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/rfcs-abnf\n* id-archive https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/id-archive\n* id-archive-pdf https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/id-archive-pdf\n* id-archive-abnf https://github.com/ysoftwareab/know-your-ietf-well/tree/refs/rsync/id-archive-abnf\n\n`./update.sh` will update (rsync and git push) all of the above refs.\n\n`./to-git.sh` will create one git branch for each RFC with its own \"draft/s -\u003e RFC -\u003e errata\" history.\n\n\n## License\n\n[UNLICENSE](UNLICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysoftwareab%2Fknow-your-ietf-well","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fysoftwareab%2Fknow-your-ietf-well","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysoftwareab%2Fknow-your-ietf-well/lists"}