{"id":16670067,"url":"https://github.com/liske/rosh","last_synced_at":"2025-08-10T19:10:39.528Z","repository":{"id":204979522,"uuid":"713100093","full_name":"liske/rosh","owner":"liske","description":"Router Shell (Codeberg Mirror)","archived":false,"fork":false,"pushed_at":"2024-01-15T17:03:50.000Z","size":2127,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-13T00:33:29.965Z","etag":null,"topics":["iproute2","linuxnetworking"],"latest_commit_sha":null,"homepage":"https://codeberg.org/liske/rosh","language":"Python","has_issues":false,"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/liske.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2023-11-01T20:51:34.000Z","updated_at":"2023-11-17T22:42:50.000Z","dependencies_parsed_at":"2024-01-15T19:12:04.063Z","dependency_job_id":null,"html_url":"https://github.com/liske/rosh","commit_stats":null,"previous_names":["liske/rosh"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/liske/rosh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liske%2Frosh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liske%2Frosh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liske%2Frosh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liske%2Frosh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liske","download_url":"https://codeload.github.com/liske/rosh/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liske%2Frosh/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269773423,"owners_count":24473602,"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-10T02:00:08.965Z","response_time":71,"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":["iproute2","linuxnetworking"],"created_at":"2024-10-12T11:36:54.694Z","updated_at":"2025-08-10T19:10:39.184Z","avatar_url":"https://github.com/liske.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RoSh - Router Shell\n\n## About\n\nThis is an interactive diagnostic shell for Linux-based routers. It is inspired by the CLI of classic network devices (e.g. Cisco IOS) and implements diagnostic functions similar to iproute2/bridge/ethtool/tc/wireguard. It is explicitly not intended for configuration changes, but to support the analysis of software routers by network engineers.\n\n![RoSh demo](doc/demo.gif)\n\n\n## Commands\n\nThe following commands are available:\n\n```\ndisable\n  interface        disable (shutdown) an interface\n    {ifname}\nenable\n  interface        enable (no shutdown) an interface\n    {ifname}\nexit               exit from rosh\nhelp               show command help\nidentify\n  interface        initiate the adapter identify by sight procedure\n    {ifname}\nifstatecli         run ifstatecli command\n  \u003capply|check|shell|show|showall\u003e\nlbu                run lbu command\n  \u003ccommit|ci|diff|exclude|include|list|ls|list-backup|lb|package|pkg|revert|status|st\u003e\nmonitor         monitor for changes\n  \u003call|none|address|interface|neigh|netconf|prefix|route|rule\u003e {ifname}\nmtr                run mtr command\nnetns              change active netns namespace for subsequent commands\n  {netns}\nping               run ping command\nrenegotiate\n  interface        restart auto-negotiate on an interface\n    {ifname}\nreset\n  interface        reset an interface\n    {ifname} \u003cflags|mgmt|irq|dma|filter|offload|mac|phy|ram|dedicated|all\u003e\nshell              launch a interactive system shell\nshow\n  bridge\n    fdb            show bridge forwarding database\n      [dst \u003c{ipv6}\u003e] [ifindex \u003c{ifname}\u003e] [state \u003c{state}\u003e]\n  interface        show interface details\n    {ifname} [channels|coalesce|driver|eee|features|module|pause|priv-flags|ring|settings|stats|tstamp|tunnels]\n  ip\n    address        show assigned ipv4 addresses\n      [index \u003c{ifname}\u003e]\n    neighbour      show ipv4 neighbour cache entries (ARP)\n      [dst \u003c{ip}\u003e] [ifindex \u003c{ifname}\u003e] [state \u003c{state}\u003e]\n    route          show ipv4 routes\n      [dst \u003c{pfx}\u003e] [gateway \u003c{ip}\u003e] [oif \u003c{ifname}\u003e] [proto \u003c{proto}\u003e] [scope \u003c{scope}\u003e] [table \u003c{table}\u003e]\n    rule           show ipv4 routing policy rules\n      [dst \u003c{pfx}\u003e] [iif \u003c{ifname}\u003e] [oif \u003c{ifname}\u003e] [proto \u003c{proto}\u003e] [src \u003c{pfx}\u003e] [table \u003c{table}\u003e]\n  ipv6\n    address        show assigned ipv6 addresses\n      [index \u003c{ifname}\u003e]\n    neighbour      show ipv4 neighbour cache entries\n      [dst \u003c{ipv6}\u003e] [ifindex \u003c{ifname}\u003e] [state \u003c{state}\u003e]\n    route          show ipv6 routes\n      [dst \u003c{pfxv6}\u003e] [gateway \u003c{ipv6}\u003e] [oif \u003c{ifname}\u003e] [proto \u003c{proto}\u003e] [scope \u003c{scope}\u003e] [table \u003c{table}\u003e]\n    rule           show ipv6 routing policy rules\n      [dst \u003c{pfxv6}\u003e] [iif \u003c{ifname}\u003e] [oif \u003c{ifname}\u003e] [proto \u003c{proto}\u003e] [src \u003c{pfxv6}\u003e] [table \u003c{table}\u003e]\n  netns            show netns namespaces\n    {netns}\nssh                run ssh command\ntcpdump            run tcpdump command\ntelnet             run telnet command\ntraceroute         run traceroute command\n```\n\n## Install\n\n### Alpine Linux\n\nRoSh is available in the community repository of [Alpine Linux edge](https://pkgs.alpinelinux.org/packages?name=rosh).\n\n### PyPi\n\nRoSh is available at [PyPi](https://pypi.org/project/rosh/) and can be installed via `pip`:\n\n```\n$ pip install rosh\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliske%2Frosh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliske%2Frosh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliske%2Frosh/lists"}