Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Help] 🤔 请问cloudflare的Tunnels隧道连接不稳定,有撒解决方法没呢? #352

Closed
1 task done
wangzhilin777 opened this issue Feb 16, 2024 · 20 comments
Closed
1 task done
Labels
help wanted Extra attention is needed

Comments

@wangzhilin777
Copy link

Confirmations

  • 我确认我已经仔细阅读了 Wiki, 并且已经搜索了已有的 issue, 并没有类似问题。

Describe the help wanted

Tunnels一会healty一会down的,隔几分钟就连不上,然后过一会又好,如此循环。有点难顶😂

Steps to behave

1

Expected behavior

1

Screenshots

No response

Deploy

CodeSandbox

OS & Version

codedandbox

Browser & Version

codedandbox

GoProxiBingAI Version

codedandbox

Additional context

1

@wangzhilin777 wangzhilin777 added the help wanted Extra attention is needed label Feb 16, 2024
@Harry-zklcdc
Copy link
Owner

自己加上 ngrok 或者n2n等其他方式的内网穿透

@wangzhilin777
Copy link
Author

自己加上 ngrok 或者n2n等其他方式的内网穿透

我是在codesandbox自定义域名的时候遇到的,请问这个可以弄这两种方式吗?

@Harry-zklcdc
Copy link
Owner

Harry-zklcdc commented Feb 16, 2024

可以

PS: CSB 要保活,不然就会一会断一会连

@wangzhilin777
Copy link
Author

可以

PS: CSB 要保活,不然就会一会断一会连

好像是没保活的原因,等我试试,谢谢解答。

@wangzhilin777
Copy link
Author

可以

PS: CSB 要保活,不然就会一会断一会连

你好,请问怎么保活呢?百度了半天没找到😂

@jsdianman
Copy link

可以

PS: CSB 要保活,不然就会一会断一会连

你好,请问怎么保活呢?百度了半天没找到😂

应该用replit的方法就可以了吧

@wangzhilin777
Copy link
Author

可以

PS: CSB 要保活,不然就会一会断一会连

你好,请问怎么保活呢?百度了半天没找到😂

应该用replit的方法就可以了吧

我试了用uptimerobot来保活,原地址和自定义域名都加上了,还是没法保活,不知道是不是cf自带cdn的原因,我ping了一下两个地址都是cf地址。

@MkStoler
Copy link

可以

PS: CSB 要保活,不然就会一会断一会连

@Harry-zklcdc 抱歉at您一句(如果打扰到了我十分抱歉!),但是我找了半天issues和百度也没找到保活方法呢😅
能讲解一下吗

@Harry-zklcdc
Copy link
Owner

我自己用的是Cloudflare worker定时任务,去发送请求

@MkStoler
Copy link

啊谢谢
我让Copilot帮忙写一个脚本就行了

我自己用的是Cloudflare worker定时任务,去发送请求

@wangzhilin777
Copy link
Author

啊谢谢 我让Copilot帮忙写一个脚本就行了

我自己用的是Cloudflare worker定时任务,去发送请求

脚本能分享一下吗?谢谢!

@MkStoler
Copy link

啊谢谢 我让Copilot帮忙写一个脚本就行了

我自己用的是Cloudflare worker定时任务,去发送请求

脚本能分享一下吗?谢谢!

不知能不能用:

// 定义要请求的域名
const domain = "example.com";

// 定义一个定时器,每隔一分钟执行一次
const timer = setInterval(() => {
  // 创建一个fetch请求
  const request = new Request(`https://${domain}`, {
    method: "GET",
    headers: {
      "User-Agent": "Cloudflare Workers"
    }
  });

  // 发送请求并获取响应
  fetch(request)
    .then(response => {
      // 如果响应状态码为200,表示请求成功
      if (response.status === 200) {
        // 读取响应的文本内容
        response.text().then(text => {
          // 打印页面信息
          console.log(`Page information from ${domain}:`);
          console.log(text);
        });
      } else {
        // 如果响应状态码不为200,表示请求失败
        console.error(`Request to ${domain} failed with status ${response.status}`);
      }
    })
    .catch(error => {
      // 如果发生错误,打印错误信息
      console.error(`Request to ${domain} failed with error ${error}`);
    });
}, 60000); // 一分钟的毫秒数

// 定义一个事件监听器,当收到请求时返回一个空响应
addEventListener("fetch", event => {
  event.respondWith(new Response());
});

@MkStoler
Copy link

啊谢谢 我让Copilot帮忙写一个脚本就行了

我自己用的是Cloudflare worker定时任务,去发送请求

脚本能分享一下吗?谢谢!

不知能不能用:

// 定义要请求的域名
const domain = "example.com";

