top | item 33287137

Show HN: Restfox – Open source lightweight alternative to Postman

758 points| kermire | 3 years ago |restfox.dev

Last time I posted this it didn't garner much interest. There have been lots of improvements and fixes since the last release.

Quick list of features:

  - Workspaces
  - Tabs
  - Nested Folders
  - Lots of context menus
  - Response history
  - Plugins
  - Runs fully in the browser and runs offline if necessary
  - Chrome and Firefox extension to bypass CORS restrictions
  - Desktop builds for all platforms
  - GraphQL support
  - Import collections exported from Postman and Insomnia
  - Simple user friendly interface
I built this because I love Insomnia but wanted a portable version that I could run in the browser.

If you're tired of Postman's bloated interface and slow startup times, do give this a try.

182 comments

order

mch82|3 years ago

Cool project! A true, open source alternative to Postman will be valuable. It seems like you’ve got the major elements in place.

Unsolicited UX notes…

I read Hacker News on mobile, so tried the app on mobile and ran into some challenges. In order to save space, eliminate the right click, and work on mobile please consider changing:

    You can right click here to create a new request or a new folder
To the following (illustrated using pseudo markdown):

    [Create request] or [Create a folder]
It would also be helpful to replace the GitHub star link with a link to your README. GitHub star links are problematic because they require a login that adds friction that prevents people from getting to your README page. People will login if they decide to star the project, but they might never get to your GitHub if they don’t have time to login or can’t easily login on the device where they’re reading.

kermire|3 years ago

Thank you. The UI is not currently built with mobile in mind. I have been thinking of implementing a responsive layout but haven't had the time to do it.

I did not know about the GitHub star login thing. Will try to rectify it when I can. Thanks for all your UX notes.

Havoc|3 years ago

There is also hopscotch - unsure about licensing but it is self hostable

kcartlidge|3 years ago

> Last time I posted this it didn't garner much interest.

Looks good. I use Postman daily and it sucks, so always open to alternatives.

I don't recall what it looked like the last time you posted, but I wonder if part of the low interest is because upon arrival it doesn't instantly jump out to the visitor that this is something you can host/run locally. It's very easy to miss the Github links top right. And if you don't realise that, then what you see is a third party website expecting you to send your development requests through their UI, which is off-putting.

As I say, I don't remember, but that may be why I skipped it last time. I'll pay more attention this time!

(Edit: split paragraphs for clarity)

infotecht|3 years ago

I currently use Postman but havent had problems yet, though next week I'm joining an API crew. Your opinion seems strong; could you tell me where you ran into pitfalls with it I should look out for?

nerdponx|3 years ago

What do you think Insomnia and/or Stoplight?

si1entstill|3 years ago

I switched to "vscode-restclient" about a year ago and never looked back. It has variables, everything is saved as text, and I can commit my request suite to source control for collaboration's sake.

https://github.com/Huachao/vscode-restclient

Lord_Zero|3 years ago

The only reason I use Postman still is the Authentication tab has really nice helpers for getting tokens (OAuth 1/2) and signing requests HMAC. It even works with Azure Active Directory.

tinodb|3 years ago

Same here. Usually you just want to make simple queries, and this is a simple text based way to make m.

jicea|3 years ago

bbkane|3 years ago

Saved for the next time I need to test some REST! Thank you!

barbazoo|3 years ago

Postman is the new Dropbox in terms of useless features for the sake of growth or whatever.

tgv|3 years ago

Nice. If you want to implement another feature: see the error response. My server returned 428, but I couldn't see the contents nor header, only a generic "preview".

kermire|3 years ago

That's very odd. Will look into this.

gquiniou|3 years ago

A nice feature would be import and export from/to Curl commands. When collaborating with clients or even colleagues it's easier to send curl commands.

kermire|3 years ago

Definitely something I'll be implementing soon. Importing and exporting curl commands is a good feature to have. Thanks for the feature suggestion.

sphars|3 years ago

Any chance of the ability to do web sockets? Postman has started supporting this recently (in beta) but I really don't want to use Postman.

Any other suggestions for web socket testing clients also welcome.

kermire|3 years ago

I definitely intend to add web socket support eventually. Meanwhile, there's https://socketfox.dev which I made for my friends. You can use it to test web sockets.

easrng|3 years ago

hoppscotch can do websockets and socket.io and SSE

mmis1000|3 years ago

I think the whole point of people still use postman today is a easy way the sync between users or manage user that have access to the workspace. There are a lot of alternatives without such features. But with such feature? Not too much.

