网站首页 > 博客文章 正文
大家好,又见面了,我是 GitHub 精选君!
今天要给大家推荐一个 GitHub 开源项目 ngrok/ngrok-go,该项目在 GitHub 有超过 300 Star,用一句话介绍该项目就是:“The ngrok agent in library form, suitable for integrating directly into your Go application.”,方便使用 Go 集成的 ngrok 反向代理工具库。
ngrok-go 是用 Go 语言编写的 ngrok 的实现。ngrok 是一个反向代理工具,它可以将本地运行的服务暴露到公网上,并为其生成一个可以访问的公网 URL。这样就可以在本地开发环境中进行远程调试和测试。ngrok-go 是一个轻量级工具,它可以在命令行中简单配置和使用,支持 http, https, tcp, tls 等协议,可以在项目地址 https://github.com/inconshreveable/ngrok 上进行下载和查看源代码。
以下是该项目 Star 趋势图(代表项目的活跃程度):
如何安装使用
ngrok-go 项目可以通过多种方式安装,下面是几种常见的方法:
1、通过 go get 安装:
go get -u github.com/inconshreveable/ngrok
2、下载二进制文件安装: 你可以在 https://github.com/inconshreveable/ngrok/releases 这里下载最新版本的二进制文件,并将其放到你的 PATH 中。
3、通过包管理器安装: 在 Debian / Ubuntu 上,可以使用 apt 安装:
sudo apt-get install ngrok-client
在 Fedora / CentOS 上,可以使用 yum 安装:
sudo yum install ngrok
在安装完成后,可以使用 ngrok 命令来启动和配置 ngrok-go。 使用 ngrok --help 查看更多命令行选项。
请注意,在使用 ngrok 之前,你需要到 ngrok 官网 (https://ngrok.com/) 注册并获取一个 authtoken.
在使用 ngrok 之前可以先配置一下配置文件,也可以在运行命令的时候进行配置,可以参考官网文档来了解更多。
使用示例 DEMO
以下是一个简单的 ngrok-go 示例代码,它将本地的 3000 端口暴露到公网上:
package main
import (
"fmt"
"log"
"net/http"
"github.com/inconshreveable/ngrok"
)
func main() {
// Start a local web server
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "Hello, World!")
})
go http.ListenAndServe(":3000", nil)
// Connect ngrok to the local web server
ngrokUrl, err := ngrok.Start("http", "3000")
if err != nil {
log.Fatal(err)
}
// Print the public ngrok URL
fmt.Println(ngrokUrl)
}
在运行上面的代码之前,需要在你的系统上安装 ngrok-go 并获取一个 authtoken。
运行上面的程序后,将会在终端输出一个 ngrok 提供的 URL。 你可以将这个 URL 分享给其他人,让他们访问你本地运行的服务。
更多项目详情请查看如下链接。
开源项目地址:https://github.com/ngrok/ngrok-go
开源项目作者:ngrok
以下是参与项目建设的所有成员:
关注我们,一起探索有意思的开源项目。
猜你喜欢
- 2025-04-30 Go爱好者周刊:第 64 期—goup这个工具了解下
- 2025-04-30 网络游戏玩家为什么需要使用代理IP?
- 2025-04-30 Golang下载安装与配置(golang怎么安装)
- 2025-04-30 go-zero开发一个简单的查询服务(go语言查询数据库)
- 2025-04-30 完美正式代理CS:GO,热泪盈眶啊,终于不用被全球服坑了!
- 2025-04-30 CS:GO国服新传言:完美或代理 官方不予置评
- 2025-04-30 seata-golang 接入指南(seatam)
- 2025-04-30 代理ip是干嘛的?使用代理ip有什么用处?
- 2025-04-30 go-admin开源项目,快速搭建一个管理后台系统,直接二次开发上线
- 2025-04-30 网上免费的代理IP是怎么来的呢?(网络免费代理)
你 发表评论:
欢迎- 07-08Google Cloud Platform 加入支持 Docker 的容器引擎
- 07-08日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 07-08美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- 07-08GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 07-08谷歌推出Cloud Dataproc,缩短集群启动时间
- 07-08Infovista与Google Cloud携手推进射频网络规划革新
- 07-08比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- 07-08BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- 最近发表
-
- Google Cloud Platform 加入支持 Docker 的容器引擎
- 日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 谷歌推出Cloud Dataproc,缩短集群启动时间
- Infovista与Google Cloud携手推进射频网络规划革新
- 比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- NCSA和Google Cloud合作开发AI驱动的网络防御系统,加强泰国网络空间的安全性
- SAP将在沙特阿拉伯 Google Cloud 上推出BTP服务
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)