
嘿嘿,其实是有点标题党了。。
Google 的首页的静态资源并没有使用 CDN,实现起来其实是比较简单的,如果有 CDN 的话还需要用正则替换静态链接。这里使用了 koa-proxy,虽然是下载之后再转发可能会带来一定的性能影响,不过可以使用 koa 的中间件对响应进行修改,如果用 koa-http-proxy 的话就没这么容易了。。
const Koa = require('koa') const proxy = require('koa-proxy') const mount = require('koa-mount') const cOnvert= require('koa-convert') const app = new Koa(); const zlib = require('zlib') app.use(convert(function * (next) { yield next if (this.path === '/' || this.path === '/search') { const data = yield zlib.gunzip.bind(zlib, this.body) const str = data.toString('utf-8').replace(/<body([^>]*)>/, `<body$1> <div style="font-size: 14px; text-align: center; padding: 3px 10px;">Powered By <a href="https://www.lets-ss.com">lets-ss.com</a></div> `) this.body = yield zlib.gzip.bind(zlib, str) } })) app.use(convert(proxy({ host: 'https://www.google.com.hk', // 目标站 点 jar: true, // 转发 cookie followRedirect: false, // co-request 的参数,不跟随跳转 }))); app.listen(80); 测试可以使用 proxychains 让命令行走代理
proxychains node ./index.js 顺便分享一下我搭建的站点: https://g.lets-ss.com
1 ixiaohei 2017-05-31 20:19:46 +08:00 反代,不过你网站速度真慢 |
2 Showfom PRO 这样公开域名很容易被墙的 |
4 des 2017-05-31 20:23:58 +08:00 via Android 数了一下,不止 10 行,lol |
8 KIDJourney 2017-05-31 20:36:07 +08:00 说什么一共 10 行,你考虑过 Koa 的感受吗? |
9 yzhen123 OP @KIDJourney 嘿嘿,其实是有点标题党哈,第一行就已经承认了,求各位大佬轻喷 |
11 douglas1997 2017-06-01 00:02:46 +08:00 package.json 可以共享一下吗? |
12 eccstartup 2017-06-01 00:26:18 +08:00 via iPhone @douglas1997 这是什么鬼 |
13 douglas1997 2017-06-01 07:26:04 +08:00 @eccstartup ?? nodejs 程序不是需要 packages.json 然后安装依赖?不知道楼主 koa 是什么版本。 |
14 loadinger 2017-06-01 09:11:47 +08:00 nodejs 会被你们这样搞臭的.别取这样的名字好么.. |
15 Dye8 2017-06-01 10:56:56 +08:00 10 行还不简单 楼主快去几个换行 |