{"id":25168292,"url":"https://github.com/haotrr/ppsh","last_synced_at":"2026-02-14T05:09:22.884Z","repository":{"id":57514078,"uuid":"119554728","full_name":"haotrr/ppsh","owner":"haotrr","description":"PPSH is a Ansible-like Tool and Library and aims to make things easier.","archived":false,"fork":false,"pushed_at":"2020-04-07T06:53:36.000Z","size":13,"stargazers_count":7,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-15T08:12:29.826Z","etag":null,"topics":["ansible","ctl","deploy-tool","deployment","golang","library","ssh"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/haotrr.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}},"created_at":"2018-01-30T15:25:44.000Z","updated_at":"2024-08-04T05:07:33.000Z","dependencies_parsed_at":"2022-08-31T23:00:59.771Z","dependency_job_id":null,"html_url":"https://github.com/haotrr/ppsh","commit_stats":null,"previous_names":["qinhao/ppsh"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/haotrr/ppsh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haotrr%2Fppsh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haotrr%2Fppsh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haotrr%2Fppsh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haotrr%2Fppsh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haotrr","download_url":"https://codeload.github.com/haotrr/ppsh/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haotrr%2Fppsh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29437371,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T03:34:37.767Z","status":"ssl_error","status_checked_at":"2026-02-14T03:34:09.092Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ansible","ctl","deploy-tool","deployment","golang","library","ssh"],"created_at":"2025-02-09T07:16:36.924Z","updated_at":"2026-02-14T05:09:22.869Z","avatar_url":"https://github.com/haotrr.png","language":"Go","readme":"# ppsh -- Pull/Push via SSH\n\nPPSH is a [Ansible](https://github.com/ansible/ansible)-like Tool and Library written in Go. Ansible is a radically simple IT automation system, and it is Awesome, but it is written in Python and needs Python installed and sometime annoyed configurations, so here comes PPSH. You just need the precompile bin file and a well defined [YAML](http://www.yaml.org/spec/1.2/spec.html) file (see more examples in [app/file](https://github.com/haotrr/ppsh/tree/master/app/file))  to run it, and for simple tasks you even just run it with the well defined arguments. PPSH is also a library and can be easily integrated into your application. More detail will come soon...\n\n## Build\n```bash\nmake\n```\n\n## App Usage\n```bash\n$ ./ppsh help\nNAME:\n   ppsh - Pull or Push via SSH in your cluster hosts.\n\nUSAGE:\n   ppsh [global options] command [command options] [arguments...]\n\nVERSION:\n   0.0.1\n\nCOMMANDS:\n     help, h  Shows a list of commands or help for one command\n\nGLOBAL OPTIONS:\n   --hosts HOST[;HOST], -H HOST[;HOST]                       host list, in the form of HOST[;HOST]\n   --cmds CMD[;CMD], -c CMD[;CMD]                            command list, in the form of CMD[;CMD]\n   --ciphers CIPHER[;CIPHER], -C CIPHER[;CIPHER]             cipher list, in the form of CIPHER[;CIPHER]\n   --ip-range IP-IP[;{IP-IP|IP/XX}, -I IP-IP[;{IP-IP|IP/XX}  ip range, in the form of IP-IP[;{IP-IP|IP/XX}\n   --user USER, -u USER                                      ssh login USER (default: \"root\")\n   --password PASSWORD, -w PASSWORD                          ssh login PASSWORD\n   --cert-key FILE, -k FILE                                  ssh private key FILE\n   --playbook FILE, -p FILE                                  load playbook from path FILE\n   --taskbook FILE, -t FILE                                  load taskbook from path FILE\n   --format PLAIN|JSON, -f PLAIN|JSON                        output as PLAIN|JSON (default: \"plain\")\n   --platform LINUX|OTHER, -S LINUX|OTHER                    platform as LINUX|OTHER (default: \"linux\")\n   --output STDOUT|FILE, -o STDOUT|FILE                      output to STDOUT|FILE (default: \"stdout\")\n   --timeout TIMEOUT, -s TIMEOUT                             TIMEOUT in second (default: 30)\n   --port PORT, -P PORT                                      ssh PORT (default: 22)\n   --max-run-count COUNT, -n COUNT                           max runing COUNT (default: 20)\n   --help, -h                                                show help\n   --version, -v                                             print the version\n```\nSee more examples in [app/file/test.txt](https://github.com/haotrr/ppsh/blob/master/app/file/test.txt).\n\n## As Library\nSee more details in [godoc](https://godoc.org/github.com/haotrr/ppsh).\n\n## Roadmap\n- [ ] Upload files\n- [ ] Download files\n\n## License\nMIT License, see detail in [LICENSE](https://github.com/haotrr/ppsh/blob/master/LICENSE).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaotrr%2Fppsh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaotrr%2Fppsh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaotrr%2Fppsh/lists"}