Skip to content

Commit ce6d60d

Browse files
committed
update: clarify SSH implementation details and library usage in README
1 parent 92a4100 commit ce6d60d

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,8 @@ bssh -c webservers --output-dir ./debug "systemctl status nginx"
300300

301301
## Development
302302

303+
Read [ARCHITECTURE](ARCHITECTURE.md) documentation for more information.
304+
303305
### Building
304306
```bash
305307
cargo build
@@ -315,6 +317,16 @@ cargo test
315317
cargo run -- -H localhost "echo hello"
316318
```
317319

320+
## SSH Implementation
321+
322+
This project's SSH functionality is built using:
323+
324+
- **[russh](https://github.com/Eugeny/russh)**: A pure Rust implementation of the SSH protocol, providing a modern and safe foundation for SSH communications without relying on C libraries. This is the core SSH library used directly as a dependency.
325+
326+
- **Implementation patterns from [async-ssh2-tokio](https://github.com/Miyoshi-Ryota/async-ssh2-tokio)**: While not used as a direct dependency, portions of the implementation code and architectural patterns from async-ssh2-tokio have been adapted and integrated into this project to provide high-level async/await APIs that work seamlessly with the Tokio runtime.
327+
328+
This combination enables bssh to achieve high performance parallel SSH operations while maintaining memory safety and avoiding common security vulnerabilities associated with traditional C-based SSH implementations.
329+
318330
## License
319331

320332
This project is licensed under the Apache License 2.0.

0 commit comments

Comments
 (0)