{"id":29311665,"url":"https://github.com/giovanni-iannaccone/subnethero","last_synced_at":"2025-07-20T08:06:09.609Z","repository":{"id":302421591,"uuid":"1010233560","full_name":"giovanni-iannaccone/subnethero","owner":"giovanni-iannaccone","description":"subnetting tables generator 🦸‍♂️","archived":false,"fork":false,"pushed_at":"2025-07-02T09:16:56.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-02T10:22:51.335Z","etag":null,"topics":["c","cli-tool","csv","flat","flsm","ipv4","network","subnet","subnet-calculator","subnetter","subnetting","vlsm"],"latest_commit_sha":null,"homepage":"","language":"C","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/giovanni-iannaccone.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,"zenodo":null}},"created_at":"2025-06-28T16:27:43.000Z","updated_at":"2025-07-02T09:16:59.000Z","dependencies_parsed_at":"2025-07-02T10:34:04.271Z","dependency_job_id":null,"html_url":"https://github.com/giovanni-iannaccone/subnethero","commit_stats":null,"previous_names":["giovanni-iannaccone/subnethero"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/giovanni-iannaccone/subnethero","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giovanni-iannaccone%2Fsubnethero","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giovanni-iannaccone%2Fsubnethero/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giovanni-iannaccone%2Fsubnethero/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giovanni-iannaccone%2Fsubnethero/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giovanni-iannaccone","download_url":"https://codeload.github.com/giovanni-iannaccone/subnethero/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giovanni-iannaccone%2Fsubnethero/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266087790,"owners_count":23874519,"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","cli-tool","csv","flat","flsm","ipv4","network","subnet","subnet-calculator","subnetter","subnetting","vlsm"],"created_at":"2025-07-07T08:15:48.682Z","updated_at":"2025-07-20T08:06:09.599Z","avatar_url":"https://github.com/giovanni-iannaccone.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.png\" alt=\"Logo\"\u003e\n\u003c/p\u003e\n\n\n![License](https://img.shields.io/github/license/giovanni-iannaccone/subnethero)\n[![Number of GitHub issues that are open](https://img.shields.io/github/issues/giovanni-iannaccone/subnethero)](https://github.com/giovanni-iannaccone/subnethero/issues)\n![Number of GitHub closed issues](https://img.shields.io/github/issues-closed/giovanni-iannaccone/subnethero)\n![Number of GitHub pull requests that are open](https://img.shields.io/github/issues-pr-raw/giovanni-iannaccone/subnethero)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/giovanni-iannaccone/subnethero)\n![Number of GitHub contributors](https://img.shields.io/github/contributors/giovanni-iannaccone/subnethero)\n[![Number of GitHub stars](https://img.shields.io/github/stars/giovanni-iannaccone/subnethero)](https://github.com/giovanni-iannaccone/subnethero/stargazers)\n\n# 🦸‍♂️ Subnethero\n\nSubnethero is a powerful C-based command-line tool designed to help network administrators and IT professionals generate subnetting tables and manage IP ranges for different network configurations. Whether you're using a flat approach, FLSM (Fixed-Length Subnet Mask), or VLSM (Variable-Length Subnet Mask), this tool will streamline the process of subnetting and ensure you get precise network breakdowns.\n\n## 🧮 Features\n- Multiple subnetting approaches (flat, flsm, vlsm)\n- Simple command-line interface\n- Displays subnet information in a clear tabular format\n- Generates subnetting tables with efficient algorithm\n- Save the output to a csv file\n- Parse csv to get network configuration\n- IP lookup to know which subnet owns an IP\n\n## 📡 Installation\n1. Download subnethero with git\n```sh\ngit clone https://github.com/giovanni-iannaccone/subnethero\ncd subnethero\n```\n\n2. Compile it using make\n```sh\nmake all\n```\n\n## 💡 Command-Line Usage\n\n```\nsubnethero v1.0\n\nUsage:\nsubnethero [-t | -f | -v] -c cidr -i ip -s n {n devices for each network}\n\nOptions:\n  -t | --flat        use the flat approach\n  -f | --flsm        use the flsm approach\n  -v | --vlsm        use the vlsm approach\n\n  -i | --ip          specify the IP of the base network\n  -c | --cidr        the CIDR of the original network\n  -s | --subs        number of subnetworks (followed by n devices for each network)\n\n  Optional:\n  -p | --input       read network configuration from a csv file\n  -o | --output      copy the output into csv file\n  -l | --lookup      find which subnet owns an ip\n\nExample: subnethero -v -c 24 -i 192.168.1.0 -s 3 64 5 15\n```\n\n### Parameters:\n\n- `-t` | `--flat` \u003cbr/\u003e\nThis option uses a flat approach to subnetting, dividing the network into one big subnet.\n\n- `-f` | `--flsm` \u003cbr/\u003e\nThis option applies the Fixed-Length Subnet Mask method, creating subnets of the same size based on the given number of devices.\n\n- `-v` | `--vlsm` \u003cbr/\u003e\nThis option uses the Variable-Length Subnet Mask method, where each subnet can vary in size according to the number of devices specified.\n\n- `-i` | `--ip` \u003cbr/\u003e\nEnter the starting IP address of the network you want to subnet (e.g., 192.168.1.0).\n\n- `-c` | `--cidr` \u003cbr/\u003e\nSpecify the CIDR notation for the original network (e.g., /24).\n\n- `-s` | `--subs` \u003cbr/\u003e\nDefine the number of subnets you need, followed by the number of devices in each subnet. The tool will calculate the necessary subnet masks.\n\n- `-p` | `--input` \u003cbr/\u003e\nRead network configuration from a csv file and do calculations on that configuration (e.g., `lookup`).\n\n- `-o` | `--output` \u003cbr/\u003e\nCopy the output to a csv file (e.g., output.csv), don't specify anything to print the table to stdout.\n\n- `-l` | `--lookup` \u003cbr/\u003e\nTo determine which subnet a specific IP address belongs to, simply add the `-l IP` flag at the end of your command.\n\n## 🛸 Output Format\n\nFor each subnet, the output will generate the following columns:\n\n|     IP        | CIDR |   Broadcast   |    Start      |     End       |  Free from     |       to      |\n|---------------|------|---------------|---------------|---------------|----------------|---------------|\n| 192.168.1.0   | /26  | 192.168.1.63  | 192.168.1.1   | 192.168.1.32  |  192.168.1.33  | 192.168.1.62  |\n| 192.168.1.64  | /26  | 192.168.1.127 | 192.168.1.65  | 192.168.1.69  |  192.168.1.70  | 192.168.1.126 |\n| 192.168.1.128 | /26  | 192.168.1.191 | 192.168.1.129 | 192.168.1.143 |  192.168.1.144 | 192.168.1.190 |\n\n## 🧩 Contributing\nWe welcome contributing. See CONTRIBUTING.md file for details\n\n## ⚖️ License\nThis project is licensed under the GPL-3.0 License. See the LICENSE file for details.\n\n## ⚔️ Contact\n- For any inquiries or support, please contact \u003ca href=\"mailto:iannacconegiovanni444@gmail.com\"\u003e iannacconegiovanni444@gmail.com \u003c/a\u003e.\n- Visit my site for more informations about me and my work \u003ca href=\"https://giovanni-iannaccone.gith\nub.io\" target=”_blank” rel=\"noopener noreferrer\"\u003e https://giovanni-iannaccone.github.io \u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiovanni-iannaccone%2Fsubnethero","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiovanni-iannaccone%2Fsubnethero","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiovanni-iannaccone%2Fsubnethero/lists"}