mirror of https://github.com/2dust/v2rayN
Add Package AppImage script (#6556)
parent
1b8a58cd07
commit
2ab00d5b6f
|
@ -59,6 +59,21 @@ jobs:
|
||||||
tag: ${{ github.event.inputs.release_tag }}
|
tag: ${{ github.event.inputs.release_tag }}
|
||||||
file_glob: true
|
file_glob: true
|
||||||
|
|
||||||
|
- name: Package AppImage
|
||||||
|
if: github.event.inputs.release_tag != ''
|
||||||
|
run: |
|
||||||
|
chmod 755 package-appimage.sh
|
||||||
|
./package-appimage.sh $OutputArch $OutputPath64 ${{ github.event.inputs.release_tag }}
|
||||||
|
./package-appimage.sh $OutputArchArm $OutputPathArm64 ${{ github.event.inputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Upload AppImage to release
|
||||||
|
uses: svenstaro/upload-release-action@v2
|
||||||
|
if: github.event.inputs.release_tag != ''
|
||||||
|
with:
|
||||||
|
file: ${{ github.workspace }}/v2rayN*.AppImage
|
||||||
|
tag: ${{ github.event.inputs.release_tag }}
|
||||||
|
file_glob: true
|
||||||
|
|
||||||
# release zip archive
|
# release zip archive
|
||||||
- name: Package release zip archive
|
- name: Package release zip archive
|
||||||
if: github.event.inputs.release_tag != ''
|
if: github.event.inputs.release_tag != ''
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
Arch="$1"
|
||||||
|
OutputPath="$2"
|
||||||
|
Version="$3"
|
||||||
|
|
||||||
|
FileName="v2rayN-${Arch}.zip"
|
||||||
|
wget -nv -O $FileName "https://github.com/2dust/v2rayN-core-bin/raw/refs/heads/master/$FileName"
|
||||||
|
7z x $FileName -aoa
|
||||||
|
cp -rf v2rayN-${Arch}/* $OutputPath
|
||||||
|
|
||||||
|
PackagePath="v2rayN-Package-${Arch}"
|
||||||
|
mkdir -p "${PackagePath}/AppDir/opt"
|
||||||
|
cp -rf $OutputPath "${PackagePath}/AppDir/opt/v2rayN"
|
||||||
|
echo "When this file exists, app will not store configs under this folder" >"${PackagePath}/AppDir/opt/v2rayN/NotStoreConfigHere.txt"
|
||||||
|
|
||||||
|
if [ $Arch = "linux-64" ]; then
|
||||||
|
Arch2="x86_64"
|
||||||
|
Arch3="amd64"
|
||||||
|
else
|
||||||
|
Arch2="aarch64"
|
||||||
|
Arch3="arm64"
|
||||||
|
fi
|
||||||
|
echo $Arch2
|
||||||
|
|
||||||
|
# basic
|
||||||
|
cat >"${PackagePath}/AppDir/AppRun" <<-EOF
|
||||||
|
#!/bin/sh
|
||||||
|
HERE="\$(dirname "\$(readlink -f "\${0}")")"
|
||||||
|
export PATH="\${HERE}"/opt/v2rayN/:"\${PATH}"
|
||||||
|
export LD_LIBRARY_PATH="\${HERE}"/opt/v2rayN/:"\${LD_LIBRARY_PATH}"
|
||||||
|
exec "\${HERE}/opt/v2rayN/v2rayN" \$@
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat >"${PackagePath}/AppDir/v2rayN.desktop" <<-EOF
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=v2rayN
|
||||||
|
Comment=A GUI client for Windows and Linux, support Xray core and sing-box-core and others
|
||||||
|
Exec=v2rayN
|
||||||
|
Icon=v2rayN
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=Network;
|
||||||
|
EOF
|
||||||
|
|
||||||
|
sudo cp "${PackagePath}/AppDir/opt/v2rayN/v2rayN.png" "${PackagePath}/AppDir/v2rayN.png"
|
||||||
|
sudo dpkg --add-architecture ${Arch3}
|
||||||
|
mkdir deb_folder
|
||||||
|
cd deb_folder
|
||||||
|
apt download libicu74:${Arch3}
|
||||||
|
apt download libfontconfig1:${Arch3} || true
|
||||||
|
apt download libfontconfig:${Arch3} || true
|
||||||
|
mkdir ../output_folder
|
||||||
|
for deb in *.deb; do
|
||||||
|
dpkg-deb -x "$deb" ../output_folder/
|
||||||
|
done
|
||||||
|
cd ..
|
||||||
|
find output_folder -type f -name "*.so*" -exec cp {} ${PackagePath}/AppDir/opt/v2rayN/ \;
|
||||||
|
find output_folder -type l -name "*.so*" -exec cp {} ${PackagePath}/AppDir/opt/v2rayN/ \;
|
||||||
|
rm -rf deb_folder output_folder
|
||||||
|
|
||||||
|
sudo chmod 0755 "${PackagePath}/AppDir/opt/v2rayN/v2rayN"
|
||||||
|
sudo chmod 0755 "${PackagePath}/AppDir/AppRun"
|
||||||
|
|
||||||
|
# desktop && PATH
|
||||||
|
|
||||||
|
wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||||
|
chmod a+x appimagetool-x86_64.AppImage
|
||||||
|
sudo apt install -y libfuse2
|
||||||
|
sudo ./appimagetool-x86_64.AppImage "${PackagePath}/AppDir"
|
||||||
|
sudo mv "v2rayN-${Arch2}.AppImage" "v2rayN-${Arch}.AppImage"
|
Loading…
Reference in New Issue