聊聊第一个开源项目(内网穿透) - CProxy

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475
文章首发:聊聊第一个开源项目 - CProxy 作者:会玩code

初衷

最近在学C++,想写个项目练练手。对网络比较感兴趣,之前使用过ngrok(GO版本的内网穿透项目),看了部分源码,想把自己的一些优化想法用C++实现一下,便有了这个项目。

项目介绍

CProxy是一个反向代理,用户可在自己内网环境中启动一个业务服务,并在同一网络下启动CProxyClient,用于向CProxyServer注册服务。CProxyClient和CProxyServer之间会创建一个隧道,外网可以通过访问CProxyServer,数据转发到CProxyClient,从而被业务服务接收到。实现内网服务被外网访问。

项目地址

https://github.com/lzs123/CProxy.git

使用方法

bash build.sh
// 启动服务端
{ProjectDir}/build/server/Server --proxy_port=8090 --work_thread_nums=4
(另一个终端) 
// 启动客户端
{ProjectDir}/build/client/Client --local_server=127.0.0.1:7777 --cproxy_server=127.0.0.1:8080

项目亮点

  • 使用epoll作为IO多路复用的实现
  • 数据转发时,使用splice零拷贝,减少IO性能瓶颈
  • 数据连接和控制连接接耦,避免互相影响
  • 采用Reactor多线程模型,充分利用多核CPU性能

流程架构

角色

  1. LocalServer: 内网业务服务
  2. CProxyClient: CProxy客户端,一般与LocalServer部署在一起,对接CProxyServer和InnerServer
  3. CProxyServer: CProxy服务端
  4. PublicClient:
内网穿透Frp开源部署!Windows/linux/OpenWrt/Nas/Ikuai Frp 各种版本的Frp内网穿透 Windows/linux/OpenWrt/Nas/Ikuai 阅读详情

相关推荐

内网穿透,c++实现,无需公网IP,小巧,易用,快速,安全,最好的多链路聚合(p2p+proxy)模式

内网穿透,c++实现,无需公网IP,小巧,易用,快速,安全,最好的多链路聚合(p2p+proxy)模式,这才是你真正想要的内网穿透工具!.zip

探索智能的边界:CProxy - 玩转HTTP代理的新维度

探索智能的边界:CProxy - 玩转HTTP代理的新维度 去发现同类优质开源项目:https://gitcode.com/ 1、项目介绍 欢迎来到CProxy的世界,这是一个与众不同的HTTP连接代理。在众多的代理软件中,CProxy脱颖而出,因为它能够巧妙地处理TLS连接,并保留客户端IP地址,无需解密和重新加密流量,确保了安全性和效率的双重提升。 CProxy的设计理念是作为一个库,方便扩展...

gitblog_00049的博客 564

基于C语言内网穿透xfrpc客户端设计源码

该项目是采用C语言开发内网穿透xfrpc客户端源码,包含2126个文件,其中包括923个C源文件、430个头文件、197个Python脚本、68个信息文件及其他多种类型文件。该客户端适用于在openwrt系统上运行的路由器,对硬件配置要求较低,便于在资源受限的环境下使用。

Cproxy 项目使用教程

Cproxy 项目使用教程 1. 项目介绍 Cproxy 是一个用 Go 语言编写的简单、显式的 HTTP CONNECT 隧道代理。它主要用于在 HTTP 请求中实现 CONNECT 方法,从而建立与远程服务器的隧道连接。Cproxy 支持多种功能,如自定义过滤器、HTTP 请求头修改、IP 限制等,适用于需要在客户端和服务器之间建立安全连接的场景。 2. 项目快速启动 2.1 环境准备 确保你...

gitblog_00306的博客 448

基于python实现的内网穿透工具 (proxynt)

1. 随时随地打开浏览器管理端口映射 2. 公网服务器和内网客户端之间使用 WebSocket 加密传输 3. 依赖少, 使用 pip一键安装 4. 稳定, 自动重连, 已在生产环境中使用

wktadmin 7457

C++高性能网络服务保姆级教程

C++高性能网络服务器保姆级系列教程 教程项目仓库地址:https://github.com/lzs123/CProxy.git

zsgg123的博客 248

C语言写的proxy服务器

#include <stdio.h> //std library #include <string.h> #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> #include <netinet/in.h> /*struct sockaddr_in*/ #include <netinet/ip.h> #include <unistd...

gtinlian的博客 1086

CProxy项目推荐

