How does VPN blocking work?

How does the VPN blocking system in the server work?

It currently uses IPHub to check an IP address, if it’s a detected VPN/proxy it’ll block the IP from creating new accounts.

Important: it only blocks creating new accounts, not logging in

yes but how does it work?

It uses IPHub’s API, https://iphub.info/.

This is a temporary solution until Beta 6.

After beta 6 it’ll use Cloudflare firewall and we’ll block datacenter ASNs on the create account API endpoint.

Is it the free version?

Yes, it is, we cache responses to help reduce the amount of requests to IPHub.

Ah ok, because I was going to say I could spam until I get a 403 error, and possible bypasss.

If the request fails the server just returns an internal error to stop any kind of bypassing.

actually, we store a giant list of vpn ips

Does the server collect the IP, or the client, or does the server collect it through the client?

huh? I’m not sure I understand

allow me to use my “amazing” drawing skills quickly

nevermind I suck at drawing, essentially, at least one of the following statements is true

the server collects the IP address from the client
the server collects the IP address from the user’s browser
the client collects the IP address from the user’s browser, and sends it to the server

Do you know which one is true?

I can visualise one if you don’t understand

The client gets the user’s IP from https://api.meower.org/ip, which gets their IP from Cloudflare. Then the client sends the IP to the CloudLink server. In beta 6 the server will just get it from Cloudflare and not have to rely on the client sending it.

So I can just make a client that spoofs the IP address, because the client sends the IP?

Yes, but you’d need another real IP address to do it with, IPHub will flag a fake IP which will block you from creating new accounts.