{"id":19784339,"url":"https://github.com/pteropackages/soar","last_synced_at":"2025-04-30T22:32:08.599Z","repository":{"id":45688979,"uuid":"445666656","full_name":"PteroPackages/Soar","owner":"PteroPackages","description":"✈️ Pterodactyl Command Line Interface","archived":false,"fork":false,"pushed_at":"2024-01-24T22:39:21.000Z","size":284,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-06T05:51:12.349Z","etag":null,"topics":["cli","command-line","go","golang","pterodactyl","pterodactyl-api"],"latest_commit_sha":null,"homepage":"","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/PteroPackages.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-07T22:18:14.000Z","updated_at":"2023-07-05T07:50:37.000Z","dependencies_parsed_at":"2024-01-03T22:30:10.452Z","dependency_job_id":"b3753763-c5d0-4b34-a3fc-a9d326c63841","html_url":"https://github.com/PteroPackages/Soar","commit_stats":{"total_commits":272,"total_committers":3,"mean_commits":90.66666666666667,"dds":"0.38235294117647056","last_synced_commit":"0034ac3ba70562cd3004804bba77d410d3cc5c3f"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PteroPackages%2FSoar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PteroPackages%2FSoar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PteroPackages%2FSoar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PteroPackages%2FSoar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PteroPackages","download_url":"https://codeload.github.com/PteroPackages/Soar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251791744,"owners_count":21644449,"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","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":["cli","command-line","go","golang","pterodactyl","pterodactyl-api"],"created_at":"2024-11-12T06:11:13.371Z","updated_at":"2025-04-30T22:32:08.331Z","avatar_url":"https://github.com/PteroPackages.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Soar ✈️\nSoar is a command line interface tool for interacting with the [Pterodactyl Game Panel](https://pterodactyl.io) API. The name is inspired by Pterodactyl's Wings application because... birds. This tool covers most of the application and client API, including support for creating resources from your terminal!\n\n## Installing\nSee the [releases page](https://github.com/PteroPackages/Soar/releases) for available downloads.\n\n### Building from Source\n```bash\ngit clone https://github.com/PteroPackages/Soar.git\ncd Soar \u0026\u0026 make\n```\n\n## Getting Started\nAfter installing, run `soar config init` to generate a config file. On Linux-based systems this can be found in the user config directory (usually `$HOME/.config/.soar/config.yml`), and on Windows systems it can be found at `%APPDATA%\\.soar\\config.yml`. You can also specify the `--dir=` flag to generate the config in a specific directory. Next, enter your credentials for the application and client section (you can also set other options). Now you're ready to soar!\n\n**Note:** by default Soar will check for a local config to use, if not found then it will use the global config. If you have a local config but don't want to use it, you can specify the `--global` or `-g` flag in the command to force use the global config.\n\n## Usage\nSoar has a convinient naming convention for its commands:\n\n```\nsoar \u003capi\u003e \u003cresource\u003e:\u003caction\u003e [args]\n      ---   --------   ------   ----\n       |        |        |      additional arguments or flags\n       |        |        |\n       |        |      the action to execute (get, create, delete, etc)\n       |        |\n       |    the resource to target (users, servers, nodes, etc)\n       |\n      the API to target (application or client)\n```\n\nThis naming convention is designed to be compact and readable, so you don't need to memorize every command or search the help command to figure out what it does (you can still do this if you want to, though). Some resource commands are flattened for convinience like the `soar client files:list` command which lists the files of a specified server, and is much quicker to type than `soar client servers:files:list`.\n\n## Supported Resources\n\n### Application\n* users\n* * [X] get\n* * [X] create\n* * [ ] update\n* * [X] delete\n* servers\n* * [X] get\n* * [ ] create\n* * [ ] update build\n* * [ ] update details\n* * [ ] update startup\n* * [X] suspend/unsuspend\n* * [X] reinstall\n* * [X] delete\n* nodes\n* * [X] get\n* * [X] get configuration\n* * [ ] create\n* * [ ] update\n* * [X] delete\n* locations\n* * [X] get\n* * [X] create\n* * [ ] update\n* * [X] delete\n* nests\n* * [X] get\n* * eggs\n* * [X] get\n\n### Client\n\n* account\n* * [X] get\n* * [X] get permissions\n* * [X] get activities\n* * [ ] update email\n* * [ ] update password\n* * 2FA\n* * * [X] get\n* * * [X] enable\n* * * [X] disable\n* * API Keys\n* * * [X] get\n* * * [ ] create\n* * * [ ] delete\n* * SSH Keys\n* * * [ ] get\n* * * [ ] create\n* * * [ ] delete\n* servers\n* * [X] get\n* * [X] get activities\n* * [X] get resource usage\n* * [X] get server websocket auth\n* * [X] send server command\n* * [X] send server power state\n* * databases\n* * [X] get\n* * files\n* * * [X] get\n* * * [X] download\n* * * [X] rename\n* * * [X] copy\n* * * [X] write\n* * * [X] create\n* * * [X] compress\n* * * [X] decompress\n* * * [X] delete\n* * * [X] create folder\n* * * [X] change file permissions\n* * * [X] pull remote file\n* * * [X] upload files\n* * subusers\n* * * [X] get\n* * * [X] add\n* * * [X] remove\n* * startup\n* * * [X] get\n* * * [X] set variable\n* * settings\n* * * [X] set docker image\n* * * [X] rename\n* * * [X] reinstall\n\nThis list of commands is subject to change as the API develops, if there is a command or feature that isn't here feel free to open an issue or PR requesting it!\n\n## Contributing\n1. [Fork this repo](https://github.com/PteroPackages/Soar/fork)!\n2. Make a branch from `main` (`git branch -b \u003cnew feature\u003e`)\n3. Commit your changes (`git commit -am \"...\"`)\n4. Open a PR here (`git push origin \u003cnew feature\u003e`)\n\n## Contributors\n* [Devonte W](https://github.com/devnote-dev) - creator and maintainer\n\nThis repository is managed under the MIT license.\n\n© 2022-present PteroPackages\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpteropackages%2Fsoar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpteropackages%2Fsoar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpteropackages%2Fsoar/lists"}