| Crates.io | xsshend |
| lib.rs | xsshend |
| version | 0.5.2 |
| created_at | 2025-07-05 06:18:44.396892+00 |
| updated_at | 2025-10-20 11:57:54.927559+00 |
| description | Simple CLI tool for uploading files to multiple SSH servers |
| homepage | https://willisback.github.io/xsshend |
| repository | https://github.com/WillIsback/xsshend |
| max_upload_size | |
| id | 1738783 |
| size | 498,830 |
xsshend est un outil CLI Rust moderne pour gérer vos serveurs SSH à grande échelle. Téléversez des fichiers et exécutez des commandes sur plusieurs serveurs simultanément.
⚠️ Vulnérabilité connue: Dépend de russh avec rsa 0.9.8, affecté par RUSTSEC-2023-0071.
Recommandations :
📄 Voir SECURITY.md pour plus de détails.
cargo install xsshend
# 1. Initialiser la configuration
xsshend init
# 2. Éditer ~/.ssh/hosts.json avec vos serveurs
# 3. Lister les serveurs
xsshend list
# 4. Téléverser un fichier
xsshend upload app.tar.gz --env Production
# 5. Exécuter une commande
xsshend command --inline "systemctl restart nginx" --env Production
# Upload simple
xsshend upload myfile.txt --env Production
# Upload avec filtrage
xsshend upload config.json --env Staging --region EU-West --type Web
# Upload avec destination personnalisée
xsshend upload app.tar.gz --env Production --dest /opt/app/
# Mode simulation
xsshend upload deploy.sh --env Production --dry-run
# Commande simple
xsshend command --inline "uptime" --env Production
# Script bash
xsshend command --script deploy.sh --env Staging
# Mode parallèle
xsshend command --inline "systemctl restart nginx" --env Production --parallel
# Format JSON pour CI/CD
xsshend command --inline "hostname" --env Production --output-format json
# Avec timeout personnalisé
xsshend command --inline "apt update" --env Production --timeout 120
Fichier ~/.ssh/hosts.json :
{
"Production": {
"EU-West": {
"Web": {
"prod-web-01": {
"alias": "deploy@prod-web-01.example.com",
"env": "Production"
}
}
}
},
"Staging": {
"EU-West": {
"Web": {
"stage-web-01": {
"alias": "deploy@stage-web-01.example.com",
"env": "Staging"
}
}
}
}
}
# Cloner le projet
git clone https://github.com/WillIsback/xsshend.git
cd xsshend
# Compiler
cargo build --release
# Tests (118 tests)
cargo test
# Qualité
cargo clippy
cargo fmt
Les contributions sont bienvenues ! Avant de soumettre une PR :
cargo fmtcargo clippycargo testMIT License - voir LICENSE
William Derue - @WillIsback
⭐ Si ce projet vous est utile, n'hésitez pas à lui donner une étoile !
Made with ❤️ and 🦀 Rust