Aperocky|3 years ago

> - Runs fully in the browser and runs offline if necessary

Couldn't understand why this isn't the default.

curl is always available and slapping a display layer on top of something like curl shouldn't need to talk to some backend server.

ducktective|3 years ago

>curl is always available

curl is not installed by default in many distros

Also, I don't think it's possible to call external processes from within the browser sandbox

Zamicol|3 years ago

The offline part is critical for me. The only other thing I would prefer is an application that doesn't use Electron.

edpichler|3 years ago

Be careful with Postman. It seems they upload all your secrets to their servers. We stopped to use it a time ago. I don't know if they changed in this regard.

BowBun|3 years ago

How else would they sync all of the shared stuff in your workspace? I'm more interested if they properly encrypt my data in transit and at rest and whether Postman employees have free access to our secrets.

thieving_magpie|3 years ago

Does anyone have a source for this? I need to present this to our team if it's true.

snarfy|3 years ago

If I just need to make a simple POST or PUT I'll use Firefox's dev tools network tab. Right click a request and click 'Edit and resend'. If I need more than that I'll use vscode restclient.

roamerz|3 years ago

Nice work! I wasn't familiar with insomnia so when I read your first line there I read it as "I love not being able to sleep because it gave me time to code this project..."

kermire|3 years ago

Haha thanks. Didn't think it could be interpreted like that :D

yewenjie|3 years ago

If you live in Emacs, there is the amazing verb package that does the same, it supports org-mode primarily and also integrates with org-babel nicely.

https://github.com/federicotdn/verb

b5n|3 years ago

Although I mainly stick with curl or requests due to muscle memory, there's also restclient.el https://github.com/pashky/restclient.el. I imagine having builtin org support is super convenient, thanks for sharing.

cloverr20|3 years ago

I have moved from postman to https://github.com/aquach/vim-http-client and have never looked back ever since, its opens in vim and has variables to store values and can store comments too in a .txt file along with the http calls. Give this a try if you are using vim.

markcollin|3 years ago

Nice to the tools come out to save us from postman bloat

I have been recently trying out bruno - https://www.github.com/usebruno/bruno

It allows me to save my collection on my filesystem (as folders and files) and I use git to save them in my private repo

ndimares|3 years ago

Wha's always boggled me about Postman is that it doesn't have autosave. It's 2022, what doesn't have autosaving? So thank you for adding auto-saving, huge improvement on Postman!

compuguy|3 years ago

This certainly looks promising, though the only thing I can see its missing that Postman does is allowing the use of domain specific certificate authentication and the use of a user provided certificate chain.

ushakov|3 years ago

If you want something like Restfox but as a CLI, that tests your APIs automatically, give Step CI a try

https://stepci.com

It’s free and open-source on GitHub!

Disclaimer: I’m the author

jhoelzel|3 years ago

I like it but please dont make me right click to do something! please add a little plus or something like it.

Otherwise great work! needs a little disclaimer though that you will not save any of my requests =)

kermire|3 years ago

Thank you. Will look into preventing the right click requirement and provide an alternative for that.

It should be saving your requests automatically. Maybe your browser is blocking IndexedDB somehow? That's what's used by the application to store the data locally. Also do make sure you're not in incognito mode, as changes will be lost once you're out of it.

user3939382|3 years ago

My biggest gripe with Postman is the horrible theming. Except for light and dark, 0 control over the appearance of this app that I have to look at for hours almost every day.

topspin|3 years ago

My biggest gripe is that its design leads to accumulating long list of slightly different "tests" whose purpose is soon forgotten. I suppose there are better practices that can stop that, but the path of least resistance is "copy, edit, run," and so a huge pile of meaningless garbage accumulates.

Something is missing.

datavirtue|3 years ago

You don't have to put up with postman. There are better alternatives.

jcuenod|3 years ago

InvalidStateError: A mutation operation was attempted on a database that did not allow mutations.

[Edit]: I'm on Firefox (with ublock origin). I see others having issues too.

kermire|3 years ago

Firefox with ublock origin should not cause any issues. The issue might be caused by Firefox's private window implementation which does not allow IndexedDB operations, which is what Restfox uses for storing the data of the application locally.

npalli|3 years ago

Tried to just GET www.google.com; says error and suggests bypassing with some plugins. Don't think I want to continue further.

alfor|3 years ago

I don’t understand, what is it, what does it do?

alfor|3 years ago

Ok, it’s a tool to test rest api.

schipplock|3 years ago

In the past I was using SoapUI. I liked it. Just because you guys were mentioning Postman alternatives :).

