mirror of
https://github.com/whyvl/wireproxy.git
synced 2025-04-29 19:01:42 +02:00
fix: improvements in memory consumption (#100)
* fix: must close the connection after processing I think it should help to close #80 * feat: migration to github.com/things-go/go-socks5 - preallocate config slices - not used interfaces in consumer - do not allocate new variables in loops * feat: close connection after full processing * feat: correct process sigint signal * feat: improve build system * fix: http proxy * feat: update golangci-lint-action to v3.7.0 * feat: correct process routines * fix: close http conn correctly * feat: update golangci-lint-action to v4 * fix: goreleaser used clean now
This commit is contained in:
parent
49f568810c
commit
a2d7aecb6f
12 changed files with 205 additions and 140 deletions
57
.github/workflows/build.yml
vendored
57
.github/workflows/build.yml
vendored
|
@ -6,17 +6,18 @@ on:
|
|||
pull_request:
|
||||
branches:
|
||||
- '**'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
windowsAmd64Build:
|
||||
name: Build Windows amd64 Version
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setting up Go
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "1.20"
|
||||
go-version: "1.21"
|
||||
- name: Building Windows amd64 Version
|
||||
run: |
|
||||
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o WireProxy_amd64.exe -v ./cmd/wireproxy
|
||||
|
@ -24,7 +25,7 @@ jobs:
|
|||
mv WireProxy_amd64.exe wireproxy.exe
|
||||
cp wireproxy.exe release_windows_amd64/wireproxy.exe
|
||||
- name: Upload Windows amd64 Version
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: WireProxy_windows_amd64
|
||||
path: release_windows_amd64
|
||||
|
@ -32,11 +33,11 @@ jobs:
|
|||
name: Build Windows arm64 Version
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setting up Go
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "1.20"
|
||||
go-version: "1.21"
|
||||
- name: Building Windows arm64 Version
|
||||
run: |
|
||||
CGO_ENABLED=0 GOOS=windows GOARCH=arm64 go build -o WireProxy_arm64.exe -v ./cmd/wireproxy
|
||||
|
@ -44,7 +45,7 @@ jobs:
|
|||
mv WireProxy_arm64.exe wireproxy.exe
|
||||
cp wireproxy.exe release_windows_arm64/wireproxy.exe
|
||||
- name: Upload Windows arm64 Version
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: WireProxy_windows_arm64
|
||||
path: release_windows_arm64
|
||||
|
@ -52,11 +53,11 @@ jobs:
|
|||
name: Build Linux amd64 Version
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setting up Go
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "1.20"
|
||||
go-version: "1.21"
|
||||
- name: Building Linux amd64 Version
|
||||
run: |
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o WireProxy_amd64 -v ./cmd/wireproxy
|
||||
|
@ -64,7 +65,7 @@ jobs:
|
|||
mv WireProxy_amd64 wireproxy
|
||||
cp wireproxy release_linux_amd64/wireproxy
|
||||
- name: Upload Linux amd64 Version
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: WireProxy_linux_amd64
|
||||
path: release_linux_amd64
|
||||
|
@ -72,11 +73,11 @@ jobs:
|
|||
name: Build Linux arm64 Version
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setting up Go
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "1.20"
|
||||
go-version: "1.21"
|
||||
- name: Building Linux arm64 Version
|
||||
run: |
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o WireProxy_arm64 -v ./cmd/wireproxy
|
||||
|
@ -84,7 +85,7 @@ jobs:
|
|||
mv WireProxy_arm64 wireproxy
|
||||
cp wireproxy release_linux_arm64/wireproxy
|
||||
- name: Upload Linux arm64 Version
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: WireProxy_linux_arm64
|
||||
path: release_linux_arm64
|
||||
|
@ -92,11 +93,11 @@ jobs:
|
|||
name: Build Linux s390x Version
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setting up Go
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "1.20"
|
||||
go-version: "1.21"
|
||||
- name: Building Linux s390x Version
|
||||
run: |
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=s390x go build -o WireProxy_s390x -v ./cmd/wireproxy
|
||||
|
@ -104,7 +105,7 @@ jobs:
|
|||
mv WireProxy_s390x wireproxy
|
||||
cp wireproxy release_linux_s390x/wireproxy
|
||||
- name: Upload Linux s390x Version
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: WireProxy_linux_s390x
|
||||
path: release_linux_s390x
|
||||
|
@ -112,11 +113,11 @@ jobs:
|
|||
name: Build Darwin amd64 Version
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setting up Go
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "1.20"
|
||||
go-version: "1.21"
|
||||
- name: Building Darwin amd64 Version
|
||||
run: |
|
||||
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o WireProxy_amd64 -v ./cmd/wireproxy
|
||||
|
@ -124,7 +125,7 @@ jobs:
|
|||
mv WireProxy_amd64 wireproxy
|
||||
cp wireproxy release_darwin_amd64/wireproxy
|
||||
- name: Upload Darwin amd64 Version
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: WireProxy_darwin_amd64
|
||||
path: release_darwin_amd64
|
||||
|
@ -132,11 +133,11 @@ jobs:
|
|||
name: Build Darwin arm64 Version
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setting up Go
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "1.20"
|
||||
go-version: "1.21"
|
||||
- name: Building Darwin arm64 Version
|
||||
run: |
|
||||
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o WireProxy_arm64 -v ./cmd/wireproxy
|
||||
|
@ -144,7 +145,7 @@ jobs:
|
|||
mv WireProxy_arm64 wireproxy
|
||||
cp wireproxy release_darwin_arm64/wireproxy
|
||||
- name: Upload Darwin arm64 Version
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: WireProxy_darwin_arm64
|
||||
path: release_darwin_arm64
|
||||
|
|
10
.github/workflows/container.yml
vendored
10
.github/workflows/container.yml
vendored
|
@ -28,26 +28,26 @@ jobs:
|
|||
|
||||
steps:
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v2.0.0
|
||||
uses: docker/setup-buildx-action@v3.0.0
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
# Needed for buildx gha cache to work
|
||||
- name: Expose GitHub Runtime
|
||||
uses: crazy-max/ghaction-github-runtime@v2
|
||||
uses: crazy-max/ghaction-github-runtime@v3
|
||||
|
||||
- name: Build container
|
||||
env:
|
||||
|
|
12
.github/workflows/golangci-lint.yml
vendored
12
.github/workflows/golangci-lint.yml
vendored
|
@ -6,6 +6,8 @@ on:
|
|||
pull_request:
|
||||
branches:
|
||||
- '**'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
|
@ -13,9 +15,11 @@ jobs:
|
|||
name: lint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/setup-go@v2
|
||||
- uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: '1.20'
|
||||
- uses: actions/checkout@v3
|
||||
go-version: '1.21'
|
||||
- uses: actions/checkout@v4
|
||||
- name: golangci-lint
|
||||
uses: golangci/golangci-lint-action@v3
|
||||
uses: golangci/golangci-lint-action@v4
|
||||
with:
|
||||
version: latest
|
7
.github/workflows/test.yml
vendored
7
.github/workflows/test.yml
vendored
|
@ -6,17 +6,18 @@ on:
|
|||
pull_request:
|
||||
branches:
|
||||
- '**'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test wireproxy
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setting up Go
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "1.20"
|
||||
go-version: "1.21"
|
||||
- name: Install dependencies
|
||||
run: sudo apt install wireguard curl
|
||||
- name: Building wireproxy
|
||||
|
|
8
.github/workflows/wireproxy.yml
vendored
8
.github/workflows/wireproxy.yml
vendored
|
@ -28,17 +28,17 @@ jobs:
|
|||
cp ./.github/wireproxy-releaser.yml ${{ env.workdir }}/.goreleaser.yml
|
||||
|
||||
- name: Set up GoReleaser
|
||||
uses: actions/setup-go@v2
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "1.20"
|
||||
go-version: "1.21"
|
||||
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@v2
|
||||
uses: goreleaser/goreleaser-action@v5
|
||||
with:
|
||||
distribution: goreleaser
|
||||
workdir: ${{ env.workdir }}
|
||||
version: latest
|
||||
args: release --rm-dist
|
||||
args: release --clean
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue