全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1417|回复: 15
打印 上一主题 下一主题

大佬们,谁反代了谷歌,我搜索点东西

[复制链接]
跳转到指定楼层
1#
发表于 2020-9-10 14:28:06 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
搜索点东西,百度没有,手机装不上谷歌全家桶,大佬们谁反代了,给用用呗?
推荐
发表于 2020-9-10 14:29:12 | 只看该作者
推荐你老王伪屁嗯

点评

卧槽,你这是准备送楼主银手镯啊!  发表于 2020-9-10 15:37
推荐
发表于 2020-9-10 14:35:22 | 只看该作者
别搜了没意思用右手吧
4#
发表于 2020-9-10 14:34:06 | 只看该作者
在这个坛子里面 居然还有人没有梯子的?
6#
发表于 2020-9-10 14:42:48 | 只看该作者
用startpage搜 和google基本一致
7#
发表于 2020-9-10 14:58:09 | 只看该作者

在这个坛子里面 居然还有人没有 木弟 子的?
8#
发表于 2020-9-10 15:31:45 | 只看该作者
加我QQ,我让你远程用我的电脑搜
9#
发表于 2020-9-10 15:34:56 | 只看该作者
本帖最后由 风车车 于 2020-9-10 15:47 编辑

https://google.ibm-vps.workers.dev/
ip错误的话刷新几次,刚才发错了这个才是

cloudflare Workers 代码
  1. // 替换成你想镜像的站点
  2. const upstream = 'www.google.com.hk'

  3. // 如果那个站点有专门的移动适配站点,否则保持和上面一致
  4. const upstream_mobile = 'www.google.com.hk'

  5. // 你希望禁止哪些国家访问
  6. const blocked_region = ['KP']

  7. // 禁止自访问
  8. const blocked_ip_address = ['0.0.0.0', '127.0.0.1']

  9. // 替换成你想镜像的站点
  10. const replace_dict = {
  11.     '$upstream': '$custom_domain',
  12.     '//www.google.com.hk': ''
  13. }

  14. //以下内容都不用动
  15. addEventListener('fetch', event => {
  16.     event.respondWith(fetchAndApply(event.request));
  17. })

  18. async function fetchAndApply(request) {

  19.     const region = request.headers.get('cf-ipcountry').toUpperCase();
  20.     const ip_address = request.headers.get('cf-connecting-ip');
  21.     const user_agent = request.headers.get('user-agent');

  22.     let response = null;
  23.     let url = new URL(request.url);
  24.     let url_host = url.host;

  25.     if (url.protocol == 'http:') {
  26.         url.protocol = 'https:'
  27.         response = Response.redirect(url.href);
  28.         return response;
  29.     }

  30.     if (await device_status(user_agent)) {
  31.         upstream_domain = upstream
  32.     } else {
  33.         upstream_domain = upstream_mobile
  34.     }

  35.     url.host = upstream_domain;

  36.     if (blocked_region.includes(region)) {
  37.         response = new Response('Access denied: WorkersProxy is not available in your region yet.', {
  38.             status: 403
  39.         });
  40.     } else if(blocked_ip_address.includes(ip_address)){
  41.         response = new Response('Access denied: Your IP address is blocked by WorkersProxy.', {
  42.             status: 403
  43.         });
  44.     } else{
  45.         let method = request.method;
  46.         let request_headers = request.headers;
  47.         let new_request_headers = new Headers(request_headers);

  48.         new_request_headers.set('Host', upstream_domain);
  49.         new_request_headers.set('Referer', url.href);

  50.         let original_response = await fetch(url.href, {
  51.             method: method,
  52.             headers: new_request_headers
  53.         })

  54.         let original_response_clone = original_response.clone();
  55.         let original_text = null;
  56.         let response_headers = original_response.headers;
  57.         let new_response_headers = new Headers(response_headers);
  58.         let status = original_response.status;

  59.         new_response_headers.set('access-control-allow-origin', '*');
  60.         new_response_headers.set('access-control-allow-credentials', true);
  61.         new_response_headers.delete('content-security-policy');
  62.         new_response_headers.delete('content-security-policy-report-only');
  63.         new_response_headers.delete('clear-site-data');

  64.         const content_type = new_response_headers.get('content-type');
  65.         if (content_type.includes('text/html') && content_type.includes('UTF-8')) {
  66.             original_text = await replace_response_text(original_response_clone, upstream_domain, url_host);
  67.         } else {
  68.             original_text = original_response_clone.body
  69.         }

  70.         response = new Response(original_text, {
  71.             status,
  72.             headers: new_response_headers
  73.         })
  74.     }
  75.     return response;
  76. }

  77. async function replace_response_text(response, upstream_domain, host_name) {
  78.     let text = await response.text()

  79.     var i, j;
  80.     for (i in replace_dict) {
  81.         j = replace_dict[i]
  82.         if (i == '$upstream') {
  83.             i = upstream_domain
  84.         } else if (i == '$custom_domain') {
  85.             i = host_name
  86.         }

  87.         if (j == '$upstream') {
  88.             j = upstream_domain
  89.         } else if (j == '$custom_domain') {
  90.             j = host_name
  91.         }

  92.         let re = new RegExp(i, 'g')
  93.         text = text.replace(re, j);
  94.     }
  95.     return text;
  96. }

  97. async function device_status (user_agent_info) {
  98.     var agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
  99.     var flag = true;
  100.     for (var v = 0; v < agents.length; v++) {
  101.         if (user_agent_info.indexOf(agents[v]) > 0) {
  102.             flag = false;
  103.             break;
  104.         }
  105.     }
  106.     return flag;
  107. }
复制代码
10#
发表于 2020-9-10 15:35:33 | 只看该作者
浏览器装个Ghelper插件
http://googlehelper.net/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-12 09:05 , Processed in 0.081960 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表