
Interactive command line HTTP inspector written in Go - tartpac
https://github.com/asciimoo/wuzz
======
gschier
That's awesome! The animated GIF on the README does a great job showcasing it.
I've been working on a more complex GUI API testing tool
([https://insomnia.rest](https://insomnia.rest)) but, to be honest, nothing
beats a simple command line tool like this for "quick tests".

------
chrisper
Does anyone know how they did the user interface? I mean I could read the
source code, but I am asking for a TL;DR if someone has that.

EDIT: Actually it seems to be a library:
[https://github.com/jroimartin/gocui](https://github.com/jroimartin/gocui) but
the question still stands!

~~~
robert_tweed
If you mean the general principle of this kind of pseudo-GUI in text mode,
look into codepage 437 [1]. It's possible to do more advanced stuff with
custom glyphs [3], but it doesn't look like this does anything like that - it
generally requires direct hardware access to modify the font.

This was a pretty common technique in 90s DOS programs, but it can be tricky
to get working cross platform over a serial terminal. The library you found
seems to rely on termbox [2] for that.

[1]
[https://en.m.wikipedia.org/wiki/Code_page_437](https://en.m.wikipedia.org/wiki/Code_page_437)

[2] [https://github.com/nsf/termbox-go](https://github.com/nsf/termbox-go)

(edit)

[3] I thought Norton Commander did this, but I was mistaken - it just uses
codepage 437. It was Norton Utilities [4].

[4] [https://en.m.wikipedia.org/wiki/VGA-
compatible_text_mode](https://en.m.wikipedia.org/wiki/VGA-
compatible_text_mode)

~~~
nitrogen
For UNIX-style terminals, there are also VT-nnn (can't remember the nnn) line
drawing commands, and Unicode line drawing characters.

My favorite DOS app that modified the VGA font was Impulse Tracker. It could
actually draw oscilloscopes in text mode, and its source code is available.

[https://en.m.wikipedia.org/wiki/Impulse_Tracker](https://en.m.wikipedia.org/wiki/Impulse_Tracker)

------
gigatexal
This is really cool. I'd upvote more if I could.

And it would have come in really handy for studying for the google cloud
support role I didn't get. Fault all my own.

------
eliangcs
I made another tool similar to this, but instead of being based on curl, it's
based on httpie: [http://http-prompt.com](http://http-prompt.com)

------
catern
This is similar to restclient.el for Emacs.
[https://github.com/pashky/restclient.el](https://github.com/pashky/restclient.el)

wuzz seems to be focused on one request at a time, though.

------
gizmo385
I could see this being incredibly useful, especially on remote servers where I
can't use something like Postman.

------
xiaoma
What is it with adding _" written in Go"_ to titles like this? Was the title
editorialized to get upvotes from the Go fans? Is "written in X" added to
project titles in general and somehow I just haven't noticed it?

~~~
jasode
_> Is "written in X" added to project titles in general and somehow I just
haven't noticed it?_

The _" written in X"_ is a very popular[1] type of post for the HN audience
because it usually points to source code like github/sourceforge. Your
annoyance about it is puzzling and out of place. It's as if a commenter
complains on a photography forum about a post titled _" Paris Eiffel Tower
taken with Canon 35mm lens"_; the "Canon 35mm lens" is part of what makes the
post _interesting_ to potential readers of that particular community.

[1] 50+ pages of results:
[https://hn.algolia.com/?query=written%20in&sort=byPopularity...](https://hn.algolia.com/?query=written%20in&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

------
brian_herman
Zeds attack proxy is very similar to this.
[https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Proje...](https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project)

------
soheil
In the same spirit here is an interactive ssh tool for connecting to EC2:
[https://github.com/soheil/ssh2](https://github.com/soheil/ssh2)

------
tejasmanohar
Nicely done! I've become a big fan of interactive command-line programs. I
hate modifying cURL commands inline when I really want something REPL-like :)

------
OJFord
I thought I recognised the name - repo owner is also behind the 'searx' meta
search engine.

~~~
asciimoo
Actually, I wrote this tool to make searx's engine development easier. It is
glad to see, that so many people find it useful. =)

~~~
OJFord
Thank you for both! :)

------
jvehent
These HTTP clients are all very cool, and probably fun pet projects, but they
shouldn't stop devs from learning as much cUrl as they can. It's the Swiss
army knife of web services.

~~~
OJFord
If this had an 'export as curl command' command, that'd be awesome.

~~~
supergreg
That's one of my favorite features of the Firefox developer console.

------
tyingq
This looks very well done. Strong tty UI is hard to find these days.

------
kevdougful
This is cool. I will definitely try this out. I have one question though: what
does this give me that Postman and/or cURL does not?

~~~
andrewstuart2
State and easier navigation/alteration. The most painful part of curl commands
(for exploring) is editing the command when you want to change a parameter,
header, etc.

I like this interface personally because it separates the path to its own
area, then headers and query parameters are separate areas with each instance
on its own line.

It makes it quite easy to explore a rest interface and tweak your queries ad
hoc.

------
malikNF
In case anyone is wondering, press TAB to move forward and "SHIFT + TAB" to
move backwards.

------
andmarios
Looks great! Thanks for sharing it!

Now, if only it would also support websockets. :p

------
nodesocket
Looks nice and useful. Time saver over repetitive curl commands.

~~~
bitexploder
You might like -- [https://mitmproxy.org](https://mitmproxy.org) or Burp
proxy. These are the daily drivers of most infosec pros I know.

------
bitmapbrother
This is impressive. Showing a video of your app running really showcases it.