v3ss0n|3 years ago

Importing of postman is very important feature, I will take a look definitely.

snehesht|3 years ago

Noticed a small bug, I can't paste into the URL bar.

josephd79|3 years ago

Paw for mac users, native client.

jcuenod|3 years ago

Is there a way to get it to ignore the cache?

iWelly|3 years ago

- Nested Folders

humility|3 years ago

what's wrong with hoppscotch?

Snacklive|3 years ago

Page is not working for me. I'm in Firefox

neogodless|3 years ago

Windows 10, Firefox 106.0.1, uBlock, multi-account containers, facebook container, bitwarden, DDG privacy, consent-o-matic, font contrast, dark reader

Works fine for me.

Opened a request to https://api.publicapis.org/entries and it fetched results.

shubham_sinha|3 years ago

Postman, Insomnia, Paw seem to fall in similar league. But if you are running VSCode simply use Thunderclient.

jetter|3 years ago

If you are a minimalist, and are using VS Code, try https://marketplace.visualstudio.com/items?itemName=humao.re... which is a pure text syntax to describe API requests, and execute them right from the editor window. I now have api.http text file in every API-first project I am building and I love it.

kxrm|3 years ago

I like this one because it's easy to keep API workflows with my projects. The scripting ability here is phenomenal. However only really useful if you code in VS Code.

SwiftyBug|3 years ago

Do you have a single api.http file or do you you multiple {route}.http files?

gregwebs|3 years ago

I have been trying out https://hurl.dev and so far been really liking it. Plain text format, everything runs very quickly locally, it can capture data from previous requests to run workflows and serve as a testing tool.

ushakov|3 years ago

If you like hurl, you may also like Step CI, which uses yaml, generates tests from your OpenAPI spec and is easy to integrate with CI/CD

Give it a try: https://stepci.com

It's free and open-source on GitHub, built by the community!

Disclaimer: I'm the original author

johntash|3 years ago

Thanks for mentioning hurl. I just started looking into it and Insomnia (with the cli) as potential replacements for ci testing tools.

hurl looks pretty simple to use, and way easier to get started with than what we're using at work currently.

projproj|3 years ago

Here's an alternative I recently came across. In Firefox on the network tab of the dev console, right click on an XHR request. You'll have two relevant options: "Resend" and "Edit and Resend". Edit and Resend doesn't give you all the features of Postman, but it is useful and a lot easier. I have spent a lot of time in Postman just putting in all the headers and POST body to set up the API call. With this method in Firefox, all parameters are already set because it's an exact copy of the request you already sent. You can change params or just hit send when you're ready to retest something you're doing on the backend.

throwaway17474|3 years ago

I am very happy to save you a lot of time for copy&pasting requests to Postman. Since Postman can import curl commands, just right-click on a command in Firefox, Copy as -> Curl, click on the Import in Postman, import as text, paste curl, mission accomplished. Hope it helps.

easrng|3 years ago

They actually removed the plain Resend option and renamed Edit and Resend to just Resend.

progre|3 years ago

I'm just now migrating my postman collections to .rest text files and the REST-client plugin for vscode (that name is both good and bad at the same time btw, it like marketing a new car and naming it "Car").

Grantet it does not do everything Postman does but I'm pretty happy so far. Environment variables and secrets stays in a workspace settings.json and the .rest files can be version controlled and shared.

Always bet on text!

twodave|3 years ago

This. My current hobby project[0] is basically something I started because I was frustrated with the inability to version control my tests in Postman alongside my API code. If it can't be committed to source control, then it's not really your code.

Now I can run all my tests FAST locally and set up a CI/CD pipeline in about 15 mins that will pick up and run them as well. At this point I'm not even sure a UI is necessary (maybe for the QA folks--maybe just an import from a postman collection will be enough for them, though).

[0]: https://github.com/davesheldon/nap

SirIntruder|3 years ago

Sorry for a complete tangent - I've been assuming gray OP's text in ask/show meant people were downvoting a post and it always weirded me out - now had to double check to confirm it's simply always grayed out (why though?)

mmgutz|3 years ago

If you're using VS Code and only need to test REST APIs, then try "Rest Client" extension by Huachao Mao. It does everything I used Postman for, using a text file. A quality of life changer.

philliphaydon|3 years ago

I switched to insomnia when postman changed their pricing pulling the rug out from everyone wanting us to pay like $300 more per month. (Before they back tracked)

https://insomnia.rest/

I actually prefer it.

judge2020|3 years ago