// 定义一个定时器,每隔一分钟执行一次
const timer = setInterval(() => {
  // 创建一个fetch请求
  const request = new Request(`https://${domain}`, {
    method: "GET",
    headers: {
      "User-Agent": "Cloudflare Workers"
    }
  });

  // 发送请求并获取响应
  fetch(request)
    .then(response => {
      // 如果响应状态码为200,表示请求成功
      if (response.status === 200) {
        // 读取响应的文本内容
        response.text().then(text => {
          // 打印页面信息
          console.log(`Page information from ${domain}:`);
          console.log(text);
        });
      } else {
        // 如果响应状态码不为200,表示请求失败
        console.error(`Request to ${domain} failed with status ${response.status}`);
      }
    })
    .catch(error => {
      // 如果发生错误,打印错误信息
      console.error(`Request to ${domain} failed with error ${error}`);
    });
}, 60000); // 一分钟的毫秒数

// 定义一个事件监听器,当收到请求时返回一个空响应
addEventListener("fetch", event => {
  event.respondWith(new Response());
});

不行,不中用,我在修了

@MkStoler
Copy link

试一试新的(不行就换csb自带的域名):

// 定义要请求的域名
const domain = "example.com";

// 定义一个函数,用于向指定域名发送请求并获取页面信息
async function getPageInfo() {
  // 创建一个fetch请求
  const request = new Request(`https://${domain}`, {
    method: "GET",
    headers: {
      "User-Agent": "Cloudflare Workers"
    }
  });

  try {
    // 发送请求并获取响应
    const response = await fetch(request);
    // 如果响应状态码为200,表示请求成功
    if (response.status === 200) {
      // 读取响应的文本内容
      const text = await response.text();
      // 打印页面信息
      console.log(`Page information from ${domain}:`);
      console.log(text);
    } else {
      // 如果响应状态码不为200,表示请求失败
      console.error(`Request to ${domain} failed with status ${response.status}`);
    }
  } catch (error) {
    // 如果发生错误,打印错误信息
    console.error(`Request to ${domain} failed with error ${error}`);
  }
}

// 定义一个事件监听器,当收到请求时执行定时器
addEventListener("fetch", event => {
  // 定义一个定时器,每隔一分钟执行一次
  const timer = setInterval(getPageInfo, 60000); // 一分钟的毫秒数
  // 返回一个空响应
  event.respondWith(new Response());
});

@Harry-zklcdc
Copy link
Owner

const CSB_SERVER = '';

export default {
  async scheduled(event, env, ctx) {
    let newReq = new Request(CSB_SERVER, {
      method: 'GET',
    })
    await fetch(newReq)
    console.log('CodeSandbox Request')
  },
};

然后配置 cron
image

@wangzhilin777
Copy link
Author

const CSB_SERVER = '';

export default {
  async scheduled(event, env, ctx) {
    let newReq = new Request(CSB_SERVER, {
      method: 'GET',
    })
    await fetch(newReq)
    console.log('CodeSandbox Request')
  },
};

然后配置 cron image

const CSB_SERVER = '';

export default {
  async scheduled(event, env, ctx) {
    let newReq = new Request(CSB_SERVER, {
      method: 'GET',
    })
    await fetch(newReq)
    console.log('CodeSandbox Request')
  },
};

然后配置 cron image

好的,谢谢,已经弄好了

@gclm
Copy link

gclm commented Feb 19, 2024

const CSB_SERVER = '';

export default {
  async scheduled(event, env, ctx) {
    let newReq = new Request(CSB_SERVER, {
      method: 'GET',
    })
    await fetch(newReq)
    console.log('CodeSandbox Request')
  },
};

然后配置 cron image

这个CSB_SERVER 配置的是那个?能提供一下示例吗?

@wangzhilin777
Copy link
Author

const CSB_SERVER = '';

export default {
  async scheduled(event, env, ctx) {
    let newReq = new Request(CSB_SERVER, {
      method: 'GET',
    })
    await fetch(newReq)
    console.log('CodeSandbox Request')
  },
};

然后配置 cron image

这个CSB_SERVER 配置的是那个?能提供一下示例吗?

csb给你的8080端口的网址就行

@ychappyboy
Copy link

const CSB_SERVER = '';

export default {
  async scheduled(event, env, ctx) {
    let newReq = new Request(CSB_SERVER, {
      method: 'GET',
    })
    await fetch(newReq)
    console.log('CodeSandbox Request')
  },
};

然后配置 cron image

这个CSB_SERVER 配置的是那个?能提供一下示例吗?

csb给你的8080端口的网址就行

你好,按照这个设置了,怎么还是无法保活呢

@jjyung168
Copy link

const CSB_SERVER = '';

export default {
  async scheduled(event, env, ctx) {
    let newReq = new Request(CSB_SERVER, {
      method: 'GET',
    })
    await fetch(newReq)
    console.log('CodeSandbox Request')
  },
};

然后配置 cron image

这个CSB_SERVER 配置的是那个?能提供一下示例吗?

csb给你的8080端口的网址就行

请问我设置了CSB的8080端口网址 然后CORN也设置了10分钟 还是失败了 你是怎么设置的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

7 participants