當前位置:網站首頁>利用騰訊雲函數搭建免費代理池

利用騰訊雲函數搭建免費代理池

2022-05-14 18:28:01YsterCcc

前言

最近聽師傅有提到雲函數搭建代理池能實現代理功能來隱藏ip,原理是利用雲函數可以對外發包的功能再配合vps上socks服務,這裏記錄一下搭建過程

雲函數(Serverless CloudFunction,SCF)是雲計算廠商為企業和開發者們提供的無服務器執行環境,可在無需購買和管理服務器的情况下運行代碼是實時文件處理和數據處理等場景下理想的計算平臺。只需使用 SCF平臺支持的語言編寫核心代碼並設置代碼運行的條件,即可在某雲基礎設施上彈性、安全地運行代碼。

原理

雲函數(SCF)可通過 API 網關觸發器進行觸發,接受來自客戶端的數據,並將請求轉發出去。因為雲函數擁有非常多的出口IP,利用雲廠商提供的雲函數(函數計算)功能,將客戶端的HTTP請求進行轉發,就能達到代理的功能,那如何將請求轉發過去呢,這裏再利用socks代理對其進行連接然後將我們的請求通過搭建的socks轉發過去。這裏雲函數和socks都作為橋梁,雲函數一側對VPS發起連接,另一側對目標服務器發起連接,socks接受我們的請求轉發到雲函數那邊

在這裏插入圖片描述原理的細節可以看看淺談雲函數的利用面

搭建

這裏搭建主要分為三部分,vpn上SCFProxy搭建socks服務端、騰訊雲上配置雲函數、本地代理配置。配置用到的環境

1.騰訊雲(免費注册,下面有鏈接)
2.vpn(阿裏雲centos7)
  (1).python3.8.3(必須3.8以上)
3.火狐插件FoxyProxy或Proxifier代理軟件

vpn上SCFProxy搭建socks服務端

這裏用到了師傅的SCFProxy項目,這裏首先就是上傳SCFProxy項目到VPS上,上傳成功後進入到SOCKS5文件夾中執行命令

python3 -m venv .venv    //python新建虛擬環境
source .venv/bin/activate   //進入虛擬環境
pip3 install -r requirements.txt   //python3必須3.8以上。

這裏下載完成後先配置下面的兩個操作,然後再回來運行socks服務端,運行時我是退出虛擬環境又跑到本機上運行了。

python3 socks5.py -u "API訪問路徑" -bp 監聽端口 -sp socks端口 --user user --passwd pass
eg: python3 socks5.py -u https://service--------tencentcs.com/release/helloworld -bp 19020 -sp 19022端口 --user yster --passwd pass

騰訊雲雲函數

騰訊雲控制臺

在這裏插入圖片描述
進入控制臺後新建服務
在這裏插入圖片描述
這個是新版的編輯器,在這個py文件中寫入之前下載項目中的SCFProxy-main/SOCKS5/src/server.py文件

import json
import socket
import select


bridge_ip = ""
bridge_port = 1234


def main_handler(event, context):
    data = json.loads(event["body"])
    out = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    out.connect((data["host"], data["port"]))

    bridge = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    bridge.connect((bridge_ip, bridge_port))
    bridge.send(data["uid"].encode("ascii"))

    while True:
        readable, _, _ = select.select([out, bridge], [], [])
        if out in readable:
            data = out.recv(4096)
            bridge.send(data)
        if bridge in readable:
            data = bridge.recv(4096)
            out.send(data)

在這裏插入圖片描述
這裏的IP填vps的ip,port就是運行時候用到的bp值(比如說我這裏填的19020),有寶塔的也得在寶塔上把端口放行,這裏再把超時時間設置為最大,這樣一個socks會話最多能維持15min
在這裏插入圖片描述

配置完成後保存然後配置觸發管理,設置為API網關觸發
在這裏插入圖片描述
這是創建完成的樣子,下面這個路徑就是運行時用到的"API訪問路徑"
在這裏插入圖片描述

代理軟件

網上都是用的Proxifier,這裏我就用火狐插件FoxyProxy,感覺會更簡單一些
在這裏插入圖片描述
簡簡單單一張配置圖,代理類型必須SOCKS5不然後面瘋狂報錯67,ip填自己的vps地址,端口是運行時候的sp值,用戶名密碼就是運行時的user、passwd

留一個我自己當時開啟的命令

python3 socks5.py -u https://service--------tencentcs.com/release/helloworld -bp 19020 -sp 19022端口 --user yster --passwd pass

最後的執行效果
在這裏插入圖片描述在這裏插入圖片描述

在這裏插入圖片描述
ip一直在更換而且是香港地區的ip,感覺訪問GitHub速度有加快,不過穀歌還是打不開,玩一玩還是挺有意思的

參考利用雲函數搭建免費代理池
參考利用騰訊雲函數(SCF)搭建免費代理池
參考淺談雲函數的利用面

版權聲明
本文為[YsterCcc]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/134/202205141745416362.html

隨機推薦