成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

使用Cloudflare Workers反代OneDrive

Tecode / 3808人閱讀

摘要:注冊(cè)登陸賬號(hào)創(chuàng)建子域名創(chuàng)建替換成你的網(wǎng)址替換成你的網(wǎng)址下面的配置都不用動(dòng)自己自定義前綴,點(diǎn)擊保存并部署,會(huì)得到一個(gè)網(wǎng)址此時(shí)打開(kāi)鏈接應(yīng)該是登陸的界面反代鏈接對(duì)接版本加入了反代功能

注冊(cè)/登陸賬號(hào)
https://dash.cloudflare.com/sign-up

創(chuàng)建子域名

創(chuàng)建Workers

// 替換成你OneDrive的網(wǎng)址
const upstream = *-my.sharepoint.com

// 替換成你OneDrive的網(wǎng)址
const upstream_mobile = *-my.sharepoint.com

// 下面的配置都不用動(dòng)
const upstream_path = /

const blocked_region = [KP SY PK CU]

const blocked_ip_address = [0.0.0.0 127.0.0.1]

const https = true

const disable_cache = false

const replace_dict = {

$upstream: $custom_domain
//sunpma.com: 

}

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;

if (https == true) {
    url.protocol = https:;
} else {
    url.protocol = http:;
}

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("http://" + upstream_domain "http://" + 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;

}
自己自定義前綴,點(diǎn)擊保存并部署,會(huì)得到一個(gè)網(wǎng)址 https://*.workers.dev/

此時(shí)打開(kāi)鏈接應(yīng)該是office登陸的界面

反代鏈接對(duì)接Cloudreve、onemanager
Cloudreve V3.2.1版本加入了OneDrive反代功能,對(duì)接存儲(chǔ)時(shí)把反代鏈接填上就行

onemanager自帶反代地址,直接填入即可

本文源自網(wǎng)絡(luò),cf反代代碼來(lái)自github。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/126414.html

相關(guān)文章

  • 【轉(zhuǎn)載】自動(dòng)獲取cloudflare的ip解決假墻

    摘要:轉(zhuǎn)載自動(dòng)獲取的解決假墻前段時(shí)間很多人遇到了標(biāo)簽假墻下的日志假墻的問(wèn)題,這玩意是啥呢是通過(guò)利用的漏洞,他模擬訪問(wèn)一些包含非法關(guān)鍵詞的地址。對(duì)于用戶訪問(wèn)有一定的影響,但是這也是目前最好的解決辦法了。 【轉(zhuǎn)載】自動(dòng)獲取cloudflare的ip解決假墻 前段時(shí)間很多人遇到了假墻的問(wèn)題,這玩意是啥呢?是通過(guò)利用GFW的漏洞,他模擬訪問(wèn)一些包含非法關(guān)鍵詞的U...

    鄒立鵬 評(píng)論0 收藏0
  • 使用 CF-Worker-Dir 在 Cloudflare Worker 上免費(fèi)搭建導(dǎo)航網(wǎng)站

    摘要:使用在上免費(fèi)搭建導(dǎo)航網(wǎng)站,可以用這個(gè)替換掉瀏覽器自帶的主頁(yè),自用還是比較香的首先了解一下是提供的無(wú)服務(wù)器應(yīng)用程序,有免費(fèi)版,可以用來(lái)測(cè)試腳本有大佬利用它開(kāi)發(fā)了導(dǎo)航程序并開(kāi)源,下面就教大家如何安裝,非常簡(jiǎn)單材料地址的的開(kāi)源地址使用 CF-Worker-Dir 在 Cloudflare Worker 上免費(fèi)搭建導(dǎo)航網(wǎng)站,可以用這個(gè)替換掉瀏覽器自帶的主頁(yè),自用還是比較香的!首先了解一下 Cloud...

    Tecode 評(píng)論0 收藏0
  • ZFile自建免費(fèi)公共網(wǎng)盤(pán)服務(wù)-支持阿里云OSS,OneDrive,FTP,S3協(xié)議等云存儲(chǔ)

    對(duì)于網(wǎng)站存儲(chǔ)的需求,大多數(shù)人還是以私有網(wǎng)盤(pán)為主,目的是為了可以存儲(chǔ)屬于私人的視頻、文檔、音頻等資料。但是,也有不少的人想要搭建一個(gè)公共的網(wǎng)盤(pán),主要目的是可以方便所有人查看、瀏覽和下載、使用,同時(shí)也提供視頻在線播放,變成影視站點(diǎn)。這樣的公共網(wǎng)盤(pán)服務(wù)搭建起來(lái)并不是很復(fù)雜,但是苦于高昂的存儲(chǔ)費(fèi)用,有的人盯上了超大容量且免費(fèi)的網(wǎng)盤(pán)服務(wù),例如OneDrive,團(tuán)隊(duì)版甚至可以達(dá)到TB以上,將OneDrive變...

    番茄西紅柿 評(píng)論0 收藏2637
  • 寶塔面板安裝iFileSpace,一鍵搭建專屬的私人網(wǎng)盤(pán)系統(tǒng)

    摘要:這篇文章還是利用寶塔來(lái)搭建,寶塔服務(wù)器面板,一鍵全能部署及管理,送你元禮包,點(diǎn)我領(lǐng)取程序的功能如下支持第三方存儲(chǔ)目前支持阿里云,華為云,。iFileSpace 是一個(gè)在線個(gè)人文件管理工具,在線網(wǎng)盤(pán)程序,可快速一鍵搭建私人云盤(pán),支持本地存儲(chǔ)和對(duì)象存儲(chǔ)(目前支持阿里云oss,華為云obs,OneDrive), 如部署在公網(wǎng)服務(wù)器,可替代百度網(wǎng)盤(pán)等在線網(wǎng)盤(pán),自主搭建,數(shù)據(jù)完全自主管理!也可部署在家...

    Alex 評(píng)論0 收藏0
  • “以假亂真” 網(wǎng)絡(luò)釣魚(yú)活動(dòng)巧妙使用 UPS.com XSS 漏洞分發(fā)惡意軟件

    摘要:此漏洞允許威脅行為者通過(guò)遠(yuǎn)程工作人員分發(fā)惡意文檔,但使其看起來(lái)像是直接從下載的。目前顯示,的跨站漏洞已經(jīng)修復(fù)。而以上釣魚(yú)攻擊利用的是中第二普遍的安全問(wèn)題,存在于近三分之二的應(yīng)用中。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidde...

    KoreyLee 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<