A couple of days ago i noticed something off with blahaj.zone. I couldn’t see images posted by users on blahaj, so i thought it was a problem on their side.

Well guess fucking what? After 3 days, it was STILL broken, so i opened it and…

Blocked. They fucking blocked blahaj.zone. Actually beyond parody🤦‍♂️ Why? What was the point? there’s trans content literally everywhere on lemmy. what’s next, block them all? So now if i want to see a post by a user on blahaj, i have to turn on my VPN (protonvpn.com is also blocked in saudi, jfc) just to see it. Fuck this place. 🙄

I swear a couple of days ago it worked. This is a mild annoyance (hence the community) but still.

It’s so over guys, MBS said no more 196 😔

  • Andromxda 🇺🇦🇵🇸🇹🇼@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    20 hours ago

    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.)

    • fxomt@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      10 hours ago

      I can run it for you if you want. I’ll post the results here

      It’ll be faster for me since I’m in the country itself

      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.

      • Andromxda 🇺🇦🇵🇸🇹🇼@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        2 hours ago

        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.

        • fxomt@lemm.eeOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 hours ago

          Ah, it works for me now. I just ran it with ping instead of globalping, since i had no need to run it with that. And the script didn’t work after i did that, i’m not great at shell-scripting.

          I made a modification that prints the status, but it’s painfully slow to check each site.