Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Design: using a backend server to circumvent great firewall of china

I have a front-end angular app using firebase to store user data.

I currently do not have a backend set up, such as a node.js server.

I would like to use the Google Docs API to upload files from my app.

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

Perhaps after they have uploaded the document to firebase, a backend script retrieves it, uploads it to google docs, and then removes the record from firebase? Just trying to see if Google or similar services are even feasible for this use case.

I suppose the crux of my question is whether or not the calling of the Google API would be taking place on the user's computer, in which case would it become unstable?

** Updates for clarity:

I am deciding whether my firebase-backed app needs a more traditional backend like a node server to do things like: upload images and documents, send mail via Mandrill, etc... It would be helpful to me if I knew whether, after putting in the time to create a server, some of the services I am after (aka APIs) are any more resilient to the GFW than they would be if they ran on the client side. So if any one has 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 is not running a VPN, accessing the API calls will either lag or time out or (rarely) success in returning the scripts. If I was somehow able to able to process the map query "off-site" aka on the server, could I then return with a static image of the map to a Chinese user without fail?

like image 943
compguy24 Avatar asked Jun 03 '15 18:06

compguy24


People also ask

How could someone in China circumvent your DNS based blocking system to get to a host on the Internet?

One way to circumvent China's DNS Poisoning is by accessing the IP address of a website directly if it is known, therefore bypassing the DNS lookup. However, China also blocks certain IP addresses directly. This is done by dropping packets going to and coming from the blocked IP address, again at the ISP level​4​ .

What is the Great Firewall How does a VPN help you circumvent it *?

Circumvent the Great Firewall with a VPN Circumventing the Great Firewall with a VPN allows you to maintain your Internet freedom. A VPN, like VyprVPN, is an effective way to bypass blocks imposed by the Chinese government so you can enjoy a truly open and unrestricted Internet without censorship or surveillance.

What is the Great Firewall of China Why is it controversial?

The Great Firewall of China is the name that western media has given to the combination of tools, services and rules that the government of the People's Republic of China uses to block certain internet content from those within China's borders.


1 Answers

If I was somehow able to able to process the map query "off-site" aka on the server, could I then return with a static image of the map to a Chinese user without fail?

Yes, of course. What you are going to miss this way is all the front-end interactive functionality Google Maps offers. But if that's ok in your use case, sure.

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

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

So, instead of the user visitng the real google maps site, it will be visiting your maps.mydomain.com site, that will be sitting in between, proxying everything.

Nginx is an excellent choice for a reverse proxy. If you need more control, there are good node.js reverse proxying packages that you an use to rewrite the content extensively before serving it (perhaps to obfuscate it in case the GCF blacklists content based on pattern matching, or to change the script names/links again to avoid pattern matching).

like image 170
rollingBalls Avatar answered Oct 01 '22 07:10

rollingBalls