Ubuntu+Docker实战:手把手教你整合MyIP与cpolar实现内网穿透

Ubuntu+Docker实战:手把手教你整合MyIP与cpolar实现内网穿透

文章目录

前言

技术探索者们请注意!我们即将揭晓一项突破性网络技术方案——MyIP 系统!这项创新技术颠覆了传统网络部署模式,即使在缺乏固定公网地址且不依赖云端架构的前提下,您依然能够搭建个性化的 IP 控制体系。借助这一智能平台,用户将获得持续在线的远程操控权限,如同配备了全天候值守的网络运维专家。接下来,我们将详细解析在 Ubuntu 操作系统中实施部署的具体步骤,并融合 cpolar 的内网穿透技术,打造稳定高效的远程连接方案!

1.关于 MyIP

MyIP 就是一个集多种网络工具于一身的小能手。它可以帮你查看本地公网 IP、查询任意 IP 的信息(国家、地区、ASN 等),甚至还有网速测试、DNS 泄露检测等功能!最关键的是,它完全免费开源,界面简洁到让人爱不释手,操作起来就像玩游戏一样轻松愉快。

而且听说它的 2.0 版本 70%的代码都是通过 ChatGPT 写的哦,虽然现在 3.0 版本这个比例降到了 40%-50%,但依然是 AI 技术的一大亮点!目前在 GitHub 上已经收获了 7.6k 颗星星,可见其受欢迎程度!

image-20250303135656103

MyIP 还支持根据系统设置切换黑白天模式。支持中文、英文、法文。

2.Docker 部署

本例使用 Ubuntu 22.04 进行演示,使用 Docker 进行部署,如果没有安装 Docker,可以查看这篇教程进行安装:《Docker 安装教程——Linux、Windows、MacOS》

输入这行命令一键部署

sudodocker run -d-p18966:18966 --name myip --restart always jason5ng32/myip:latest 
image-20250303104744831

打开浏览器输入 localhost:18966,就能看到 MyIP 的主页面了

image-20250303105247572

3.MyIP 简单使用

右上角设置可以更换语言和主题等等。

image-20250303105730216

网络连通性

image-20250303105625549

WebRTC 测试

image-20250303105852479

DNS 泄露测试

image-20250303105807392

测个网速看看

MTR 测试

image-20250303110016006

下方还有更多工具等你尝试~

image-20250303110235696

4.安装 cpolar 内网穿透

不过我们目前只能在本地局域网内访问刚刚部署的 MyIP,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它,应该怎么办呢?我们可以使用 cpolar 内网穿透工具来实现远程访问的需求。无需公网 IP,也不用准备云服务器那么麻烦。

下面是安装 cpolar 步骤:

Cpolar 官网地址:https://www.cpolar.com

使用一键脚本安装命令:

sudocurl https://get.cpolar.sh |sh
img

安装完成后,执行下方命令查看 cpolar 服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar 
img

Cpolar 安装和成功启动服务后,在浏览器上输入 ubuntu 主机 IP 加 9200 端口即:【http://localhost:9200】访问 Cpolar 管理界面,使用 Cpolar 官网注册的账号登录,登录后即可看到 cpolar web 配置界面,接下来在 web 界面配置即可:

image-20240801133735424

5. 配置公网地址

登录 cpolar web UI 管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:myip,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:18966
  • 域名类型:随机域名
  • 地区:选择 China Top

点击创建:

image-20250303141457963

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。

image-20250303141554214

现在就已经成功实现使用 cpolar 生成的公网地址异地远程访问本地部署的 MyIP 啦!

小结

为了方便演示,我们在上边的操作过程中使用 cpolar 生成的 HTTP 公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在 24 小时内会发生随机变化,更适合于临时使用。

如果有长期使用 MyIP,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6. 配置固定公网地址

使用 cpolar 为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择 china top,然后设置一个二级子域名名称,我这里演示使用的是 myip,大家可以自定义。填写备注信息,点击保留。

image-20250303141933045

保留成功后复制保留的二级子域名地址:

image-20250303141951741

登录 cpolar web UI 管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道 MyIP,点击右侧的编辑

image-20250303142024620

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20250303142053168

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20250303142122551

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的 qwerty-learner 页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20250303142551267

了解更多项目详情大家可以访问作者 github 主页进行查看:https://github.com/jason5ng32/MyIP

总结

通过本指南的实践操作,您已系统掌握了 Ubuntu 系统下基于 Docker 架构部署 MyIP 系统的全流程操作,并成功整合 cpolar 技术搭建了高可用性的动态域名解析服务。这种技术组合不仅简化了网络架构的部署复杂度,更为不同层次的技术人员提供了高效的网络管理解决方案。经过本教程的实践,您已具备应对传统网络架构挑战的关键技能。建议持续关注本技术专栏,获取更多进阶教程。在实际应用中遇到技术瓶颈或产生创新构想时,欢迎积极参与开源社区的技术研讨,通过技术方案的深度碰撞,共同提升工程实践能力!

Read more

通过URI Scheme实现从Web网页上打开本地C++应用程序(以腾讯会议为例,附完整实现源码)

通过URI Scheme实现从Web网页上打开本地C++应用程序(以腾讯会议为例,附完整实现源码)

目录 1、需求描述 2、选择URI Scheme实现 3、何为URI Scheme? 4、将自定义的URL Scheme信息写入注册表的C++源码实现 5、如何实现最开始的3种需求 6、后续需要考虑的细节问题        之前陆续收到一些从Web页面上启动我们C++客户端软件的需求,希望我们能提供一些技术上的支持与协助,支持从Web网页上将我们的C++客户端软件启动起来。于是我大概地研究了相关的实现方法,下面把研究的过程与结果在此做一个分享,希望能给大家提供一个借鉴或参考。 C++软件异常排查从入门到精通系列教程(核心精品专栏,订阅量已达10000多个,欢迎订阅,持续更新...)https://blog.ZEEKLOG.net/chenlycly/article/details/125529931C/C++实战专栏(重点专栏,专栏文章已更新500多篇,订阅量已达8000多个,欢迎订阅,持续更新中...)https://blog.ZEEKLOG.net/

By Ne0inhk
2025年12月GESPC++一级真题解析(含视频)

2025年12月GESPC++一级真题解析(含视频)

视频讲解:GESP2025年12月一级C++真题讲解 一、单选题 第1题 解析: 答案B,“飞行控制系统执行判断”就是处理器 第2题 解析: 答案A,BCD都不会导致编译错误 第3题 解析: 答案A,for是关键字 第4题 解析: 答案C,逗号表达式,每个语句都执行,输出最后一个语句 第5题 解析: 答案B, 2+3*4%5 =2+12%5 =2+2 =4 第6题 解析: 答案A, b=a=4; =符号,从右往左执行 先执行a=4,返回4 b=返回结果4

By Ne0inhk
Re:从零开始的 C++ 入門篇(十一):全站最全面的C/C++内存管理的底层剖析与硬核指南

Re:从零开始的 C++ 入門篇(十一):全站最全面的C/C++内存管理的底层剖析与硬核指南

◆ 博主名称: 晓此方-ZEEKLOG博客 大家好,欢迎来到晓此方的博客。 ⭐️C++系列个人专栏: Re:从零开始的C++_晓此方的博客-ZEEKLOG博客  ⭐️踏破千山志未空,拨开云雾见晴虹。 人生何必叹萧瑟,心在凌霄第一峰 目录 0.1概要&序論 一,布局模型与常见误区解析 1.1C/C++内存布局 1.2内存布局易误解点 二,复习C语言的内存管理方法 2.1malloc 2.2calloc 2.3relloc 2.4free 2.5罗列常见的内存管理错误 三,C++内存管理方法 3.1new/delete管理体系 3.1.1开辟单个空间与释放 3.1.2开辟多个连续的空间与释放

By Ne0inhk

Visual C++运行库修复终极指南:彻底解决Windows程序兼容性问题

Visual C++运行库修复终极指南:彻底解决Windows程序兼容性问题 【免费下载链接】vcredistAIO Repack for latest Microsoft Visual C++ Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 当您在Windows系统上遇到"应用程序无法正常启动"、"缺少dll文件"、"0xc000007b错误"等困扰时,这往往意味着Visual C++运行库出现了问题。Visual C++运行库是Windows系统的核心组件,负责为各种软件和游戏提供必要的运行环境支持。本文将为您提供最全面、最实用的Visual C++运行库修复方案。 问题诊断篇:识别运行库故障的典型症状 常见错误提示分析: * "无法启动此程序,因为计算机中丢失MSVCP140.

By Ne0inhk