x/playground: revise GeoIP blocking rules for China #45525
Labels
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
Currently play.golang.org will check the origin of requests by header
X-Appengine-Country
(related code), which is set by GAE frontend, and is probably powered by GeoIP data used across Google. IfX-Appengine-Country
matches the code of China, the request will be denied and HTTP 451 Unavailable For Legal Reasons would be returned.Such restriction was first introduced in golang/playground@64f7014, citing the reason that "[t]his will permit us to serve *.golang.org to Chinese users." The related code was later revised in golang/playground@bb2a4ed, citing similar need.
The reason was elaborated in #31755 (comment) in May 2019 by @bradfitz:
However, the current restriction does not reflect the fact that *.golang.org has already been blocked by the Great Firewall for years, which was acknowledged in the aforementioned issue and golang/playground@bb2a4ed. That's why a separate golang.google.cn has to be set up for users in Mainland China. The original cause for this restriction no longer exists. Playground is simply not provided in golang.google.cn.
Meanwhile, the GeoIP false-positives has caused inconvenience to multiple users, including a recent one #45378, and might pop up every time Google updates its GeoIP db.
I propose the restriction targeing CN users to be lifted, since GFW has already done its job to block unregulated user-generated content.
The text was updated successfully, but these errors were encountered: