{"id":42885982,"url":"https://github.com/nukopy/toy-tcpip-rs","last_synced_at":"2026-01-30T14:49:30.760Z","repository":{"id":187272963,"uuid":"676599343","full_name":"nukopy/toy-tcpip-rs","owner":"nukopy","description":"[WIP] Toy TCP/IP protocol stack written in Rust","archived":false,"fork":false,"pushed_at":"2025-09-27T16:31:31.000Z","size":56,"stargazers_count":3,"open_issues_count":8,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-12T22:42:43.665Z","etag":null,"topics":["rust","tcpip"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nukopy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2023-08-09T15:10:30.000Z","updated_at":"2026-01-03T01:50:37.000Z","dependencies_parsed_at":"2023-08-09T17:45:00.147Z","dependency_job_id":"6550d56d-fae5-4184-b297-b2ee60220fec","html_url":"https://github.com/nukopy/toy-tcpip-rs","commit_stats":null,"previous_names":["nukopy/toy-tcpip","nukopy/toy-tcpip-rs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nukopy/toy-tcpip-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nukopy%2Ftoy-tcpip-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nukopy%2Ftoy-tcpip-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nukopy%2Ftoy-tcpip-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nukopy%2Ftoy-tcpip-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nukopy","download_url":"https://codeload.github.com/nukopy/toy-tcpip-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nukopy%2Ftoy-tcpip-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28914830,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T12:13:43.263Z","status":"ssl_error","status_checked_at":"2026-01-30T12:13:22.389Z","response_time":66,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["rust","tcpip"],"created_at":"2026-01-30T14:49:30.085Z","updated_at":"2026-01-30T14:49:30.751Z","avatar_url":"https://github.com/nukopy.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [WIP] toy-tcpip\n\n[![MIT license badge][mit-badge]][mit-url]\n[![GitHub Actions workflow badge][github-actions-badge]][github-actions-url]\n\n[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg\n[mit-url]: https://github.com/nukopy/toy-tcpip/blob/main/LICENSE\n[github-actions-badge]: https://github.com/nukopy/toy-tcpip/actions/workflows/ci.yml/badge.svg?branch=main\n[github-actions-url]: https://github.com/nukopy/toy-tcpip/actions/workflows/ci.yml?query=branch:main\n\nToy TCP/IP protocol stack written in Rust\n\nThis project is a Rust implementation of a TCP/IP protocol stack written in C, [microps](https://github.com/pandax381/microps).\n\n## Features\n\nTODO\n\nref: https://github.com/pandax381/microps#features\n\n## Environment\n\nHost\n\n- OS: macOS 14.7\n- UTM 4.6.5\n- Ruby 3.3.0\n- Vagrant 2.4.9\n- vagrant_utm 0.1.3 (Version Constraint: \u003e 0)\n- [vagrant-bindfs](https://github.com/gael-ian/vagrant-bindfs) 1.3.1\n\nVM for development\n\n- OS: Ubuntu 24.04\n- Rust 1.89.0stable (at 2025/06/23)\n\n## Setup\n\n### Install UTM\n\nSee [UTM homepage](https://mac.getutm.app/).\n\nFor macOS users, this article is helpful (only in Japanese): [【macOS】UTM で Ubuntu Desktop 24.04 LTS の仮想マシン環境を構築する](https://zenn.dev/pyteyon/scraps/0c8cec3c56812b)\n\n### Install Vagrant\n\n```sh\nbrew install vagrant\n\n# install vagrant plugin for UTM\nvagrant plugin install vagrant_utm\n```\n\n### Setup VM\n\n```sh\ncd toy-tcpip-rs\n\n# start VM\nvagrant up\n\n# start VM with provision\nvagrant up --provision\n\n# reload VM\nvagrant reload\n\n# realod VM with provision\nvagrant reload --provision\n\n# status VM\nvagrant status\n\n# ssh to VM\nvagrant ssh\n\n# get SSH config (e.g. for VSCode Remote-SSH)\nvagrant ssh-config\n\n# stop VM\nvagrant halt\n```\n\n## References\n\n- [github.com/pandax381/microps](https://github.com/pandax381/microps)\n  - Implementation of TCP/IP protocol stack in C. This is a reference implementation of this project.\n- [KLab Expert Camp 5](https://drive.google.com/drive/folders/1k2vymbC3vUk5CTJbay4LLEdZ9HemIpZe)\n  - A series of lectures on TCP/IP protocol stack, [microps](https://github.com/pandax381/microps). This project is based on the contents of this lecture.\n- [Available Vagrant boxes for UTM](https://portal.cloud.hashicorp.com/vagrant/discover?query=utm)\n  - Vagrant plugin for UTM.\n\n## License\n\nCopyright (c) 2012-2021 YAMAMOTO Masaya\n\ntoy-tcpip is licensed under the MIT License. For more details, check out the [LICENSE](./LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnukopy%2Ftoy-tcpip-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnukopy%2Ftoy-tcpip-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnukopy%2Ftoy-tcpip-rs/lists"}