Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
777d650
updated buffer size
Anof-cyber Feb 2, 2026
a993581
updated workflow
Anof-cyber Feb 3, 2026
d6051c0
Merge pull request #64 from InterceptSuite/master
Anof-cyber Feb 3, 2026
1c849bd
Added Linux Initial implementation
Anof-cyber Feb 3, 2026
d7a758a
added udp support, added socsk5 assoicate, added caching, fixed conne…
Anof-cyber Feb 3, 2026
563a999
added ip filter hardcode , resved pid check
Anof-cyber Feb 3, 2026
1d968b3
improved performance, impvord memory size, fixed allocation, added c…
Anof-cyber Feb 3, 2026
d702722
Fixed app crash, too much memroy and threads usage on connection
Anof-cyber Feb 3, 2026
0a0b3ba
4.0 beta - added cleanup option
Anof-cyber Feb 4, 2026
0213546
updated cli file name. added deploy script
Anof-cyber Feb 4, 2026
cd850bb
removed unwatned code and logs
Anof-cyber Feb 4, 2026
ed3b8ec
improved Linux Performance, added validation, fixed pid lookup, cache
Anof-cyber Feb 7, 2026
5ed2cf1
improved socket
Anof-cyber Feb 7, 2026
de79a7e
fixed connection and udp socsk5 error, connection failed to reconnect…
Anof-cyber Feb 7, 2026
9b729f9
added inital GUI
Anof-cyber Feb 7, 2026
daa66a0
added inital proxy rule in GUI
Anof-cyber Feb 7, 2026
4624010
added rule selecton and delete option
Anof-cyber Feb 7, 2026
3413b47
added proxy rule import export
Anof-cyber Feb 7, 2026
0c4d0f8
added update checker, proxy traffic, dns fixed, updated GUI, fixed crash
Anof-cyber Feb 7, 2026
f750ecd
optimized iptable commands, GUI, gui compiler
Anof-cyber Feb 7, 2026
16d4741
updated version
Anof-cyber Feb 7, 2026
3f71a34
improved GUI
Anof-cyber Feb 7, 2026
05a8217
GUi Code Split
Anof-cyber Feb 7, 2026
c1c99d9
updated GUI
Anof-cyber Feb 7, 2026
c34f266
added local storage support
Anof-cyber Feb 7, 2026
31c3559
updated setup
Anof-cyber Feb 7, 2026
9669a3e
fixed #62 - IPv6 traffic now goes directly and not blocked
Anof-cyber Feb 8, 2026
3406f9f
removed unwanted code for linux
Anof-cyber Feb 8, 2026
18a06fe
strip
Anof-cyber Feb 8, 2026
b4d11e0
Fixed batch error cause network issues
Anof-cyber Feb 8, 2026
00f8a4a
readded #62 ipv6 pass
Anof-cyber Feb 8, 2026
47063b9
#60 - readded fixed rule priority
Anof-cyber Feb 13, 2026
3ad55ab
#60 added delete selection proxy rule
Anof-cyber Feb 13, 2026
a86f3e1
strip
Anof-cyber Feb 13, 2026
2fa07ae
#71 - removed domain name
Anof-cyber Feb 13, 2026
abfae9b
#70 - added localhost proxy support
Anof-cyber Feb 13, 2026
b7ea32d
added localhost proxy support on/off #70
Anof-cyber Feb 13, 2026
fab6912
#70 added local host proxy on off in GUI and CLI
Anof-cyber Feb 13, 2026
236e466
added exe checker in windows update
Anof-cyber Feb 13, 2026
5b46b88
Windows Version 3.2.0
Anof-cyber Feb 13, 2026
3aac7ea
#67 fixed macos version issue
Anof-cyber Feb 15, 2026
3614c88
#68 added process name support for MacOS, connection log uses process…
Anof-cyber Feb 17, 2026
82a4e67
#68 Fixed Rule checker priority
Anof-cyber Feb 17, 2026
0cb1aaa
removed GUI domain, added IP range for mac
Anof-cyber Feb 17, 2026
6fab55e
removed unwanted resource
Anof-cyber Feb 17, 2026
8118978
improved mac logging
Anof-cyber Feb 18, 2026
c5b5f48
improved macos network speed
Anof-cyber Feb 18, 2026
25183f1
Moved UUID to int, moved date in logging to single instacne, moved o(…
Anof-cyber Feb 18, 2026
1aed5cd
fixed extension unload
Anof-cyber Feb 18, 2026
32b4268
fixed unwanted proxy error logs
Anof-cyber Feb 18, 2026
a8e7eb6
fixed arch for mac
Anof-cyber Feb 18, 2026
5cb9e98
update checker with pkg macos
Anof-cyber Feb 18, 2026
9ece0f1
Mac 3.2.0
Anof-cyber Feb 18, 2026
b68cea4
#75 Fixed Ip range issue
Anof-cyber Feb 18, 2026
b2324c1
added Linux build workflow
Anof-cyber Feb 18, 2026
ac9d1af
Update ProxyBridge version to 3.2.0 and add auto-deploy script for Linux
Anof-cyber Feb 18, 2026
bb8ca75
added Linux readme
Anof-cyber Feb 18, 2026
0297297
updated readme
Anof-cyber Feb 18, 2026
489b901
updated Readme , added Linux Screenshot
Anof-cyber Feb 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 104 additions & 0 deletions .github/workflows/build-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
name: Build Linux

on:
push:
branches: [ master, dev ]
pull_request:
branches: [ master, dev ]
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
gcc \
make \
libnetfilter-queue-dev \
libnfnetlink-dev \
libgtk-3-dev \
pkg-config
shell: bash

- name: Verify dependencies
run: |
echo "=== Checking GCC ==="
gcc --version
echo ""
echo "=== Checking Make ==="
make --version
echo ""
echo "=== Checking pkg-config ==="
pkg-config --version
echo ""
echo "=== Checking GTK3 ==="
pkg-config --modversion gtk+-3.0
echo ""
echo "=== Checking libnetfilter_queue ==="
pkg-config --modversion libnetfilter_queue || echo "Package info not available, but headers should be present"
shell: bash

- name: Build project
run: |
cd Linux
chmod +x build.sh
./build.sh
shell: bash

- name: Verify build output
run: |
echo "=== Build Output ==="
ls -lh Linux/output/
echo ""
if [ -f "Linux/output/libproxybridge.so" ]; then
echo "✓ Library built successfully"
file Linux/output/libproxybridge.so
else
echo "✗ Library build failed"
exit 1
fi
echo ""
if [ -f "Linux/output/ProxyBridge" ]; then
echo "✓ CLI built successfully"
file Linux/output/ProxyBridge
else
echo "✗ CLI build failed"
exit 1
fi
echo ""
if [ -f "Linux/output/ProxyBridgeGUI" ]; then
echo "✓ GUI built successfully"
file Linux/output/ProxyBridgeGUI
else
echo "⚠ GUI build skipped (GTK3 not available or build failed)"
fi
shell: bash

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ProxyBridge-Linux-Build-${{ github.sha }}
path: Linux/output/
retention-days: 30

- name: Display build summary
run: |
echo ""
echo "========================================="
echo "Build Complete!"
echo "========================================="
cd Linux/output
for file in *; do
size=$(du -h "$file" | cut -f1)
echo " $file - $size"
done
echo "========================================="
shell: bash
Comment on lines +12 to +104

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI about 1 month ago

To fix the problem, explicitly declare minimal GITHUB_TOKEN permissions in the workflow. Since this job only needs to read repository contents (for actions/checkout) and upload artifacts (which does not require repository write access), we can safely restrict permissions to contents: read at the workflow or job level.

The best fix without changing functionality is to add a root‑level permissions block right under the name: line in .github/workflows/build-linux.yml, applying to all jobs that don’t override it. For example:

name: Build Linux
permissions:
  contents: read

No other permissions appear necessary for the shown steps. No additional imports, methods, or definitions are required; this is a pure YAML configuration change.

Suggested changeset 1
.github/workflows/build-linux.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml
--- a/.github/workflows/build-linux.yml
+++ b/.github/workflows/build-linux.yml
@@ -1,4 +1,6 @@
 name: Build Linux
+permissions:
+  contents: read
 
 on:
   push:
EOF
@@ -1,4 +1,6 @@
name: Build Linux
permissions:
contents: read

on:
push:
Copilot is powered by AI and may make mistakes. Always verify output.
129 changes: 129 additions & 0 deletions .github/workflows/release-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
name: Release ProxyBridge Linux

on:
release:
types: [published, created]
workflow_dispatch:

jobs:
build-and-release:
runs-on: ubuntu-latest
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.actor == github.repository_owner)

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
gcc \
make \
libnetfilter-queue-dev \
libnfnetlink-dev \
libgtk-3-dev \
pkg-config
shell: bash

