diff --git a/lib/ui/configuration.dart b/lib/ui/configuration.dart index 3af41c8..1086832 100644 --- a/lib/ui/configuration.dart +++ b/lib/ui/configuration.dart @@ -63,7 +63,7 @@ class ThemeModel { } class AppConfiguration { - static const String version = "1.1.8"; + static const String version = "1.1.9"; ValueNotifier globalChange = ValueNotifier(false); @@ -71,7 +71,7 @@ class AppConfiguration { Locale? _language; //是否显示更新内容公告 - bool upgradeNoticeV18 = true; + bool upgradeNoticeV19 = true; /// 是否启用画中画 ValueNotifier pipEnabled = ValueNotifier(Platform.isAndroid); @@ -196,7 +196,7 @@ class AppConfiguration { _theme = ThemeModel(mode: mode, useMaterial3: config['useMaterial3'] ?? true); _theme.color = config['themeColor'] ?? "Blue"; - upgradeNoticeV18 = config['upgradeNoticeV18'] ?? true; + upgradeNoticeV19 = config['upgradeNoticeV19'] ?? true; _language = config['language'] == null ? null : Locale.fromSubtags(languageCode: config['language']); pipEnabled.value = config['pipEnabled'] ?? true; pipIcon.value = config['pipIcon'] ?? false; @@ -242,7 +242,7 @@ class AppConfiguration { 'mode': _theme.mode.name, 'themeColor': _theme.color, 'useMaterial3': _theme.useMaterial3, - 'upgradeNoticeV18': upgradeNoticeV18, + 'upgradeNoticeV19': upgradeNoticeV19, "language": _language?.languageCode, "headerExpanded": headerExpanded, "autoReadEnabled": autoReadEnabled, diff --git a/lib/ui/desktop/desktop.dart b/lib/ui/desktop/desktop.dart index 3a02cb6..fba6a82 100644 --- a/lib/ui/desktop/desktop.dart +++ b/lib/ui/desktop/desktop.dart @@ -90,7 +90,7 @@ class _DesktopHomePagePageState extends State implements EventL proxyServer.addListener(this); panel = NetworkTabController(tabStyle: const TextStyle(fontSize: 16), proxyServer: proxyServer); - if (widget.appConfiguration.upgradeNoticeV18) { + if (widget.appConfiguration.upgradeNoticeV19) { WidgetsBinding.instance.addPostFrameCallback((_) { showUpgradeNotice(); }); @@ -146,7 +146,7 @@ class _DesktopHomePagePageState extends State implements EventL actions: [ TextButton( onPressed: () { - widget.appConfiguration.upgradeNoticeV18 = false; + widget.appConfiguration.upgradeNoticeV19 = false; widget.appConfiguration.flushConfig(); Navigator.pop(context); }, @@ -160,25 +160,18 @@ class _DesktopHomePagePageState extends State implements EventL isCN ? '提示:默认不会开启HTTPS抓包,请安装证书后再开启HTTPS抓包。\n' '点击HTTPS抓包(加锁图标),选择安装根证书,按照提示操作即可。\n\n' - '1. 新增app检查更新;\n' - '2. 关键词高亮支持持久化;\n' - '3. 修复请求域名和tls域名不一致问题;\n' - '4. 修复IPV6建立链接失败问题;\n' - '5. Windows单例窗口,内置VCLibs;\n' - '6. 脚本支持获取应用目录, 脚本修复字节响应请求异常问题, 脚本支持执行多个;\n' - '7. 工具箱js fetch支持代理;\n' - '8. 修复部分curl导入失败问题;\n' + '1. 支持HTTP2协议,可在设置中开启;\n' + '2. 支持zstd解码;\n' + '3. 增加自动已读标记;\n' + '4. 工具箱支持AES加解密;\n' + '5. 修复WebSocket解析错误, 以及二进制支持下载;\n' : 'Tips:By default, HTTPS packet capture will not be enabled. Please install the certificate before enabling HTTPS packet capture。\n' 'Click HTTPS Capture packets(Lock icon),Choose to install the root certificate and follow the prompts to proceed。\n\n' - '1. Added app check update;\n' - '2. Keyword highlighting supports persistence;\n' - '3. Fixed TLS SNI inconsistency;\n' - '4. Fixed the issue of IPV6 link establishment failure;\n' - '5. Windows singleton window with built-in VCLibs;\n' - '6. Fixed Illegal IPv6 address issue;\n' - '7. The script supports obtaining application directories, fixes byte response request exception issues, and supports executing multiple instances;\n' - '8. Toolbox js fetch supports proxy;\n' - '9. Fixed some curl import failure issues;\n' + '1. Support for HTTP2 protocol, which can be enabled in settings.\n' + '2. Support for zstd decode.' + '3. Added auto read marking.' + '4. Toolbox now supports AES encryption and decryption.' + '5. Fixed WebSocket parsing errors.' '', style: const TextStyle(fontSize: 14)))); }); diff --git a/lib/ui/mobile/mobile.dart b/lib/ui/mobile/mobile.dart index e1450d3..d8c6e7d 100644 --- a/lib/ui/mobile/mobile.dart +++ b/lib/ui/mobile/mobile.dart @@ -117,7 +117,7 @@ class MobileHomeState extends State implements EventListener, Li proxyServer.addListener(this); proxyServer.start(); - if (widget.appConfiguration.upgradeNoticeV18) { + if (widget.appConfiguration.upgradeNoticeV19) { WidgetsBinding.instance.addPostFrameCallback((_) { showUpgradeNotice(); }); @@ -265,29 +265,22 @@ class MobileHomeState extends State implements EventListener, Li String content = isCN ? '提示:默认不会开启HTTPS抓包,请安装证书后再开启HTTPS抓包。\n\n' - '1. 新增app检查更新;\n' - '2. 关键词高亮支持持久化;\n' - '3. 修复请求域名和tls域名不一致问题;\n' - '4. 修复IPV6建立链接失败问题;\n' - '5. Windows单例窗口,内置VCLibs;\n' - '6. 脚本支持获取应用目录, 脚本修复字节响应请求异常问题, 脚本支持执行多个;\n' - '7. 工具箱js fetch支持代理;\n' - '8. 修复部分curl导入失败问题;\n' + '1. 支持HTTP2协议,可在设置中开启;\n' + '2. 支持zstd解码;\n' + '3. 增加自动已读标记;\n' + '4. 工具箱支持AES加解密;\n' + '5. 修复WebSocket解析错误,以及二进制支持下载;\n' : 'Tips:By default, HTTPS packet capture will not be enabled. Please install the certificate before enabling HTTPS packet capture。\n\n' 'Click HTTPS Capture packets(Lock icon),Choose to install the root certificate and follow the prompts to proceed。\n\n' - '1. Added app check update;\n' - '2. Keyword highlighting supports persistence;\n' - '3. Fixed TLS SNI inconsistency;\n' - '4. Fixed the issue of IPV6 link establishment failure;\n' - '5. Windows singleton window with built-in VCLibs;\n' - '6. Fixed Illegal IPv6 address issue;\n' - '7. The script supports obtaining application directories, fixes byte response request exception issues, and supports executing multiple instances;\n' - '8. Toolbox js fetch supports proxy;\n' - '9. Fixed some curl import failure issues;\n' - ''; + '1. Support for HTTP2 protocol, which can be enabled in settings.\n' + '2. Support for zstd decode.' + '3. Added auto read marking.' + '4. Toolbox now supports AES encryption and decryption.' + '5. Fixed WebSocket parsing errors.' + ; showAlertDialog(isCN ? '更新内容V${AppConfiguration.version}' : "Update content V${AppConfiguration.version}", content, () { - widget.appConfiguration.upgradeNoticeV18 = false; + widget.appConfiguration.upgradeNoticeV19 = false; widget.appConfiguration.flushConfig(); }); } diff --git a/lib/ui/toolbox/toolbox.dart b/lib/ui/toolbox/toolbox.dart index 3b0be54..6878995 100644 --- a/lib/ui/toolbox/toolbox.dart +++ b/lib/ui/toolbox/toolbox.dart @@ -94,30 +94,26 @@ class _ToolboxState extends State { onTap: () => encodeWindow(EncoderType.base64, context), child: Container( padding: const EdgeInsets.all(10), - child: const Column(children: [Icon(Icons.format_bold), SizedBox(height: 3), Text('Base64')]), + child: const Column(children: [Icon(Icons.format_bold_outlined ), SizedBox(height: 3), Text('Base64')]), )), const SizedBox(width: 15), InkWell( onTap: () => encodeWindow(EncoderType.unicode, context), child: Container( padding: const EdgeInsets.all(10), - child: const Column(children: [Icon(Icons.format_underline), SizedBox(height: 3), Text('Unicode')]), + child: const Column(children: [Icon(Icons.format_underline_outlined), SizedBox(height: 3), Text('Unicode')]), )), const SizedBox(width: 15), InkWell( onTap: () => encodeWindow(EncoderType.md5, context), child: Container( padding: const EdgeInsets.all(10), - child: const Column(children: [ - Icon(IconData(0x23, fontFamily: 'MaterialIcons')), // “#” - SizedBox(height: 3), - Text('MD5') - ]), + child: const Column(children: [Icon(Icons.tag_outlined), SizedBox(height: 3), Text('MD5')]), )), ], ), const Divider(thickness: 0.3), - Text("加解密", style: const TextStyle(fontSize: 14, fontWeight: FontWeight.bold)), + Text(localizations.cipher, style: const TextStyle(fontSize: 14, fontWeight: FontWeight.bold)), Wrap(children: [ InkWell( onTap: () { @@ -125,11 +121,11 @@ class _ToolboxState extends State { Navigator.of(context).push(MaterialPageRoute(builder: (context) => const AesPage())); return; } - MultiWindow.openWindow("AES", "AesPage", size: const Size(700, 660)); + MultiWindow.openWindow("AES", "AesPage", size: const Size(700, 672)); }, child: Container( padding: const EdgeInsets.all(10), - child: const Column(children: [Icon(Icons.enhanced_encryption), SizedBox(height: 3), Text('AES')]), + child: Column(children: [Icon(Icons.enhanced_encryption_outlined), SizedBox(height: 3), Text('AES')]), )), ]), const Divider(thickness: 0.3), @@ -156,7 +152,7 @@ class _ToolboxState extends State { } MultiWindow.openWindow(localizations.certHashName, 'CertHashPage'); }, - icon: Icons.key, + icon: Icons.key_outlined, text: localizations.certHashName), const SizedBox(width: 10), IconText( diff --git a/linux/build.sh b/linux/build.sh index c7ca9ed..427bc4d 100644 --- a/linux/build.sh +++ b/linux/build.sh @@ -5,7 +5,7 @@ cd ../build/linux/x64/release rm -rf package mkdir -p package/DEBIAN echo "Package: ProxyPin" >> package/DEBIAN/control -echo "Version: 1.1.8" >> package/DEBIAN/control +echo "Version: 1.1.9" >> package/DEBIAN/control echo "Priority: optional" >> package/DEBIAN/control echo "Architecture: amd64" >> package/DEBIAN/control echo "Depends: ca-certificates" >> package/DEBIAN/control