CProxy项目推荐 项目基础介绍和主要编程语言 CProxy是一个基于epoll实现的C++版内网穿透工具。该项目旨在帮助用户在内网环境中启动业务服务,并通过CProxyClient向CProxyServer注册服务,从而实现内网服务被外网访问。CProxy使用C++作为主要的编程语言,充分利用了C++的高性能和灵活性。 项目核心功能 内网穿透CProxy允许用户在内网环境中启动业务服务,并...

gitblog_00277的博客 316

cproxy 项目使用教程

cproxy 项目使用教程 1. 项目的目录结构及介绍 cproxy 项目的目录结构如下: cproxy/ ├── examples/ │ └── basic/ ├── LICENSE ├── README.md └── main.go 目录结构介绍 examples/: 包含一些示例代码,展示了如何使用 cproxy 项目。 basic/: 基本的示例代码,展示了如何配置和启动 cpr...

gitblog_01018的博客 714

CProxy 开源项目教程

CProxy 开源项目教程 项目介绍 CProxy 是一个高性能的代理服务器项目,旨在提供简单、高效的网络代理解决方案。它支持多种协议,包括 HTTP、HTTPS 和 SOCKS5,适用于各种网络环境。CProxy 的设计理念是轻量级和易于扩展,使得开发者可以快速集成和定制代理功能。 项目快速启动 环境准备 在开始之前,请确保您的系统已经安装了以下软件: Git Go (版本 1.16 或更高)...

gitblog_01037的博客 685

commons-proxy-1.0 动态代理, 拦截器.

1.动态代理    首先顶一个接口 Echo  接口中有一个方法echoBack() public interface Echo {     public String echoBack(String message);     public String echoBack(String message1, String message2);     public String echo

u013625182的博客 384

学习记录:内网穿透+ShellCode+C++语言二次编译 免杀绕过火绒 渗透Win10提取密码

攻击机:Kali (虚拟机)靶机: Windows 10 22H2 版本 10.0.19045(物理机)工具:MSF,VS,花生壳通过C++二次编译制作免杀木马,绕过火绒检测,实现对靶机的控制,windows本地提权,获取并破解用户密码。今天又进步了一点点,之后打算去打基础了,一步一步来。但毕竟做任何事都要有些动力的,做一个ScriptsKids反倒可以增加自己的兴趣和动力呢。🎉✨免责声明:本文仅作学习、深研而用,若有犯罪行为,一切后果自负,与本文作者无关。

qq_60709081的博客 2927

运用 ccproxy8.0 进行代理服务器简单部署

实验平台为windows server 2003

克隆大菠萝的超市 1万+

内网穿透的实现

这个例子中,我们在本地8080端口启动了一个Netty服务端,然后连接到远程主机的80端口。当有数据从本地端口接收时,会将数据发送到远程主机,反之亦然。

u010905359的博客 613

2023最新全开源CCPROXY卡密管理系统/用户在线管理Socket通讯

3.卡密显示时长UI ajax getkami 新增方法 KamiPaeseString。4.更新ccproxy.php enddate 更新卡密状态方法。上传程序后,打开你的域名根据提示进行安装程序。5.更新后台UI网站统计图为动态显示。6.更新首页适应小屏幕手机。2.更新域名与IP的验证。V1.5.2 更新日志。1.更新卡密时长类型。必须使用PHP7.4。

fsgreg的博客 3700

梳理10个开源或者国产的内网穿透工具

ZeroNews在提供基本穿透功能的同时,特别强调数据传输的安全性和用户隐私保护,采用端到端加密设计,是比较新兴的内网访问解决方案服务商,较适合中小企业使用。l 指定子域名:ssh -R myapp.s****.net:80:localhost:3000 s*****.net。作为国内历史悠久的内网穿透服务商,花生壳提供从软件到硬件的完整解决方案,覆盖个人到企业全场景。

2501_93723034的博客 1739

C语言Windows公网转发工具(内网穿透

C语言Windows公网转发工具(内网穿透

cjc19940113的博客 1731

Java通过socket进行内网穿透简单实现(附源码)

Java通过socket进行内网穿透简单实现需求背景需求背景1分析需求背景2分析 需求背景 ##背景1,如图,需要实现家里电脑能访问公司的Git代码服务器,实现从家里就能提交git代码的目的。 ##背景2,如图,有内网1和内网2,2个内网里面的2台机器如192.168.56.101,172.168.201.20两台,都不能上网,需要实现能互相通信。 需求背景1分析 对于背景1的需求,属于较常用的内网穿透功能,网上有开源的方案如go语言实现的frp,本次为了学习,通过Java的socket编程,进

冰之杍的博客 8507
上一篇: Python “爬虫“出发前的装备之二数据先行( Requests 模块)
下一篇: 深入Mybatis框架
pythonxxoo
博客等级 码龄5年 337粉丝 670原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值