VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云最新优惠促销活动
jtti最新优惠促销活动
新罗云最新优惠促销活动

便宜国外vps论坛_求个cf workers反代代码

locvps
主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

VPS主机服务器优惠分享二手交易综合交流社区、国外便宜VPS主机论坛https://www.hostccn.com

主机参考(zhujicankao.com)网友大佬发文说:

之前看到这个帖子,挺有意思的

然后自己在heroku上照着部署了个womignx
github项目地址网友回复说:

部署地址https://name.herokuapp.com,结果昨天突然被强了

loc大佬多,特来就求个workers的代码反代一下heroku的默认域名

说出来你可能不信,我参照之前的workers代码试过,没成功

比如使用google搜索只有搜索的第一页有效,翻页无效

作者提供的demo网友回复说:
—————-

更新网友回复说:修改下,避免歧义,是heroku的域名被墙

各位大佬回复网友回复说:

注册网友回复说: 但是你再搞个 Cloudflare Workers 反代也免不了再次被蔷的命运呀。。。 https://github.com/booster-labs/rocket-booster

叫我ams就好了网友回复说: cf workers反代heroku域名被不被强,就无所谓了吧

G.K.D网友回复说: 我说的是,既然你 heroku 的反代域名已经被蔷了,那么你再用 Cloudflare Workers 反代 heroku 域名,也免不了再次被蔷的命运。 还是说我理解错你 1L 写的文字了?

叫我ams就好了网友回复说: 你要搞清楚,被墙的是heroku的域名

