{"id":33927125,"url":"https://github.com/openssh-rust/openssh-mux-client","last_synced_at":"2026-03-17T05:56:45.314Z","repository":{"id":43302673,"uuid":"405090205","full_name":"openssh-rust/openssh-mux-client","owner":"openssh-rust","description":"Rust library to communicate with openssh-mux-server","archived":false,"fork":false,"pushed_at":"2025-09-15T11:03:52.000Z","size":489,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T23:59:40.787Z","etag":null,"topics":["multiplex","rust","ssh","tunnel"],"latest_commit_sha":null,"homepage":"","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/openssh-rust.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,"zenodo":null}},"created_at":"2021-09-10T13:28:07.000Z","updated_at":"2025-09-15T11:03:06.000Z","dependencies_parsed_at":"2023-10-16T22:06:18.842Z","dependency_job_id":"7f72fe7a-9ffa-4485-bcbf-1a460f3c18d4","html_url":"https://github.com/openssh-rust/openssh-mux-client","commit_stats":{"total_commits":359,"total_committers":2,"mean_commits":179.5,"dds":"0.027855153203342642","last_synced_commit":"898f89441c95098946bf42e56106ac0181564b10"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/openssh-rust/openssh-mux-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openssh-rust%2Fopenssh-mux-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openssh-rust%2Fopenssh-mux-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openssh-rust%2Fopenssh-mux-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openssh-rust%2Fopenssh-mux-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openssh-rust","download_url":"https://codeload.github.com/openssh-rust/openssh-mux-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openssh-rust%2Fopenssh-mux-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27681201,"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-12-12T02:00:06.775Z","response_time":129,"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":["multiplex","rust","ssh","tunnel"],"created_at":"2025-12-12T10:44:25.113Z","updated_at":"2025-12-12T10:44:25.772Z","avatar_url":"https://github.com/openssh-rust.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openssh-mux-client\n\n[![Rust](https://github.com/openssh-rust/openssh-mux-client/actions/workflows/rust.yml/badge.svg)](https://github.com/openssh-rust/openssh-mux-client/actions/workflows/rust.yml)\n\n[![crate.io downloads](https://img.shields.io/crates/d/openssh-mux-client)](https://crates.io/crates/openssh-mux-client)\n\n[![crate.io version](https://img.shields.io/crates/v/openssh-mux-client)](https://crates.io/crates/openssh-mux-client)\n\n[![docs](https://docs.rs/openssh-mux-client/badge.svg)](https://docs.rs/openssh-mux-client)\n\nRust library to communicate with openssh-mux-server using [ssh_format].\n\nThe entire crate is built upon [official document on ssh multiplex protocol][protocol doc].\n\nCurrently, I have written a few test cases to make sure the\n - health check\n - session opening\n - remote port forwarding\n - graceful shutdown of the ssh multiplex server\n - local port forwarding\n\nare working as intended, while features\n - dynamic forwarding\n\nare implemented but not tested.\n\nThere are also two features that I didn't implement:\n - forward stdio (stdin + stdout) to remote port (not that useful)\n - closure of port forwarding (according to the [document], it is not implemented yet by ssh)\n - terminating the ssh multiplex server for the ssh implementation is buggy (the server does not reply with the Ok message before it terminates).\n\nWhile it is extremely likely there are bugs in my code, I think it is ready for testing.\n\n## Development\n\nTo run tests, make sure you have bash, ssh and docker installed on your computer and run:\n\n```\n/path/to/repository/run_test.sh\n```\n\n[ssh_format]: https://github.com/openssh-rust/ssh_format\n[protocol doc]: https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.mux\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenssh-rust%2Fopenssh-mux-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenssh-rust%2Fopenssh-mux-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenssh-rust%2Fopenssh-mux-client/lists"}