扔掉“百度”,教你在 RunKit 上 5 行代码免费创建自己的 google 镜像站

2019-01-23 13:10:33 +08:00
 imwalson

百度已死

22 日晚,自媒体新闻实验室一篇名为《搜索引擎百度已死:沦为替百家号导流的工具》的文章刷屏。文章指责百度搜索结果一半以上会指向百度自家产品,尤其是百家号,而百家号充斥着大量营销和质量低劣的内容,也导致百度搜索结果的内容质量大幅下滑。

这些年百度做过的恶,两只手都数不过来了,大家心里都有数。笔者也发现身边不少人“抵制百度”,却不得不用百度,原因是“用国内其他搜索引擎,体验比百度更差,爱国上网又不会,再加上买 VPN 或者自建 SS 服务也是一笔成本”。

此教程适合哪些人?

痛恨百度搜索,想日常使用谷歌搜索引擎作为替代,但是苦于没有爱国上网的技术或者成本的所有人。

介绍 Runkit

runkit.com 是一家什么网站?

某个偶然的机会发现了 runkit.com 这个网站,官网的介绍是 "Runkit is a node playground in your broser",顾名思义就是允许你在浏览器中运行 node.js 的代码。你可以随意引用成千上万的 npm 模块并运行,立刻就能看到运行结果,在日常的 node.js 开发中非常实用,笔者经常用他家提供的服务来写一些测试代码,提高开发效率、节省了很多时间。具体的介绍大家可以去官网看,首页展示的两个视频能一目了然的看出来 Runkit 能干什么。

ps: 由于使用了谷歌字体,在国内打开 Runkit 网站可能很慢,建议翻墙访问,之后访问创建完的谷歌镜像服务 url 地址就不需要翻墙了。

RunKit Endpoint

除了上面介绍的“在线运行 node.js 代码”,RunKit 还提供了 Endpoint 服务。官网的说明是 "Endpoint is a fast and simple way to write code with Node.js that can respond to HTTP requests from anywhere. There's no need to manage servers or deployments, instead just write code in RunKit. Getting started is as easy as implementing one function."。简单来说 Runkit 允许用户通过 exports endpoint 函数,来获得一个 url 地址,实现一个小型的 HTTP Server,很像如今很火的 FaaS “函数即服务”,具体可看 官方文档。值得一提的是,除了默认的 endpoint 函数写法外,直接运行一个 express app 并且绑定在 3000 端口,同样也能实现相同的效果。Runkit 目前完全免费( Endpoint 服务存在一些资源调用限制,具体限制如何不清楚,但是个人使用完全足够了),目前 Runkit 已经被 Stripe 收购,相信他家的服务还是有保障的。

借助 express.js 和 http-proxy-middleware 插件实现代理访问 google

有了以上基础,想要创建自己的 google 镜像就非常简单了。

1、免费注册账号,也可以使用 github 账号登录

ps: 由于使用了谷歌字体,在国内打开 Runkit 网站可能很慢,建议翻墙访问,之后访问创建完的谷歌镜像服务 url 地址就不需要翻墙了。

2、在个人中心创建一个工程

3、拷贝如下代码并运行

Title 标题随便写

拷贝下面的代码到正文里,然后点 run 运行:

var express = require('express');
var proxy = require('http-proxy-middleware');
var app = express();
app.use('/', proxy({target: 'https://www.google.com/', changeOrigin: true}));
app.listen(3000);

4、点击“ endpoint ”按钮

大功告成,点击“ endpoint ”后会跳转到一个 url 地址,不出意外这时候你应该已经能看到大大的“ Google ” logo 了(如之前开着 VPN,可以关闭 Vpn 后再打开这个地址试试),保存下这个地址,这就是你自己的私人 Google 镜像站了。

这是我自己刚创建的镜像站链接:Google

ps:

1、此 Google 镜像站仅供测试,随时会删除,请自行按照以上步骤创建自己的镜像站;

2、请勿滥用 Runkit 服务创建大量垃圾镜像站;请勿用于创建公开的网站服务(自己用就行,打算在上面建网站给他人使用还是算了),毕竟有请求数限制、且稳定性不足以胜任公开的网站要求。

后话

祝愿百度早点倒闭。

4483 次点击
所在节点    分享发现
61 条回复
AngryPanda
2019-01-23 16:14:38 +08:00
还是自家的机场好点。
nosmile
2019-01-23 16:16:23 +08:00
感谢 lz 分享 我还是默默地用机场
sunjourney
2019-01-23 17:05:13 +08:00
用 heroku 也可以做到,类似的方案太多了
zyu0090
2019-01-23 17:12:44 +08:00
@imwalson 是不是挂了。。官网都进不去了。。
imwalson
2019-01-23 17:17:45 +08:00
@sunjourney 是的,可以举一反三。像 heroku、now.sh 、surge、firebase 等免费部署 node.js 项目的服务商有很多,都可以用来做网站反代,但是都没有在 Runkit 上这么简单方便。另外用 heroku 的话建议直接搭建 SS: https://github.com/onplus/shadowsocks-heroku,没必要只做一个网站反代,毕竟 heroku 上的项目有总运行时间限制,只创建一个项目都会不够用,没有 Runkit name 那么良心。
imwalson
2019-01-23 17:19:30 +08:00
@zyu0090 没挂,本来就打开慢,因为使用了谷歌字体,最好先挂梯子访问官网
saran
2019-01-23 17:21:57 +08:00
得,又被我们玩坏了……
dapengzhao
2019-01-23 17:59:05 +08:00
花点钱用蓝灯吧一年 100 多点,高速稳定
night98
2019-01-23 19:35:15 +08:00
好像炸了。。。
imwalson
2019-01-23 19:37:46 +08:00
@night98 检查了一下,好像炸的只是我创建的这个演示镜像站,删了重建一个很容易
16t
2019-01-23 21:23:21 +08:00
非常感谢,已经用上了,用来搜东西还是很方便的,chrome 还有 google 直链的插件,不用担心点结果页卡住。
尝试过 drive,accounts,voice 等二级域名,因为会有各种跳转,没办法实现,不过对于重度搜索足够了,其他的可以开未批恩来用。
580a388da131
2019-01-23 21:26:26 +08:00
能反代图片搜索结果么,几乎所有教程都不能。
Cipool
2019-01-23 22:37:29 +08:00
这个属于 abuse 了,不太好
imwalson
2019-01-24 09:20:36 +08:00
@Cipool 嗯,建议有能力科学上网的还是爬梯子上谷歌,把这作为候选方案
imwalson
2019-01-24 09:21:42 +08:00
@580a388da131 比较难,因为图片资源域名也都是被墙的,只能爬梯子
16t
2019-01-24 10:07:22 +08:00
有一个小问题,就是无法用 cname 做指向,endpoint 给的链接不好记,无法自定义,cname 过去会自动跳转到 runkit 首页。
shyrock
2019-01-24 11:01:53 +08:00
貌似已经不行了,设置 endpoint 就报错。。。散了吧。
night98
2019-01-24 11:16:00 +08:00
估计炸了,新建的 run 不了
imwalson
2019-01-25 09:45:15 +08:00
@shyrock 我试了下还行,只是服务有时候不稳定,报错找不到模块之类的,过一会再访问又好了
shyrock
2019-01-25 10:07:03 +08:00
@imwalson 昨天一直提示 express 模块找不到,感觉就是厂家把这个模块给禁用了啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/529777

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX