Design: Using a backend server to bypass a large firewall in China

I have an external angular application using firebase to store user data.

I currently do not have a built-in server like node.js. server

I would like to use the Google Docs API to download files from my application.

Since the Great Firewall of China does not use (or makes it unstable) the use of Google services, is it possible to host these services on a database server and still use them reliably?

Perhaps after they loaded the document into firebase, the script backend fetches it, loads it into Google documents, and then deletes the record from firebase? Just trying to figure out if Google or similar services are really possible for this use case.

I believe that the essence of my question is whether the Google API call will occur on the user computer, in which case it will become unstable?

** Updates for clarity:

I decide if my firebase-enabled application requires a more traditional backend, such as a node server, to do things like upload images and documents, send mail via Mandrill, etc ... It would be useful if I I knew that after creating time to create a server, some of the services I work with (as an API) are more resistant to GFW than if they were running on the client side. Therefore, if someone had success in such a task, I would like to know.

** Technical update:

So, for example, if I run the Google Maps API on the client side, if the user is in China and does not use VPN, access to API calls will either lag, or time out or (rarely) success when returning scripts. If I could somehow manage the request to the card "off site", as well as on the server, can I return with a static image of the card for the Chinese user without fail?

+6
source share
2 answers

If I could somehow manage the card request "off site" aka on the server, can I return with a static image of the card to the Chinese user without fail?

Oh sure. What you are planning to skip is all the interactive features of the Google Maps interface. But if this is normal in your use case, of course.

I have never tried it with GCF, but I would do this:

Google Maps <-> Your Reverse proxy <-> User

So, instead of the user visiting the actual Google Maps site, he will visit your maps.mydomain.com site, which will sit between them, proxying everything.

Nginx is a great choice for reverse proxies. If you need more control, there are good node.js reverse proxy packages that you use to rewrite the content before serving it (possibly to confuse it if the contents of the GCF blacklists are based on pattern matching or change value script names / links to avoid matching patterns).

+3
source

You misunderstand about the great firewall of China. I consulted for a couple of Chinese companies after the collapse of dot com, so I can say this from personal experience, and not by hearsay. This is mainly Cisco high-tech equipment behind the gateways located behind the state telecommunications infrastructure. Currently, they are knocking down what equipment they can, every chance they can and are spending money on specialized equipment for monitoring cell phone systems.
There was a brief mention of street level hardware at 20/20 before the crash, if you are interested in watching it. Not to discourage you, but I say that you configure any open servers you want with any interfaces or backends you want, but the reality is that the traffic will not be there.

That's why they call it a repressive regime, they cannot decide for themselves, remember?

0
source

Source: https://habr.com/ru/post/988470/


All Articles