From 348c2935ec7962a2798ed4b83216f73d54f91c45 Mon Sep 17 00:00:00 2001 From: problematicconsumer Date: Fri, 5 Jan 2024 15:21:10 +0330 Subject: [PATCH 1/7] Refactor service wrappers --- lib/bootstrap.dart | 4 ++-- lib/core/router/app_router.dart | 4 ++-- lib/features/app/widget/app.dart | 2 +- .../deep_link/notifier/deep_link_notifier.dart} | 5 ++--- lib/features/{wrapper => }/shortcut/shortcut_wrapper.dart | 0 5 files changed, 7 insertions(+), 8 deletions(-) rename lib/{services/deep_link_service.dart => features/deep_link/notifier/deep_link_notifier.dart} (91%) rename lib/features/{wrapper => }/shortcut/shortcut_wrapper.dart (100%) diff --git a/lib/bootstrap.dart b/lib/bootstrap.dart index 333b2b86..7398b845 100644 --- a/lib/bootstrap.dart +++ b/lib/bootstrap.dart @@ -17,13 +17,13 @@ import 'package:hiddify/core/preferences/preferences_migration.dart'; import 'package:hiddify/core/preferences/preferences_provider.dart'; import 'package:hiddify/features/app/widget/app.dart'; import 'package:hiddify/features/auto_start/notifier/auto_start_notifier.dart'; +import 'package:hiddify/features/deep_link/notifier/deep_link_notifier.dart'; import 'package:hiddify/features/geo_asset/data/geo_asset_data_providers.dart'; import 'package:hiddify/features/log/data/log_data_providers.dart'; import 'package:hiddify/features/profile/data/profile_data_providers.dart'; import 'package:hiddify/features/profile/notifier/active_profile_notifier.dart'; import 'package:hiddify/features/system_tray/notifier/system_tray_notifier.dart'; import 'package:hiddify/features/window/notifier/window_notifier.dart'; -import 'package:hiddify/services/deep_link_service.dart'; import 'package:hiddify/singbox/service/singbox_service_provider.dart'; import 'package:hiddify/utils/utils.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; @@ -144,7 +144,7 @@ Future lazyBootstrap( ); await _safeInit( "deep link service", - () => container.read(deepLinkServiceProvider.future), + () => container.read(deepLinkNotifierProvider.future), timeout: 1000, ); diff --git a/lib/core/router/app_router.dart b/lib/core/router/app_router.dart index 8db2baae..b9dbee2f 100644 --- a/lib/core/router/app_router.dart +++ b/lib/core/router/app_router.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:hiddify/core/preferences/general_preferences.dart'; import 'package:hiddify/core/router/routes.dart'; -import 'package:hiddify/services/deep_link_service.dart'; +import 'package:hiddify/features/deep_link/notifier/deep_link_notifier.dart'; import 'package:hiddify/utils/utils.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; @@ -21,7 +21,7 @@ final GlobalKey rootNavigatorKey = GlobalKey(); GoRouter router(RouterRef ref) { final notifier = ref.watch(routerListenableProvider.notifier); final deepLink = ref.listen( - deepLinkServiceProvider, + deepLinkNotifierProvider, (_, next) async { if (next case AsyncData(value: final link?)) { await ref.state.push(AddProfileRoute(url: link.url).location); diff --git a/lib/features/app/widget/app.dart b/lib/features/app/widget/app.dart index 2773fee8..9b3b5f30 100644 --- a/lib/features/app/widget/app.dart +++ b/lib/features/app/widget/app.dart @@ -12,9 +12,9 @@ import 'package:hiddify/core/theme/theme_preferences.dart'; import 'package:hiddify/features/app_update/notifier/app_update_notifier.dart'; import 'package:hiddify/features/connection/widget/connection_wrapper.dart'; import 'package:hiddify/features/profile/notifier/profiles_update_notifier.dart'; +import 'package:hiddify/features/shortcut/shortcut_wrapper.dart'; import 'package:hiddify/features/system_tray/widget/system_tray_wrapper.dart'; import 'package:hiddify/features/window/widget/window_wrapper.dart'; -import 'package:hiddify/features/wrapper/shortcut/shortcut_wrapper.dart'; import 'package:hiddify/utils/utils.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:upgrader/upgrader.dart'; diff --git a/lib/services/deep_link_service.dart b/lib/features/deep_link/notifier/deep_link_notifier.dart similarity index 91% rename from lib/services/deep_link_service.dart rename to lib/features/deep_link/notifier/deep_link_notifier.dart index 12ad782f..2321f472 100644 --- a/lib/services/deep_link_service.dart +++ b/lib/features/deep_link/notifier/deep_link_notifier.dart @@ -4,17 +4,16 @@ import 'package:hiddify/utils/utils.dart'; import 'package:protocol_handler/protocol_handler.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; -part 'deep_link_service.g.dart'; +part 'deep_link_notifier.g.dart'; typedef NewProfileLink = ({String? url, String? name}); @Riverpod(keepAlive: true) -class DeepLinkService extends _$DeepLinkService +class DeepLinkNotifier extends _$DeepLinkNotifier with ProtocolListener, InfraLogger { @override Future build() async { if (Platform.isLinux) return null; - loggy.debug("initializing"); for (final protocol in LinkParser.protocols) { await protocolHandler.register(protocol); } diff --git a/lib/features/wrapper/shortcut/shortcut_wrapper.dart b/lib/features/shortcut/shortcut_wrapper.dart similarity index 100% rename from lib/features/wrapper/shortcut/shortcut_wrapper.dart rename to lib/features/shortcut/shortcut_wrapper.dart From e5d592c2d67e342abd5bac813e83c24f34102916 Mon Sep 17 00:00:00 2001 From: problematicconsumer Date: Fri, 5 Jan 2024 15:28:18 +0330 Subject: [PATCH 2/7] Remove unused dependencies --- pubspec.lock | 20 ++++++++++---------- pubspec.yaml | 4 +--- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 495d2bc0..faaad779 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -329,6 +329,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.3" + dependency_validator: + dependency: "direct dev" + description: + name: dependency_validator + sha256: f727a5627aa405965fab4aef4f468e50a9b632ba0737fd2f98c932fec6d712b9 + url: "https://pub.dev" + source: hosted + version: "3.2.3" device_info_plus: dependency: transitive description: @@ -1102,7 +1110,7 @@ packages: source: hosted version: "4.1.0" retry: - dependency: "direct main" + dependency: transitive description: name: retry sha256: "822e118d5b3aafed083109c72d5f484c6dc66707885e07c0fbcb8b986bba7efc" @@ -1458,14 +1466,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.3" - timeago: - dependency: "direct main" - description: - name: timeago - sha256: c44b80cbc6b44627c00d76960f2af571f6f50e5dbedef4d9215d455e4335165b - url: "https://pub.dev" - source: hosted - version: "3.6.0" timing: dependency: transitive description: @@ -1667,7 +1667,7 @@ packages: source: hosted version: "0.3.0" web_socket_channel: - dependency: "direct main" + dependency: transitive description: name: web_socket_channel sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b diff --git a/pubspec.yaml b/pubspec.yaml index fb95b6af..5e07e33e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,6 @@ dependencies: intl: ^0.18.1 slang: ^3.28.0 slang_flutter: ^3.28.0 - timeago: ^3.6.0 fpdart: ^1.1.0 freezed_annotation: ^2.4.1 json_annotation: ^4.8.1 @@ -27,7 +26,6 @@ dependencies: sqlite3_flutter_libs: ^0.5.18 shared_preferences: ^2.2.2 dio: ^5.4.0 - web_socket_channel: ^2.4.0 ffi: ^2.1.0 path_provider: ^2.1.1 mobile_scanner: ^3.5.5 @@ -52,7 +50,6 @@ dependencies: tint: ^2.0.1 accessibility_tools: ^1.0.1 neat_periodic_task: ^2.0.1 - retry: ^3.1.2 watcher: ^1.1.0 go_router: ^13.0.0 flex_color_scheme: ^7.3.1 @@ -91,6 +88,7 @@ dev_dependencies: custom_lint: ^0.5.7 riverpod_lint: ^2.3.7 icons_launcher: ^2.1.6 + dependency_validator: ^3.2.3 flutter: uses-material-design: true From 44349e7ce4001501b35610b8312c818e51a2450f Mon Sep 17 00:00:00 2001 From: problematicconsumer Date: Fri, 5 Jan 2024 15:40:44 +0330 Subject: [PATCH 3/7] Update dependencies --- pubspec.lock | 40 ++++++++++++++++++++-------------------- pubspec.yaml | 18 +++++++++--------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index faaad779..7a4b00b3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -458,10 +458,10 @@ packages: dependency: "direct main" description: name: flutter_adaptive_scaffold - sha256: "3e78be8b9c95b1c9832b2f8ec4a845adac205c4bb5e7bd3fb204b07990229167" + sha256: b3b7f8537b0af3e9982a0d1199d4d0e73b225672c867cecfb731c7f2bfc2f0f8 url: "https://pub.dev" source: hosted - version: "0.1.7+1" + version: "0.1.7+2" flutter_animate: dependency: "direct main" description: @@ -482,26 +482,26 @@ packages: dependency: transitive description: name: flutter_gen_core - sha256: "8b4ff1d45d125e576e26ea99d15e0419bb3c45b53696e022880866b78bb6b830" + sha256: "3a6c3dbc1c0e260088e9c7ed1ba905436844e8c01a44799f6281edada9e45308" url: "https://pub.dev" source: hosted - version: "5.3.2" + version: "5.4.0" flutter_gen_runner: dependency: "direct dev" description: name: flutter_gen_runner - sha256: fd197f8c657e79313d53d3934de602ebe604ba722a84c88ae3a43cd90428c67a + sha256: "24889d5140b03997f7148066a9c5fab8b606dff36093434c782d7a7fb22c6fb6" url: "https://pub.dev" source: hosted - version: "5.3.2" + version: "5.4.0" flutter_hooks: dependency: "direct main" description: name: flutter_hooks - sha256: "7c8db779c2d1010aa7f9ea3fbefe8f86524fcb87b69e8b0af31e1a4b55422dec" + sha256: "09f64db63fee3b2ab8b9038a1346be7d8986977fae3fec601275bf32455ccfc0" url: "https://pub.dev" source: hosted - version: "0.20.3" + version: "0.20.4" flutter_localizations: dependency: "direct main" description: flutter @@ -527,10 +527,10 @@ packages: dependency: "direct main" description: name: flutter_native_splash - sha256: "141b20f15a2c4fe6e33c49257ca1bc114fc5c500b04fcbc8d75016bb86af672f" + sha256: "9cdb5d9665dab5d098dc50feab74301c2c228cd02ca25c9b546ab572cebcd6af" url: "https://pub.dev" source: hosted - version: "2.3.8" + version: "2.3.9" flutter_riverpod: dependency: transitive description: @@ -617,18 +617,18 @@ packages: dependency: "direct main" description: name: go_router - sha256: ca7e4a2249f96773152f1853fa25933ac752495cdd7fdf5dafb9691bd05830fd + sha256: "3b40e751eaaa855179b416974d59d29669e750d2e50fcdb2b37f1cb0ca8c803a" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "13.0.1" go_router_builder: dependency: "direct dev" description: name: go_router_builder - sha256: c1a643f7efafe01ac0a19be5297e414c5f65aede38b83b203f7f420d8c911471 + sha256: f84449079eb1f09f59344fbbb8cdc6a6349d8973a83746a57953bd4130d852b6 url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.1" graphs: dependency: transitive description: @@ -865,10 +865,10 @@ packages: dependency: "direct main" description: name: native_dio_adapter - sha256: "2bb78b5e20b012ae6a0b5ea6405a3583f2ea6c85be9f7d909decabcb1992c25d" + sha256: "4c925ba15a44478be0eb6e97b62a1c1d07e56b28e566283dbcb15e58418bdaae" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" neat_periodic_task: dependency: "direct main" description: @@ -1494,10 +1494,10 @@ packages: dependency: "direct main" description: name: tray_manager - sha256: b1975a05e0c6999e983cf9a58a6a098318c896040ccebac5398a3cc9e43b9c69 + sha256: "4ab709d70a4374af172f8c39e018db33a4271265549c6fc9d269a65e5f4b0225" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.2.1" typed_data: dependency: transitive description: @@ -1678,10 +1678,10 @@ packages: dependency: "direct main" description: name: win32 - sha256: b0f37db61ba2f2e9b7a78a1caece0052564d1bc70668156cf3a29d676fe4e574 + sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" url: "https://pub.dev" source: hosted - version: "5.1.1" + version: "5.2.0" win32_registry: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 5e07e33e..1ad5cac4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,7 +19,7 @@ dependencies: freezed_annotation: ^2.4.1 json_annotation: ^4.8.1 hooks_riverpod: ^2.4.9 - flutter_hooks: ^0.20.3 + flutter_hooks: ^0.20.4 riverpod_annotation: ^2.3.3 rxdart: ^0.27.7 drift: ^2.14.1 @@ -30,10 +30,10 @@ dependencies: path_provider: ^2.1.1 mobile_scanner: ^3.5.5 protocol_handler: ^0.1.6 - flutter_native_splash: ^2.3.8 + flutter_native_splash: ^2.3.9 share_plus: ^7.2.1 window_manager: ^0.3.7 - tray_manager: ^0.2.0 + tray_manager: ^0.2.1 package_info_plus: ^5.0.1 url_launcher: ^6.2.2 vclibs: ^0.1.0 @@ -51,22 +51,22 @@ dependencies: accessibility_tools: ^1.0.1 neat_periodic_task: ^2.0.1 watcher: ^1.1.0 - go_router: ^13.0.0 + go_router: ^13.0.1 flex_color_scheme: ^7.3.1 flutter_animate: ^4.3.0 flutter_svg: ^2.0.9 gap: ^3.0.1 percent_indicator: ^4.2.3 sliver_tools: ^0.2.12 - flutter_adaptive_scaffold: ^0.1.7+1 + flutter_adaptive_scaffold: ^0.1.7+2 humanizer: ^2.2.0 upgrader: ^8.4.0 toastification: ^1.1.0 version: ^3.0.2 posix: ^6.0.1 - win32: ^5.1.1 + win32: ^5.2.0 qr_flutter: ^4.1.0 - native_dio_adapter: ^1.2.0 + native_dio_adapter: ^1.3.0 flutter_displaymode: ^0.6.0 windows_single_instance: ^1.0.1 flutter_loggy_dio: ^3.0.1 @@ -83,8 +83,8 @@ dev_dependencies: drift_dev: ^2.14.1 ffigen: ^8.0.2 slang_build_runner: ^3.28.0 - flutter_gen_runner: ^5.3.2 - go_router_builder: ^2.4.0 + flutter_gen_runner: ^5.4.0 + go_router_builder: ^2.4.1 custom_lint: ^0.5.7 riverpod_lint: ^2.3.7 icons_launcher: ^2.1.6 From 3a60e4686741a50f36e2a5621e8ff27b8e4a101e Mon Sep 17 00:00:00 2001 From: problematicconsumer Date: Sat, 6 Jan 2024 11:43:25 +0330 Subject: [PATCH 4/7] Update core (sing-box v1.7.8) --- libcore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcore b/libcore index 29c6413b..a6ef8d65 160000 --- a/libcore +++ b/libcore @@ -1 +1 @@ -Subproject commit 29c6413bcee33971e3d888dc853face2246e8a7f +Subproject commit a6ef8d65b683f29942567b1530e8549a1021dfe0 From e6ad5cfd1f0b80c948b12c90d2ce2c318863a3f2 Mon Sep 17 00:00:00 2001 From: problematicconsumer Date: Sat, 6 Jan 2024 11:51:49 +0330 Subject: [PATCH 5/7] Update changelog --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 20651657..7294baf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [0.13.5.dev] - 2023-1-6 + +### New Features and Improvements + +- Updated sing-box to version 1.7.8 +- Improved TLS Fragmentation. [PR#12](https://github.com/hiddify/hiddify-sing-box/pull/12) by [Kyōchikutō | キョウチクトウ](https://github.com/kyochikuto) +- Added cancel button on new profile modal +- Changed default Connection Test URL + +### Bug Fixes + +- Fixed Android service mode ## [0.13.4.dev] - 2023-1-4 @@ -197,6 +209,7 @@ - Fixed localization mistakes in Russian. [PR#95](https://github.com/hiddify/hiddify-next/pull/95) by [solokot](https://github.com/solokot) - Fixed localization mistakes in Russian. [PR#74](https://github.com/hiddify/hiddify-next/pull/74) by [Elshad Guseynov](https://github.com/lifeindarkside) +[0.13.5.dev]: https://github.com/hiddify/hiddify-next/releases/tag/v0.13.5.dev [0.13.4.dev]: https://github.com/hiddify/hiddify-next/releases/tag/v0.13.4.dev [0.13.3.dev]: https://github.com/hiddify/hiddify-next/releases/tag/v0.13.3.dev [0.13.2.dev]: https://github.com/hiddify/hiddify-next/releases/tag/v0.13.2.dev From cffae11df4ba64bbcbc122d70df0428ccdd7d62c Mon Sep 17 00:00:00 2001 From: problematicconsumer Date: Sat, 6 Jan 2024 13:36:40 +0330 Subject: [PATCH 6/7] Fix qr scanner links --- CHANGELOG.md | 1 + lib/features/common/qr_code_scanner_screen.dart | 16 +++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7294baf6..e78c0e90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ ### Bug Fixes - Fixed Android service mode +- Fixed QR code scanner not scanning deep links ## [0.13.4.dev] - 2023-1-4 diff --git a/lib/features/common/qr_code_scanner_screen.dart b/lib/features/common/qr_code_scanner_screen.dart index 152df8a0..4199bb04 100644 --- a/lib/features/common/qr_code_scanner_screen.dart +++ b/lib/features/common/qr_code_scanner_screen.dart @@ -77,11 +77,17 @@ class QRCodeScannerScreen extends HookConsumerWidget with PresLogger { MobileScanner( controller: controller, onDetect: (capture) { - final data = capture.barcodes.first; - if (context.mounted && data.type == BarcodeType.url) { - loggy.debug('captured raw: [${data.rawValue}]'); - loggy.debug('captured url: [${data.url?.url}]'); - Navigator.of(context, rootNavigator: true).pop(data.url?.url); + final rawData = capture.barcodes.first.rawValue; + loggy.debug('captured raw: [$rawData]'); + if (rawData != null) { + final uri = Uri.tryParse(rawData); + if (context.mounted && uri != null) { + loggy.debug('captured url: [$uri]'); + Navigator.of(context, rootNavigator: true) + .pop(uri.toString()); + } + } else { + loggy.warning("unable to capture"); } }, errorBuilder: (_, error, __) { From 8358ec1044094bdb94e31c8f9c71c189822a89b7 Mon Sep 17 00:00:00 2001 From: problematicconsumer Date: Sat, 6 Jan 2024 13:59:10 +0330 Subject: [PATCH 7/7] release: version 0.13.5.dev --- CHANGELOG.md | 1 + pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e78c0e90..e8565df0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Updated sing-box to version 1.7.8 - Improved TLS Fragmentation. [PR#12](https://github.com/hiddify/hiddify-sing-box/pull/12) by [Kyōchikutō | キョウチクトウ](https://github.com/kyochikuto) +- Improved v2ray config parser - Added cancel button on new profile modal - Changed default Connection Test URL diff --git a/pubspec.yaml b/pubspec.yaml index 1ad5cac4..a0390f5d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: hiddify description: Cross Platform Multi Protocol Proxy Frontend. publish_to: "none" -version: 0.13.4+1340 +version: 0.13.5+1350 environment: sdk: ">=3.2.0 <4.0.0"