{"id":13563757,"url":"https://github.com/abdfnx/resto","last_synced_at":"2025-04-05T09:09:33.598Z","repository":{"id":37393878,"uuid":"433152564","full_name":"abdfnx/resto","owner":"abdfnx","description":"🔗 Send pretty HTTP \u0026 API requests with TUI.","archived":false,"fork":false,"pushed_at":"2024-07-19T06:20:07.000Z","size":765,"stargazers_count":245,"open_issues_count":10,"forks_count":13,"subscribers_count":3,"default_branch":"dev","last_synced_at":"2025-03-28T20:57:06.827Z","etag":null,"topics":["api","cli","golang","http","http-client","requests","rest","rest-api","resto","terminal-based","tui","user-interface"],"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/abdfnx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-29T18:23:23.000Z","updated_at":"2025-03-24T23:51:55.000Z","dependencies_parsed_at":"2024-04-19T13:40:19.359Z","dependency_job_id":"eefdfc85-f9cc-412c-ad42-6dbad8691162","html_url":"https://github.com/abdfnx/resto","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdfnx%2Fresto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdfnx%2Fresto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdfnx%2Fresto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdfnx%2Fresto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdfnx","download_url":"https://codeload.github.com/abdfnx/resto/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312082,"owners_count":20918344,"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":["api","cli","golang","http","http-client","requests","rest","rest-api","resto","terminal-based","tui","user-interface"],"created_at":"2024-08-01T13:01:22.975Z","updated_at":"2025-04-05T09:09:33.563Z","avatar_url":"https://github.com/abdfnx.png","language":"Go","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/abdfnx/resto/dev/.github/assets/logo.svg\" height=\"120px\" /\u003e\n\u003c/p\u003e\n\n\u003e a CLI app can send pretty HTTP \u0026 API requests with TUI.\n\n![demo](https://user-images.githubusercontent.com/64256993/145669325-d9f122d9-c562-417f-a223-a7f2b1c49adb.gif)\n\n## Installation\n\n### Using script\n\n* Shell\n\n```\ncurl -fsSL https://git.io/resto | bash\n```\n\n* PowerShell\n\n```\niwr -useb https://git.io/resto-win | iex\n```\n\n**then restart your powershell**\n\n### Go package manager\n\n  ```bash\n  go install github.com/abdfnx/resto@latest\n  ```\n\n### GitHub CLI\n  \n  ```bash\n  gh extension install abdfnx/gh-resto\n  ```\n\n### Via Docker\n\n  ```bash\n  docker run -it restohq/resto \u003cCMD\u003e\n  ```\n\n  \u003e full container:\n\n  ```bash\n  docker run -it restohq/resto-full\n  ```\n\n## Usage\n\n* Open Resto UI\n\n  ```bash\n  resto\n  ```\n\n* Send a request to a URL\n\n  ```bash\n  resto get https://api.github.com\n  ```\n\n* Send a request to a URL and use resto editor\n\n  ```bash\n  resto post https://localhost:3000/v1/login --content-type json --editor\n  ```\n\n* Read Body from stdin\n\n  ```bash\n  cat schema.graphql | resto post https://api.spacex.land/graphql --content-type graphql --body-stdin\n  ```\n\n* Use Authentecation with Basic Auth or Bearer Token\n\n  ```bash\n  # Bearer Token\n  resto delete https://api.secman.dev/api/logins/13 --content-type json --token TOKEN\n  \n  # Basic Auth\n  resto delete https://api.secman.dev/api/logins/13 --content-type json --username USERNAME --password PASSWORD\n  ```\n\n* Save response to a file\n\n  ```bash\n  resto get http://localhost:3333/api/v1/hello --save response.json\n  ```\n  \n* Install binary app from script URL and run it.\n\n  ```bash\n  resto install https://yarnpkg.com/install.sh\n  resto i https://get.docker.com\n  ```\n\n* Send a request from Restofile\n\n  ```bash\n  resto run\n\n  # from path\n  resto run --file ./examples/restofile/basic_request/Restofile\n  ```\n  \n* Get the latest release/tag from repository\n  ```bash\n  resto get-latest abdfnx/resto\n  \n  # use another registry\n  resto get-latest 23028539 --registry gitlab.com\n  \n  # with access token\n  resto get-latest spittet/node-postgresql --registry bitbucket.org --token YOUR-ACCESS-TOKEN\n  ```\n\n### Flags\n\n1. `GET` \u0026 `HEAD` flags\n\n  ```\n  -H, --headers           Just show the response headers\n  -j, --just-body         Just show the response body\n  -p, --password string   The password to use for basic authentication\n  -s, --save string       Save the response body to a file\n  -t, --token string      The bearer token to use for authentication\n  -u, --username string   The username to use for basic authentication\n  ```\n\n2. `POST`, `PUT`, `PATCH`, `DELETE` flags\n\n  ```\n  -b, --body string           The body of the request\n  -i, --body-stdin            Read the body from stdin\n  -c, --content-type string   The content type of the body\n  -e, --editor                Open the editor to edit the body\n  -H, --headers               Just show the response headers\n  -j, --just-body             Just show the response body\n  -p, --password string       The password to use for basic authentication\n  -s, --save string           Save the response to a file\n  -t, --token string          The bearer token to use for authentication\n  -u, --username string       The username to use for basic authentication\n  ```\n  \n3. `install` command flags\n\n  ```\n  -H, --hidden         hide the output\n  -s, --shell string   shell to use default: bash\n  ```\n  \n4. `run` command flags\n\n  ```\n  -a, --all           Show all response headers \u0026 status\n  -f, --file string   Path to Restofile (Default: PATH/Restofile)\n  ```\n  \n5. `get-latest` command flags\n\n  ```\n  -r, --registry string   The registry to use\n  -t, --token string      The access token to use it the registry requires authentication\n  ```\n\n### Shortcuts\n\n- \u003ckbd\u003eCtrl+P\u003c/kbd\u003e: **Open Resto Panel**\n- \u003ckbd\u003eCtrl+H\u003c/kbd\u003e: **Open Help Guide**\n- \u003ckbd\u003eCtrl+E\u003c/kbd\u003e: **Open Settings**\n- \u003ckbd\u003eCtrl+S\u003c/kbd\u003e: **Save Request Body**\n- \u003ckbd\u003eCtrl+U\u003c/kbd\u003e: **Update Your Resto**\n- \u003ckbd\u003eCtrl+Q\u003c/kbd\u003e: **Quit**\n\n## Documentation\n\nRefer to our [**Wiki**](https://github.com/abdfnx/resto/wiki) for the documentation.\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdfnx%2Fresto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdfnx%2Fresto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdfnx%2Fresto/lists"}