5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-29 22:46:22 +00:00
panel/app/controllers/moderation_queue_controller.rb

376 lines
47 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
# Cola de moderación de ActivityPub
class ModerationQueueController < ApplicationController
# Cola de moderación viendo todo el sitio
def index
@moderation_queue = [
{"@context"=>
["https://www.w3.org/ns/activitystreams",
{"ostatus"=>"http://ostatus.org#",
"atomUri"=>"ostatus:atomUri",
"inReplyToAtomUri"=>"ostatus:inReplyToAtomUri",
"conversation"=>"ostatus:conversation",
"sensitive"=>"as:sensitive",
"toot"=>"http://joinmastodon.org/ns#",
"votersCount"=>"toot:votersCount",
"Hashtag"=>"as:Hashtag"}],
"id"=>"https://mastodon.mauve.moe/users/mauve/statuses/111462305634770041",
"type"=>"Note",
"summary"=>nil,
"inReplyTo"=>"https://mastodon.mauve.moe/users/mauve/statuses/111461923538534886",
"published"=>"2023-11-23T22:50:10Z",
"url"=>"https://mastodon.mauve.moe/@mauve/111462305634770041",
"attributedTo"=>"https://mastodon.mauve.moe/users/mauve",
"to"=>["https://www.w3.org/ns/activitystreams#Public"],
"cc"=>["https://mastodon.mauve.moe/users/mauve/followers", "https://hypha.coop/about.jsonld"],
"sensitive"=>false,
"atomUri"=>"https://mastodon.mauve.moe/users/mauve/statuses/111462305634770041",
"inReplyToAtomUri"=>"https://mastodon.mauve.moe/users/mauve/statuses/111461923538534886",
"conversation"=>"tag:mastodon.mauve.moe,2023-11-23:objectId=551471:objectType=Conversation",
"content"=>
"<p>Follow @HyphaCoop@hypha.coop for our announcement post on the 5th!</p><p><a href=\"https://mastodon.mauve.moe/tags/P2P\" class=\"mention hashtag\" rel=\"tag\">#<span>P2P</span></a> <a href=\"https://mastodon.mauve.moe/tags/ActivityPub\" class=\"mention hashtag\" rel=\"tag\">#<span>ActivityPub</span></a> <a href=\"https://mastodon.mauve.moe/tags/Fediverse\" class=\"mention hashtag\" rel=\"tag\">#<span>Fediverse</span></a></p>",
"contentMap"=>
{"en"=>
"<p>Follow @HyphaCoop@hypha.coop for our announcement post on the 5th!</p><p><a href=\"https://mastodon.mauve.moe/tags/P2P\" class=\"mention hashtag\" rel=\"tag\">#<span>P2P</span></a> <a href=\"https://mastodon.mauve.moe/tags/ActivityPub\" class=\"mention hashtag\" rel=\"tag\">#<span>ActivityPub</span></a> <a href=\"https://mastodon.mauve.moe/tags/Fediverse\" class=\"mention hashtag\" rel=\"tag\">#<span>Fediverse</span></a></p>"},
"attachment"=>[],
"tag"=>
[{"type"=>"Mention", "href"=>"https://hypha.coop/about.jsonld", "name"=>"@dripline@hypha.coop"},
{"type"=>"Hashtag", "href"=>"https://mastodon.mauve.moe/tags/p2p", "name"=>"#p2p"},
{"type"=>"Hashtag", "href"=>"https://mastodon.mauve.moe/tags/activitypub", "name"=>"#activitypub"},
{"type"=>"Hashtag", "href"=>"https://mastodon.mauve.moe/tags/fediverse", "name"=>"#fediverse"}],
"replies"=>
{"id"=>"https://mastodon.mauve.moe/users/mauve/statuses/111462305634770041/replies",
"type"=>"Collection",
"first"=>
{"type"=>"CollectionPage",
"next"=>"https://mastodon.mauve.moe/users/mauve/statuses/111462305634770041/replies?only_other_accounts=true&page=true",
"partOf"=>"https://mastodon.mauve.moe/users/mauve/statuses/111462305634770041/replies",
"items"=>[]}}},
{"@context"=>["https://www.w3.org/ns/activitystreams", {"@language"=>"es", "sensitive"=>"as:sensitive"}],
"type"=>"Note",
"id"=>"https://sutty.nl/lanzamiento-de-publicaciones-distribuidas-en-el-fediverso-a-trav%C3%A9s-de-sutty/",
"summary"=>"Lanzamiento de publicaciones distribuidas en el Fediverso a través de Sutty",
"published"=>"2023-12-04T21:53:05+00:00",
"updated"=>"2023-12-05T20:41:34+00:00",
"attributedTo"=>"https://sutty.nl/about.jsonld",
"to"=>["https://www.w3.org/ns/activitystreams#Public"],
"cc"=>["https://social.distributed.press/v1/@sutty@sutty.nl/followers"],
"inReplyTo"=>"https://hypha.coop/dripline/announcing-dp-social-inbox/",
"sensitive"=>true,
"content"=>
"<p style=\"text-align:start\">Estamos felices y orgulloses de anunciar el lanzamiento de la funcionalidad que permite la publicación en el Fediverso de los artículos de todos los sitios creados a través de Sutty.</p><p style=\"text-align:start\">Gracias al trabajo conjunto con <a href=\"https://distributed.press/\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Distributed Press</a>, <a href=\"https://hypha.coop/\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Hypha</a> y apoyado por la <a href=\"https://www.ffdweb.org/\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Filecoin Foundation for the Distributed Web</a>, Sutty hace posible que la seguridad de tu sitio estático se combine con la rápida difusión de tu contenido a través de las redes sociales libres y descentralizadas que constituyen el Fediverso.</p><p style=\"text-align:start\">Esto se logró a través del desarollo y la integración de dos componentes, trabajados en forma conjunta y colaborativa:</p><ol>\n<li><p style=\"text-align:start\"><a href=\"https://github.com/hyphacoop/social.distributed.press\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Social Inbox</a>, desarrollado principalmente Distributed Press. Aporta la funcionalidad de recibir artículos, responder y mencionar otras cuentas en el Fediverso.</p></li>\n<li><p style=\"text-align:start\"><a href=\"https://0xacab.org/sutty/jekyll/jekyll-activity-pub\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Jekyll Activity Pub Plugin</a>, desarrollado principalmente por Sutty. Permite integrar Social Inbox en todos los sitios estáticos generados en Jekyll, admitiendo así la publicación automática de contenido del sitio en el Fediverso.</p></li>\n</ol><p style=\"text-align:start\"><a href=\"https://sutty.nl\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Sutty</a> integra la funcionalidad completa en su CMS para sitios estáticos en Jekyll, permitiendo gestionarla desde una interfaz en continua mejora de su usabilidad.</p><p style=\"text-align:start\">Si todavía no estás familiarizade con estos nombres y conceptos, te invitamos a conocer más a continuación, en la sección “Para tecno-curioses”.</p><h3 style=\"text-align:start\" id=\"que-significa\">Qué significa</h3><ul>\n<li><p style=\"text-align:start\">Que si creás tu sitio web a través de Sutty, tenés nuevas posibilidades de difundir tus contenidos e interactuar en redes digitales.</p></li>\n<li><p style=\"text-align:start\">Que tus artículos pueden ser publicados en las redes del Fediverso.</p></li>\n<li><p style=\"text-align:start\">Que tu sitio tendrá un perfil o usuarie personalizable desde el panel en una instancia de Sutty propia.</p></li>\n<li><p style=\"text-align:start\">Que les usuaries del Fediverso pueden seguir tus publicaciones.</p></li>\n<li><p style=\"text-align:start\">Que les usuaries del Fediverso que te sigan podrán leer tus publicaciones, mencionarte y responderte.</p></li>\n<li><p style=\"text-align:start\">Que podrás interactuar con les usuaries del Fediverse con las opciones de responderles y mencionarles.</p></li>\n</ul><h3 style=\"text-align:start\" id=\"que-permite-hacer\">Qué permite hacer</h3><ul>\n<li><p style=\"text-align:start\">Activar la publicación en el Fediverso para todos los sitios de Sutty.</p></li>\n<li><p style=\"text-align:start\">Activar la publicación de los artículos que quieras en el Fediverso.</p></li>\n<li><p style=\"text-align:start\">Responder comentarios desde los artículos de tu sitio en Sutty.</p></li>\n<li><p style=\"text-align:start\">Personalizar la cuenta que Sutty crea automáticamente de tu sitio en el Fediverso.</p></li>\n<li><p style=\"text-align:start\">Reportar o informar de usuaries o instancias abusivos mediante nuestro <a href=\"https://sutty.nl/index.html#contacto\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\
"name"=>"Lanzamiento de publicaciones distribuidas en el Fediverso a través de Sutty",
"contentMap"=>
{"es"=>
"<p style=\"text-align:start\">Estamos felices y orgulloses de anunciar el lanzamiento de la funcionalidad que permite la publicación en el Fediverso de los artículos de todos los sitios creados a través de Sutty.</p><p style=\"text-align:start\">Gracias al trabajo conjunto con <a href=\"https://distributed.press/\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Distributed Press</a>, <a href=\"https://hypha.coop/\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Hypha</a> y apoyado por la <a href=\"https://www.ffdweb.org/\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Filecoin Foundation for the Distributed Web</a>, Sutty hace posible que la seguridad de tu sitio estático se combine con la rápida difusión de tu contenido a través de las redes sociales libres y descentralizadas que constituyen el Fediverso.</p><p style=\"text-align:start\">Esto se logró a través del desarollo y la integración de dos componentes, trabajados en forma conjunta y colaborativa:</p><ol>\n<li><p style=\"text-align:start\"><a href=\"https://github.com/hyphacoop/social.distributed.press\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Social Inbox</a>, desarrollado principalmente Distributed Press. Aporta la funcionalidad de recibir artículos, responder y mencionar otras cuentas en el Fediverso.</p></li>\n<li><p style=\"text-align:start\"><a href=\"https://0xacab.org/sutty/jekyll/jekyll-activity-pub\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Jekyll Activity Pub Plugin</a>, desarrollado principalmente por Sutty. Permite integrar Social Inbox en todos los sitios estáticos generados en Jekyll, admitiendo así la publicación automática de contenido del sitio en el Fediverso.</p></li>\n</ol><p style=\"text-align:start\"><a href=\"https://sutty.nl\" rel=\"noopener\" target=\"_blank\" referrerpolicy=\"strict-origin-when-cross-origin\">Sutty</a> integra la funcionalidad completa en su CMS para sitios estáticos en Jekyll, permitiendo gestionarla desde una interfaz en continua mejora de su usabilidad.</p><p style=\"text-align:start\">Si todavía no estás familiarizade con estos nombres y conceptos, te invitamos a conocer más a continuación, en la sección “Para tecno-curioses”.</p><h3 style=\"text-align:start\" id=\"que-significa\">Qué significa</h3><ul>\n<li><p style=\"text-align:start\">Que si creás tu sitio web a través de Sutty, tenés nuevas posibilidades de difundir tus contenidos e interactuar en redes digitales.</p></li>\n<li><p style=\"text-align:start\">Que tus artículos pueden ser publicados en las redes del Fediverso.</p></li>\n<li><p style=\"text-align:start\">Que tu sitio tendrá un perfil o usuarie personalizable desde el panel en una instancia de Sutty propia.</p></li>\n<li><p style=\"text-align:start\">Que les usuaries del Fediverso pueden seguir tus publicaciones.</p></li>\n<li><p style=\"text-align:start\">Que les usuaries del Fediverso que te sigan podrán leer tus publicaciones, mencionarte y responderte.</p></li>\n<li><p style=\"text-align:start\">Que podrás interactuar con les usuaries del Fediverse con las opciones de responderles y mencionarles.</p></li>\n</ul><h3 style=\"text-align:start\" id=\"que-permite-hacer\">Qué permite hacer</h3><ul>\n<li><p style=\"text-align:start\">Activar la publicación en el Fediverso para todos los sitios de Sutty.</p></li>\n<li><p style=\"text-align:start\">Activar la publicación de los artículos que quieras en el Fediverso.</p></li>\n<li><p style=\"text-align:start\">Responder comentarios desde los artículos de tu sitio en Sutty.</p></li>\n<li><p style=\"text-align:start\">Personalizar la cuenta que Sutty crea automáticamente de tu sitio en el Fediverso.</p></li>\n<li><p style=\"text-align:start\">Reportar o informar de usuaries o instancias abusivos mediante nuestro <a href=\"https://sutty.nl/index.html#contacto\" rel=\"noopener\" target=\"_blank\" referrerpolicy
"attachment"=>
[{"type"=>"Document",
"mediaType"=>"image/png",
"url"=>"https://sutty.nl/public/8r7b6ohqy6xzgngxbol6337q8jj9/milestone_2_activity_pub_2.png",
"name"=>"Botones de colores para activar la \"Web Disribuida\" y el \"Fediverso\"."}]}
]
end
# Perfil remoto de usuarie
def remote_profile
@remote_profile = {
'@context' =>
[
'https://www.w3.org/ns/activitystreams',
'https://w3id.org/security/v1',
{
'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers',
'toot' => 'http://joinmastodon.org/ns#',
'featured' => { '@id' => 'toot:featured', '@type' => '@id' },
'featuredTags' => { '@id' => 'toot:featuredTags', '@type' => '@id' },
'alsoKnownAs' => { '@id' => 'as:alsoKnownAs', '@type' => '@id' },
'movedTo' => { '@id' => 'as:movedTo', '@type' => '@id' },
'schema' => 'http://schema.org#',
'PropertyValue' => 'schema:PropertyValue',
'value' => 'schema:value',
'discoverable' => 'toot:discoverable',
'Device' => 'toot:Device',
'Ed25519Signature' => 'toot:Ed25519Signature',
'Ed25519Key' => 'toot:Ed25519Key',
'Curve25519Key' => 'toot:Curve25519Key',
'EncryptedMessage' => 'toot:EncryptedMessage',
'publicKeyBase64' => 'toot:publicKeyBase64',
'deviceId' => 'toot:deviceId',
'claim' => { '@type' => '@id', '@id' => 'toot:claim' },
'fingerprintKey' => { '@type' => '@id', '@id' => 'toot:fingerprintKey' },
'identityKey' => { '@type' => '@id', '@id' => 'toot:identityKey' },
'devices' => { '@type' => '@id', '@id' => 'toot:devices' },
'messageFranking' => 'toot:messageFranking',
'messageType' => 'toot:messageType',
'cipherText' => 'toot:cipherText',
'suspended' => 'toot:suspended',
'focalPoint' => { '@container' => '@list', '@id' => 'toot:focalPoint' }
}
],
'id' => 'https://mastodon.mauve.moe/users/mauve',
'type' => 'Person',
'following' => 'https://mastodon.mauve.moe/users/mauve/following',
'followers' => 'https://mastodon.mauve.moe/users/mauve/followers',
'inbox' => 'https://mastodon.mauve.moe/users/mauve/inbox',
'outbox' => 'https://mastodon.mauve.moe/users/mauve/outbox',
'featured' => 'https://mastodon.mauve.moe/users/mauve/collections/featured',
'featuredTags' => 'https://mastodon.mauve.moe/users/mauve/collections/tags',
'preferredUsername' => 'mauve',
'name' => 'Mauve 👁💜',
'summary' =>
'<p>Occult Enby that&#39;s making local-first software with peer to peer protocols, mesh networks, and the web.</p><p>Also exploring what a local-first cyberspace might look like in my spare time.</p>',
'url' => 'https://mastodon.mauve.moe/@mauve',
'manuallyApprovesFollowers' => false,
'discoverable' => true,
'published' => '2022-04-25T00:00:00Z',
'devices' => 'https://mastodon.mauve.moe/users/mauve/collections/devices',
'alsoKnownAs' => ['https://infosec.exchange/users/RangerMauve'],
'publicKey' =>
{ 'id' => 'https://mastodon.mauve.moe/users/mauve#main-key',
'owner' => 'https://mastodon.mauve.moe/users/mauve',
'publicKeyPem' =>
"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxjxu6bRQOjH4caQu7JgZ\numIWFeX0ZdbVnofElev2d9JByqcDoWhmaks3RYdW71RDPNrr0JxqZvUbIw9kQBng\n7iQ9YTcXTdJ/N9CQoB22msffYkEIw4ilehCDXdchNs4aoVAUwI8IhkM0p/itz6gK\n75C3CQv74Y7rHUJC8ob2p4KUwRUyhgzyhp8QWwCAn/RZ28wP8EbjWF9IskMRo9vq\nWUX+Io6hpADRkSwZGoOSW2zxCEBVco6tRmABTte8I0WcAucLyMEyfGMlUvxRew4D\nzAWoEBS8SyqM68vUabbZYLns6kya34tvsf1NkvajDGrfgU3D0LlGX++tOa6N9Pkf\nXwIDAQAB\n-----END PUBLIC KEY-----\n" },
'tag' => [],
'attachment' =>
[{ 'type' => 'PropertyValue', 'name' => 'Pronouns', 'value' => 'they/them/it' },
{ 'type' => 'PropertyValue', 'name' => 'Email', 'value' => 'mauve@mauve.moe' },
{ 'type' => 'PropertyValue',
'name' => 'Matrix',
'value' =>
'<span class="h-card"><a href="https://mastodon.mauve.moe/@mauve" class="u-url mention">@<span>mauve</span></a></span>:mauve.moe' },
{ 'type' => 'PropertyValue', 'name' => 'Github/Twitter', 'value' => '@RangerMauve' }],
'endpoints' => { 'sharedInbox' => 'https://mastodon.mauve.moe/inbox' },
'icon' =>
{ 'type' => 'Image',
'mediaType' => 'image/png',
'url' => 'https://mastodon.mauve.moe/system/accounts/avatars/000/000/002/original/e4b910cee121b1b8.png' },
'image' =>
{ 'type' => 'Image',
'mediaType' => 'image/png',
'url' => 'https://mastodon.mauve.moe/system/accounts/headers/000/000/002/original/a96f990025091662.png' }
}
end
# todon.nl está usando /api/v2/instance
# mauve.moe usa /api/v1/instance
def instances
@instances = [
{"domain"=>"todon.nl",
"title"=>"Todon.nl",
"version"=>"4.2.3",
"source_url"=>"https://github.com/mastodon/mastodon",
"description"=>
"Radicaal linkse anti-autoritaire server. Voor anarchisten, socialisten, (klimaat)activisten, LHBTQIA+, antiracisten, antifascisten, antikapitalisten, intersectionelen, veganisten, mensenrechten, enz.",
"usage"=>{"users"=>{"active_month"=>372}},
"thumbnail"=>
{"url"=>"https://todon.nl/system/site_uploads/files/000/000/004/@1x/297e509bc8a81f62.png",
"blurhash"=>"UXAw3zN4M|xsoga#WBay9DxntQRmITocofWE",
"versions"=>
{"@1x"=>"https://todon.nl/system/site_uploads/files/000/000/004/@1x/297e509bc8a81f62.png",
"@2x"=>"https://todon.nl/system/site_uploads/files/000/000/004/@2x/297e509bc8a81f62.png"}},
"languages"=>["en"],
"configuration"=>
{"urls"=>{"streaming"=>"wss://todon.nl", "status"=>"https://status.todon.eu"},
"accounts"=>{"max_featured_tags"=>10},
"statuses"=>{"max_characters"=>1312, "max_media_attachments"=>4, "characters_reserved_per_url"=>23},
"media_attachments"=>
{"supported_mime_types"=>
["image/jpeg",
"image/png",
"image/gif",
"image/heic",
"image/heif",
"image/webp",
"image/avif",
"video/webm",
"video/mp4",
"video/quicktime",
"video/ogg",
"audio/wave",
"audio/wav",
"audio/x-wav",
"audio/x-pn-wave",
"audio/vnd.wave",
"audio/ogg",
"audio/vorbis",
"audio/mpeg",
"audio/mp3",
"audio/webm",
"audio/flac",
"audio/aac",
"audio/m4a",
"audio/x-m4a",
"audio/mp4",
"audio/3gpp",
"video/x-ms-asf"],
"image_size_limit"=>16777216,
"image_matrix_limit"=>33177600,
"video_size_limit"=>103809024,
"video_frame_rate_limit"=>120,
"video_matrix_limit"=>8294400},
"polls"=>{"max_options"=>4, "max_characters_per_option"=>50, "min_expiration"=>300, "max_expiration"=>2629746},
"translation"=>{"enabled"=>true}},
"registrations"=>
{"enabled"=>false,
"approval_required"=>false,
"message"=>
"<p style=\"text-align: center\"><strong>¡No pasarán!</strong></p>\n\n<p>Je kunt tijdelijk geen nieuw account op Todon.nl aanvragen.</p>\n\n<!--<p>Je kunt tussen 9u00 en 23u00 Midden-Europese tijd (UTC+1) een account op Todon.nl aanvragen. Geef ons ajb voldoende tijd om je accountaanvraag te beoordelen.</p>-->\n\n<p>Ga naar <a href=\"https://joinmastodon.org/servers\">joinmastodon.org</a> of <a href=\"https://fedidb.org/network?s=mastodon\">FediDB Network</a> om een andere server te vinden.</p>\n\n<p>It is temporary not possible to request on account on Todon.nl.</p>\n\n<!--<p>You can request an account on Todon.nl between 9h00 and 23h00 Central European Time (UTC+1). Please give us enough time to review your account request.</p>-->\n\n<p>Go to <a href=\"https://joinmastodon.org/servers\">joinmastodon.org</a> or <a href=\"https://fedidb.org/network?s=mastodon\">FediDB Network</a> to find another server.</p>\n",
"url"=>nil},
"max_toot_chars"=>1312,
"contact"=>
{"email"=>"todon@posteo.eu",
"account"=>
{"id"=>"1",
"username"=>"admin",
"acct"=>"admin",
"display_name"=>"Admin 🤓 Todon.nl (mod)",
"locked"=>false,
"bot"=>false,
"discoverable"=>false,
"group"=>false,
"created_at"=>"2017-04-28T00:00:00.000Z",
"note"=>
"<p>This account is used for 🎙 Todon.nl announcements and ⚖️ moderation.</p><p>🚫 Don&#39;t follow this account when you are not on Todon.nl.</p><p>New? First read our 👩‍🏫 Todon 101 👩‍🎓 at <a href=\"https://wiki.todon.eu/todon/101\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">wiki.todon.eu/todon/101</span><span class=\"invisible\"></span></a></p><p>⚖️ For all our moderators go to <a href=\"https://wiki.todon.nl/todon/moderators\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">wiki.todon.nl/todon/moderators</span><span class=\"invisible\"></span></a></p><p>📝 Public toots from this account are in English.</p><p>🔕 Criticism is fine, but people who do false accusations are muted. </p><p>✉ todon@posteo.eu</p><p><a href=\"https://todon.nl/tags/nobot\" class=\"mention hashtag\" rel=\"tag\">#<span>nobot</span></a></p>",
"url"=>"https://todon.nl/@admin",
"uri"=>"https://todon.nl/users/admin",
"avatar"=>"https://todon.nl/system/accounts/avatars/000/000/001/original/2db61726225ed3e6.png",
"avatar_static"=>"https://todon.nl/system/accounts/avatars/000/000/001/original/2db61726225ed3e6.png",
"header"=>"https://todon.nl/system/accounts/headers/000/000/001/original/fb3a846cbc20aa09.png",
"header_static"=>"https://todon.nl/system/accounts/headers/000/000/001/original/fb3a846cbc20aa09.png",
"followers_count"=>3164,
"following_count"=>8,
"statuses_count"=>724,
"last_status_at"=>"2024-01-12",
"noindex"=>true,
"emojis"=>[],
"roles"=>[{"id"=>"3", "name"=>"Admin", "color"=>"#595aff"}],
"fields"=>
[{"name"=>"📜 Terms of Service",
"value"=>
"<a href=\"https://wiki.todon.nl/todon/terms_en\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">wiki.todon.nl/todon/terms_en</span><span class=\"invisible\"></span></a>",
"verified_at"=>"2018-11-01T14:39:45.465+00:00"},
{"name"=>" Wiki",
"value"=>
"<a href=\"https://wiki.todon.nl/todon/information\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">wiki.todon.nl/todon/informatio</span><span class=\"invisible\">n</span></a>",
"verified_at"=>"2018-11-01T14:40:54.679+00:00"},
{"name"=>"📊 Status",
"value"=>
"<a href=\"https://status.todon.eu\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">status.todon.eu</span><span class=\"invisible\"></span></a>",
"verified_at"=>"2023-10-26T20:38:30.185+00:00"},
{"name"=>"💳️ Donations",
"value"=>
"<a href=\"https://wiki.todon.eu/todon/donations\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">wiki.todon.eu/todon/donations</span><span class=\"invisible\"></span></a>",
"verified_at"=>"2022-11-02T00:06:31.865+00:00"}]}},
"rules"=>
[{"id"=>"1",
"text"=>
"We do not accept racism (in all its forms, incl. hate against Muslims, antisemitism, apartheid and casteism - see our Terms of Service for our complete definition)."},
{"id"=>"2",
"text"=>
"We do not accept hate against lesbians, gays, bisexuals, pansexuals, transgenders, non-binary people, intersexual people, queer people in general, etc."},
{"id"=>"4", "text"=>"Sexism, misogyny and hate against black women (misogynoir)."},
{"id"=>"6", "text"=>"We do not accept ableism (incl. COVID-19 denial/downplaying and anti-vax) and body-shaming."},
{"id"=>"8", "text"=>"We do not accept harassment and trolling."},
{"id"=>"10", "text"=>"We also do not accept other forms of hate speech."},
{"id"=>"11", "text"=>"We do not accept (sexual) abuse of minors, adults and animals (also not virtual)."},
{"id"=>"13", "text"=>"We do not accept glorification of violence, calls for murder, death threats, terrorism and militarism."},
{"id"=>"15",
"text"=>
"We do not accept (neo)colonialism (incl. Zionism), imperialism in all forms and nationalism (above all nationalism of nation states, incl. flags/symbols of those on Todon.*, see our Terms of Service)."},
{"id"=>"16", "text"=>"We do not accept fascism, right-wing populism, and right-wing and religious extremism."},
{"id"=>"17",
"text"=>"We do not accept evangelisation and other forms of religious propaganda [local only], and extreme sects and cults."},
{"id"=>"19",
"text"=>
"We do not accept Marxist-Leninists, Stalinists, Maoists or other followers of extreme authoritarian (so called) communist/socialist ideologies/regimes (aka tankies)."},
{"id"=>"20", "text"=>"We do not accept capitalists, including so called 'anarcho-capitalists' (aka ancaps) and neoliberals."},
{"id"=>"21",
"text"=>
"We do not accept anthropogenic climate change denial, downplaying the climate crisis, greenwashing and deceptive climate solutions (like nuclear energy)."},
{"id"=>"27", "text"=>"We do not accept (right-wing) conspiracy 'theories', hoaxes, fake news and other forms of disinformation."},
{"id"=>"28", "text"=>"Another rule in our terms of service at wiki.todon.eu/todon/terms_en. Explain in the final step."}]},
{"uri"=>"mastodon.mauve.moe",
"title"=>"Mauvestodon",
"short_description"=>"Escape ship from centralized social media run by Mauve.",
"description"=>"Chat about random techie and anarchist stuff.",
"email"=>"contact@mauve.moe",
"version"=>"3.5.10",
"urls"=>{"streaming_api"=>"wss://mastodon.mauve.moe"},
"stats"=>{"user_count"=>12, "status_count"=>3287, "domain_count"=>11625},
"thumbnail"=>"https://mastodon.mauve.moe/system/site_uploads/files/000/000/001/original/mauvesoftwareinc.png",
"languages"=>["en"],
"registrations"=>false,
"approval_required"=>false,
"invites_enabled"=>true,
"configuration"=>
{"statuses"=>{"max_characters"=>500, "max_media_attachments"=>4, "characters_reserved_per_url"=>23},
"media_attachments"=>
{"supported_mime_types"=>
["image/jpeg",
"image/png",
"image/gif",
"video/webm",
"video/mp4",
"video/quicktime",
"video/ogg",
"audio/wave",
"audio/wav",
"audio/x-wav",
"audio/x-pn-wave",
"audio/ogg",
"audio/vorbis",
"audio/mpeg",
"audio/mp3",
"audio/webm",
"audio/flac",
"audio/aac",
"audio/m4a",
"audio/x-m4a",
"audio/mp4",
"audio/3gpp",
"video/x-ms-asf"],
"image_size_limit"=>10485760,
"image_matrix_limit"=>16777216,
"video_size_limit"=>41943040,
"video_frame_rate_limit"=>60,
"video_matrix_limit"=>2304000},
"polls"=>{"max_options"=>4, "max_characters_per_option"=>50, "min_expiration"=>300, "max_expiration"=>2629746}},
"contact_account"=>
{"id"=>"1",
"username"=>"admin",
"acct"=>"admin",
"display_name"=>"",
"locked"=>false,
"bot"=>false,
"discoverable"=>true,
"group"=>false,
"created_at"=>"2022-04-25T00:00:00.000Z",
"note"=>"",
"url"=>"https://mastodon.mauve.moe/@admin",
"avatar"=>"https://mastodon.mauve.moe/system/accounts/avatars/000/000/001/original/8c21e71667b48a95.png",
"avatar_static"=>"https://mastodon.mauve.moe/system/accounts/avatars/000/000/001/original/8c21e71667b48a95.png",
"header"=>"https://mastodon.mauve.moe/headers/original/missing.png",
"header_static"=>"https://mastodon.mauve.moe/headers/original/missing.png",
"followers_count"=>0,
"following_count"=>0,
"statuses_count"=>0,
"last_status_at"=>"2023-01-30",
"emojis"=>[],
"fields"=>
[{"name"=>"Alternatel Contact",
"value"=>
"<span class=\"h-card\"><a href=\"https://mastodon.mauve.moe/@mauve\" class=\"u-url mention\">@<span>mauve</span></a></span>",
"verified_at"=>nil}]},
"rules"=>[]}
]
end
end