{"id":15373058,"url":"https://github.com/vi/pktslow","last_synced_at":"2025-08-12T12:38:07.454Z","repository":{"id":137140170,"uuid":"273606872","full_name":"vi/pktslow","owner":"vi","description":"Virtual network for slowing down or dropping packets selectively","archived":false,"fork":false,"pushed_at":"2020-06-20T00:47:55.000Z","size":20,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-01T22:09:00.647Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/vi.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":"2020-06-19T23:51:54.000Z","updated_at":"2021-03-27T20:28:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"6beb16e3-7e9d-4ec7-a2e6-ca28030da8de","html_url":"https://github.com/vi/pktslow","commit_stats":{"total_commits":9,"total_committers":1,"mean_commits":9.0,"dds":0.0,"last_synced_commit":"58be5f2ac41267d583a66d17e059fe86e565fd90"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/vi/pktslow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vi%2Fpktslow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vi%2Fpktslow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vi%2Fpktslow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vi%2Fpktslow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vi","download_url":"https://codeload.github.com/vi/pktslow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vi%2Fpktslow/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270062322,"owners_count":24520481,"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-08-12T02:00:09.011Z","response_time":80,"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":[],"created_at":"2024-10-01T13:54:11.810Z","updated_at":"2025-08-12T12:38:07.413Z","avatar_url":"https://github.com/vi.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pktslow\nVirtual network for slowing down or dropping packets selectively\n\n# Instructions\n\n1. Build (or download pre-built version from Github releases) `pktslow`\n2. Start it as root, specifying two interfaces\n3. Move one of those interfaces into another [Linux network namespace](https://man7.org/linux/man-pages/man8/ip-netns.8.html)\n4. Set up addresses and routing, like you typically do with [veth](https://man7.org/linux/man-pages/man4/veth.4.html)\n5. Specify interactive commands to `pktslow`'s stdin. You may want to issue `delay 0` or `setup 0 1 0` to remove the default 50ms delay. Then you probably would use `mon` command to dump some bytes from packets (to find the byte you need). Then you'll `setup` the matcher (only one masked byte is supported). Then you'll `delay` or `drop` or `ramp`.\n\n(I don't belive the program would be useful enough to warrant writing a proper manual for it)\n\n# Usage messages\n\nMain usage message:\n\n```\nUsage: pktslow \u003ctun1n\u003e \u003ctun2n\u003e\n\nsimple program that creates a veth-like pair of TUN interfaces and allows to selectively delay some packets  Other options are specified as interactive stdin commands\n\nOptions:\n  --help            display usage information\n```\n\nInteractive commands usage message:\n\n```\n\u003e --help\nUsage:  \u003ccommand\u003e [\u003cargs\u003e]\n\ninteractive options\n\nOptions:\n  --help            display usage information\n\nCommands:\n  quit              Exit from process\n  delay             Adjust the delay\n  ramp              Ramp the delay\n  mon               Print packets content to stdout\n  stats             Show statistics\n  setup             Setup matcher that would decide whether to delay packets\n  drop              Drop matching packets instead of delaying them. Reset with\n                    `delay` command.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvi%2Fpktslow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvi%2Fpktslow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvi%2Fpktslow/lists"}