- name: Build project
run: |
cd Linux
chmod +x build.sh
./build.sh
shell: bash

- name: Copy setup script to output
run: |
echo "Copying setup.sh to output directory..."
cp Linux/setup.sh Linux/output/
chmod +x Linux/output/setup.sh
echo "✓ Setup script copied"
shell: bash

- name: Verify build output
run: |
echo "=== Build Output ==="
ls -lh Linux/output/
echo ""
if [ -f "Linux/output/libproxybridge.so" ]; then
echo "✓ Library built successfully"
file Linux/output/libproxybridge.so
else
echo "✗ Library build failed"
exit 1
fi
echo ""
if [ -f "Linux/output/ProxyBridge" ]; then
echo "✓ CLI built successfully"
file Linux/output/ProxyBridge
else
echo "✗ CLI build failed"
exit 1
fi
echo ""
if [ -f "Linux/output/setup.sh" ]; then
echo "✓ Setup script copied"
else
echo "✗ Setup script missing"
exit 1
fi
shell: bash

- name: Extract version from tag
id: version
run: |
if [ "${{ github.event_name }}" == "release" ]; then
VERSION="${{ github.event.release.tag_name }}"
else
VERSION="dev-$(date +%Y%m%d-%H%M%S)"
fi
# Remove 'v' prefix if present
VERSION="${VERSION#v}"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Version: $VERSION"
shell: bash

