From 0c799d8ee0a59cc8711eed9e739be7942578cb44 Mon Sep 17 00:00:00 2001 From: office-pc nix root Date: Mon, 23 Dec 2024 16:05:33 +0800 Subject: [PATCH 1/3] change user agent to be Clipious/version fix #653 --- lib/globals.dart | 3 +++ lib/http_overrides.dart | 1 + lib/main.dart | 4 ++++ lib/settings/states/settings.dart | 3 +-- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/globals.dart b/lib/globals.dart index e1d45f8e..78157c86 100644 --- a/lib/globals.dart +++ b/lib/globals.dart @@ -4,6 +4,7 @@ import 'package:flutter/animation.dart'; import 'package:clipious/service.dart'; import 'package:clipious/utils/file_db.dart'; import 'package:clipious/utils/interfaces/db.dart'; +import 'package:package_info_plus/package_info_plus.dart'; import 'utils/models/country.dart'; @@ -30,6 +31,8 @@ late IDbClient db; final FileDB fileDb = FileDB(); +PackageInfo? packageInfo; + List countryCodes = [ Country('AD', 'Andorra'), Country('AE', 'United Arab Emirates'), diff --git a/lib/http_overrides.dart b/lib/http_overrides.dart index 99423fa5..aefa5df4 100644 --- a/lib/http_overrides.dart +++ b/lib/http_overrides.dart @@ -7,6 +7,7 @@ class MyHttpOverrides extends HttpOverrides { @override HttpClient createHttpClient(SecurityContext? context) { return super.createHttpClient(context) + ..userAgent = 'Clipious/${packageInfo?.version ?? '0.0.0'}' ..badCertificateCallback = (X509Certificate cert, String host, int port) { // if true, it will allow all certs, if false it will throw error on a bad cert return db.getSettings(skipSslVerificationSettingName)?.value == 'true'; diff --git a/lib/main.dart b/lib/main.dart index b229a20d..f81ec120 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -23,6 +23,7 @@ import 'package:clipious/utils.dart'; import 'package:clipious/utils/sembast_sqflite_database.dart'; import 'package:clipious/workmanager.dart'; import 'package:logging/logging.dart'; +import 'package:package_info_plus/package_info_plus.dart'; import 'settings/models/db/app_logs.dart'; @@ -55,6 +56,9 @@ Future main() async { HttpOverrides.global = MyHttpOverrides(); WidgetsFlutterBinding.ensureInitialized(); + + packageInfo = await PackageInfo.fromPlatform(); + // FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding); db = await SembastSqfDb.create(); await fileDb.syncWithDb(); diff --git a/lib/settings/states/settings.dart b/lib/settings/states/settings.dart index fbec7307..cc925efb 100644 --- a/lib/settings/states/settings.dart +++ b/lib/settings/states/settings.dart @@ -113,8 +113,7 @@ class SettingsCubit extends Cubit { } getPackageInfo() async { - PackageInfo packageInfo = await PackageInfo.fromPlatform(); - emit(state.copyWith(packageInfo: packageInfo)); + emit(state.copyWith(packageInfo: packageInfo!)); } toggleBlackBackground(bool value) async { From 986a0b506fec91a63b060a04e2624c23b80ff76d Mon Sep 17 00:00:00 2001 From: office-pc nix root Date: Mon, 23 Dec 2024 16:07:00 +0800 Subject: [PATCH 2/3] change user agent to be Clipious/version fix #653 --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index da98b2fa..57057b48 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: clipious -version: 1.22.5+4068 +version: 1.22.6+4069 publish_to: none description: Client for invidious. environment: From f64b4c0b3393c7e8b5a683c868ca961029041a80 Mon Sep 17 00:00:00 2001 From: office-pc nix root Date: Mon, 23 Dec 2024 16:10:07 +0800 Subject: [PATCH 3/3] add bundle id in user agent --- lib/http_overrides.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/http_overrides.dart b/lib/http_overrides.dart index aefa5df4..72d24033 100644 --- a/lib/http_overrides.dart +++ b/lib/http_overrides.dart @@ -7,7 +7,8 @@ class MyHttpOverrides extends HttpOverrides { @override HttpClient createHttpClient(SecurityContext? context) { return super.createHttpClient(context) - ..userAgent = 'Clipious/${packageInfo?.version ?? '0.0.0'}' + ..userAgent = + 'Clipious/${packageInfo?.version ?? '0.0.0'} (${packageInfo?.packageName ?? ''})' ..badCertificateCallback = (X509Certificate cert, String host, int port) { // if true, it will allow all certs, if false it will throw error on a bad cert return db.getSettings(skipSslVerificationSettingName)?.value == 'true';