Skip to content

Commit

Permalink
Merge pull request #26 from zema1/fix-websphere
Browse files Browse the repository at this point in the history
Feat: support webshpere
  • Loading branch information
zema1 authored May 17, 2023
2 parents 70bc600 + d79b810 commit a560a04
Show file tree
Hide file tree
Showing 21 changed files with 473 additions and 267 deletions.
73 changes: 68 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Run go tests
on:
push:
pull_request:
permissions:
contents: read
jobs:
Expand Down Expand Up @@ -126,7 +125,72 @@ jobs:
./suo5 -debug -t ${{ env.SUO5_URL }} -T https://www.bing.com -mode full
./suo5 -debug -t ${{ env.SUO5_URL }} -T https://www.bing.com -mode half
websphere-test:
name: WebSphere
needs: build-binary
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
image:
- websphere-liberty:23.0.0.3-full-java8-ibmjava
- websphere-liberty:23.0.0.4-full-java11-openj9
- websphere-liberty:22.0.0.9-full-java11-openj9
- websphere-liberty:22.0.0.12-full-java17-openj9
deploy:
- /config/dropins
env:
SUO5_URL: http://127.0.0.1:9080/assets/suo5.jsp
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions
with:
jar: true
- run: |
set -ex
docker run -it --rm -d -p9080:9080 --name webshpere-test \
-v ${{ github.workspace }}/assets:${{ matrix.deploy }} \
${{ matrix.image }}
docker ps -a
bash ./.github/workflows/ready.sh http://127.0.0.1:9080 60
sleep 10
curl -v ${{ env.SUO5_URL }}
chmod +x ./suo5
./suo5 -debug -t ${{ env.SUO5_URL }} -T https://www.bing.com
./suo5 -debug -t ${{ env.SUO5_URL }} -T https://www.bing.com -mode full
./suo5 -debug -t ${{ env.SUO5_URL }} -T https://www.bing.com -mode half
tongweb-test:
name: TongWeb
needs: build-binary
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- image: boyingking/tongweb-auto
deploy: /home/tw6/tongweb6/applications/console/assets
env:
SUO5_URL: http://127.0.0.1:9060/console/assets/suo5.jsp
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions
with:
jar: true
- run: |
set -ex
docker run -it --rm -d -p9060:9060 --name tongweb-test \
-v ${{ github.workspace }}/assets:${{ matrix.deploy }} \
${{ matrix.image }}
docker ps -a
bash ./.github/workflows/ready.sh http://127.0.0.1:9060 30
sleep 10
curl -v ${{ env.SUO5_URL }}
chmod +x ./suo5
./suo5 -debug -t ${{ env.SUO5_URL }} -T https://www.bing.com -no-gzip
./suo5 -debug -t ${{ env.SUO5_URL }} -T https://www.bing.com -mode full -no-gzip
./suo5 -debug -t ${{ env.SUO5_URL }} -T https://www.bing.com -mode half -no-gzip
weblogic-test:
name: Weblogic
Expand All @@ -144,10 +208,9 @@ jobs:
- container-registry.oracle.com/middleware/weblogic:14.1.1.0-11-ol8
deploy:
- /u01/oracle/user_projects/domains/base_domain/autodeploy/
# fixme: can't use full mode, why?
# include:
# - image: vulhub/weblogic:10.3.6.0-201
# deploy: /root/Oracle/Middleware/user_projects/domains/base_domain/autodeploy/
include:
- image: vulhub/weblogic:10.3.6.0-2017
deploy: /root/Oracle/Middleware/user_projects/domains/base_domain/autodeploy/
env:
SUO5_URL: http://127.0.0.1:7001/assets/suo5.jsp
steps:
Expand Down
20 changes: 19 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,25 @@
# 更新记录

## [0.7.0] 2023-05-17

### 新增

