raid6 on 4 2.7TB disks instead of drobo's beyondraid iscsi just to have a quieter room, maybe i can fill it with real disks now whenever never ever comes and there's a need for that...
surely no one will mind me fetching their public posts :) #AGP compliance
def dig(url, count) do
if count > 0 do
IO.puts("getting #{count} #{url}")
case Pleroma.Object.Fetcher.fetch_and_contain_remote_object_from_id(url) do
{:ok, %{"next" => more, "orderedItems" => items}} ->
dig(more, count - Enum.count(items))
_ ->
"done"
end
end
end
def run(["userfill", nickname, max]) do
start_pleroma()
with %User{} = user <- User.get_cached_by_nickname(nickname) do
dig("#{user.ap_id}/outbox?page=true", String.to_integer(max))
else
_ ->
shell_error("No user #{nickname}")
end
end
def run(["instancefill", instance, max]) do
start_pleroma()
from(u in Pleroma.User,
where: like(u.nickname, ^"%#{instance}"),
select: u.nickname
)
|> Pleroma.Repo.all()
|> Enum.each(fn nickname ->
with %User{} = user <- User.get_cached_by_nickname(nickname) do
dig("#{user.ap_id}/outbox?page=true", String.to_integer(max))
else
_ ->
shell_error("No user #{nickname}")
end
end)
end
def run(["everythingfill", max]) do
start_pleroma()
from(u in Pleroma.User,
where: u.last_refreshed_at >= ago(1, "month"),
where: not like(u.nickname, ^"%relay%")
)
|> Pleroma.Repo.chunk_stream(10, :batches)
|> Stream.each(fn users ->
Task.async_stream(
users,
fn usr ->
with %User{} = user <- User.get_cached_by_nickname(usr.nickname) do
dig("#{user.ap_id}/outbox?page=true", String.to_integer(max))
end
end,
on_timeout: :kill_task
)
|> Stream.run()
end)
|> Stream.run()
end
gonna guess this one's related to the frontend download/unzip feature, you could replace the captcha binary and call it through the api even if registration is disabled, so only cum.salon/btrfly would be affected
@thomholwerda@JAJAX@adam@andypiper welcome to the normal human interaction thread, where we talk about normal human interactions, such as gang stalking