Giter Site home page Giter Site logo

changsongyang / bullet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from joggle-cn/joggle

0.0 1.0 0.0 52.38 MB

【主线】基于Ngrok内网穿透开源项目,稳定、高效的内网穿透系统。私有部署、云服务。

Home Page: http://www.joggle.cn/

Java 10.99% HTML 5.49% JavaScript 63.10% FreeMarker 0.61% CSS 19.41% Shell 0.09% PLpgSQL 0.20% Groovy 0.07% Dockerfile 0.03%

bullet's Introduction

Bullet 反向代理内网穿透服务器

基于Java实现,通过WebSocket全双工长连接技术, 将请求信息通过WebSocket链接发送给链接的客户端。

Bullet 特性

  • 稳定、高效;
  • 断连重试机制,链接断后间隔10s尝试连接;
  • 真真意义的反向代理,长连接反向请求;
  • 支持Http、Https协议、TCP/IP协议;
  • 基于Ngrok实现保证请求响应数据的安全性,Ngrok内部通过rsa算法加密;

image

Ngrok强势入驻,由于Ngrok在内网穿透这块确实稳定,故不再造轮子,在轮子的基础上做了优化,支持Server端Web管理。

目前仅对Mac环境做了适配,需要其他环境替换bin/ngrok命令.

LICENSE 996.icu

Bullet 逻辑架构

image

Bullet 项目结构

目录 说明
bullet-common 公共模块,包含加密、日志配置、Bullet协议、Builer结构
bullet-client Bullet客户端代理程序,主要控制Ngrok客户端协同操作
bullet-server Server端为服务端主控程序,提供系列接口供Web前端页面调用,控制Client操作Ngrok客户端
bullet-codemaker 本人比较懒,用的Mybatis-Plus生成代码

ngrok 客户端与服务端 编译

http://www.yl-blog.com/article/608.html

本项目需要手动编译对应平台ngrok命令替换项目中的ngrok命令。

编译Client & Server

编译

mvn install

进入到bullet目录运行程序

cd Client

./bin/bullet

启动客户端

./bin/bullet

具体参考文档:《客户端Readme.md》

服务端安装

服务器端需要占用一个通道端口,写死在代码中的8081端口。

1、先将数据库初始化好(见databases目录中)

2、修改Server项目中的config.properties 配置文件。

3、打Springboot jar包

cd Server

# 打服务端包
mvn install

# 使用SpringBoot启动方式启动服务端

java -Djava.security.egd=file:/dev/./urandom -jar target/server-1.0-SNAPSHOT.jar --spring.profiles.active=dev

5、使用域名泛解析到服务器IP。

bullet's People

Contributors

wuweiit avatar dependabot[bot] avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.