{"id":45878374,"url":"https://github.com/stack-rs/rattan","last_synced_at":"2026-03-10T19:01:26.202Z","repository":{"id":260280485,"uuid":"554092248","full_name":"stack-rs/rattan","owner":"stack-rs","description":"Rattan: An Extensible and Scalable Modular Internet Path Emulator","archived":false,"fork":false,"pushed_at":"2026-03-09T03:58:07.000Z","size":2441,"stargazers_count":14,"open_issues_count":17,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-09T06:59:12.914Z","etag":null,"topics":["emulation","emulator","evaluation","framework","network","rust","trace","transport-layer"],"latest_commit_sha":null,"homepage":"http://docs.stack.rs/rattan/","language":"Rust","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/stack-rs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-19T08:33:36.000Z","updated_at":"2026-03-09T03:55:31.000Z","dependencies_parsed_at":"2024-10-30T14:44:29.299Z","dependency_job_id":"45950f83-a278-4e8e-99c8-bc7beaccb7e8","html_url":"https://github.com/stack-rs/rattan","commit_stats":null,"previous_names":["stack-rs/rattan"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/stack-rs/rattan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-rs%2Frattan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-rs%2Frattan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-rs%2Frattan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-rs%2Frattan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stack-rs","download_url":"https://codeload.github.com/stack-rs/rattan/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stack-rs%2Frattan/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30348851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["emulation","emulator","evaluation","framework","network","rust","trace","transport-layer"],"created_at":"2026-02-27T12:58:51.296Z","updated_at":"2026-03-10T19:01:26.186Z","avatar_url":"https://github.com/stack-rs.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003e\n    \u003ca href=\"https://github.com/stack-rs/rattan\"\u003e\u003cimg alt=\"Rattan\" src=\"assets/rattan-logo-slim.svg\" width=\"600px\" style=\"border: none; display: block;\"\u003e\u003c/a\u003e\n  \u003c/h1\u003e\n  \u003ca href=\"https://github.com/stack-rs/rattan/releases\"\u003e\u003cimg alt=\"GitHub Release\" src=\"https://img.shields.io/github/release/stack-rs/rattan.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://crates.io/crates/rattan\"\u003e\u003cimg alt=\"crates.io\" src=\"https://img.shields.io/crates/v/rattan.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/stack-rs/rattan/actions/workflows/build.yml\"\u003e\u003cimg alt=\"CI\" src=\"https://github.com/stack-rs/rattan/actions/workflows/build.yml/badge.svg\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n**Rattan** is an extensible and scalable Internet path emulator framework.\n\nWe provide a simple and easy-to-use API to create and manage network emulations. Rattan is designed to be used in a wide range of scenarios, from testing network applications to debugging complex network performance issues.\n\nOur modular design makes it easy to extend **Rattan** with different network effects. We provide a set of built-in modules that can be used to emulate different network conditions, such as bandwidth, latency, packet loss, ISP policies and etc.\n\nWe support Linux only at the moment. Currently, kernel version v5.4, v5.15, v6.8 and v6.10 are tested.\n\n## Usage\n\nWe provide users with a CLI tool to use our pre-defined channels or cells and also a Rust library to build custom channels or cells.\n\nPlease check our [User Guide](https://docs.stack.rs/rattan) for how to use **Rattan**.\n\n## Design Targets\n\n- **High Performance**. Rattan provides both high peak performance and execution efficiency.\n- **Flexible**. Rattan tries to be agnostic of the underlying path emulation model.\n- **Extensible**. Rattan provides rich features out-of-the-box, meanwhile tends to be easily extensible for custom conditions.\n- **User-Friendly**. Rattan aims to provide a simple and intuitive interface for quick usage on common cases and ensure complete controllability under the hood to cover the corner as well.\n\n## Contributing\n\nRattan is free and open source. You can find the source code on\n[GitHub](https://github.com/stack-rs/rattan) and issues and feature requests can be posted on\nthe [GitHub issue tracker](https://github.com/stack-rs/rattan/issues). Rattan relies on the community to fix bugs and\nadd features: if you'd like to contribute, please read\nthe [CONTRIBUTING](https://github.com/stack-rs/rattan/blob/master/CONTRIBUTING.md) guide and consider opening\na [pull request](https://github.com/stack-rs/rattan/pulls).\n\n## Citation\n\nIf you want to cite our paper, please use the doi: [2507.08134](https://arxiv.org/abs/2507.08134) or the BibTeX entry below:\n\n```bibtex\n@misc{wang2025rattanextensiblescalablemodular,\n      title={Rattan: An Extensible and Scalable Modular Internet Path Emulator},\n      author={Minhu Wang and Yixin Shen and Bo Wang and Haixuan Tong and Yutong Xie and Yixuan Gao and Yan Liu and Li Chen and Mingwei Xu and Jianping Wu},\n      year={2025},\n      eprint={2507.08134},\n      archivePrefix={arXiv},\n      primaryClass={cs.NI},\n      url={https://arxiv.org/abs/2507.08134},\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstack-rs%2Frattan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstack-rs%2Frattan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstack-rs%2Frattan/lists"}