全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
楼主: 虚空

[疑问] 闲着在家撸了个Cloudflare worker版的导航程序

  [复制链接]
发表于 2020-2-14 18:14:24 | 显示全部楼层
牛得不行了!!!
发表于 2020-2-18 16:20:42 | 显示全部楼层
看起来不错,能加上分类就更棒了,
发表于 2020-2-18 17:31:34 | 显示全部楼层
http://iluoli.club/ 撸一个玩玩
发表于 2020-2-18 20:10:06 | 显示全部楼层
不错,最近想做书签导航,不过这个导入有点麻烦
发表于 2020-2-20 13:50:45 | 显示全部楼层
本帖最后由 b66667777 于 2020-2-20 13:55 编辑

666 zsbd  
发表于 2020-3-2 14:23:36 | 显示全部楼层
楼主能否帮看看为什么我最简单的网站代理都不能成功吗?访问https://1.70.workers.dev会提示404错误
教程是百度上去年的,也不知道是否改变后导致不行。

  1. // Custom domain of your WorkersProxy.
  2. const main_domain = 'https://1.70.workers.dev'

  3. // Subdomain of your Cloudflare Worker.
  4. const workers_domain = 'https://1.70.workers.dev'

  5. // Website you intended to retrieve for users.
  6. const upstream = 'https://www.google.com/'

  7. // Website you intended to retrieve for users using mobile devices.
  8. const upstream_mobile = 'https://www.google.com/'

  9. // Countries and regions where you wish to suspend your service.
  10. const blocked_region = ['KP', 'SY', 'PK', 'CU']

  11. // IP addresses which you wish to block from using your service.
  12. const blocked_ip_address = ['0.0.0.0', '10.0.0.0']

  13. addEventListener('fetch', event => {
  14.     event.respondWith(fetchAndApply(event.request));
  15. })

  16. async function fetchAndApply(request) {

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

  22.     if (device_status(user_agent)){
  23.         url = url.replace(main_domain, upstream);
  24.         url = url.replace(workers_domain, upstream);
  25.     } else {
  26.         url = url.replace(main_domain, upstream_mobile);
  27.         url = url.replace(workers_domain, upstream_mobile);
  28.     }

  29.     if (blocked_region.includes(region)) {
  30.         response = new Response('Access denied: WorkersProxy is not available in your region yet.', {
  31.             status: 403
  32.         });
  33.     } else if(blocked_ip_address.includes(ip_address)){
  34.         response = new Response('Access denied: Your IP address is blocked by WorkersProxy.', {
  35.             status: 403
  36.         });
  37.     } else{
  38.         let method = request.method;
  39.         let headers = request.headers;
  40.         response = fetch(url, {
  41.             method: method,
  42.             headers: headers
  43.         })
  44.     }
  45.     return response;
  46. }

  47. function device_status (userAgentInfo) {
  48.     var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
  49.     var flag = true;
  50.     for (var v = 0; v < Agents.length; v++) {
  51.         if (userAgentInfo.indexOf(Agents[v]) > 0) {
  52.             flag = false;
  53.             break;
  54.         }
  55.     }
  56.     return flag;
  57. }
复制代码
发表于 2020-3-2 14:40:38 | 显示全部楼层
不错大佬牛逼,这个可以做H网发布页
发表于 2020-3-2 14:42:18 | 显示全部楼层
可以,马克一下
发表于 2020-3-2 14:56:19 | 显示全部楼层
是个大佬,厉害了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 13:12 , Processed in 0.063145 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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