22 日晚,自媒体新闻实验室一篇名为《搜索引擎百度已死:沦为替百家号导流的工具》的文章刷屏。文章指责百度搜索结果一半以上会指向百度自家产品,尤其是百家号,而百家号充斥着大量营销和质量低劣的内容,也导致百度搜索结果的内容质量大幅下滑。
这些年百度做过的恶,两只手都数不过来了,大家心里都有数。笔者也发现身边不少人“抵制百度”,却不得不用百度,原因是“用国内其他搜索引擎,体验比百度更差,爱国上网又不会,再加上买 VPN 或者自建 SS 服务也是一笔成本”。
痛恨百度搜索,想日常使用谷歌搜索引擎作为替代,但是苦于没有爱国上网的技术或者成本的所有人。
某个偶然的机会发现了 runkit.com 这个网站,官网的介绍是 "Runkit is a node playground in your broser",顾名思义就是允许你在浏览器中运行 node.js 的代码。你可以随意引用成千上万的 npm 模块并运行,立刻就能看到运行结果,在日常的 node.js 开发中非常实用,笔者经常用他家提供的服务来写一些测试代码,提高开发效率、节省了很多时间。具体的介绍大家可以去官网看,首页展示的两个视频能一目了然的看出来 Runkit 能干什么。
ps: 由于使用了谷歌字体,在国内打开 Runkit 网站可能很慢,建议翻墙访问,之后访问创建完的谷歌镜像服务 url 地址就不需要翻墙了。
除了上面介绍的“在线运行 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 收购,相信他家的服务还是有保障的。
有了以上基础,想要创建自己的 google 镜像就非常简单了。
ps: 由于使用了谷歌字体,在国内打开 Runkit 网站可能很慢,建议翻墙访问,之后访问创建完的谷歌镜像服务 url 地址就不需要翻墙了。
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);
大功告成,点击“ endpoint ”后会跳转到一个 url 地址,不出意外这时候你应该已经能看到大大的“ Google ” logo 了(如之前开着 VPN,可以关闭 Vpn 后再打开这个地址试试),保存下这个地址,这就是你自己的私人 Google 镜像站了。
这是我自己刚创建的镜像站链接:Google
ps:
1、此 Google 镜像站仅供测试,随时会删除,请自行按照以上步骤创建自己的镜像站;
2、请勿滥用 Runkit 服务创建大量垃圾镜像站;请勿用于创建公开的网站服务(自己用就行,打算在上面建网站给他人使用还是算了),毕竟有请求数限制、且稳定性不足以胜任公开的网站要求。
祝愿百度早点倒闭。
1
LongLights 2019-01-23 13:16:55 +08:00 via Android
前排支持楼主
|
2
wly19960911 2019-01-23 13:20:30 +08:00 1
别把别人网站坑了啊,等下直接域名墙了你就得翻墙玩了。虽然现在开发几个不翻墙就是......
|
3
RoyL 2019-01-23 13:23:09 +08:00
不错,挺好用的
|
4
imwalson OP @wly19960911 我也有点担心这个,我自己用这个方法好几年了,所以今天才分享出来。其实要使用这个网站本身是得会翻墙的,有一定门槛😂
|
5
refugeezhao2018 2019-01-23 13:30:30 +08:00 via Android
建个油管会不会被打。。。
|
6
viko16 2019-01-23 13:32:18 +08:00
反过来流量一旦大了,谷歌也会觉得这个出口 ip 不安全 block 掉,或者增加 recaptcha 啥的
|
7
imwalson OP @refugeezhao2018 没用,这样只是代理了主站,你会发现点开进去以后很多资源包括视频都打不开,因为除了主站、youtube 还使用了其他非常多的资源二级域名都被封了
|
8
imwalson OP @viko16 各自建立自己的服务用各自的应该还好,Runkit 他家的服务也不是单机部署,可能你创建的镜像站跟我的就部署在不同区域,ip 都不一样的
|
9
good 2019-01-23 13:44:35 +08:00
好奇怪 用微信浏览器访问这个帖子会自动跳转到首页
|
12
imwalson OP @li02 回头我可以把这个 node 工程写成简单的 docker 镜像,就能方便部署了。话说自己部署的话,除了用 node.js 还有其他更方便的解决方案啊,可以谷歌搜索一些
|
13
ResidualWind 2019-01-23 13:57:30 +08:00
操作简单 已创建 感谢楼主
|
14
imwalson OP @ResidualWind 感谢为埋葬百度添加一把土🙂
|
15
ggwp 2019-01-23 14:03:41 +08:00
感谢楼主的分享
|
16
Trumeet 2019-01-23 14:10:53 +08:00
感謝,不過這網站遲早....( x
|
17
dapengzhao 2019-01-23 14:15:50 +08:00
{
"error": "rate_limit_exceeded", "message": "There have been too many requests to this server. Try again later." } |
18
adamwang 2019-01-23 14:18:52 +08:00
感谢楼主的分享。
|
19
imwalson OP @dapengzhao 我放的测试镜像站已经超出了请求数了😂自己创建个新的自己用应该够用,一个工程不行就多创建几个工程换着用
|
20
loli 2019-01-23 14:32:19 +08:00 via Android
@imwalson 大佬请问下有 DDoS protection by Cloudflare 的怎么反代?比方说 javlib.提示您未获授权,无法查看此网页。
https://untitled-lc28rlt3s02r.runkit.sh |
21
imwalson OP @loli 目前没有太好的绕过的办法,你可以参考这篇文章: https://blog.zengrong.net/post/2366.html
|
22
shyrock 2019-01-23 14:48:18 +08:00
超赞!!感谢了。
|
23
realkenshinji 2019-01-23 14:51:19 +08:00 via iPhone
可以的,我不用 google 也可以用 bing 或者 yandex 啊
|
24
Jzer0n 2019-01-23 15:04:23 +08:00
如果能正常使用 Google,可能就没百度什么事情了。
|
25
imwalson OP @realkenshinji 对,bing 也推荐使用,不用百度也有很多替代方案,只不过很多人都只知道国内的几家搜索引擎
|
26
aiwoshishen 2019-01-23 15:13:36 +08:00
这样 google 搜索出来的二级页面也打不开吧?
|
27
imwalson OP @aiwoshishen 这取决于结果网站本身是否被墙了,如果被墙了当然是打不开的
|
29
demo 2019-01-23 15:31:59 +08:00
花里胡哨,不用注册的。https://runkit.com/e
|
30
imwalson OP @zyu0090 是的,比如(请自行替换域名): https://untitled-0l721vzkykus.runkit.sh/search?q=%s
|
33
demo 2019-01-23 15:35:34 +08:00 4
抱歉,少打了个参数。 https://runkit.com/e?mode=endpoint
|
34
lingo 2019-01-23 15:39:00 +08:00
老老实实叠飞机还比较实在点。
|
35
jakes 2019-01-23 15:48:24 +08:00
有没有办法绑定自己的域名?
|
36
night98 2019-01-23 16:01:31 +08:00
请求数限制是多少?
|
37
imwalson OP @demo 厉害,确实可行,不知道这样创建的服务能不能长久存在。不过就算不能持久化,也提供了个思路,随时想用随时创建
|
41
AngryPanda 2019-01-23 16:14:38 +08:00
还是自家的机场好点。
|
42
nosmile 2019-01-23 16:16:23 +08:00 via Android
感谢 lz 分享 我还是默默地用机场
|
43
sunjourney 2019-01-23 17:05:13 +08:00
用 heroku 也可以做到,类似的方案太多了
|
45
imwalson OP @sunjourney 是的,可以举一反三。像 heroku、now.sh 、surge、firebase 等免费部署 node.js 项目的服务商有很多,都可以用来做网站反代,但是都没有在 Runkit 上这么简单方便。另外用 heroku 的话建议直接搭建 SS: https://github.com/onplus/shadowsocks-heroku,没必要只做一个网站反代,毕竟 heroku 上的项目有总运行时间限制,只创建一个项目都会不够用,没有 Runkit name 那么良心。
|
47
saran 2019-01-23 17:21:57 +08:00
得,又被我们玩坏了……
|
48
dapengzhao 2019-01-23 17:59:05 +08:00
花点钱用蓝灯吧一年 100 多点,高速稳定
|
49
night98 2019-01-23 19:35:15 +08:00
好像炸了。。。
|
51
16t 2019-01-23 21:23:21 +08:00
非常感谢,已经用上了,用来搜东西还是很方便的,chrome 还有 google 直链的插件,不用担心点结果页卡住。
尝试过 drive,accounts,voice 等二级域名,因为会有各种跳转,没办法实现,不过对于重度搜索足够了,其他的可以开未批恩来用。 |
52
580a388da131 2019-01-23 21:26:26 +08:00 via iPhone
能反代图片搜索结果么,几乎所有教程都不能。
|
53
Cipool 2019-01-23 22:37:29 +08:00 via Android
这个属于 abuse 了,不太好
|
55
imwalson OP @580a388da131 比较难,因为图片资源域名也都是被墙的,只能爬梯子
|
56
16t 2019-01-24 10:07:22 +08:00
有一个小问题,就是无法用 cname 做指向,endpoint 给的链接不好记,无法自定义,cname 过去会自动跳转到 runkit 首页。
|
57
shyrock 2019-01-24 11:01:53 +08:00
貌似已经不行了,设置 endpoint 就报错。。。散了吧。
|
58
night98 2019-01-24 11:16:00 +08:00
估计炸了,新建的 run 不了
|
59
imwalson OP @shyrock 我试了下还行,只是服务有时候不稳定,报错找不到模块之类的,过一会再访问又好了
|
61
elmagnificogg 2019-01-25 14:09:46 +08:00
@shyrock 可以啊 我这里没问题
|