mirror of
https://github.com/2dust/v2rayN.git
synced 2026-04-18 13:35:47 +00:00
Compare commits
4 commits
fe7314c978
...
eafa20032b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eafa20032b | ||
|
|
7375e1a490 | ||
|
|
199d87ba84 | ||
|
|
b43975ebfc |
10 changed files with 137 additions and 126 deletions
39
.github/workflows/build-linux.yml
vendored
39
.github/workflows/build-linux.yml
vendored
|
|
@ -1,6 +1,11 @@
|
||||||
name: release Linux
|
name: release Linux
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
release_tag:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
push:
|
push:
|
||||||
branches: [ "master" ]
|
branches: [ "master" ]
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
@ -21,14 +26,40 @@ jobs:
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
cd v2rayN
|
cd v2rayN
|
||||||
chmod 755 build-linux.sh
|
OutputPath='./bin/v2rayN'
|
||||||
./build-linux.sh
|
OutputPath64="${OutputPath}/linux-x64"
|
||||||
|
OutputPathArm64="${OutputPath}/linux-arm64"
|
||||||
|
dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r linux-x64 --self-contained true -p:PublishReadyToRun=false -p:PublishSingleFile=true -o $OutputPath64
|
||||||
|
dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r linux-arm64 --self-contained true -p:PublishReadyToRun=false -p:PublishSingleFile=true -o $OutputPathArm64
|
||||||
|
|
||||||
- name: Upload build artifacts
|
- name: Upload build artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: v2rayN-linux
|
name: v2rayN-linux
|
||||||
path: |
|
path: |
|
||||||
./v2rayN/v2rayN-linux.zip
|
./v2rayN/bin/v2rayN
|
||||||
|
|
||||||
|
- name: Package debian
|
||||||
|
if: github.event.inputs.release_tag != ''
|
||||||
|
run: |
|
||||||
|
cd v2rayN
|
||||||
|
chmod 755 package-debian.sh
|
||||||
|
./package-debian.sh ${{ github.event.inputs.release_tag }} x64
|
||||||
|
./package-debian.sh ${{ github.event.inputs.release_tag }} arm64
|
||||||
|
|
||||||
|
- name: Upload Package artifacts
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
if: github.event.inputs.release_tag != ''
|
||||||
|
with:
|
||||||
|
name: v2rayN-linux-Package
|
||||||
|
path: |
|
||||||
|
${{ github.workspace }}/v2rayN/v2rayN*.deb
|
||||||
|
|
||||||
|
- name: Upload to release
|
||||||
|
uses: svenstaro/upload-release-action@v2
|
||||||
|
if: github.event.inputs.release_tag != ''
|
||||||
|
with:
|
||||||
|
file: ${{ github.workspace }}/v2rayN/v2rayN*.deb
|
||||||
|
tag: ${{ github.event.inputs.release_tag }}
|
||||||
|
file_glob: true
|
||||||
|
prerelease: true
|
||||||
9
.github/workflows/build-osx.yml
vendored
9
.github/workflows/build-osx.yml
vendored
|
|
@ -21,14 +21,17 @@ jobs:
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
cd v2rayN
|
cd v2rayN
|
||||||
chmod 755 build-osx.sh
|
OutputPath='./bin/v2rayN'
|
||||||
./build-osx.sh
|
OutputPath64="${OutputPath}/osx-x64"
|
||||||
|
OutputPathArm64="${OutputPath}/osx-arm64"
|
||||||
|
dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r osx-x64 --self-contained true -p:PublishReadyToRun=false -p:PublishSingleFile=true -o $OutputPath64
|
||||||
|
dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r osx-arm64 --self-contained true -p:PublishReadyToRun=false -p:PublishSingleFile=true -o $OutputPathArm64
|
||||||
|
|
||||||
- name: Upload build artifacts
|
- name: Upload build artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: v2rayN-osx
|
name: v2rayN-osx
|
||||||
path: |
|
path: |
|
||||||
./v2rayN/v2rayN-osx.zip
|
./v2rayN/bin/v2rayN
|
||||||
|
|
||||||
|
|
||||||
39
.github/workflows/build-windows.yml
vendored
Normal file
39
.github/workflows/build-windows.yml
vendored
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
name: release Windows
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ "master" ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ "master" ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
configuration: [Release]
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cd v2rayN
|
||||||
|
OutputPath='./bin/v2rayN'
|
||||||
|
OutputPath64="${OutputPath}/win-x64"
|
||||||
|
OutputPathArm64="${OutputPath}/win-arm64"
|
||||||
|
dotnet publish ./v2rayN/v2rayN.csproj -c Release -r win-x64 --self-contained false -p:PublishReadyToRun=false -p:PublishSingleFile=true -p:EnableWindowsTargeting=true -o $OutputPath64
|
||||||
|
dotnet publish ./v2rayN/v2rayN.csproj -c Release -r win-arm64 --self-contained false -p:PublishReadyToRun=false -p:PublishSingleFile=true -p:EnableWindowsTargeting=true -o $OutputPathArm64
|
||||||
|
|
||||||
|
- name: Upload build artifacts
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: v2rayN-windows
|
||||||
|
path: |
|
||||||
|
./v2rayN/bin/v2rayN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
41
.github/workflows/build.yml
vendored
41
.github/workflows/build.yml
vendored
|
|
@ -1,41 +0,0 @@
|
||||||
name: release Windows
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ "master" ]
|
|
||||||
pull_request:
|
|
||||||
branches: [ "master" ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
configuration: [Release]
|
|
||||||
|
|
||||||
runs-on: windows-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: cd v2rayN &&
|
|
||||||
./build.ps1
|
|
||||||
|
|
||||||
- name: Upload build artifacts
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: v2rayN-windows-64
|
|
||||||
path: |
|
|
||||||
./v2rayN/v2rayN-windows-64.zip
|
|
||||||
|
|
||||||
- name: Upload build artifacts
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: v2rayN-windows-arm64
|
|
||||||
path: |
|
|
||||||
./v2rayN/v2rayN-windows-arm64.zip
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
echo 'Building Linux'
|
|
||||||
|
|
||||||
OutputPath='./bin/v2rayN'
|
|
||||||
OutputPath64="${OutputPath}/linux-x64"
|
|
||||||
OutputPathArm64="${OutputPath}/linux-arm64"
|
|
||||||
|
|
||||||
dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r linux-x64 --self-contained true -p:PublishReadyToRun=false -p:PublishSingleFile=true -o $OutputPath64
|
|
||||||
dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r linux-arm64 --self-contained true -p:PublishReadyToRun=false -p:PublishSingleFile=true -o $OutputPathArm64
|
|
||||||
|
|
||||||
rm -rf "$OutputPath64/*.pdb"
|
|
||||||
rm -rf "$OutputPathArm64/*.pdb"
|
|
||||||
|
|
||||||
echo 'Build done'
|
|
||||||
|
|
||||||
7z a v2rayN-linux.zip $OutputPath
|
|
||||||
exit 0
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
echo 'Building macOS'
|
|
||||||
|
|
||||||
OutputPath='./bin/v2rayN'
|
|
||||||
OutputPath64="${OutputPath}/osx-x64"
|
|
||||||
OutputPathArm64="${OutputPath}/osx-arm64"
|
|
||||||
|
|
||||||
dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r osx-x64 --self-contained true -p:PublishReadyToRun=false -p:PublishSingleFile=true -o $OutputPath64
|
|
||||||
dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r osx-arm64 --self-contained true -p:PublishReadyToRun=false -p:PublishSingleFile=true -o $OutputPathArm64
|
|
||||||
|
|
||||||
rm -rf "$OutputPath64/*.pdb"
|
|
||||||
rm -rf "$OutputPathArm64/*.pdb"
|
|
||||||
|
|
||||||
echo 'Build done'
|
|
||||||
|
|
||||||
7z a v2rayN-osx.zip $OutputPath
|
|
||||||
exit 0
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
param (
|
|
||||||
[Parameter()]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]
|
|
||||||
$OutputPathWin64 = './bin/v2rayN/win-x64',
|
|
||||||
$OutputPathWinArm64 = './bin/v2rayN/win-arm64'
|
|
||||||
)
|
|
||||||
|
|
||||||
Write-Host 'Building Windows'
|
|
||||||
|
|
||||||
dotnet publish `
|
|
||||||
./v2rayN/v2rayN.csproj `
|
|
||||||
-c Release `
|
|
||||||
-r win-x64 `
|
|
||||||
--self-contained false `
|
|
||||||
-p:PublishReadyToRun=false `
|
|
||||||
-p:PublishSingleFile=true `
|
|
||||||
-o $OutputPathWin64
|
|
||||||
|
|
||||||
dotnet publish `
|
|
||||||
./v2rayN/v2rayN.csproj `
|
|
||||||
-c Release `
|
|
||||||
-r win-arm64 `
|
|
||||||
--self-contained false `
|
|
||||||
-p:PublishReadyToRun=false `
|
|
||||||
-p:PublishSingleFile=true `
|
|
||||||
-o $OutputPathWinArm64
|
|
||||||
|
|
||||||
if ( -Not $? ) {
|
|
||||||
exit $lastExitCode
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( Test-Path -Path ./bin/v2rayN ) {
|
|
||||||
rm -Force "$OutputPathWin64/*.pdb"
|
|
||||||
rm -Force "$OutputPathWinArm64/*.pdb"
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host 'Build done'
|
|
||||||
|
|
||||||
7z a v2rayN-windows-64.zip $OutputPathWin64
|
|
||||||
7z a v2rayN-windows-arm64.zip $OutputPathWinArm64
|
|
||||||
exit 0
|
|
||||||
51
v2rayN/package-debian.sh
Normal file
51
v2rayN/package-debian.sh
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
version="$1"
|
||||||
|
arch="$2"
|
||||||
|
|
||||||
|
OutputPath="v2rayN-linux-${arch}"
|
||||||
|
mkdir -p "${OutputPath}/DEBIAN"
|
||||||
|
mkdir -p "${OutputPath}/opt"
|
||||||
|
cp -r "./bin/v2rayN/linux-${arch}" "${OutputPath}/opt"
|
||||||
|
mv "${OutputPath}/opt/linux-${arch}" "${OutputPath}/opt/v2rayN"
|
||||||
|
|
||||||
|
|
||||||
|
if [ $arch = "x64" ]; then
|
||||||
|
Arch2="amd64"
|
||||||
|
else
|
||||||
|
Arch2="arm64"
|
||||||
|
fi
|
||||||
|
echo $Arch2
|
||||||
|
|
||||||
|
# basic
|
||||||
|
cat >"${OutputPath}/DEBIAN/control" <<-EOF
|
||||||
|
Package: v2rayN
|
||||||
|
Version: $version
|
||||||
|
Architecture: $Arch2
|
||||||
|
Maintainer: https://github.com/2dust/v2rayN
|
||||||
|
Description: A GUI client for Windows and Linux, support Xray core and sing-box-core and others
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat >"${OutputPath}/DEBIAN/postinst" <<-EOF
|
||||||
|
if [ ! -s /usr/share/applications/v2rayN.desktop ]; then
|
||||||
|
cat >/usr/share/applications/v2rayN.desktop<<-END
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=v2rayN
|
||||||
|
Comment=A GUI client for Windows and Linux, support Xray core and sing-box-core and others
|
||||||
|
Exec=/opt/v2rayN/v2rayN
|
||||||
|
Icon=/opt/v2rayN/v2rayN.png
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=Network;Application;
|
||||||
|
END
|
||||||
|
fi
|
||||||
|
|
||||||
|
update-desktop-database
|
||||||
|
EOF
|
||||||
|
|
||||||
|
sudo chmod 0755 "${OutputPath}/DEBIAN/postinst"
|
||||||
|
sudo chmod 0755 "${OutputPath}/opt/v2rayN/v2rayN"
|
||||||
|
|
||||||
|
# desktop && PATH
|
||||||
|
|
||||||
|
sudo dpkg-deb -Zxz --build $OutputPath
|
||||||
|
|
@ -42,6 +42,12 @@
|
||||||
<EmbeddedResource Include="Assets\v2rayN.ico">
|
<EmbeddedResource Include="Assets\v2rayN.ico">
|
||||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<None Update="v2rayN.png">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
BIN
v2rayN/v2rayN.Desktop/v2rayN.png
Normal file
BIN
v2rayN/v2rayN.Desktop/v2rayN.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.6 KiB |
Loading…
Reference in a new issue