- name: Create release archive
run: |
VERSION="${{ steps.version.outputs.version }}"
ARCHIVE_NAME="ProxyBridge-Linux-v${VERSION}.tar.gz"

echo "Creating archive: $ARCHIVE_NAME"
cd Linux/output
tar -czf "../$ARCHIVE_NAME" ./*

echo ""
echo "Archive created successfully:"
ls -lh "../$ARCHIVE_NAME"

# Move archive to root for upload
mv "../$ARCHIVE_NAME" "../../$ARCHIVE_NAME"
shell: bash

- name: List release files
run: |
echo ""
echo "==================================="
echo "Release Files:"
echo "==================================="
ls -lh ProxyBridge-Linux-*.tar.gz

echo ""
echo "Archive contents:"
tar -tzf ProxyBridge-Linux-*.tar.gz
shell: bash

- name: Upload archive to release
if: github.event_name == 'release'
uses: softprops/action-gh-release@v1
with:
files: ProxyBridge-Linux-v*.tar.gz

- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: ProxyBridge-Linux-Release-${{ steps.version.outputs.version }}
path: ProxyBridge-Linux-*.tar.gz
retention-days: 90
Comment on lines +10 to +129

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI about 1 month ago

In general, the fix is to add an explicit permissions: block that grants the minimal required scopes to the GITHUB_TOKEN. This can be done at the workflow root (applies to all jobs) or at the job level. Since only this single job exists in the snippet, adding it at the workflow root is simple and future-proof.

The best minimal fix without changing functionality is:

  • At the top level of .github/workflows/release-linux.yml, add a permissions: block after the on: block (or before jobs:) that sets contents: write. This is sufficient because the job uses softprops/action-gh-release, which needs to create or update release assets (requiring contents: write), and the other steps only read the repo contents via actions/checkout and upload artifacts to Actions storage (which does not need additional scopes).
  • No other imports or code changes are needed; this is purely a workflow YAML configuration change.

Concretely, edit .github/workflows/release-linux.yml to insert:

permissions:
  contents: write

between the on: section (line 3–6) and jobs: (line 8).

Suggested changeset 1
.github/workflows/release-linux.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/release-linux.yml b/.github/workflows/release-linux.yml
--- a/.github/workflows/release-linux.yml
+++ b/.github/workflows/release-linux.yml
@@ -5,6 +5,9 @@
     types: [published, created]
   workflow_dispatch:
 
+permissions:
+  contents: write
+
 jobs:
   build-and-release:
     runs-on: ubuntu-latest
EOF
@@ -5,6 +5,9 @@
types: [published, created]
workflow_dispatch:

permissions:
contents: write

jobs:
build-and-release:
runs-on: ubuntu-latest
Copilot is powered by AI and may make mistakes. Always verify output.
Unable to commit as this autofix suggestion is now outdated
6 changes: 4 additions & 2 deletions .github/workflows/release-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ name: Release ProxyBridge Windows

on:
release:
types: [created]
types: [published, created]
workflow_dispatch:

jobs:
build-and-release:
runs-on: self-hosted
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.actor == github.repository_owner)

steps:
- name: Checkout code
Expand All @@ -15,7 +17,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.x'
dotnet-version: '10.0.x'

- name: Verify WinDivert installation
run: |
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,7 @@ Linux/output/**
Linux/build/**
MacOS/ProxyBridge/config/Signing-Config-ext.xcconfig
MacOS/ProxyBridge/config/Signing-Config-app.xcconfig
Linux/cli/main.o
Linux/cli/proxybridge-cli
Linux/src/libproxybridge.so
Linux/src/ProxyBridge.o
Loading