{"id":16642919,"url":"https://github.com/horlogeskynet/nftables","last_synced_at":"2025-10-12T03:46:06.603Z","repository":{"id":84678397,"uuid":"241458627","full_name":"HorlogeSkynet/Nftables","owner":"HorlogeSkynet","description":":lipstick: A Sublime Text 3+ syntax definition for your nftables rules","archived":false,"fork":false,"pushed_at":"2025-02-23T14:30:56.000Z","size":199,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T15:51:45.954Z","etag":null,"topics":["nftables","nftables-rules","package-control","sublime-syntax","sublime-text","sublime-text-3","sublime-text-4","sublime-text-plugin","syntax-highlighting"],"latest_commit_sha":null,"homepage":"https://packagecontrol.io/packages/Nftables","language":"YAML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HorlogeSkynet.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null},"funding":{"liberapay":"HorlogeSkynet"}},"created_at":"2020-02-18T20:18:46.000Z","updated_at":"2025-03-20T16:36:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"9c70e8d6-c5a9-4573-bdf7-5be0526c6289","html_url":"https://github.com/HorlogeSkynet/Nftables","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/HorlogeSkynet/Nftables","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HorlogeSkynet%2FNftables","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HorlogeSkynet%2FNftables/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HorlogeSkynet%2FNftables/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HorlogeSkynet%2FNftables/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HorlogeSkynet","download_url":"https://codeload.github.com/HorlogeSkynet/Nftables/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HorlogeSkynet%2FNftables/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010141,"owners_count":26084692,"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","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["nftables","nftables-rules","package-control","sublime-syntax","sublime-text","sublime-text-3","sublime-text-4","sublime-text-plugin","syntax-highlighting"],"created_at":"2024-10-12T08:06:48.231Z","updated_at":"2025-10-12T03:46:06.585Z","avatar_url":"https://github.com/HorlogeSkynet.png","language":"YAML","funding_links":["https://liberapay.com/HorlogeSkynet"],"categories":[],"sub_categories":[],"readme":"# Nftables\n\n\u003e A Sublime Text 3+ syntax definition for your nftables rules\n\n![Preview](https://i.imgur.com/maXvyiJ.png)\n\n## Introduction\n\n[nftables](https://netfilter.org/projects/nftables/) should _now_ be the regular way of handling Netfilter rules, and I was surprised not to find any syntax definition for Sublime Text.  \nThis project aims to provide a \"basic\" one, as long as a building procedure for GNU/Linux users (when the `nft` binary is available for \"dynamic\" syntax checks).\n\nThis project has been inspired by [the official nano syntax definition](https://git.savannah.gnu.org/cgit/nano.git/tree/syntax/nftables.nanorc).  \nSee the [_Scripting_](https://wiki.nftables.org/wiki-nftables/index.php/Scripting) nftables Wiki page for external reference.\n\n## Installation\n\n### With Package Control\n\n1. Open your command palette and type in : `Package Control: Install Package`\n2. Browse the list or search for `Nftables`\n3. Press `Enter` and you're done !\n\nPackage Control dedicated page [here](https://packagecontrol.io/packages/Nftables).\n\n### Manually\n\n1. Move into Sublime Text packages folder (usually `$HOME/.config/sublime-text/Packages/` or `%AppData%\\Sublime Text\\Packages\\`)\n2. Clone this repository there : `git clone https://github.com/HorlogeSkynet/Nftables.git`\n3. Restart Sublime Text and... :tada:\n\n## Usage\n\n### Syntax\n\n* Open your command palette and type in : `Set Syntax: Nftables`\n\n* Click on the bottom-right corner : `Nftables`\n\n* `View \u003e Syntax \u003e Nftables`\n\n### Build\n\n* Open your command palette and type in : `Build With: Nftables`\n\n* Press `CTRL + B`\n\n* `Tools \u003e Build`\n\n## [Formats](https://wiki.nftables.org/wiki-nftables/index.php/Scripting#File_formats) currently supported\n\n* [X] nftables output\n* [X] scripted configuration\n\n## Frequently Asked Questions\n\n### Do you plan to support the _whole_ nftables syntax ?\n\n\u003e No, but feel free to contribute.\n\n### Why does this syntax coloration s\\*cks ?\n\n\u003e Well, sorry to hear that. Grammar wasn't my favorite course at school.  \n\u003e I'd be pleased to review any [issue](https://github.com/HorlogeSkynet/Nftables/issues/new) or pull request.\n\n### Why didn't you convert the [official Bison parser](https://git.netfilter.org/nftables/tree/src/parser_bison.y) to [Sublime's definition syntax](https://www.sublimetext.com/docs/syntax.html) ?\n\n\u003e [It looks like](https://forum.sublimetext.com/t/convert-bnf-yacc-grammar-definition-to-syntax-package/15980) such a tool does not exist (yet ?).\n\n### Would this plugin help me building a secure fire-wall ?\n\n\u003e No, but I would advise you [this blog post](https://stosb.com/blog/explaining-my-configs-nftables/) as a well-explained starting point, written by [@tasn](https://github.com/tasn).\n\n### I've noticed you got an extensive tests suite, can I run it ?\n\n\u003e Of course, open the `Nftables.sublime-syntax` file, press `CTRL + Shift + B` and choose `Build With: Syntax Tests`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhorlogeskynet%2Fnftables","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhorlogeskynet%2Fnftables","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhorlogeskynet%2Fnftables/lists"}