Hacker Newsnew | past | comments | ask | show | jobs | submit | virgoerns's commentslogin

I also run a public cgit instance and get over 1M hits every day, although my pet projects are nowhere near the size or impact of kernel. I had to block (via nginx conf) cgit endpoints for diffs, blame, snapshots and historical commits, because nothing else works. Now they return 402 (payment required). I consider this my total defeat and it's killing me inside, but it is what it is.


You could also publish a list of IP addresses.


As the article describes, it doesn't help, because the traffic originates from millions of unique residential IPs across hundreds of ASNs and countries.


So?


Have you tried blocking a million IPs before? Fail2ban gets pretty shaky at even 200,000

The AI crawler traffic I’ve seen sends one request per ip and seemingly has an infinite pool of residential IPs. You can’t block the ASNs becuase you also block honest clients. IP blocks are the wrong solution.

And because I’m being negative I’ll also be constructive, IMHO the correct solution for fighting residential proxy crawlers is using RTT diffs this is one example https://github.com/Sakura-sx/Aroma


Fail2ban becomes a serious bottleneck at significant traffic. I've replaced it with a shell script and direct pf commands that run every few minutes.

Do you mind sharing your script? I also noticed that fail2ban currently eats ~25% of CPU and started thinking if it's even worth running at this point


Read the article, it will tell you why it won’t work.


1. Buy a domain and bind it to your email so this situation never happens again in the future. 2. Automatically forward all new emails to the new provider (gmail has an option for that somewhere). 3. Gradually change your email in all services and inform peopke about address change. 4. Use your old gmail as spam box.


Emacs?


It doesn't need root if you set MANPATH.


The problem with long startups is that they break the flow. I live in CLI. I open and close terminal windows all day long, sometimes just for quick 2-3 commands to check something. 100 new interactive shells a day is my guess. I already know commands to run, my fingers are ready to type, they already pressed the keys ti spawn a new shell and now they have to stop for 500 ms. Repeat these 100 interruptions every day and you get the death by 1000 spoons.

I don't use oh my zsh, but on one laptop zsh took 600ms to start. I narrowed it down to a strange "bug": adding even a single empty file to the custom fpath caused the slowdown. It bugged me so bad that I decided to try fish again, but this time for real. And this time it stuck with me. I like its architecture (defining functions to change its look-and-feel - great idea!) and of course its 32 ms startup time.


We're buying mice and we want 2 or 3 females. So yesterday I was searching "how to check mouse gender". Imagine my confusion when search engine recommended me a bunch of "how to sex mice" youtube videos!


FYI, ctrl-d isn't a shortcut to exit terminal. It sends EOF (end of file) character which, when reaches shell, closes stdinput file of shell. It generally closes any active interactive input, like all repls, interactive input to sed etc. When interactive shell loses possibility to get more input, it closes as soon as possible and then its parent, the terminal window, also closes. More-less :)


How do you use it so it's more ergonimic than typing arguments manually reversed? `unmv !$` ?


Podman 4.7 supports both the ordinary compose (Go implementation) and older Python podman-compose. But personally I moved to quadlets and didn't look back.


I love that you include hledger! It's amazing piece of software, even if a little obscure for people unfamiliar with plaintext accounting!


I love that application. I plan to make some improvements to the web UI. I’d love to have multiple tabs with saved reports. That would allow my spouse to use it quite easily. I’ll be adding that at some point.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: