使用
kotlin编写程序, 并打包为jar运行 使用了kotlin-coroutines协程来提高运行效率
- 使用
Socket连接到目标服务器, 使用SocketServer来监听本地服务 - 创建两个协程来交换数据
- 本项目使用
gradle来编译项目, 并使用ShadowJar将代码编译为Jar - 使用
./gradlew build(Linux,Unix) |.\gradlew.bat build(Windows) 编译 - 编译后的jar文件在
./build/libs/<ArtifactsName>-all.jar请运行-all包含在文件名内的jar文件 -
在
IntelliJ IDEA中使用Ctrl+F9编译项目并不出出现-all字样在文件名内, 请直接运行输出的jar文件
- 你可以在jar文件同级目录下创建
config.txt里面包含以下内容:- localHost:
<Local Host> - localPort:
<Local Port> - remoteHost:
<Remote Host> - remotePort:
<Remote Port>
- localHost:
- 请将冒号后的配置替换为你所需要的配置
运行反代
$ java -jar ReverseProxy.jar 0.0.0.0 80 localhost 8000运行后端
$ python3 -m http.server测试
$ curl http://localhost