sereneblue / chameleon

WebExtension port of Random Agent Spoofer
https://sereneblue.github.io/chameleon
GNU General Public License v3.0
488 stars 51 forks source link

Add geolocation APi spoofing. #525

Open whatbh opened 2 years ago

whatbh commented 2 years ago

There is no geolocation API spoofing currently in Chameleon. For most of the site, the existing measures such as accepted-language and timezone spoofing are enough, but Chameleon still has no spoofing of geolocation API to answer the "map" services like Google Maps, OpenStreetMap, etc. when they ask for location. Indeed, users can insist not to allow websites to ask for their location, or there are other extensions such as Location Guard which does the job, but it'd be convenient if this feature is built into Chameleon, and also be a good way to promote privacy awareness to the users. This is just a suggestion, I think it counts toward the spirit of resist fingerprinting and tracking protection, but if it's still outside the relevant scope of the Chameleon feel free to close it. Best regards.

sereneblue commented 2 years ago

Hi @whatbh,

I agree. I've considered adding this in the past but just never found the time. I'll leave this issue open. I may be able to work on this soon.

whatbh commented 2 years ago

Thanks for your effort @sereneblue. Take your time.

Kraxys commented 2 years ago

I think It would be' a nice addition to Chameleon.

If it can help: The extension Location Guard seems to do quite a good job for that spoofing. But it misses the ability to fake according IP. Plus, no update since 2 years.

ShipsWithCannons commented 1 year ago

Considering geolocation is partially done on IP and Chameleon targets headers, I think it makes more sense to use a different service for this. The most common ways to spoof an IP are VPN and proxies, which essentially works by connecting to hardware located in a different geolocation so that location is found. Doing this without hardware, just in software, requires borrowing someone else's hardware. I don't see it happening for Chameleon.

sereneblue commented 1 year ago

Considering geolocation is partially done on IP and Chameleon targets headers, I think it makes more sense to use a different service for this. The most common ways to spoof an IP are VPN and proxies, which essentially works by connecting to hardware located in a different geolocation so that location is found. Doing this without hardware, just in software, requires borrowing someone else's hardware. I don't see it happening for Chameleon.

@ShipsWithCannons This feature would spoof the location returned when a website requests that information using the geolocation API. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/geolocation

yarub123 commented 1 year ago

Considering geolocation is partially done on IP and Chameleon targets headers, I think it makes more sense to use a different service for this. The most common ways to spoof an IP are VPN and proxies, which essentially works by connecting to hardware located in a different geolocation so that location is found. Doing this without hardware, just in software, requires borrowing someone else's hardware. I don't see it happening for Chameleon.

I guess this reasoning would therefore lead us to conclude that Chameleon would need VPN capabilities in order to do this using software. Fair enough.

yarub123 commented 1 year ago

@ShipsWithCannons This feature would spoof the location returned when a website requests that information using the geolocation API. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/geolocation

Interesting didn't know about this feature. Did you link this because you're saying it's something that could potentially work? Or is this something that we can do on our own to spoof loc? Thanks for sharing. I was just confused because for a second I thought you meant we can implement on our own.

sereneblue commented 1 year ago

@ShipsWithCannons This feature would spoof the location returned when a website requests that information using the geolocation API. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/geolocation

Interesting didn't know about this feature. Did you link this because you're saying it's something that could potentially work? Or is this something that we can do on our own to spoof loc? Thanks for sharing. I was just confused because for a second I thought you meant we can implement on our own.

It's something that can be added to Chameleon. This will be introduced in the next major version of Chameleon (v0.30.x).