new: enable tunnel service again, add signing, msix, more log less info
This commit is contained in:
14
.github/workflows/build.yml
vendored
14
.github/workflows/build.yml
vendored
@@ -62,7 +62,7 @@ jobs:
|
|||||||
- platform: windows
|
- platform: windows
|
||||||
os: windows-2019
|
os: windows-2019
|
||||||
aarch: amd64
|
aarch: amd64
|
||||||
targets: exe
|
targets: exe,msix
|
||||||
|
|
||||||
- platform: linux
|
- platform: linux
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
@@ -118,6 +118,14 @@ jobs:
|
|||||||
echo "keyPassword=${{ secrets.ANDROID_SIGNING_KEY_PASSWORD }}" >> android/key.properties
|
echo "keyPassword=${{ secrets.ANDROID_SIGNING_KEY_PASSWORD }}" >> android/key.properties
|
||||||
echo "keyAlias=${{ secrets.ANDROID_SIGNING_KEY_ALIAS }}" >> android/key.properties
|
echo "keyAlias=${{ secrets.ANDROID_SIGNING_KEY_ALIAS }}" >> android/key.properties
|
||||||
|
|
||||||
|
- name: Setup Windows Signing Properties
|
||||||
|
if: ${{ inputs.upload-artifact && startsWith(matrix.platform,'windows') }}
|
||||||
|
run: |
|
||||||
|
$decodedText = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("${{ secrets.WINDOWS_SIGNING_KEY }}"))
|
||||||
|
Set-Content -Path "windows\sign.pfx" -Value $decodedText
|
||||||
|
(Get-Content "windows\packaging\msix\make_config.yaml") -replace '^certificate_password:\s.*$', 'certificate_password: ${{ secrets.WINDOWS_SIGNING_PASSWORD }}' | Set-Content "windows\packaging\msix\make_config.yaml"
|
||||||
|
|
||||||
|
|
||||||
- name: Setup Apple certificate and provisioning profile
|
- name: Setup Apple certificate and provisioning profile
|
||||||
if: ${{ inputs.upload-artifact && startsWith(matrix.os,'macos') }}
|
if: ${{ inputs.upload-artifact && startsWith(matrix.os,'macos') }}
|
||||||
env:
|
env:
|
||||||
@@ -224,8 +232,8 @@ jobs:
|
|||||||
- name: Clean up keychain and provisioning profile
|
- name: Clean up keychain and provisioning profile
|
||||||
if: ${{ always() && startsWith(matrix.os,'macos')}}
|
if: ${{ always() && startsWith(matrix.os,'macos')}}
|
||||||
run: |
|
run: |
|
||||||
security delete-keychain $RUNNER_TEMP/app-signing.keychain-db
|
security delete-keychain $RUNNER_TEMP/app-signing.keychain-db ||echo ok
|
||||||
rm ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision
|
rm ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision ||echo ok
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
if: env.UPLOAD_ARTIFACT == 'true'
|
if: env.UPLOAD_ARTIFACT == 'true'
|
||||||
|
|||||||
5
Makefile
5
Makefile
@@ -124,7 +124,7 @@ android-aab-release:
|
|||||||
ls -R build/app/outputs
|
ls -R build/app/outputs
|
||||||
|
|
||||||
windows-release:
|
windows-release:
|
||||||
flutter_distributor package --flutter-build-args=verbose --platform windows --targets exe $(DISTRIBUTOR_ARGS)
|
flutter_distributor package --flutter-build-args=verbose --platform windows --targets exe,msix $(DISTRIBUTOR_ARGS)
|
||||||
|
|
||||||
linux-release:
|
linux-release:
|
||||||
flutter_distributor package --platform linux --targets deb,rpm,appimage $(DISTRIBUTOR_ARGS)
|
flutter_distributor package --platform linux --targets deb,rpm,appimage $(DISTRIBUTOR_ARGS)
|
||||||
@@ -207,9 +207,10 @@ release: # Create a new tag for release.
|
|||||||
BUILD_NUMBER=$$(( $${VERSION_ARRAY[0]} * 10000 + $${VERSION_ARRAY[1]} * 100 + $${VERSION_ARRAY[2]} )) && \
|
BUILD_NUMBER=$$(( $${VERSION_ARRAY[0]} * 10000 + $${VERSION_ARRAY[1]} * 100 + $${VERSION_ARRAY[2]} )) && \
|
||||||
echo "version: $${VERSION_STR}+$${BUILD_NUMBER}" && \
|
echo "version: $${VERSION_STR}+$${BUILD_NUMBER}" && \
|
||||||
sed -i "s/^version: .*/version: $${VERSION_STR}\+$${BUILD_NUMBER}/g" pubspec.yaml && \
|
sed -i "s/^version: .*/version: $${VERSION_STR}\+$${BUILD_NUMBER}/g" pubspec.yaml && \
|
||||||
|
sed -i "s/^msix_version: .*/msix_version: $${BUILD_NUMBER}.0/g" windows/packaging/msix/make_config.yaml && \
|
||||||
sed -i "s/CURRENT_PROJECT_VERSION = $${cbuild_number}/CURRENT_PROJECT_VERSION = $${BUILD_NUMBER}/g" ios/Runner.xcodeproj/project.pbxproj && \
|
sed -i "s/CURRENT_PROJECT_VERSION = $${cbuild_number}/CURRENT_PROJECT_VERSION = $${BUILD_NUMBER}/g" ios/Runner.xcodeproj/project.pbxproj && \
|
||||||
sed -i "s/MARKETING_VERSION = $${cstr_version}/MARKETING_VERSION = $${VERSION_STR}/g" ios/Runner.xcodeproj/project.pbxproj && \
|
sed -i "s/MARKETING_VERSION = $${cstr_version}/MARKETING_VERSION = $${VERSION_STR}/g" ios/Runner.xcodeproj/project.pbxproj && \
|
||||||
git add ios/Runner.xcodeproj/project.pbxproj pubspec.yaml&& \
|
git add ios/Runner.xcodeproj/project.pbxproj pubspec.yaml windows/packaging/msix/make_config.yaml && \
|
||||||
git commit -m "release: version $${TAG}" && \
|
git commit -m "release: version $${TAG}" && \
|
||||||
echo "creating git tag : v$${TAG}" && \
|
echo "creating git tag : v$${TAG}" && \
|
||||||
git push && \
|
git push && \
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
core.version=0.16.4
|
core.version=0.16.8
|
||||||
@@ -93,6 +93,7 @@ Future<void> lazyBootstrap(
|
|||||||
final debug = container.read(debugModeNotifierProvider) || kDebugMode;
|
final debug = container.read(debugModeNotifierProvider) || kDebugMode;
|
||||||
|
|
||||||
if (PlatformUtils.isDesktop) {
|
if (PlatformUtils.isDesktop) {
|
||||||
|
Logger.bootstrap.info("Starting Window Contoller");
|
||||||
await _init(
|
await _init(
|
||||||
"window controller",
|
"window controller",
|
||||||
() => container.read(windowNotifierProvider.future),
|
() => container.read(windowNotifierProvider.future),
|
||||||
@@ -106,39 +107,43 @@ Future<void> lazyBootstrap(
|
|||||||
} else {
|
} else {
|
||||||
Logger.bootstrap.debug("silent start, remain hidden accessible via tray");
|
Logger.bootstrap.debug("silent start, remain hidden accessible via tray");
|
||||||
}
|
}
|
||||||
|
Logger.bootstrap.info("Starting Auto Start Service");
|
||||||
await _init(
|
await _init(
|
||||||
"auto start service",
|
"auto start service",
|
||||||
() => container.read(autoStartNotifierProvider.future),
|
() => container.read(autoStartNotifierProvider.future),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Logger.bootstrap.info("Starting Log Repository");
|
||||||
await _init(
|
await _init(
|
||||||
"logs repository",
|
"logs repository",
|
||||||
() => container.read(logRepositoryProvider.future),
|
() => container.read(logRepositoryProvider.future),
|
||||||
);
|
);
|
||||||
|
Logger.bootstrap.info("Starting Logger Contoller");
|
||||||
await _init("logger controller", () => LoggerController.postInit(debug));
|
await _init("logger controller", () => LoggerController.postInit(debug));
|
||||||
Logger.bootstrap.info(appInfo.format());
|
|
||||||
|
|
||||||
|
Logger.bootstrap.info(appInfo.format());
|
||||||
|
Logger.bootstrap.info("Starting GeoAssets");
|
||||||
await _init(
|
await _init(
|
||||||
"geo assets repository",
|
"geo assets repository",
|
||||||
() => container.read(geoAssetRepositoryProvider.future),
|
() => container.read(geoAssetRepositoryProvider.future),
|
||||||
);
|
);
|
||||||
|
Logger.bootstrap.info("Starting Profile Repository");
|
||||||
await _init(
|
await _init(
|
||||||
"profile repository",
|
"profile repository",
|
||||||
() => container.read(profileRepositoryProvider.future),
|
() => container.read(profileRepositoryProvider.future),
|
||||||
);
|
);
|
||||||
|
Logger.bootstrap.info("Starting Singbox Service Provider");
|
||||||
await _init(
|
await _init(
|
||||||
"sing-box",
|
"sing-box",
|
||||||
() => container.read(singboxServiceProvider).init(),
|
() => container.read(singboxServiceProvider).init(),
|
||||||
);
|
);
|
||||||
|
Logger.bootstrap.info("Starting Active Profile");
|
||||||
await _safeInit(
|
await _safeInit(
|
||||||
"active profile",
|
"active profile",
|
||||||
() => container.read(activeProfileProvider.future),
|
() => container.read(activeProfileProvider.future),
|
||||||
timeout: 1000,
|
timeout: 1000,
|
||||||
);
|
);
|
||||||
|
Logger.bootstrap.info("Starting Deep Link Service");
|
||||||
await _safeInit(
|
await _safeInit(
|
||||||
"deep link service",
|
"deep link service",
|
||||||
() => container.read(deepLinkNotifierProvider.future),
|
() => container.read(deepLinkNotifierProvider.future),
|
||||||
@@ -146,14 +151,17 @@ Future<void> lazyBootstrap(
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (PlatformUtils.isDesktop) {
|
if (PlatformUtils.isDesktop) {
|
||||||
|
Logger.bootstrap.info("Starting System Tray");
|
||||||
await _safeInit(
|
await _safeInit(
|
||||||
"system tray",
|
"system tray",
|
||||||
() => container.read(systemTrayNotifierProvider.future),
|
() => container.read(systemTrayNotifierProvider.future),
|
||||||
timeout: 1000,
|
timeout: 1000,
|
||||||
);
|
);
|
||||||
|
Logger.bootstrap.info("System Tray initialized");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Platform.isAndroid) {
|
if (Platform.isAndroid) {
|
||||||
|
Logger.bootstrap.info("Starting FlutterDisplayMode.setHighRefreshRate");
|
||||||
await _safeInit(
|
await _safeInit(
|
||||||
"android display mode",
|
"android display mode",
|
||||||
() async {
|
() async {
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ class AnalyticsController extends _$AnalyticsController with AppLogger {
|
|||||||
options.debug = kDebugMode;
|
options.debug = kDebugMode;
|
||||||
options.enableNativeCrashHandling = true;
|
options.enableNativeCrashHandling = true;
|
||||||
options.enableNdkScopeSync = true;
|
options.enableNdkScopeSync = true;
|
||||||
|
// options.attachScreenshot = true;
|
||||||
|
options.serverName = "";
|
||||||
options.attachThreads = true;
|
options.attachThreads = true;
|
||||||
options.tracesSampleRate = 0.20;
|
options.tracesSampleRate = 0.20;
|
||||||
options.enableUserInteractionTracing = true;
|
options.enableUserInteractionTracing = true;
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|||||||
import 'package:sentry_flutter/sentry_flutter.dart';
|
import 'package:sentry_flutter/sentry_flutter.dart';
|
||||||
|
|
||||||
FutureOr<SentryEvent?> sentryBeforeSend(SentryEvent event, {Hint? hint}) {
|
FutureOr<SentryEvent?> sentryBeforeSend(SentryEvent event, {Hint? hint}) {
|
||||||
if (canSendEvent(event.throwable)) return event;
|
if (!canSendEvent(event.throwable)) return null;
|
||||||
return null;
|
return event.copyWith(
|
||||||
|
user: SentryUser(email: "", username: "", ipAddress: "0.0.0.0"),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool canSendEvent(dynamic throwable) {
|
bool canSendEvent(dynamic throwable) {
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ class ConfigOptionEntity with _$ConfigOptionEntity {
|
|||||||
enableClashApi: enableClashApi,
|
enableClashApi: enableClashApi,
|
||||||
clashApiPort: clashApiPort,
|
clashApiPort: clashApiPort,
|
||||||
enableTun: serviceMode == ServiceMode.tun,
|
enableTun: serviceMode == ServiceMode.tun,
|
||||||
enableTunService: false && serviceMode == ServiceMode.tunService,
|
enableTunService: serviceMode == ServiceMode.tunService,
|
||||||
setSystemProxy: serviceMode == ServiceMode.systemProxy,
|
setSystemProxy: serviceMode == ServiceMode.systemProxy,
|
||||||
bypassLan: bypassLan,
|
bypassLan: bypassLan,
|
||||||
allowConnectionFromLan: allowConnectionFromLan,
|
allowConnectionFromLan: allowConnectionFromLan,
|
||||||
|
|||||||
2
libcore
2
libcore
Submodule libcore updated: 4dad3022f3...168fc3dbe3
@@ -5,6 +5,7 @@ New-Item -ItemType Directory -Force -Name "out"
|
|||||||
# Get-ChildItem -Recurse -File -Path "dist" -Filter "*windows-setup.exe" | Copy-Item -Destination "dist\tmp\hiddify-next-setup.exe" -ErrorAction SilentlyContinue
|
# Get-ChildItem -Recurse -File -Path "dist" -Filter "*windows-setup.exe" | Copy-Item -Destination "dist\tmp\hiddify-next-setup.exe" -ErrorAction SilentlyContinue
|
||||||
# Compress-Archive -Force -Path "dist\tmp\hiddify-next-setup.exe",".github\help\mac-windows\*.url" -DestinationPath "out\hiddify-windows-x64-setup.zip"
|
# Compress-Archive -Force -Path "dist\tmp\hiddify-next-setup.exe",".github\help\mac-windows\*.url" -DestinationPath "out\hiddify-windows-x64-setup.zip"
|
||||||
Get-ChildItem -Recurse -File -Path "dist" -Filter "*windows-setup.exe" | Copy-Item -Destination "out\Hiddify-Windows-Setup-x64.exe" -ErrorAction SilentlyContinue
|
Get-ChildItem -Recurse -File -Path "dist" -Filter "*windows-setup.exe" | Copy-Item -Destination "out\Hiddify-Windows-Setup-x64.exe" -ErrorAction SilentlyContinue
|
||||||
|
Get-ChildItem -Recurse -File -Path "dist" -Filter "*windows.msix" | Copy-Item -Destination "out\Hiddify-Windows-Setup-x64.msix" -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
|
|
||||||
# windows portable
|
# windows portable
|
||||||
|
|||||||
@@ -87,8 +87,8 @@ install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
|
|||||||
install(FILES "../libcore/bin/libcore.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
|
install(FILES "../libcore/bin/libcore.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
|
||||||
COMPONENT Runtime RENAME libcore.dll)
|
COMPONENT Runtime RENAME libcore.dll)
|
||||||
|
|
||||||
# install(FILES "../libcore/bin/HiddifyService.exe" DESTINATION "${CMAKE_INSTALL_PREFIX}"
|
install(FILES "../libcore/bin/HiddifyService.exe" DESTINATION "${CMAKE_INSTALL_PREFIX}"
|
||||||
# COMPONENT Runtime RENAME HiddifyService.exe)
|
COMPONENT Runtime RENAME HiddifyService.exe)
|
||||||
|
|
||||||
|
|
||||||
if(PLUGIN_BUNDLED_LIBRARIES)
|
if(PLUGIN_BUNDLED_LIBRARIES)
|
||||||
|
|||||||
@@ -1,6 +1,16 @@
|
|||||||
display_name: Hiddify
|
display_name: Hiddify
|
||||||
publisher_display_name: Hiddify
|
publisher_display_name: Hiddify
|
||||||
identity_name: app.hiddify.com
|
identity_name: app.hiddify.com
|
||||||
msix_version: 1.0.0.0
|
msix_version: 0.16.8.0
|
||||||
logo_path: windows\runner\resources\app_icon.ico
|
logo_path: windows\runner\resources\app_icon.ico
|
||||||
capabilities: internetClient, privateNetworkClientServer
|
capabilities: internetClient, internetClientServer, privateNetworkClientServer
|
||||||
|
languages: en-us, zh-cn, zh-tw, tr-tr,fa-ir,ru-ru,pt-br,es-es
|
||||||
|
protocol_activation: hiddify
|
||||||
|
execution_alias: hiddify
|
||||||
|
certificate_path: windows\sign.pfx
|
||||||
|
certificate_password:
|
||||||
|
publisher: CN=Hiddify, O=Hiddify, C=US
|
||||||
|
install_certificate: "false"
|
||||||
|
enable_at_startup: "true"
|
||||||
|
startup_task:
|
||||||
|
parameters: --autostart
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
#include "flutter_window.h"
|
#include "flutter_window.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
#include <protocol_handler_windows/protocol_handler_windows_plugin_c_api.h>
|
||||||
|
|
||||||
|
|
||||||
int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
|
int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <functional>
|
#include <functional>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <protocol_handler_windows/protocol_handler_windows_plugin_c_api.h>
|
||||||
// A class abstraction for a high DPI-aware Win32 Window. Intended to be
|
// A class abstraction for a high DPI-aware Win32 Window. Intended to be
|
||||||
// inherited from by classes that wish to specialize with custom
|
// inherited from by classes that wish to specialize with custom
|
||||||
// rendering and input handling
|
// rendering and input handling
|
||||||
|
|||||||
Reference in New Issue
Block a user