From 592cd449a26efe90baccdc594d05bcdcea77d542 Mon Sep 17 00:00:00 2001 From: veto9292 Date: Sat, 7 Feb 2026 23:25:22 +0330 Subject: [PATCH 1/8] refactor: rename macOS and iOS install dependencies targets and update activation command --- Makefile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index ebc74b9f..fa85beab 100644 --- a/Makefile +++ b/Makefile @@ -133,12 +133,12 @@ protos: generate_go_protoc generate_kotlin_protos generate_dart_protoc -macos-install-dependencies: +macos-install-deps: brew install create-dmg tree npm install -g appdmg - dart pub global activate flutter_distributor + dart pub global activate fastforge -ios-install-dependencies: +ios-install-deps: if [ "$(flutter)" = "true" ]; then \ curl -L -o ~/Downloads/flutter_macos_3.19.3-stable.zip https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_3.22.3-stable.zip; \ mkdir -p ~/develop; \ @@ -158,7 +158,7 @@ ios-install-dependencies: brew install create-dmg tree npm install -g appdmg - dart pub global activate flutter_distributor + dart pub global activate fastforge android-install-deps: @@ -250,8 +250,8 @@ windows-install-deps: dart pub global activate --source git https://github.com/hiddify/flutter_distributor --git-path packages/flutter_distributor -windows-install-dependencies: - dart pub global activate flutter_distributor +windows-install-deps: + dart pub global activate fastforge gen_translations: #generating missing translations using google translate cd .github && bash sync_translate.sh From 114bdeaaf97dafab18825611e6075573a516b1f8 Mon Sep 17 00:00:00 2001 From: veto9292 Date: Sat, 7 Feb 2026 23:50:30 +0330 Subject: [PATCH 2/8] fix: update build targets for Android to include AAB format and fix windows-install-deps --- .github/workflows/build.yml | 2 +- Makefile | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 33bbc93a..374fa489 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -64,7 +64,7 @@ jobs: include: - platform: android-apk os: ubuntu-latest - targets: apk + targets: apk,aab # - platform: android-aab # os: ubuntu-latest diff --git a/Makefile b/Makefile index fa85beab..6e85da9d 100644 --- a/Makefile +++ b/Makefile @@ -237,22 +237,10 @@ linux-flutter-sync: $(GREEN)Flutter SDK is ready.$(DONE); \ fi - windows-install-deps: dart pub global activate fastforge # choco install innosetup -y - - sudo modprobe fuse - wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" - chmod +x appimagetool - sudo mv appimagetool /usr/local/bin/ - - dart pub global activate --source git https://github.com/hiddify/flutter_distributor --git-path packages/flutter_distributor - -windows-install-deps: - dart pub global activate fastforge - gen_translations: #generating missing translations using google translate cd .github && bash sync_translate.sh make translate From ec2e21b4a1fc2dd923a10c481cace344ee109b62 Mon Sep 17 00:00:00 2001 From: veto9292 Date: Sun, 8 Feb 2026 19:40:09 +0330 Subject: [PATCH 3/8] fix: update AppImage post-processing steps and improve Docker volume mounts --- Makefile | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 6e85da9d..cf46dc31 100644 --- a/Makefile +++ b/Makefile @@ -357,13 +357,9 @@ linux-appimage-release: --skip-clean \ --build-target=$(TARGET) \ --build-dart-define=sentry_dsn=$(SENTRY_DSN) - @$(YELLOW)Post-processing AppImage$(DONE) - @FULL_PATH=$$(ls -td dist/*+* | head -n 1); \ - VERSION_NAME=$$(basename "$$FULL_PATH"); \ - $(BLUE)Directory Found: $$FULL_PATH$(DONE); \ - $(BLUE)Detected Version: $$VERSION_NAME$(DONE); \ + @$(YELLOW)Post-processing AppImage$(DONE); \ $(BLUE)Extracting AppImage$(DONE); \ - cd dist/$$VERSION_NAME && ./hiddify-$$VERSION_NAME-linux.AppImage --appimage-extract > /dev/null; \ + cd dist/* && ./*.AppImage --appimage-extract > /dev/null; \ $(BLUE)Replacing AppRun$(DONE); \ cp ../../linux/packaging/appimage/AppRun squashfs-root/AppRun; \ $(BLUE)Granting permissions$(DONE); \ @@ -371,17 +367,17 @@ linux-appimage-release: $(BLUE)Adding StartupWMClass to hiddify.desktop$(DONE); \ sed -i '/^\[Desktop Entry\]/a StartupWMClass=app.hiddify.com' "squashfs-root/hiddify.desktop"; \ $(BLUE)Removing old AppImage$(DONE); \ - rm hiddify-$$VERSION_NAME-linux.AppImage; \ + rm *.AppImage; \ $(BLUE)Rebuilding AppImage$(DONE); \ - ARCH=x86_64 appimagetool squashfs-root hiddify-$$VERSION_NAME-linux.AppImage > /dev/null; \ + ARCH=x86_64 appimagetool squashfs-root Hiddify.AppImage > /dev/null; \ $(BLUE)Cleaning up squashfs$(DONE); \ rm -rf squashfs-root; \ $(YELLOW)Creating Portable Package$(DONE); \ - PKG_DIR_NAME="hiddify-$$VERSION_NAME-linux"; \ + PKG_DIR_NAME="hiddify-linux-appimage"; \ $(BLUE)Creating dir: $$PKG_DIR_NAME$(DONE); \ mkdir -p "$$PKG_DIR_NAME"; \ $(BLUE)Moving and Renaming to Hiddify.AppImage$(DONE); \ - mv "hiddify-$$VERSION_NAME-linux.AppImage" "$$PKG_DIR_NAME/Hiddify.AppImage"; \ + mv "*.AppImage" "$$PKG_DIR_NAME/Hiddify.AppImage"; \ $(BLUE)Creating Portable Home directory$(DONE); \ mkdir -p "$$PKG_DIR_NAME/Hiddify.AppImage.home"; \ $(BLUE)Compressing to .tar.gz$(DONE); \ @@ -406,6 +402,7 @@ DOCKER_CMD := \ mkdir -p /app; \ cp -r /host/. /app/; \ cd /app; \ + make linux-flutter-sync; \ make linux-prepare; \ echo '** Building Release (linux-release)...'; \ make linux-release; \ @@ -433,12 +430,12 @@ linux-docker-release: @$(YELLOW)Running build inside container$(DONE) @docker run --rm \ - -v "$(CURDIR):/host" \ - -v $(DOCKER_FLUTTER_VOL):/root/develop/flutter \ - -v $(DOCKER_PUB_VOL):/root/.pub-cache \ + -v "$(CURDIR)://host" \ + -v $(DOCKER_FLUTTER_VOL)://root/develop/flutter \ + -v $(DOCKER_PUB_VOL)://root/.pub-cache \ -e APPIMAGE_EXTRACT_AND_RUN=1 \ $(DOCKER_IMAGE_NAME) \ - /bin/bash -c "$(DOCKER_CMD)" + //bin/bash -c "$(DOCKER_CMD)" @$(GREEN)Successful. Output is in 'dist_docker' folder.$(DONE) From bee8c9baebade2191df3c0932bc1a774d1413e92 Mon Sep 17 00:00:00 2001 From: veto9292 Date: Mon, 9 Feb 2026 16:32:15 +0330 Subject: [PATCH 4/8] fix: downgrade `sentry_flutter` to remove jni dependency (avoids forced JDK installation) --- linux/flutter/generated_plugins.cmake | 1 - pubspec.lock | 20 ++++++-------------- pubspec.yaml | 4 ++-- windows/flutter/generated_plugins.cmake | 1 - 4 files changed, 8 insertions(+), 18 deletions(-) diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 225953b6..07a9285f 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -15,7 +15,6 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST - jni ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/pubspec.lock b/pubspec.lock index 8f4584dc..60b8ab21 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1007,14 +1007,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.1.2" - jni: - dependency: transitive - description: - name: jni - sha256: d2c361082d554d4593c3012e26f6b188f902acd291330f13d6427641a92b3da1 - url: "https://pub.dev" - source: hosted - version: "0.14.2" js: dependency: transitive description: @@ -1579,26 +1571,26 @@ packages: dependency: transitive description: name: sentry - sha256: fa14b2177d2cd4489ec78817ec4e52affe1be9f595718de970a5e4ed2bccc530 + sha256: "599701ca0693a74da361bc780b0752e1abc98226cf5095f6b069648116c896bb" url: "https://pub.dev" source: hosted - version: "9.10.0" + version: "8.14.2" sentry_dart_plugin: dependency: "direct main" description: name: sentry_dart_plugin - sha256: "514cd5cc5c022bed9c232d08dc126a081b8a965dbad78b819ae91bf3a06e622c" + sha256: "84436958fa9231e2e716be117a3b31695e54458b9f27039f76d14515e24248a6" url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "2.4.1" sentry_flutter: dependency: "direct main" description: name: sentry_flutter - sha256: "00d168260c9be3777e4f1c9ca7a2e4f2c48566926ec22a64bbacae5a94ff72a3" + sha256: "5ba2cf40646a77d113b37a07bd69f61bb3ec8a73cbabe5537b05a7c89d2656f8" url: "https://pub.dev" source: hosted - version: "9.10.0" + version: "8.14.2" share_plus: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 8c9bceff..d75505d1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -52,8 +52,8 @@ dependencies: url_launcher: ^6.2.5 vclibs: ^0.1.2 launch_at_startup: ^0.5.1 - sentry_flutter: ^9.10.0 - sentry_dart_plugin: ^3.2.1 + sentry_flutter: ^8.14.0 + sentry_dart_plugin: ^2.4.1 sqlite3_flutter_libs: ^0.5.28 combine: ^0.5.7 diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index ebde27ee..b6f557c3 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -17,7 +17,6 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST - jni ) set(PLUGIN_BUNDLED_LIBRARIES) From ab9ec05ff5ecf4a37b78fa9aa127b25711c04374 Mon Sep 17 00:00:00 2001 From: veto9292 Date: Mon, 9 Feb 2026 16:37:03 +0330 Subject: [PATCH 5/8] feat: add supported MIME types for app links on Linux AppImage --- linux/packaging/appimage/make_config.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/linux/packaging/appimage/make_config.yaml b/linux/packaging/appimage/make_config.yaml index 92a7f34f..d8091389 100644 --- a/linux/packaging/appimage/make_config.yaml +++ b/linux/packaging/appimage/make_config.yaml @@ -29,6 +29,17 @@ categories: startup_notify: true +# app_links setup for Linux +# https://github.com/llfbandit/app_links/blob/master/doc/README_linux.md +supported_mime_type: + - x-scheme-handler/hiddify + - x-scheme-handler/v2ray + - x-scheme-handler/v2rayn + - x-scheme-handler/v2rayng + - x-scheme-handler/clash + - x-scheme-handler/clashmeta + - x-scheme-handler/sing-box + # You can specify the shared libraries that you want to bundle with your app # # flutter_distributor automatically detects the shared libraries that your app From b24fda4039bb20437193eb0f1b21528d278d0876 Mon Sep 17 00:00:00 2001 From: veto9292 Date: Mon, 9 Feb 2026 16:52:31 +0330 Subject: [PATCH 6/8] fix: update AppImage build command to disable appstream and correct file move --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index cf46dc31..d7b89827 100644 --- a/Makefile +++ b/Makefile @@ -369,7 +369,7 @@ linux-appimage-release: $(BLUE)Removing old AppImage$(DONE); \ rm *.AppImage; \ $(BLUE)Rebuilding AppImage$(DONE); \ - ARCH=x86_64 appimagetool squashfs-root Hiddify.AppImage > /dev/null; \ + ARCH=x86_64 appimagetool --no-appstream squashfs-root Hiddify.AppImage > /dev/null; \ $(BLUE)Cleaning up squashfs$(DONE); \ rm -rf squashfs-root; \ $(YELLOW)Creating Portable Package$(DONE); \ @@ -377,7 +377,7 @@ linux-appimage-release: $(BLUE)Creating dir: $$PKG_DIR_NAME$(DONE); \ mkdir -p "$$PKG_DIR_NAME"; \ $(BLUE)Moving and Renaming to Hiddify.AppImage$(DONE); \ - mv "*.AppImage" "$$PKG_DIR_NAME/Hiddify.AppImage"; \ + mv "Hiddify.AppImage" "$$PKG_DIR_NAME/Hiddify.AppImage"; \ $(BLUE)Creating Portable Home directory$(DONE); \ mkdir -p "$$PKG_DIR_NAME/Hiddify.AppImage.home"; \ $(BLUE)Compressing to .tar.gz$(DONE); \ From 6c0e8436008f9638069becf826576494765b4d89 Mon Sep 17 00:00:00 2001 From: veto9292 Date: Mon, 9 Feb 2026 16:53:19 +0330 Subject: [PATCH 7/8] fix: update app icon type to use stock icon for consistency --- linux/packaging/app.hiddify.com.appdata.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux/packaging/app.hiddify.com.appdata.xml b/linux/packaging/app.hiddify.com.appdata.xml index bf63da5a..8f541dc7 100644 --- a/linux/packaging/app.hiddify.com.appdata.xml +++ b/linux/packaging/app.hiddify.com.appdata.xml @@ -35,7 +35,7 @@ hiddify.desktop - ./assets/images/source/ic_launcher_border.png + hiddify Network From 272f31dbac30868c11c9f09327e2df729b9273b2 Mon Sep 17 00:00:00 2001 From: veto9292 Date: Mon, 9 Feb 2026 17:27:59 +0330 Subject: [PATCH 8/8] fix: remove unused variables for zip file path in windows release process --- Makefile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Makefile b/Makefile index d7b89827..edcfd102 100644 --- a/Makefile +++ b/Makefile @@ -268,10 +268,6 @@ android-aab-release: windows-release: windows-zip-release windows-exe-release windows-msix-release -FULL_PATH = $(wildcard dist/*/*.zip) -ZIP_DIR = $(dir $(FULL_PATH)) -FILE_NAME = $(basename $(notdir $(FULL_PATH))) - windows-zip-release: fastforge package \ --platform windows \