mirror of
https://github.com/2dust/v2rayN.git
synced 2025-10-28 11:02:51 +00:00
Compare commits
2 commits
0c3293045f
...
2ab00d5b6f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2ab00d5b6f | ||
|
|
1b8a58cd07 |
3 changed files with 107 additions and 21 deletions
17
.github/workflows/build-linux.yml
vendored
17
.github/workflows/build-linux.yml
vendored
|
|
@ -58,7 +58,22 @@ jobs:
|
|||
file: ${{ github.workspace }}/v2rayN*.deb
|
||||
tag: ${{ github.event.inputs.release_tag }}
|
||||
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
|
||||
- name: Package release zip archive
|
||||
if: github.event.inputs.release_tag != ''
|
||||
|
|
|
|||
71
package-appimage.sh
Normal file
71
package-appimage.sh
Normal file
|
|
@ -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"
|
||||
|
|
@ -320,7 +320,7 @@
|
|||
<value>Remarks</value>
|
||||
</data>
|
||||
<data name="LvUrl" xml:space="preserve">
|
||||
<value>URL(Optional)</value>
|
||||
<value>URL (optional)</value>
|
||||
</data>
|
||||
<data name="LvCount" xml:space="preserve">
|
||||
<value>Count</value>
|
||||
|
|
@ -338,7 +338,7 @@
|
|||
<value>Information</value>
|
||||
</data>
|
||||
<data name="LvCustomIcon" xml:space="preserve">
|
||||
<value>Custom Icon</value>
|
||||
<value>Custom icon</value>
|
||||
</data>
|
||||
<data name="FillCorrectDNSText" xml:space="preserve">
|
||||
<value>Please fill in the correct custom DNS</value>
|
||||
|
|
@ -683,7 +683,7 @@
|
|||
<value>Auto hide startup</value>
|
||||
</data>
|
||||
<data name="TbSettingsAutoUpdateInterval" xml:space="preserve">
|
||||
<value>Automatic update interval of Geo (hours)</value>
|
||||
<value>Automatic update interval for Geo files (hours)</value>
|
||||
</data>
|
||||
<data name="TbSettingsCore" xml:space="preserve">
|
||||
<value>Core: basic settings</value>
|
||||
|
|
@ -704,7 +704,7 @@
|
|||
<value>Outbound Freedom domainStrategy</value>
|
||||
</data>
|
||||
<data name="TbSettingsEnableAutoAdjustMainLvColWidth" xml:space="preserve">
|
||||
<value>Automatically adjust column width after updating subscription</value>
|
||||
<value>Automatically adjust column width after subscription update</value>
|
||||
</data>
|
||||
<data name="TbSettingsEnableCheckPreReleaseUpdate" xml:space="preserve">
|
||||
<value>Check for pre-release updates</value>
|
||||
|
|
@ -713,16 +713,16 @@
|
|||
<value>Exception</value>
|
||||
</data>
|
||||
<data name="TbSettingsExceptionTip" xml:space="preserve">
|
||||
<value>Exception. Do not use proxy server for addresses beginning with,Use semicolon (;)</value>
|
||||
<value>Exclusions: Do not use proxy server for addresses beginning with the following. Use semicolon (;) to separate entries.</value>
|
||||
</data>
|
||||
<data name="TbSettingsHttpPort" xml:space="preserve">
|
||||
<value>HTTP Port</value>
|
||||
</data>
|
||||
<data name="TbSettingsDisplayRealTimeSpeed" xml:space="preserve">
|
||||
<value>Display real-time speed (Require restart)</value>
|
||||
<value>Display real-time speed (requires restart)</value>
|
||||
</data>
|
||||
<data name="TbSettingsKeepOlderDedupl" xml:space="preserve">
|
||||
<value>Keep older when deduplication</value>
|
||||
<value>Keep the older when de-duplicating</value>
|
||||
</data>
|
||||
<data name="TbSettingsLogEnabled" xml:space="preserve">
|
||||
<value>Enable Log</value>
|
||||
|
|
@ -755,7 +755,7 @@
|
|||
<value>Start on boot</value>
|
||||
</data>
|
||||
<data name="TbSettingsStatistics" xml:space="preserve">
|
||||
<value>Enable traffic statistics (Require restart)</value>
|
||||
<value>Enable traffic statistics (requires restart)</value>
|
||||
</data>
|
||||
<data name="TbSettingsSubConvert" xml:space="preserve">
|
||||
<value>Subscription conversion URL</value>
|
||||
|
|
@ -785,7 +785,7 @@
|
|||
<value>Global Hotkey Settings</value>
|
||||
</data>
|
||||
<data name="TbGlobalHotkeySettingTip" xml:space="preserve">
|
||||
<value>Set directly by pressing the keyboard, take effect after restart</value>
|
||||
<value>Set directly by pressing the keyboard; Takes effect after restart</value>
|
||||
</data>
|
||||
<data name="TbNotChangeSystemProxy" xml:space="preserve">
|
||||
<value>Do not change system proxy</value>
|
||||
|
|
@ -842,7 +842,7 @@
|
|||
<value>Remove selected (Delete)</value>
|
||||
</data>
|
||||
<data name="menuRoutingAdvancedSetDefault" xml:space="preserve">
|
||||
<value>Set as active rule(Enter)</value>
|
||||
<value>Set as active rule (Enter)</value>
|
||||
</data>
|
||||
<data name="TbdomainMatcher" xml:space="preserve">
|
||||
<value>Domain Matcher</value>
|
||||
|
|
@ -863,7 +863,7 @@
|
|||
<value>Pre-defined Rule Set List</value>
|
||||
</data>
|
||||
<data name="TbRoutingTips" xml:space="preserve">
|
||||
<value>*Set the rules, separated by commas (,); The comma in the regular is replaced by <COMMA></value>
|
||||
<value>*Separate rules by commas (,); For a literal comma use <COMMA>; Prefix # to ignore a rule</value>
|
||||
</data>
|
||||
<data name="menuImportRulesFromClipboard" xml:space="preserve">
|
||||
<value>Import Rules From Clipboard</value>
|
||||
|
|
@ -899,7 +899,7 @@
|
|||
<value>Ruleobject Doc</value>
|
||||
</data>
|
||||
<data name="TbDnsObjectDoc" xml:space="preserve">
|
||||
<value>Support DnsObject, Click to view the document</value>
|
||||
<value>Supports DnsObject; Click to view documentation</value>
|
||||
</data>
|
||||
<data name="SubUrlTips" xml:space="preserve">
|
||||
<value>For group please leave blank here</value>
|
||||
|
|
@ -917,7 +917,7 @@
|
|||
<value>Do not use proxy servers for local (intranet) addresses</value>
|
||||
</data>
|
||||
<data name="menuMixedTestServer" xml:space="preserve">
|
||||
<value>One-click multi test Latency and speed (Ctrl+E)</value>
|
||||
<value>One-click multi-test latency and speed (Ctrl+E)</value>
|
||||
</data>
|
||||
<data name="LvTestDelay" xml:space="preserve">
|
||||
<value>Delay(ms)</value>
|
||||
|
|
@ -947,7 +947,7 @@
|
|||
<value>Move to group</value>
|
||||
</data>
|
||||
<data name="TbSettingsEnableDragDropSort" xml:space="preserve">
|
||||
<value>Enable Server Drag Drop Sort(Require restart)</value>
|
||||
<value>Enable sorting servers by drag-n-drop (requires restart)</value>
|
||||
</data>
|
||||
<data name="TbAutoRefresh" xml:space="preserve">
|
||||
<value>AutoRefresh</value>
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
<value>Edit Server (Ctrl+D)</value>
|
||||
</data>
|
||||
<data name="TbSettingsDoubleClick2Activate" xml:space="preserve">
|
||||
<value>Double-click server make active</value>
|
||||
<value>Double-clicking server makes it active</value>
|
||||
</data>
|
||||
<data name="SpeedtestingCompleted" xml:space="preserve">
|
||||
<value>Test completed</value>
|
||||
|
|
@ -974,10 +974,10 @@
|
|||
<value>This parameter is valid only for tcp/http and ws</value>
|
||||
</data>
|
||||
<data name="TbSettingsCurrentFontFamily" xml:space="preserve">
|
||||
<value>FontFamily(Require restart)</value>
|
||||
<value>Font family (requires restart)</value>
|
||||
</data>
|
||||
<data name="TbSettingsCurrentFontFamilyTip" xml:space="preserve">
|
||||
<value>Copy the font TTF/TTC file to the directory guiFonts, restart the settings</value>
|
||||
<value>Copy the font TTF/TTC file to the directory guiFonts; Reopen the settings window</value>
|
||||
</data>
|
||||
<data name="TbSettingsSocksPortTip" xml:space="preserve">
|
||||
<value>Pac port = +3; Xray API port = +4; mihomo API port = +5;</value>
|
||||
|
|
@ -1007,7 +1007,7 @@
|
|||
<value>SpiderX</value>
|
||||
</data>
|
||||
<data name="TbSettingsEnableHWA" xml:space="preserve">
|
||||
<value>Enable hardware acceleration(Require restart)</value>
|
||||
<value>Enable hardware acceleration (requires restart)</value>
|
||||
</data>
|
||||
<data name="SpeedtestingWait" xml:space="preserve">
|
||||
<value>Waiting for testing (press ESC to terminate)...</value>
|
||||
|
|
@ -1235,7 +1235,7 @@
|
|||
<value>Multi-Server lowest latency</value>
|
||||
</data>
|
||||
<data name="TbSettingsMainGirdOrientation" xml:space="preserve">
|
||||
<value>Main layout orientation(Require restart)</value>
|
||||
<value>Main layout orientation (requires restart)</value>
|
||||
</data>
|
||||
<data name="menuSetDefaultLoadBalanceServer" xml:space="preserve">
|
||||
<value>Multi-server load balancing</value>
|
||||
|
|
@ -1376,7 +1376,7 @@
|
|||
<value>Number per time for auto batch during speedtest(max 1000)</value>
|
||||
</data>
|
||||
<data name="TbSettingsExceptionTip2" xml:space="preserve">
|
||||
<value>Exception. Do not use proxy server for addresses,with a comma (,)</value>
|
||||
<value>Exclusions: Do not use proxy server for the following addresses. Use comma (,) to separate entries.</value>
|
||||
</data>
|
||||
<data name="TbSettingsDestOverride" xml:space="preserve">
|
||||
<value>Sniffing type</value>
|
||||
|
|
|
|||
Loading…
Reference in a new issue