G.K.D网友回复说: 你的意思是 heroku 被蔷了,误伤楼主是么?(我没用过 heroku 所以不清楚 那是我理解错了,主要楼主也没说清啊,我以为是楼主自己把域名搞蔷了,想要再搞个 Cloudflare Workers 反代被自己搞蔷的 heroku 域名。。。 我前面回答的时候,还比较纳闷这是什么思路逻辑。。。

zkysimon网友回复说: 是我说的有歧义,是heroku的https://name.herokuapp.com这个域名无法直连了,其他项目貌似不行

G.K.D网友回复说: 免费都是最贵的,①出问题,各种麻烦

叫我ams就好了网友回复说: 主要是觉得有意思,想捣鼓捣鼓

笑花落半世琉璃网友回复说: 域名被墙 你反代也跳不过去的吧?

注册网友回复说: 我也网上找的 // Website you intended to retrieve for users. const upstream = ‘xxx.com’ // Custom pathname for the upstream website. const upstream_path = ‘/’ // Website you intended to retrieve for users using mobile devices. const upstream_mobile = ‘xxx.com’ // Countries and regions where you wish to suspend your service. const blocked_region = [] // IP addresses which you wish to block from using your service. const blocked_ip_address = [‘0.0.0.0’, ‘127.0.0.1’] // Whether to disable cache. const disable_cache = false // Replace texts. const replace_dict = {     ‘$upstream’: ‘$custom_domain’,     ‘//share.iridium.cyou’: ‘frqkm.iri.workers.dev’ } 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 = new URL(request.url);     let url_hostname = url.hostname;        url.protocol = ‘https:’;         if (await device_status(user_agent)) {         var upstream_domain = upstream;     } else {         var upstream_domain = upstream_mobile;     }     url.host = upstream_domain;     if (url.pathname == ‘/’) {         url.pathname = upstream_path;     } else {         url.pathname = upstream_path + url.pathname;     }     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 request_headers = request.headers;         let new_request_headers = new Headers(request_headers);         new_request_headers.set(‘Host’, upstream_domain);         new_request_headers.set(‘Referer’, url.protocol + ‘//’ + url_hostname);         let original_response = await fetch(url.href, {             method: method,             headers: new_request_headers         })         connection_upgrade = new_request_headers.get(“Upgrade”);         if (connection_upgrade && connection_upgrade.toLowerCase() == “websocket”) {             return original_response;         }         let original_response_clone = original_response.clone();         let original_text = null;         let response_headers = original_response.headers;         let new_response_headers = new Headers(response_headers);         let status = original_response.status;                                 if (disable_cache) {                         new_response_headers.set(‘Cache-Control’, ‘no-store’);             }         new_response_headers.set(‘access-control-allow-origin’, ‘*’);         new_response_headers.set(‘access-control-allow-credentials’, true);         new_response_headers.delete(‘content-security-policy’);         new_response_headers.delete(‘content-security-policy-report-only’);         new_response_headers.delete(‘clear-site-data’);                                 if (new_response_headers.get(“x-pjax-url”)) {             new_response_headers.set(“x-pjax-url”, response_headers.get(“x-pjax-url”).replace(“//” + upstream_domain, “//” + url_hostname));         }                         const content_type = new_response_headers.get(‘content-type’);         if (content_type != null && content_type.includes(‘text/html’) && content_type.includes(‘UTF-8’)) {             original_text = await replace_response_text(original_response_clone, upstream_domain, url_hostname);         } else {             original_text = original_response_clone.body         }                         response = new Response(original_text, {             status,             headers: new_response_headers         })     }     return response; } async function replace_response_text(response, upstream_domain, host_name) {     let text = await response.text()     var i, j;     for (i in replace_dict) {         j = replace_dict[i]         if (i == ‘$upstream’) {             i = upstream_domain         } else if (i == ‘$custom_domain’) {             i = host_name         }         if (j == ‘$upstream’) {             j = upstream_domain         } else if (j == ‘$custom_domain’) {             j = host_name         }         let re = new RegExp(i, ‘g’)         text = text.replace(re, j);     }     return text; } async function device_status(user_agent_info) {     var agents = [“Android”, “iPhone”, “SymbianOS”, “Windows Phone”, “iPad”, “iPod”];     var flag = true;     for (var v = 0; v < agents.length; v++) {         if (user_agent_info.indexOf(agents[v]) > 0) {             flag = false;             break;         }     }     return flag; }

注册网友回复说: 老哥,你不能照搬啊,用这个反代这个项目heroku域名会有问题 比如使用搜索引擎的时候,翻页会出错

iridium网友回复说: 很早之前看到有个大佬的,一直很好用 演示网友回复说:https://cloudflareworkers.com/#12a9195720fe4ed660949efdbd9c0219:https://www.google.com/ 代码网友回复说: addEventListener(‘fetch’, event => {   event.respondWith(handleRequest(event.request)) }) /** * Fetch and log a given request object * @param {Request} request */ async function handleRequest(request) {   console.log(‘Got request’, request)   const response = await fetch(request)   console.log(‘Got response’, response)   return response }复制代码

叫我ams就好了网友回复说: 这个怎么自己部署啊?

du-sh网友回复说: 我没研究过CFworkers,你研究下他的,大概思路人家已经实现了,谷歌下相关资料,应该也有官方教程

叫我ams就好了网友回复说: 这个官方实例程序啊, 有其他基于这个做的反代,比如楼上老哥发的那段,但是反代这个heroku域名不了知道是不是**作不对

du-sh网友回复说: 测试一下 https://name-herokuapp-com.f-zxx.workers.dev/

叫我ams就好了网友回复说: 不太行啊

Reverie网友回复说: https://name.herokuapp.com/ 直接访问也是这提示

叫我ams就好了网友回复说: 这个name改成自己heroku应用的名字,意思是你直接反代了?

注册网友回复说: zfile官方文档有说明

注册网友回复说: 大佬给个链接

麻辣烤冷面网友回复说: http://docs.zhaojun.im/zfile/#/advanced?id=onedrive-cf

叫我ams就好了网友回复说: 你这个onedrive反代,我自己搭的onemanager反代没问现在发代这个镜像站和上面这两个不是同一个问题

麻辣烤冷面网友回复说: 当然是直接反代name.herokuapp.com

叫我ams就好了网友回复说: 这个是我举例的模板,要我搭一个,你挑战一下?

主机参考zhujicankao.com_收集国内VPSVPS测评主机测评云服务器虚拟主机独立服务器国内服务器高性价比建站主机相关优惠信息
详细介绍和测评国外VPS主机,云服务器,国外服务器,国外主机的相关优惠信息,商家背景,网络带宽等等,也是目前国内最好的主机云服务器VPS参考测评资讯优惠信息分享平台
主要提供VPS云服务器相关话题的社区论坛讨论VPS云服务器VPS主机VPS优惠码、VPS特价优惠分享香港美国日本韩国VPS等令人激动的话题
tag:
vps论坛,香港vps论坛,美国vps论坛,vps主机论坛,美国vps主机论坛,vps交流论坛,日本vps论坛,国外vps论坛,美国主机论坛,主机论坛,全球主机论坛,全球vps论坛,主机交流论坛,免费vps论坛,vps优惠论坛,国外vps优惠,香港vps优惠,vps优惠码,hostccn.com

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:便宜国外vps论坛_求个cf workers反代代码 https://zhujicankao.com/64491.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 便宜国外vps论坛_求个cf workers反代代码
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!