One thing I love from Insomnia.rest is the ability to import CURL commands, including an entire list of newline-delimited CURL commands from the clipboard. This makes it easier to modify XHR's you pulled from your browser via a right click -> "copy all as cURL (bash)".

Jenk|3 years ago

OP states they built this because they wanted a portable version of Insomnia.

alias_neo|3 years ago

Same, my team and I started using Insomnia too when Postman pulled that stunt; doesn't matter if they went back on, good will lost in that way is a bridge burned that can't be rebuilt.

Version467|3 years ago

Same here, switched from postman to insomnia when it became impossible to ignore how slow, cluttered and generally bloated it became. Haven’t missed it since. Insomnia is pretty great. I’m sure there’s lots of stuff that postman can do that insomnia can’t, but insomnia is still very capable, while being snappy and not being in the way. Highly recommend it.

ako|3 years ago

Same here, moved from postman to insomnia, now mostly using the rest plugin for visual studio code. Prefer using regular text files.

datavirtue|3 years ago

I have been using Thunder client in vs code. Love not having another app. Postman is horrible now.

raone1|3 years ago

Moved from Postman to Insomnia too. Postman was taking too much time to start and was very unresponsive compared to Insomnia, on my Work Laptop.

HatchedLake721|3 years ago

Switched away from Postman to a native Mac app and my RAM couldn't be happier (https://paw.cloud)

shmoogy|3 years ago

Seems pretty nice but $50 is a little high - is it really worth the premium?

codatory|3 years ago

Now that they're maintaining versions based on web technologies and are now just a cog in the VC Funded RapidAPI machine, are you concerned that makes the writing on the wall for the native Mac app?

duiker101|3 years ago

My favorite testing HTTP Client is still just the IntelliJ built-in, pure text. You know exactly what you send without having to navigate menus and whatnot. In the end, 99% of HTTP requests are just that, text.

gempir|3 years ago

This is what I wish all http clients could adopt.

Use plain text files (IntelliJ already introduced .http files, which work great) Sadly it will never work because that would break 90% of the incentives to pay, which his having a sync system. Because then I could simply commit my http requests and git would be my sync server.

Personally I don't like the IntelliJ Client, the UI is kind of ugly and requires a lot of actions each time I want to send and review a response. Insomnia is way better in that regard.

Good context might me my issue comment on Hoppscotch: https://github.com/hoppscotch/hoppscotch/issues/870#issuecom...

jicea|3 years ago

I can't resist to propose my own solution: a cli tool, plain text based, curl, and Rust https://hurl.dev

The market is overcrowded by good solutions, best wishes to other tools!

hbagdi|3 years ago

I have been working on a CLI first workflow that doesn’t require IntelliJ: https://hit.yolo42.com/. I spend my days in the terminal and like curl and httpie for most parts. Hit is to fill in the gaps rather than redo the whole experience of sending HTTP requests.

I’ve a very early prototype. If you get a chance to try it out, please do and share your feedback.

philliphaydon|3 years ago

Can you chain requests together? Like if a request requires auth it will invoke login then take the token for use in the next request.

pletnes|3 years ago

And it fits nicely into git!

LunicLynx|3 years ago

I would recommend VS Code with RestClient extension.

duxup|3 years ago

Yeah I realized that's all I need after a while.

Nice to have a file with some calls to make right in the client. Can take those to an outside app if needed.

locusofself|3 years ago

my needs are very basic, but I've been using vs code extension called ThunderClient

Joeri|3 years ago

Same here, I switched from postman and that combination is really all I need.

stonecharioteer|3 years ago

Nothing to take away from all of this, but please learn cURL. Postman and all its alternatives are great and all, but they also hide a lot of things that will hinder your debugging skills. As an alternative try httpie. Not because CLIs are cool but because you can see the headers and the raw response more easily. Developers need to understand what content type is, what response headers are, how to limit them, how to tweak them. And the snippets that Postman provides are not always the right way to send requests in a given language

Sohcahtoa82|3 years ago

I'd take Burp Suite over cURL.

The command line fucking SUCKS for sending anything beyond basic HTTP requests.

cercatrova|3 years ago

I like xh as a faster httpie as well

Nihilartikel|3 years ago

My version of Postman is to open a Jupyter notebook and

>> import requests

Avlin67|3 years ago

it is completly garbage on mobile

inso1|3 years ago

Hi I am one of the contributors to Insomnia. You guys are all invited to join our Slack channel and give us suggestions and feedback! https://chat.insomnia.rest/

CrimsonRain|3 years ago

Add env color on SEND button.