Speed ​​up any website with Cloudflare Workers

888u

Last update at :2024-07-12,Edit by888u

Source code: https://github.com/Siujoeng-Lau/WorkersProxy

How to use: Modify the constants at the beginning of index.js, and then deploy it to cloudflare workers

1. Advantages:

Speed ​​up any website with Cloudflare Workers, no need to buy or configure a server

Can be used for static resource CDN. No need to connect the domain name to cf

You can block some regions or IPs based on user-agent

Can bind custom domain names

2. Disadvantages: Cloudflare Workers make 100,000 free requests a day

3. The specific source code is as follows:

// Custom domain of your WorkersProxy. const main_domain = 'https://cdn.reverse-proxy.live/' // Subdomain of your Cloudflare Worker. const workers_domain = 'https://google.xasiimov.workers.dev' // Website you intended to retrieve for users. const upstream = 'https://www.google.com/' // Website you intended to retrieve for users using mobile devices. const upstream_mobile = 'https://www.google.com/' // Countries and regions where you wish to suspend your service. const blocked_region = ['CN', 'KP', 'SY', 'PK', 'CU'] // IP addresses which you wish to block from using your service. const blocked_ip_address = ['0.0.0.0', '10.0.0.0'] addEventListener('fetch', event => { event.respondWith(fetchAndApply(event.request)); }) async function fetchAndApply(request) { const region = request.headers.get('cf-ipcountry').toUpperCase(); const ip_address = request.headers.get('cf-connecting-ip'); const user_agent = request.headers.get('user-agent'); let response = null; let url = request.url; if (device_status(user_agent)){ url = url.replace(main_domain, upstream); url = url.replace(workers_domain, upstream); } else { url = url.replace(main_domain, upstream_mobile); url = url.replace(workers_domain, upstream_mobile); } if (blocked_region.includes(region)) { response = new Response('Access denied: WorkersProxy is not available in your region yet.', { status: 403 }); } else if(blocked_ip_address.includes(ip_address)){ response = new Response('Access denied: Your IP address is blocked by WorkersProxy.', { status: 403 }); } else{ let method = request.method; let headers = request.headers; response = fetch(url, { method: method, headers: headers }) } return response; } function device_status (userAgentInfo) { var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; var flag = true; for (var v = 0; v 0) { flag = false; break; } } return flag; }

4. Specific configuration of index.js

The URL should be https:// // Custom domain name (leave empty if not available) const main_domain =

// Workers domain name. const workers_domain =

//The website to be accelerated. const upstream =

// Website to be accelerated for mobile users. (If not, just the same as above) const upstream_mobile =

//Regions to be blocked const blocked_region = [‘CN’, ‘KP’, ‘SY’, ‘PK’, ‘CU’]

//IP to be blocked const blocked_ip_address = [‘0.0.0.0’, ‘10.0.0.0’]

Reprinted from: https://www.hostloc.com/thread-585504-1-1.html

Recommended site search: registration query network, overseas host, cloud server rental platform, independent ip virtual host, Hong Kong ip, proxy ip, Yunnan virtual host, website registration price, Alibaba Cloud server, free ip proxy,

Speed ​​up any website with Cloudflare Workers

All copyrights belong to 888u unless special state
取消
微信二维码
微信二维码
支付宝二维码