Wrong thread.
InternetPirate
What I've tried on Linux:
Fopnu > SoulSeek with Nicotine+ client > aMule > EiskaltDC++ > Gnutella > BitTorrent > Shareaza > MLDonkey
EiskaltDC++ used to be my favorite, but lately, it hasn't been working properly.
BitTorrent is the one I use for new or very popular stuff—things that are sure to be seeded in public trackers. For everything else, I just don't think it's worth it.
Shareaza and MLDonkey seem too old and have a bad user experience. I've gotten spoiled by the convenience of PopcornTime and Stremio.
I haven't used RetroShare since you have to exchange something before sharing, and I prefer alternatives that show everything available up front.
❯ git clone https://github.com/LemmyNet/lemmy-stats-crawler
❯ cd lemmy-stats-crawler
❯ cargo run -- --json > stats.json
❯ python instance_analysis.py
Enter the instance to find blocking instances: lemmy.fmhy.ml
Instances blocking lemmy.fmhy.ml :
feddit.de (642 users/day, 1317 users/week, 1397 users/month, 1441 users/half_year)
civilloquy.com (1 users/day, 1 users/week, 2 users/month, 2 users/half_year)
thesimplecorner.org (1 users/day, 1 users/week, 1 users/month, 1 users/half_year)
Total users from blocking instances:
644 users/day
1319 users/week
1400 users/month
1444 users/half_year
Instances blocked by lemmy.fmhy.ml :
lemmygrad.ml (198 users/day, 388 users/week, 481 users/month, 726 users/half_year)
Total users from blocked instances:
198 users/day
388 users/week
481 users/month
726 users/half_year
instance_analysis.py
import json
with open("stats.json", "r") as file:
data = json.load(file)
def find_blocking_instances(target_instance, data):
blocking_instances = []
blocked_instances = []
for instance in data["instance_details"]:
federated_instances = instance["site_info"]["federated_instances"]
if federated_instances is not None:
if target_instance in (federated_instances.get("blocked") or []):
blocking_instances.append(instance["domain"])
if instance["domain"] == target_instance:
blocked_instances.extend(federated_instances.get("blocked") or [])
return blocking_instances, blocked_instances
def get_instance_user_counts(instance):
counts = instance["site_info"]["site_view"]["counts"]
return {
"users_active_day": counts["users_active_day"],
"users_active_week": counts["users_active_week"],
"users_active_month": counts["users_active_month"],
"users_active_half_year": counts["users_active_half_year"],
}
def print_instance_activity(instance):
domain = instance["domain"]
counts = instance["site_info"]["site_view"]["counts"]
print(f"{domain} ({counts['users_active_day']} users/day, {counts['users_active_week']} users/week, {counts['users_active_month']} users/month, {counts['users_active_half_year']} users/half_year)")
total_blocking_users = {
"users_active_day": 0,
"users_active_week": 0,
"users_active_month": 0,
"users_active_half_year": 0,
}
total_blocked_users = {
"users_active_day": 0,
"users_active_week": 0,
"users_active_month": 0,
"users_active_half_year": 0,
}
user_input = input("Enter the instance to find blocking instances: ")
blocking_instances, blocked_instances = find_blocking_instances(user_input, data)
print("\nInstances blocking", user_input, ":")
for domain in blocking_instances:
for instance in data["instance_details"]:
if instance["domain"] == domain:
print_instance_activity(instance)
user_counts = get_instance_user_counts(instance)
for key in total_blocking_users:
total_blocking_users[key] += user_counts[key]
print("\nTotal users from blocking instances:")
print(f"{total_blocking_users['users_active_day']} users/day")
print(f"{total_blocking_users['users_active_week']} users/week")
print(f"{total_blocking_users['users_active_month']} users/month")
print(f"{total_blocking_users['users_active_half_year']} users/half_year")
print("\nInstances blocked by", user_input, ":")
for domain in blocked_instances:
for instance in data["instance_details"]:
if instance["domain"] == domain:
print_instance_activity(instance)
user_counts = get_instance_user_counts(instance)
for key in total_blocked_users:
total_blocked_users[key] += user_counts[key]
print("\nTotal users from blocked instances:")
print(f"{total_blocked_users['users_active_day']} users/day")
print(f"{total_blocked_users['users_active_week']} users/week")
print(f"{total_blocked_users['users_active_month']} users/month")
print(f"{total_blocked_users['users_active_half_year']} users/half_year")
You aren't replying to the correct comment.
Then one of those two figures is wrong. If the oldest account is 2 weeks old, there should be 22k active users per month instead of 6k. So, I don't know.
I have an account on the exact same instances for the same reasons 😆 However, FMHY allows NSFW content, so it's only a matter of time before Lemmy.ml blocks it.
If you claim that there are 22k accounts, but only 6k of them are active users, then there would be 22k - 6k = 16k abandoned accounts.
I don't promote closed source software sorry.
Seems like an instance and community browser. But I mean to search for words in posts and comments.