Slingshot is a web-based HTTP request client that is highly performant, low on resources, privacy respecting, local-first, free and open-source. The source-code in this repository is what powers RequestBite Slingshot at s.requestbite.com.
- Highly performant
Cached version easily reloads in 2-500 ms if you accidentally hit the F5 button. - Local-first
By default all your data is stored locally in your browser (we're currently working on supporting syncing data to your RequestBite account). You don't even need an account to fully use it. - Privacy respecting
All data can be stored locally and your requests don't need to pass through our servers (unless you want to). Slingshot uses the RequestBite Proxy to make HTTP requests which you can run locally (configurable in the app). This also allows you to call APIs local on your computer or behind a firewall or VPN (resources not publicly available on the Internet). - Import / export
Support for importing Swagger and OpenAPI specifications as well as Postman Collections. Also support exporting collections in Postman format. - Bonus feature
Support for (most) ANSI color escape sequences do enjoy terminal based HTTP services such as wttr.in.
Run the hosted version:
Documentation:
To run the app locally, you must first rename the file .env.example to
.env.local and update any variables in it accordingly (see instructions in the
file itself). You can then run and manage the locally running app running make
using the provided Makefile.
Install dependencies:
make installRun development server:
make devRun Storybook development server to explore UI components in project:
make storybookTo make a development or production build of Slingshot, you must first copy
.env.example (or .env.local) to .env.dev for development builds and
.env.prod for production builds. The separation allows you to deploy these
builds to e.g. different BunnyCDN targets for testing and for production use.
Make production build:
make build prodMake development build:
make build devIf you have configured the BunnyCDN section of your .env.dev or .env.prod
file, you can deploy to your configured target like below.
Deploy to production:
make deploy prod dist/{folder}Deploy to dev:
make deploy dev dist/{folder}Replace {folder} with the folder name from when you ran make build {env}.
We currently don't have the resources to handle pull requests or code suggestions as we're actively working on extending and improving the product based on a (somewhat) planned backlog, but you're more than welcome to submit bug reports or feature suggestions.
RequestBite Slingshot is licensed under the GNU Affero General Public License version 3.
