标签 Proxy 下的文章

应佬友的要求再出一篇文章,前面薅了 wispbyte.com 的羊毛,但是吧容器性能比较弱,强一点的就是 huggingface.co 免费的容器:

Free 版本就是 2vCPU 和 16GB RAM,就已经非常强了

那先介绍一下 huggingface,其实这是一家非常强悍的公司,可以称作是 “AI 界的 GitHub”,可以分享模型,数据集,然后演示应用。

我们用到的就是这个演示应用(Spaces)

首先注册好账号,然后右上角点击头像按钮,新建一个 Space

然后填入必须项

  • Space name:就写 myhome,随便来一个好记得

  • Short description:Save Our Home

  • License:MIT

  • SDK:选择 Docker

  • Docker template: 选择 Blank

  • Space hardware:选择 Free

其它都不选,最后 Create Space 即可

然后就建好了,其实是给你开了一个 git 的 repo

我们到右上角,选择 Files 选项

薅大善人 Huggingface 和 Cloudflare 羊毛自建代理的方法3

然后打开的文件页面,只有两个文件

老套路,建立一个 Dockerfile 文件,就是容器的打包文件,注意文件名大小写,第一个字母是大写

Dockerfile.txt (202 Bytes)

然后我们把 index.js 文件准备好,需要修改几个地方

index.js.txt

其中几个地方有修改,先看看 huggingface 给咱们的域名,右边,Settings 右边的三个点按钮,

点开,然后点 Embed this Space

看 src 那里,大善人给了咱们一个免费的域名,这个域名是自带证书的!!!我们把域名拷贝下来

记好了,cf 那里还要用

然后根据实际情况修改 index.js

const DOMAIN = process.env.DOMAIN || 'xxx.qzz.io';   // 填写最后大善人出定的域名域名 const SUB_PATH = process.env.SUB_PATH || 'sub';                    // 获取节点的订阅路径,最好改掉 

改完后是这样的:

然后改好了,别急着贴进去:

去到 https://obfuscator.io/legacy-playground

贴进去代码,混淆一下,弄成谁也认不得的模样,然后 Copy,再贴进去

然后再建立 package.json 文件

package.json.txt (291 Bytes)

{ "name": "js02", "version": "0.0.2", "description": "Nodejs-server", "main": "index.js", "private": false, "scripts": { "start": "node index.js" }, "dependencies": { "ws": "^8.14.2", "axios": "^1.12.2" }, "engines": { "node": ">=14" } } 

再建立 index.html 文件,这是个用来装饰的环保单页面,如果不加,就会显示 hello world,太假了,可以让 gemini 给你生成一个:

index.txt

那就一切完工,看下都有什么文件:

一切就绪,点击 App 运行:

那会看到运行完毕,开了 7860 这个端口

那直接点击左上的 myhome 链接,就能看到环保页面了。

那大善人 huggingface 就弄好了。

解释一下具体原理:

huggingface 跑了个前置的 Nginx 或 Caddy 或 traefik 代理,自动申请了证书,代理后端容器的 7860 端口,为什么是 7860 端口呢?

因为最常见的用途是托管基于 Gradio 构建的机器学习模型演示。Gradio 是一个非常流行的 Python 库,用于快速创建交互式 Web 界面来展示 ML 模型。它的默认启动端口就是 7860。

那接着我们去薅大善人 cloudflare,首先弄好一个域名并托管到 CF 上面,比如免费的 qzz.io

点开左边的菜单:Build –> Compute & AI –> Workers & Pages

新建一个应用,Create application

然后选 Start with Hello World!

然后就会建出一个应用来,点击编辑代码,Edit Code

把代码中 username-spacename.hf.space 换成自己的域名

 export default {
    async fetch(request, env) {
        let url = new URL(request.url);
        if (url.pathname.startsWith('/')) {
            var arrStr = [
                'username-spacename.hf.space', // 此处单引号里填写你的节点伪装域名
            ];
            url.protocol = 'https:'
            url.hostname = getRandomArray(arrStr)
            let new_request = new Request(url, request);
            return fetch(new_request);
        }
        return env.ASSETS.fetch(request);
    },
};
function getRandomArray(array) {
  const randomIndex = Math.floor(Math.random() * array.length);
  return array[randomIndex];
}

这段程序就是简简单单一个代理,不加任何缓存,因为我们的数据包不会有重样的。

然后点 Deploy ,部署

返回这个 worker 的空间,点击 Settings,下面的 Domains & Routes ,右边点击 +Add

弹出的对话框,选择 Custom domain

然后起个自己心满意足的域名,CF 大善人会自动生成 dns 记录

点击 Add domain 就完事了。

然后我们打开我们心满意足的域名:

环保页面,然后打开我们的订阅页面,缺省是 /sub,当然改成只有自己知道的路径为好

出现订阅的 Base64 字符就 ok 了。

薅大善人 Huggingface 和 Cloudflare 羊毛自建代理的方法22

我们用 v2rayN 导入即可。

完工,还是说一下原理:

利用 cf 大善人的网络代理加速,利用 hug 大善人的免费域名和证书,达到我们的目的

最后,这个的 index.js 和上一篇的不同啊,唯一区别就是端口,hug 端口肯定是 443,而 wispbyte 的端口是非标的。

注意注意!!!

同样也扔到自己博客了一份: huggingface.co 薅羊毛记 | 八戒的技术博客


📌 转载信息
原作者:
defunct9
转载时间:
2026/1/6 17:33:35