#!/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 cp -rf v2rayN-${Arch}/* $OutputPath PackagePath="v2rayN-Package-${Arch}" mkdir -p "$PackagePath/v2rayN.app/Contents/Resources" cp -rf "$OutputPath" "$PackagePath/v2rayN.app/Contents/MacOS" cp -f "$PackagePath/v2rayN.app/Contents/MacOS/v2rayN.icns" "$PackagePath/v2rayN.app/Contents/Resources/AppIcon.icns" echo "When this file exists, app will not store configs under this folder" > "$PackagePath/v2rayN.app/Contents/MacOS/NotStoreConfigHere.txt" chmod +x "$PackagePath/v2rayN.app/Contents/MacOS/v2rayN" cat >"$PackagePath/v2rayN.app/Contents/Info.plist" <<-EOF CFBundleDevelopmentRegion English CFBundleDisplayName v2rayN CFBundleExecutable v2rayN CFBundleIconFile AppIcon CFBundleIconName AppIcon CFBundleIdentifier 2dust.v2rayN CFBundleName v2rayN CFBundlePackageType APPL CFBundleShortVersionString ${Version} CSResourcesFileMapped NSHighResolutionCapable EOF create-dmg \ --volname "v2rayN Installer" \ --window-size 700 420 \ --icon-size 100 \ --icon "v2rayN.app" 160 185 \ --hide-extension "v2rayN.app" \ --app-drop-link 500 185 \ "v2rayN-${Arch}.dmg" \ "$PackagePath/v2rayN.app"