Slack not able to download in Australia?

I’ve recently switched providers, they’ve assigned me a static, however, I’m having trouble actually downloading Slack through snapcraft, it shows the error ‘snap “slack” not found’, I do not have any reason to believe Slack would be blocking Australians in the store.

Using a VPN connecting to another AU provider, the download works with no error, which leads me to believe this is either an ISP routing issue, or potentially a snapcraft store issue. I dont run any fancy Network or DNS config other than using Cloudflares public 1.1.1.1 & 1.0.0.1

I’ve spent hours trying to diagnose this, the only thing I’ve come across that would make sense is a reference in ‘Freecad Snap MIA?’ that potentially snapcrafts geoip database may need to be updated?

Any insight would be helpful on this, thanks!

I’m on x86_64

geoiplookup reports my public IP tagged as AU, which is correct.

geoiplookup ***.***.***.***  
GeoIP Country Edition: AU, Australia

Error

~ sudo snap install slack
error: snap "slack" not found
~ snap info slack 
error: no snap found for "slack"

Snap is still able to see Slack if I use ‘find’

~ snap find slack
Name                           Version                    Publisher           Notes  Summary
slack                          4.38.125                   slack✓              -      Team communication for the 21st century.
slack-term                     0.5.0                      snapcrafters✪       -      Slack client for your terminal
slack-git-compare              0.1.1                      maxime-visonneau    -      Compare git references within Slack
...
...omitted

Accessing the API link https://api.snapcraft.io/api/v1/snaps/download/JUJH91Ved74jd4ZgJCpzMBtYbPOzTlsD_149.snap

I see

{"error_list":[{"code":"resource-not-found","message":"Cannot download JUJH91Ved74jd4ZgJCpzMBtYbPOzTlsD_149.snap:."}],"errors":["Cannot download JUJH91Ved74jd4ZgJCpzMBtYbPOzTlsD_149.snap:."],"result":"error"}

Is it only slack which fails to install?

I have an empty snap called ‘null’ which has no geoip restrictions.

Try snap find null and snap info null, then finally snap install null and see if the experience differs from slack?

If it also is unable to be installed then that may confirm this is a store geoip database issue. If it cannot be installed, then perhaps it’s something specific with the slack snap (or a content cache or something else).

Hi popey,

So far Slack is all i tested, the funny thing is how I came across the issue in the first place, I’m actually using flatpak to install the Slack app, but because the flatpak manifest points to the snap package as the source, that’s where i was getting the error with the API, so I decided to follow the api.snapcraft.io link to see what response i’d get in the browser

~ flatpak install slack
Looking for matches…
Found ref ‘app/com.slack.Slack/x86_64/stable’ in remote ‘flathub’ (system).
Use this ref? [Y/n]: 

com.slack.Slack permissions:
    ipc       network       pulseaudio       x11       devices       file access [1]       dbus access [2]      system dbus access [3]

    [1] xdg-download
    [2] com.canonical.AppMenu.Registrar, org.freedesktop.Notifications, org.freedesktop.ScreenSaver, org.freedesktop.secrets, org.kde.StatusNotifierWatcher, org.kde.kwalletd5, org.kde.kwalletd6
    [3] org.freedesktop.UPower, org.freedesktop.login1


        ID                      Branch         Op         Remote          Download
 1. [✗] com.slack.Slack         stable         i          flathub         3.3 MB / 127.9 MB

Error: While downloading https://api.snapcraft.io/api/v1/snaps/download/JUJH91Ved74jd4ZgJCpzMBtYbPOzTlsD_149.snap: Server returned status 404
error: Failed to install com.slack.Slack: While downloading https://api.snapcraft.io/api/v1/snaps/download/JUJH91Ved74jd4ZgJCpzMBtYbPOzTlsD_149.snap: Server returned status 404

And that’s where I’ve tried to narrow it down by installing snap separately and going through the direct snap package route

I was able to find, info and install null with no issue. Here’s the output of the commands

~ snap find null
Name            Version  Publisher       Notes  Summary
null            null     popey✪          -      ∅
~ snap info null
name:      null
summary:   ∅
publisher: Alan Pope (popey✪)
store-url: https://snapcraft.io/null
license:   WTFPL
description: |
  ∅
snap-id: pkq6z3c0BWk1qq734AafcLDsBxY2r89P
channels:
  latest/stable:    null 2019-08-03 (3) 4kB -
  latest/candidate: ↑                       
  latest/beta:      ↑                       
  latest/edge:      ↑ 
~ snap install null
null null from Alan Pope (popey✪) installed

Got any ideas? I established a connection through a VPN (ProtonVPN) to a server based in Sydney, Australia, and managed to download Slack without issue.

Hah! Ok. I didn’t realise the Slack flatpak was a snap re-pack (like Spotify).

Well, it looks like you’re not the only one who had this issue though.

https://github.com/flathub/com.slack.Slack/issues/284

hehe, I’m the one who logged that issue (EmptyVisual)

Given they closed the issue on me, which i understand to be honest that it’s probably not a flatpak issue given the 404 reponse from snapcraft itself, that prompted me to install snapd and go the direct route to test the snapcraft hosted version directly instead of flatpak. Hence im here :stuck_out_tongue:

popey just a follow up question, if you will,

I’m unsure what sort of access you have to snapcrafts internals, but if I can provide my IP to you, is that something that can be checked against snapcrafts geoip database?

I’m just out ideas on this one honestly. I’m based in Sydney, so my public isp provided IP cant download Slack via snap install, but when I connect to a vpn thats also located in Sydney, it works, it’s just the most puzzling behaviour. It only started to become an issue when I switched internet providers to a relatively new provider on the market, so potentially this IP range they’re using to assign me my static is new-ish? geoiplookup shows it tagged as AU

Hah! How fun!

I can’t see any backend services, I’m just a volunteer moderator.

But I think you probably figured it out yourself. I suspect you’re right and the new ISP has a range that is missing from some database somewhere.

How you fix that, I do not know, sorry.

For such issues, only contact with Canonical is possible here. Maybe ping someone on Snapcraft from Canonical team?

Canonical don’t set geoIP restrictions, the publisher does.

If they’ve set a regional block, you’d need to ask the publisher why and whether they can remove it, aside from workarounds of VPN’s & etc.

Snap is only restricting the territories because the publisher has set that themselves, it’s not default.

The biggest issue is that the second you set a single territory restriction, any IP’s that can’t be properly identified are blocked by default over an abundance of caution, meaning false positives can happen.

2 Likes

Following a conversation with the network engineers at my internet service provider, I’ve identified the issue.

According to them, they were only allocated the IP subnet for Sydney, Australia last quarter. Consequently, they’re encountering GeoIP issues that are still being addressed. They’ve been in touch with most major GeoIP providers to ensure they are up to date. However, websites and services relying on GeoIP data may need to resync with their providers for the latest information.

In this scenario, it seems Snapcraft will need to resync with its GeoIP provider. @popey , do you know whom I could contact on the Snapcraft team to facilitate this?

Cheers

3 Likes

I don’t. But someone on the @store team might

1 Like

As noted in @Justin0956’s launchpad bug, I pinged internally for help.

1 Like