- 增加 WebSphere 全版本支持
- 增加东方通(TongWeb)支持, 部分旧版需要禁用 gzip 才行
- 增加 `-no-gzip` 选项用于禁用响应中的 gzip 压缩
- 上游代理 `-proxy` 增加 http(s) 的支持,不再仅限于 socks5 [#23](https://github.com/zema1/suo5/issues/23) [#25](https://github.com/zema1/suo5/issues/25)
- 去除 Session 相关依赖,优化 stream 读写相关的代码, 有效解决部分能连上没数据的问题 [#22](https://github.com/zema1/suo5/issues/22)
- 增加代理自测试逻辑,如果没有报错那么代理一定可用
- 重写心跳包逻辑,如果 5s 内有数据读写,就不必发送心跳了
- 基础连接测试的逻辑融合到全双工的判断中,减少一个测试请求

### 修复
- 修复 GUI 版界面版本号错误的问题
- 暂时禁用 darwin 的内存占用显示

## [0.6.0] - 2023-04-10


### 新增

- 降低 JDK 依赖到 Java 4, 目前兼容 Java 4 ~ Java 19 全版本
Expand All @@ -12,7 +30,7 @@
- Jetty 9,10,11
- 更换一个更圆润的图标, 感谢 [@savior-only](https://github.com/savior-only)

## 修复
### 修复

- 修复 GUI 版本在高版本 Edge 下启动缓慢的问题

Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
- 同时支持全双工与半双工模式,传输性能接近 FRP
- 支持在 Nginx 反向代理和负载均衡场景使用
- 完善的连接控制和并发管理,使用流畅丝滑
- 支持 Tomcat Jetty Weblogic Resin 等主流中间件
- 支持 Java4 ~ Java 19 全版本
- 支持 Tomcat Jetty Weblogic WebSphere Resin 等主流中间件
- 支持 Java4 ~ Java 19 全版本, 兼容性拉满
- 同时提供提供命令行和图形化界面

原理介绍 [https://koalr.me/posts/suo5-a-hign-performace-http-socks/](https://koalr.me/posts/suo5-a-hign-performace-http-socks/)
Expand Down Expand Up @@ -55,7 +55,7 @@ USAGE:
suo5 [global options] command [command options] [arguments...]
VERSION:
v0.6.0
v0.7.0
COMMANDS:
help, h Shows a list of commands or help for one command
Expand All @@ -72,9 +72,10 @@ GLOBAL OPTIONS:
--header value, -H value [ --header value, -H value ] use extra header, ex -H 'Cookie: abc'
--timeout value http request timeout in seconds (default: 10)
--buf-size value set the request max body size (default: 327680)
--proxy value use upstream socks5 proxy
--proxy value use upstream proxy, support both socks5 and http(s), eg: socks5://127.0.0.1:7890
--debug, -d debug the traffic, print more details (default: false)
--no-heartbeat, --nh disable heartbeat to the remote server which will send data every 5s (default: false)
--no-gzip, --ng disable gzip compression, which will improve compatibility with some old servers (default: false)
--help, -h show help
--version, -v print the version
```
Expand Down
2 changes: 1 addition & 1 deletion README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Its key features include:
- Simultaneously supports full duplex and half duplex modes, with transmission performance similar to FRP.
- Supports usage in Nginx reverse proxy and load balancing scenarios.
- Perfect connection control and concurrency management for smooth and seamless usage.
- Supports common middleware such as Tomcat, Jetty, Weblogic, Resin, etc.
- Supports common middleware such as Tomcat, Jetty, Weblogic, WebSphere, Resin, etc.
- Supports all versions of Java4 to Java 19.
- Provides both command line and graphical interfaces simultaneously.

Expand Down
10 changes: 2 additions & 8 deletions assets/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
实战中推荐使用内存马的方式来加载, jsp 的方式容易被安全设备检测到。

- `suo5.jsp` servlet 的实现
- `Suo5Filter.java` 一个简易的 Filter 实现,可以用于 Filter 内存马注入
- `Suo5Filter.java` 一个简易的 Filter 实现,可以改造后用于 Filter 型内存马注入

如果想要其他版本的,可以利用 git 的 release tag 进入。

Expand All @@ -17,10 +17,4 @@
- Weblogic 10,12,14
- Jboss 4,6
- Jetty 9,10,11

除非明确列出不支持,否则基本都没问题,如果有问题,可以提 issue 或加群讨论。

## 暂不支持的中间件

- WebSphere

- WebSphere 8,9,22,23
Loading

0 comments on commit a560a04

Please sign in to comment.