mockttp
Atom
mockttp | Atom | |
---|---|---|
18 | 284 | |
736 | 58,803 | |
0.4% | - | |
8.1 | 8.1 | |
27 days ago | over 1 year ago | |
TypeScript | JavaScript | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mockttp
-
Client-side proxies – a better way to individualise the Internet? (2000)
Interesting how the world has changed since the 2000s here - nowadays the ecosystem is far better, so it's much easier to set up tools to mess around with this, but the use of HTTPS everywhere makes it more difficult in more advanced cases (e.g. you'll often need to fight certificate configuration in individual clients).
In part because of that, browser extensions have become the main way to go for this kind of local web modification, but now there's new restrictions slowly coming in there too.
If you want to mess around with HTTP-level rewriting for yourself though, I maintain a Node.js library for easily writing tiny custom HTTP & HTTPS-intercepting proxies that makes it very easy: https://github.com/httptoolkit/mockttp/. Others have built more specific tooling on top too, like this web page modification proxy: https://github.com/OnkelTem/wmod-proxy
There's a walkthrough for setting up a quick local proxy & rewriting your own browser traffic here: https://httptoolkit.com/blog/javascript-mitm-proxy-mockttp/
-
Ask HN: Side project of more that $2k monthly revenue what's your project?
> What did the first iteration of this product look like? Was it more or less similar, or substantially different from the spirit of httptoolkit today?
Technically, the first iteration was https://github.com/httptoolkit/mockttp - an HTTP integration testing library for JS. Not a desktop app at all. I'd originally built that for testing uses, but as it matured I realised that with a UI and automated setup tools it'd be useful as a complete product (but Mockttp still powers all the internals today, and you can use it directly to build your own custom intercepting proxies too).
For the first real product, the very first public 'launch' was literally a landing page with some demos of the potential UI and a signup form, just to test interest and check it wasn't a terrible idea. The results looked promising, so that was followed a few months later by a very basic but usable free version (entirely read-only, and only supporting Chrome interception) with the freemium features on top appearing a few months after that.
> How did you go from (some semblance of a product) to first sale? / acquiring first customer?
Once I announced the paid version (a blog post to my tiny set of newsletter signups, plus a little response on HN/Reddit/Product Hunt etc) I got a handful of paying customers (but certainly less than 10) within 24 hours. Nice but not a meaningful income, and from that wild peak it dropped back down to maybe one new customer per week or so afterwards, so it was quite slow going at the start.
However, those paying customers (and the mere fact of offering a paid service generally) resulted in _much_ better feedback. Rather than "this is cool" all of a sudden I had real demands for specific features, from people with concrete use cases and money in their hands. The initial paid features were just made up off the top of my head, and honestly didn't create a particularly compelling paid feature set. It's very hard to really know what people will pay for! That feedback was incredibly unbelievably useful to fix that.
From there, building out the key features people asked for over the following 6 months boosted things very significantly, and started to get things moving for real, and then you get into a virtuous circle, where more users => more feedback => better product => more users => ...
> did you spend anything on marketing/distribution?
I tested advertising at a small scale for a few months, but it didn't really work great. I think largely because it's very very freemium - 99% of users pay nothing - so the acquisition cost for a paying user doesn't make sense, and also honestly I don't have much experience with ads and I'm not sure I'm any good at writing them.
Content marketing meanwhile has worked great, keeps passively returning dividends, and cost nothing. I've tried to fill the blog (https://httptoolkit.com/blog/) exclusively with detailed & high-value original content (detailed breakdowns of a recent HTTP security vulnerability, not "top 10 HTTP libraries for Python") which shares well on social networks for an immediate burst of traffic, and then (in most cases) provides both a long-term SEO boost and constant incoming traffic on related topics that converts into users. That starts slow, but again steadily builds up over years, if you keep working at it. Content marketing + SEO are pretty much the only marketing channels I work on right now.
-
HTTP Toolkit
> why would I prefer this to mitmproxy?
Compared to mitmproxy, HTTP Toolkit:
- Has fully automated setup for most browsers, docker containers, Android, all Node.js/Ruby/Python/PHP/Go applications run from intercepted terminal windows, all JVM processes, any Electron apps etc etc. Some of these automated setup steps are very difficult to do manually (e.g. intercepting Android devices, where you can't normally install your own certificates nowadays, or intercepting Node.js, which completely ignores system proxy settings) so this can make a huge difference in non-trivial case.
- Supports targeted interception (intercept just one app/container/browser window) whilst all mitmproxy's manual setup steps are generally focused on helping you intercept your whole machine at once. Intercepting the whole machine means very noisy interception and means that rewriting traffic interferes with all other usage of your machine. Targeted interception means you can do neat things like run two HTTP Toolkit instances independently at the same time, and means you don't need root privileges or permanent configuration settings.
- Has generally friendlier UI & UX (imo). For example, mitmproxy uses a unique custom syntax (https://docs.mitmproxy.org/stable/concepts-filters/) of special characters to define matching & rewriting rules, or requires you to write a full python script. HTTP Toolkit lets you click 'new rule' -> 'GET requests' -> 'match regex ' -> 'then reply with ', and then immediately start injecting automated fake responses. From HTTP Toolkit you can then build named groups or these rules, and import & export them (as JSON) to build libraries you can share with your colleagues.
- Provides lots more background information automatically: e.g. built-in documentation for all standard HTTP headers, body autoformatting for lots more formats, syntax highlighting, code folding, regex searching etc of request & response bodies, plus 'this is how and why this response could be cached' caching explanations, OpenAPI-powered docs for recognized endpoints on 1400+ APIs, etc.
- Includes advanced features to do things like exporting requests as ready-to-use code for various languages & tools, or automatically testing the performance of different compression algorithms on a given response body.
- Is more easily scriptable for automation & end-to-end testing, because all the HTTP-handling internals are usable as a standalone open-source JS library: https://github.com/httptoolkit/mockttp
That said, mitmproxy has been around longer, it's definitely more mature, and it was a big inspiration in many places. It's a great project! It does have some advantages of its own:
- If you strongly prefer a CLI interface, mitmproxy is very focused on that, and HTTP Toolkit is not. HTTP Toolkit could support that too in theory (the backend & frontend are independent) but it definitely doesn't right now, and it's not high on my todo list (contributions welcome though!)
- Mitmproxy is primarily scriptable in Python. You can build automation around HTTP Toolkit's internals using mockttp, but that's JS, and it's mostly usable standalone right now, rather than integrated into normal workflows within the app. If you want very complex scripted rules, mitmproxy has a few more options right now, and lets you do things in python instead of JS, which some people will prefer.
- WebSocket debugging - this is coming for HTTP Toolkit soon, but it's not available today. WebSockets get passed through fine, but they don't appear in the UI, and you can't set up mock rules for them.
> I'd be interested both in why I'd prefer the open source httptoolkit and pro?
There's a list of Pro features at https://httptoolkit.tech/pricing/. Note that it's all open source, even the Pro code, everything.
The general idea is that everything you need to intercept, inspect and manually fiddle with traffic is totally free. Anything optional that most users don't need, but which is helpful for advanced usage or enterprise use cases, requires Pro.
-
HTTP Toolkit for Performance Engineers ⚡
HTTP Toolkit works on Windows, Mac and Linux. Head to https://httptoolkit.tech website and download the relevant package to install it.
-
Hudsucker: A MITM HTTP/S (and websocket) proxy
I think MITM should provide a lot of features for that please checkout mock http https://github.com/httptoolkit/mockttp
-
Docker is updating and extending our product subscriptions
Same with Telerik Fiddler recently. Good piece of software for debugging network requests on Windows.
Was free for as long as I've known it existed. Telerik recently bought by 'Progress' (ironic), software re-written in Electron and now charges a subscription to use it.
Glad HTTP Toolkit is now available free for most standard tasks - https://httptoolkit.tech/
-
How to get packet from mobile game? (How to hack mobile game?)
HTTPToolKit has been my go-to for sniffing out packets from mobile apps in recent months.
-
Mitmproxy 7.0
I'd highly recommend https://httptoolkit.tech/ for that explorative GUI phase. I found it recently and the rule configuration, UI and interception setup is significantly better than Charles/Fiddler/Proxyman.
- In one click intercept, debug and mock HTTP with HTTP Toolkit
-
Telerik Fiddler going subscription only
Do they want open source versions to get more popular? Because this is how you do that. HTTP TOOLKIT seems pretty decent, does anyone else have a recommendation?
Atom
-
Is downloading vs code okay in this case ?
For JavaScript, HTML, and CSS, Visual Studio Code is the best solution because it already runs on the Electron framework. So, try VSCode. Don't worry; your device won't be harmed. If its performance was unbearable, you can always put it aside. You can also try Atom. It is outdated, but it could be answer to your need.
-
I am having an issue
you can still get atom from it github page: https://github.com/atom/atom/releases/tag/v1.60.0
- Dev environment for scripting?
-
Ask HN: Design of Emacs type extensible editor based on electron?
I'm surprised that nobody here mentioned Atom [1]. IIUC, Atom was designed to be hackable like Emacs.
A successor to Atom is Pulsar [2].
[1] https://github.com/atom/atom
[2] https://pulsar-edit.dev/
-
App LIST!!!
atom (RIP buddy! Free) Atom is a hackable text editor for the 21st century, built on Electron, and based on everything we love about our favourite editors. We designed it to be deeply customizable, but still approachable using the default configuration
- I started a course by Dr Angela Yu and one of the CSS courses tell me to download Atom.io. However, there is no way to download it anymore. I'm going crazy, can someone please help??
-
Code Editor from scratch ?
Hey everyone, I'm developing an open source text editor called Valence. I'm just getting started with its development and the next and main thing I need to implement is the editor itself. Now I know there are many different code editors like CodeMirror, Ace.js and Monaco but I want to start from scratch and build something like Atom had done. Currently I created a contenteditable div and also added a custom cursor. BTW I'm using React, TailwindCSS and TypeScript. Here is the component
-
I've been using Atom to edit code, and then this popped up today. Anybody know the story behind this? (using a Macbook with BigSure OS installed)
These versions of Atom will stop working on February 2 [2023]. To keep using Atom, users will need to download a previous Atom version.
-
" “Atom” will damage your computer. You should move it to the Trash.“Atom” will damage your computer. You should move it to the Trash. "
For Mac users - mv ~/.atom ~/atom_bak rm -fr /Applications/Atom.app download https://github.com/atom/atom/releases/tag/v1.60.0 Drag download to Applications folder - to install
-
Can't install AUR atom
And it doesn't match because https://github.com/atom/atom/releases/download/v1.63.1/atom-amd64.deb returns a 404 not found error, so of course it doesn't match.
What are some alternatives?
mockoon - Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
Visual Studio Code - Visual Studio Code
mitmproxy - An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
Geany - A fast and lightweight IDE
httptoolkit-server - The backend of HTTP Toolkit
vscodium - binary releases of VS Code without MS branding/telemetry/licensing
Express - Fast, unopinionated, minimalist web framework for node.
Spyder - Official repository for Spyder - The Scientific Python Development Environment
wsl-environments
notepad-plus-plus - Notepad++ official repository
next-page-tester - DEPRECATED - DOM integration testing for Next.js
KDevelop - Cross-platform IDE for C, C++, Python, QML/JavaScript and PHP