I made this tool to help self-hosters, new admins, or smaller instances have more global and updated content on their instances.
This is the similar to Lemmy Community Seeder but is designed to be run periodically to capture new communities, and include EVERYTHING by default.
EDIT: As noted in the comments, this is an admin tool. Please do not run it as a user if you don’t know what you are doing. If you want a better “All,” ask your admin first! That said, lemmony in no way constitutes abuse! You can cause a DOS with curl, but that’s not what curl was written for. This tool is to legitimately use an API to enhance our experience. Admins that desire to accommodate high volume on a public service will not know this tool is running against, or on their instances. If it causes performance issues, that is unfortunate. They are free to throttle, ban or block API access to their instance in a multitude of ways.
EDIT 2: Donate to your instance/admin if you like Lemmy!
As someone who has created a similar tool, I can understand where the concerns from other people come from, but your arguments have merits too, since as you’ve said, it only takes a user subscribing to the top communities to replicate what tools like these can do in a hundredth of the time.
Much of the issues that can arise from the usage of this tool, or an overly enthusiastic user subscribing to all the communities, is simply the centralization of top communities in top instances. In an ideal federated universe, instances like lemmy.ml, lemmy.world or even burggit.moe wouldn’t be the top instances that everyone knows, but rather the communities they host, would have be properly and evenly spread out through the fediverse, greatly lowering any load that any one server might get. Unfortunately, that is not the case, and the top servers have to contend with growing traffic, lowering performance, and of course, being the target of subscriptions from the other smaller Lemmy instances, which would only grow worse with usage of tools like this, and my own.
Is this socially acceptable? Is writing my own tool socially acceptable? Frankly, at this point, after reading all these comments, I’m not too sure myself. My only mitigating factor is that the tool I wrote for my personal Lemmy instance serves around ~50 people, thus I hope that, at the very least, those people would be able to benefit from having the communities pre-seeded for their viewing experience. No one really likes a barren front page after all.
I see that you’ve added a configurable option to only subscribe to the top N instances in each instance, which seems a bit more harsh than my own tool (which subscribes to any instance above a threshold), but given the views in this thread, and your other cross-posted threads, perhaps I’ll be looking to implement that into my own tool as well, before I get witch hunted myself.
That said, for anyone out there curious about numbers, subscribing to about ~800 communities, of which have about more than 50 users/month, my metrics have indicated a disk space usage of about 2GiB/day, 20% of a single CPU core, and about 8~10GiB/traffic a day.