• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TOMMastodon 🐘 / Fediverse - decentralizovaná sociální síť
    XCHAOS
    XCHAOS --- ---
    Vždy mě baví šokovat, vyděsit a konsternovat více, než jednu komunitu současně, v tomto případě to budou normie a crypto propagátoři BlueSky a programátoři v Pythonu... takhle si po letech pracovní pozici programátora nenajdu ale něčím se začít musí :-) příště už si založím nějaký codeberg nebo giteu a nebudu spamovat tady. Nicméně, na rozdíl od včerejšího releasu tohle už smysl dává...

    chobot.py
    #!/usr/bin/python3
    import json
    import requests
    import sys
    
    def nasaj(hostname, query = '/api/v2/instance'):
      try:
        return json.loads(requests.get('https://' + hostname + query, verify = False, timeout = 2).text)
      except KeyboardInterrupt:
        sys.exit(0)
      except:
        return None

    mastodon-list.py
    #!/usr/bin/python3
    import chobot
    import sys
    
    whoami = 'f.cz'
    domeny = chobot.nasaj(whoami, query = '/api/v1/instance/peers') + [whoami,] #it seems that I am not peer of myself?! :-)
    #domeny = ('mastodonczech.cz', 'mastodon.arch-linux.cz', 'witter.cz', 'cztwitter.cz', 'f.cz', 'mastodon.pirati.cz', 'mamutovo.cz', 'mastodon.cesko.digital', 'toot.whatever.cz')
    fmt = '|%24s |%24s |%8s |%9s |%9s |%10s |%9s |%8s |%8s |%8s |'
    total = 0
    fsechno = []
    
    print('Got list of %s peers.' % len(domeny))
    for domena in domeny:
      if domena[-3:] == '.cz':
        neco = chobot.nasaj(domena)
        if type(neco) is dict and neco.get('usage', None) and neco['usage'].get('users', None) and neco['usage']['users'].get('active_month', None):
          fsechno.append(neco)
          print(domena, '[ok]')
        else:
          print(domena, '[failed]')
          print(neco)
    
    print (fmt % ('Domain','Version','Monthly','Max.char', 'Max.poll', 'Translate', 'New user', 'Approve', 'Image', 'Video'))
    for j in sorted(fsechno, key = lambda k: int(k['usage']['users']['active_month']), reverse = True):
      try:
        c = j['configuration']
        u = j['usage']['users']['active_month']
        total += int(u)
        print(fmt % (j['domain'], j['version'], u, c['statuses']['max_characters'], c['polls']['max_options'],
                     c['translation']['enabled'], j['registrations']['enabled'], j['registrations']['approval_required'],
                     "%d MB" % int(c['media_attachments']['image_size_limit'] >> 20), "%d MB" % int(c['media_attachments']['video_size_limit'] >> 20)))
      except:
        pass
    
    print('|%24s |%24s |%8s |' % ('Total', len(fsechno), total))
    XCHAOS
    XCHAOS --- ---
    AMAROK24: Trochu jsem ulítnul a ... Got list of 19489 peers. A to mi ještě napadlo, že bych si mohl načíst ty peers ze všech nodů, na které narazím a koukám... witter.cz jich má přes 20000, mastodonczech taky, asi 25000 a mastodon.social 70000. Kdybych ale procházel jednu instanci po druhé a bral si peers od všech, tak určitě narazím na instance, které se vyhýbají tomu mastodon.social a nejsou v jeho tabulce peerů... no, spíš si asi peers stáhnu z několika největších sajtů (mastodon.social, mastodon.online atd.) a mergnu je... je třeba podotknout, že skript puštěný nad těmi 20000 peery mi spadnul, budu to muset nějak naštosovat do paměti úsporněji :-) a stejně je potom velká otázka, jak vlastně prezentovat tabulku s 20000 řádky, že jo. jestli to nedat ke stažení jako CSV...

    Nicméně, zpět k českým instancím: vypadá to, že pokud někdo chce aktualizovanou instanci s povoleným DeepL překládáním, tak přicházíme v úvahu akorát my na f.cz :-)

    |                  Domain |                 Version | Monthly | Max.char | Max.poll | Translate | New user | Approve |   Image |   Video |
    |        mastodonczech.cz |                   4.3.0 |     783 |      500 |        4 |      True |     True |   False |   16 MB |   99 MB |
    |               witter.cz |                   4.3.0 |     282 |      500 |        4 |     False |     True |   False |   16 MB |   99 MB |
    |            cztwitter.cz |                   4.0.6 |      65 |      500 |        4 |     False |     True |   False |   10 MB |   40 MB |
    |                    f.cz |                   4.3.1 |      60 |     2000 |       10 |      True |     True |   False |   16 MB |   99 MB |
    |      mastodon.pirati.cz |                   4.3.1 |      52 |      500 |        4 |     False |     True |    True |   16 MB |   99 MB |
    |  mastodon.arch-linux.cz |                   4.3.1 |      22 |     2000 |        4 |      True |     True |    True |   16 MB |   99 MB |
    |             mamutovo.cz |                   4.3.1 |      20 |      500 |        4 |      True |     True |   False |   16 MB |   99 MB |
    |           cesko.digital |                   4.3.1 |       6 |      500 |        4 |     False |     True |    True |   16 MB |   99 MB |
    |                   Total |                       8 |    1290 |
    XCHAOS
    XCHAOS --- ---
    AMAROK24: jo jasně, mám to v KB :-) opravím :-)
    AMAROK24
    AMAROK24 --- ---
    XCHAOS: Sloupce 'image Mb' a 'video Mb' jsou jen spatne prepocitane, 16384 Mb by bylo 16 Gb :) Takze by to melo byt 16.384 Mb.
    XCHAOS
    XCHAOS --- ---
    |                  Domain |                 Version | Monthly | Max.char | Max.poll | Translate | New user | Approve | Image MB | Video MB |
    |         mastodon.social |4.4.0-nightly.2024-11-27 |  282061 |      500 |        4 |      True |     True |   False |    16384 |   101376 |
    |        infosec.exchange |    4.4.0-alpha.1+glitch |   14824 |    11000 |       10 |      True |     True |    True |  1386162 |  1386162 |
    |         mastodon.online |4.4.0-nightly.2024-11-27 |   13432 |      500 |        4 |      True |    False |   False |    16384 |   101376 |
    |            mastodon.art |                   4.3.1 |    4751 |      500 |        4 |      True |     True |    True |    16384 |   101376 |
    |          mathstodon.xyz |                   4.3.1 |    3264 |     1729 |        4 |      True |     True |    True |    16384 |   101376 |
    |          mastodon.green |                   4.3.1 |    1456 |      500 |        4 |      True |     True |    True |    16384 |   101376 |
    |        mastodonczech.cz |                   4.3.0 |     783 |      500 |        4 |      True |     True |   False |    16384 |   101376 |
    |               witter.cz |                   4.3.0 |     282 |      500 |        4 |     False |     True |   False |    16384 |   101376 |
    |         mastodon.energy |                   4.3.1 |     227 |      500 |        4 |      True |     True |    True |    16384 |   101376 |
    |            cztwitter.cz |                   4.0.6 |      65 |      500 |        4 |     False |     True |   False |    10240 |    40960 |
    |                    f.cz |                   4.3.1 |      60 |     2000 |       10 |      True |     True |   False |    16384 |   101376 |
    |      mastodon.pirati.cz |                   4.3.1 |      52 |      500 |        4 |     False |     True |    True |    16384 |   101376 |
    |  mastodon.arch-linux.cz |                   4.3.1 |      22 |     2000 |        4 |      True |     True |    True |    16384 |   101376 |
    |             mamutovo.cz |                   4.3.1 |      20 |      500 |        4 |      True |     True |   False |    16384 |   101376 |
    |           cesko.digital |                   4.3.1 |       6 |      500 |        4 |     False |     True |    True |    16384 |   101376 |
    |                   Total |                         |  321305 |
    XCHAOS
    XCHAOS --- ---
    #!/usr/bin/python3import chobotfmt = '|%24s |%8s |%8s |%9s |%9s |%10s |%9s - Pastebin.com
    https://pastebin.com/99ey0kfP
    XCHAOS
    XCHAOS --- ---
    Todo: načíst to do nějakého pole a setřídit podle aktivních uživatelů :))
    XCHAOS
    XCHAOS --- ---
    Kombinace Mastodou a Pythonu mi vrátila chuť do programování :-) Teď ještě kdyby existovala nějaká jednoduchá kreslítka, jako kdysi na 8bitech...
    XCHAOS
    XCHAOS --- ---
    chobot.py
    #!/usr/bin/python3
    import json
    import requests
    
    def nasaj(hostname):
       return json.loads(requests.get('https://' + hostname + '/api/v2/instance', verify = False).text)

    mastodon-list.py:
    #!/usr/bin/python3
    import chobot
    
    fmt = '|%24s |%8s |%8s |%9s |%9s |%10s |%9s |%8s |%9s |%9s |'
    print (fmt % ('Domain','Version','Monthly','Max.char', 'Max.poll', 'Translate', 'New user', 'Approve', 'Image MB', 'Video MB'))
    domeny = ('mastodonczech.cz', 'mastodon.arch-linux.cz', 'witter.cz', 'cztwitter.cz', 'f.cz', 'mastodon.pirati.cz', 'mamutovo.cz', 'mastodon.cesko.digital')
    total = 0
    
    for domena in domeny:
      j = chobot.nasaj(domena)
      c = j['configuration']
      u = j['usage']['users']['active_month']
      total += int(u)
      print(fmt % (j['domain'], j['version'], u, c['statuses']['max_characters'], c['polls']['max_options'],
                   c['translation']['enabled'], j['registrations']['enabled'], j['registrations']['approval_required'],
                   int(c['media_attachments']['image_size_limit'] >> 10), int(c['media_attachments']['video_size_limit'] >> 10)))
    
    print('|%24s |%8s |%8s |' % ('Total', '', total))
    XCHAOS
    XCHAOS --- ---
    |                  Domain | Version | Monthly | Max.char | Max.poll | Translate | New user | Approve | Image MB | Video MB |
    |        mastodonczech.cz |   4.3.0 |     783 |      500 |        4 |      True |     True |   False |    16384 |   101376 |
    |  mastodon.arch-linux.cz |   4.3.1 |      22 |     2000 |        4 |      True |     True |    True |    16384 |   101376 |
    |               witter.cz |   4.3.0 |     282 |      500 |        4 |     False |     True |   False |    16384 |   101376 |
    |            cztwitter.cz |   4.0.6 |      65 |      500 |        4 |     False |     True |   False |    10240 |    40960 |
    |                    f.cz |   4.3.1 |      60 |     2000 |       10 |      True |     True |   False |    16384 |   101376 |
    |      mastodon.pirati.cz |   4.3.1 |      52 |      500 |        4 |     False |     True |    True |    16384 |   101376 |
    |             mamutovo.cz |   4.3.1 |      20 |      500 |        4 |      True |     True |   False |    16384 |   101376 |
    |           cesko.digital |   4.3.1 |       6 |      500 |        4 |     False |     True |    True |    16384 |   101376 |
    |                   Total |         |    1290 |
    XCHAOS
    XCHAOS --- ---
    AMAROK24: hele, počítám, že jo, ale některé non-mastodonní implementace ActivityPub právě (pro zvýšení zmatku) se snaží implementovat i Mastodon API, aby je šlo používat ze stených mobilních (nebo i webových - viz https://phanpy.cz/ , apod.) aplikací... ale v zásadě ano, třeba Hubzilla na tenhle dotaz odepíše jen "not implemented". SNAC, který se údajně o Mastodon API snaží, rovnou napíše jen "Not Found". Takže vlastně... asi to fakt umí jen Mastodonti.
    AMAROK24
    AMAROK24 --- ---
    XCHAOS: To je bezva, tu API jsem vubec u Mastodonu neznal, ted koukam na https://mastodonczech.cz/api/v2/instance :) Predpokladam, ze to ale neni soucasti Activitypub protokolu, to je ciste vec Mastodonu, ze jo?
    XCHAOS
    XCHAOS --- ---
    aktivní uživatelé otevřených instancí dnes:

    mamutovo.cz 20
    mastodon.pirati.cz 52
    f.cz 60
    witter.cz 282
    mastodonczech.cz 783

    protože načíst si json https://f.cz/api/v2/instance je fakt triviální, tak vyrobím nějakou statusovou stránku, kde se to bude generovat samo :-) včetně statistik typu povolený počet znaků.
    XCHAOS
    XCHAOS --- ---
    Starter Kits will be ActivityPub objects, and offer an API to allow other Starter Kit servers to discover each other and share their public lists.

    We will have a searchable database of public kits, and track views and installs/uses.
    XCHAOS
    XCHAOS --- ---
    dansup: "ActivityPub Starter Kits will work a bit differen…" - Mastodon
    https://mastodon.social/@dansup/113570817148026385
    XCHAOS
    XCHAOS --- ---
    XCHAOS: (je to automatizovaný import z Facebooku a myslím si nás vybrali právě kvůli vyššímu limitu na délku příspěvku... :-)
    XCHAOS
    XCHAOS --- ---
    Mark Zuckerberg Meets With Trump At Mar-A-Lago | HuffPost Latest News
    https://www.huffpost.com/entry/mark-zuckerberg-meets-donald-trump_n_6747cc84e4b0f94744d1c903
    XCHAOS
    XCHAOS --- ---
    nevím, kdo za tím účtem stojí, ale... @dnesnaukrajine@f.cz
    XCHAOS
    XCHAOS --- ---
    tldr.nettime.org je moje nová oblíbená instance - je vidět, že poptávka po makroblogingu existuje :-)
    Kliknutím sem můžete změnit nastavení reklam