I understand that one wants some rate limiting so that others don't just use this as a backend for their own service causing every single request for their service to also create an API request. But this is as simple and resource unintensive as it gets for an HTTP server. 10 requests per minute is just silly.
Also could it be that the limit isn't enforced against the origin IP address but against the whole Cloudflare reverse proxy?
The rate limit still pretty surely isn't applied per IP.
"I truly value our connection, and I hope my no doesn't change that." shows up 45 times.
Seems like most of the rejections appear between 30 and 50 times.
Maybe then this is really a request for Github to get better/smarter merge tools in the Web UI, particularly syntax-aware ones for structured files like JSON and YAML, where it would be much easier to guess, or even just preset AB and BA as the two concrete options available when both changes inserted new content at the same point. It could even read your .gitattributes file for supported mergers that would be able to telegraph "I don't care about the order" or "Order new list entries alphabetically" or whatever.
Not the way I'd approach it, but as a joke service, if it works it works.
I guess it still works.
It's documented as "Per IP", but I'm willing to bet either that documentation is wrong, or it's picking up the IP address of the reverse proxy or whatever else is in-front of the application server, rather than the originator IP.
Why do I think that? Well these headers:
x-powered-by Express
x-ratelimit-limit 10
x-ratelimit-remaining 0
Which means it's not being rate-limited by cloudflare, it's express doing the rate limiting.And I haven't yet made 10 requests, so unless it's very bad at picking up my IP, it's picking up the cloudflare IP instead.
Some ideas:
- All the different HTTP status codes
- expired/invalid TLS cert
- no TLS cipher overlap
- invalid syntax at the TLS and/or HTTP level
- hang/timeout
- endless slowloris-style response
- compression-bomb
- DNS failure (and/or round-robin DNS where some IPs are bad)
- infinite redirect loop
- ipv6-only
- ipv4-only
- Invalid JSON or XML syntax
It'd be easier to add new ones if they were in there a single time each. Maybe the duplication is meant to handle distribution?
And you can host the service yourself! Hard pass. I'll read the 25 responses from your gist. Thanks!
https://raw.githubusercontent.com/hotheadhacker/no-as-a-serv...
As you gain experience, these projects become a testament to how far you've come.
"An http endpoint that returns a random array element" becomes so incredibly trivial that you can't believe you even made a repo for it, and one day you sheepishly delete it.
a missed opportunity for some humor
Haeuserschlucht•5h ago