Andromxda 🇺🇦🇵🇸🇹🇼

Mastodon: @Andromxda@infosec.exchange

wiki-user: Andromxda

  • 14 Posts
  • 329 Comments
Joined 11 months ago
cake
Cake day: March 22nd, 2024

help-circle











  • EDIT: This won’t work. You can “ping” blahaj successfully, but only because it redirects to a gov page, and not an error. I’ll have to revise the script because of that.

    Globalping has an HTTP method, which I use in the script:

    globalping http $instance from $COUNTRY

    I then use ripgrep to check if the HTTP response contains the string “Blocked URL”, as you can see in the script:

    | rg 'Blocked URL'

    The if condition uses the exit code from ripgrep to add $instance from the for loop to the blocked.txt file.

    I tested this manually and it works as intended. The script could use some optimizations though. And if you intend on running the current version, you need to lower the limit of the globalping command from 3 to 1, otherwise you will run out of credits before all 8100 instances are checked. I will rewrite this to use a globalping auth token though.

    Btw I also removed the https:// part from the instance list. Just opened it up in Vim, selected everything using V-Block mode and deleted it. I don’t know if that makes a difference, but I’m not sure if the Globalping command can take URLs, or if it only works with domains.


  • I quickly threw together a script to check which other Fediverse instances are blocked in Saudi Arabia by using Globalping. I know it’s horrible, but it works so far. Will share the results once it’s finished running. I’ll probably also rewrite the script later.

    I got the list of instances from lemmy.world: curl -s https://lemmy.world/instances | rg -o 'href="([^"]+)"' | rg -o 'https?://[^"]+' > instances.txt

    #!/usr/bin/env fish
    
    set INSTANCES "./instances.txt"
    set OUTPUT_FILE "./output.txt"
    set COUNTRY "saudi arabia"
    
    for instance in (cat $INSTANCES)
      if globalping http $instance from $COUNTRY --method GET --limit 3 | rg 'Blocked URL' 2&>1
        echo "Blocked: $instance" >> blocked.txt
      end
    end
    

    I’m running tail -f blocked.txt in another terminal to monitor the results in real time.

    (Yeah I know the script sucks. Don’t judge me, I use fish and prefer its syntax over bash. I also use ripgrep, because I like it.)