mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-10-29 12:33:28 +01:00 
			
		
		
		
	| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku is not running", |     "shizukuBinderNotFound": "Shizuku is not running", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Želite li ukloniti aplikaciju?", |         "one": "Želite li ukloniti aplikaciju?", | ||||||
|         "other": "Želite li ukloniti aplikacije?" |         "other": "Želite li ukloniti aplikacije?" | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Správce", |     "root": "Správce", | ||||||
|     "shizukuBinderNotFound": "Shizuku neběží", |     "shizukuBinderNotFound": "Shizuku neběží", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Odstranit Apku?", |         "one": "Odstranit Apku?", | ||||||
|         "other": "Odstranit Apky?" |         "other": "Odstranit Apky?" | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku läuft nicht", |     "shizukuBinderNotFound": "Shizuku läuft nicht", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "App entfernen?", |         "one": "App entfernen?", | ||||||
|         "other": "Apps entfernen?" |         "other": "Apps entfernen?" | ||||||
|   | |||||||
| @@ -289,6 +289,7 @@ | |||||||
|     "shizukuBinderNotFound": "Сompatible Shizuku service wasn't found", |     "shizukuBinderNotFound": "Сompatible Shizuku service wasn't found", | ||||||
|     "useSystemFont": "Use the system font", |     "useSystemFont": "Use the system font", | ||||||
|     "systemFontError": "Error loading the system font: {}", |     "systemFontError": "Error loading the system font: {}", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Remove App?", |         "one": "Remove App?", | ||||||
|         "other": "Remove Apps?" |         "other": "Remove Apps?" | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku no está operativo", |     "shizukuBinderNotFound": "Shizuku no está operativo", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "¿Eliminar Aplicación?", |         "one": "¿Eliminar Aplicación?", | ||||||
|         "other": "¿Eliminar Aplicaciones?" |         "other": "¿Eliminar Aplicaciones?" | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku is not running", |     "shizukuBinderNotFound": "Shizuku is not running", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "برنامه حذف شود؟", |         "one": "برنامه حذف شود؟", | ||||||
|         "other": "برنامه ها حذف شوند؟" |         "other": "برنامه ها حذف شوند؟" | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku is not running", |     "shizukuBinderNotFound": "Shizuku is not running", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Supprimer l'application ?", |         "one": "Supprimer l'application ?", | ||||||
|         "other": "Supprimer les applications ?" |         "other": "Supprimer les applications ?" | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku is not running", |     "shizukuBinderNotFound": "Shizuku is not running", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Eltávolítja az alkalmazást?", |         "one": "Eltávolítja az alkalmazást?", | ||||||
|         "other": "Eltávolítja az alkalmazást?" |         "other": "Eltávolítja az alkalmazást?" | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku non è in esecuzione", |     "shizukuBinderNotFound": "Shizuku non è in esecuzione", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Rimuovere l'app?", |         "one": "Rimuovere l'app?", | ||||||
|         "other": "Rimuovere le app?" |         "other": "Rimuovere le app?" | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizukuが起動していません", |     "shizukuBinderNotFound": "Shizukuが起動していません", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "アプリを削除しますか?", |         "one": "アプリを削除しますか?", | ||||||
|         "other": "アプリを削除しますか?" |         "other": "アプリを削除しますか?" | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku is not running", |     "shizukuBinderNotFound": "Shizuku is not running", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "App verwijderen?", |         "one": "App verwijderen?", | ||||||
|         "other": "Apps verwijderen?" |         "other": "Apps verwijderen?" | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku is not running", |     "shizukuBinderNotFound": "Shizuku is not running", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Usunąć aplikację?", |         "one": "Usunąć aplikację?", | ||||||
|         "few": "Usunąć aplikacje?", |         "few": "Usunąć aplikacje?", | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku não está rodando", |     "shizukuBinderNotFound": "Shizuku não está rodando", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Remover aplicativo?", |         "one": "Remover aplicativo?", | ||||||
|         "other": "Remover aplicativos?" |         "other": "Remover aplicativos?" | ||||||
|   | |||||||
| @@ -289,6 +289,7 @@ | |||||||
|     "shizukuBinderNotFound": "Совместимый сервис Shizuku не найден", |     "shizukuBinderNotFound": "Совместимый сервис Shizuku не найден", | ||||||
|     "useSystemFont": "Использовать системный шрифт", |     "useSystemFont": "Использовать системный шрифт", | ||||||
|     "systemFontError": "Ошибка загрузки системного шрифта: {}", |     "systemFontError": "Ошибка загрузки системного шрифта: {}", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Удалить приложение?", |         "one": "Удалить приложение?", | ||||||
|         "other": "Удалить приложения?" |         "other": "Удалить приложения?" | ||||||
|   | |||||||
| @@ -273,6 +273,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku is not running", |     "shizukuBinderNotFound": "Shizuku is not running", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Ta Bort App?", |         "one": "Ta Bort App?", | ||||||
|         "other": "Ta Bort Appar?" |         "other": "Ta Bort Appar?" | ||||||
|   | |||||||
| @@ -287,6 +287,7 @@ | |||||||
|     "shizuku": "Shizuku", |     "shizuku": "Shizuku", | ||||||
|     "root": "Root", |     "root": "Root", | ||||||
|     "shizukuBinderNotFound": "Shizuku is not running", |     "shizukuBinderNotFound": "Shizuku is not running", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Uygulamayı Kaldır?", |         "one": "Uygulamayı Kaldır?", | ||||||
|         "other": "Uygulamaları Kaldır?" |         "other": "Uygulamaları Kaldır?" | ||||||
|   | |||||||
| @@ -289,6 +289,7 @@ | |||||||
|     "shizukuBinderNotFound": "未发现兼容的 Shizuku 服务", |     "shizukuBinderNotFound": "未发现兼容的 Shizuku 服务", | ||||||
|     "useSystemFont": "使用系统字体", |     "useSystemFont": "使用系统字体", | ||||||
|     "systemFontError": "加载系统字体出错:{}", |     "systemFontError": "加载系统字体出错:{}", | ||||||
|  |     "requestHeader": "Request header", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "是否删除应用?", |         "one": "是否删除应用?", | ||||||
|         "other": "是否删除应用?" |         "other": "是否删除应用?" | ||||||
|   | |||||||
| @@ -141,7 +141,37 @@ class HTML extends AppSource { | |||||||
|       ], |       ], | ||||||
|       finalStepFormitems[0], |       finalStepFormitems[0], | ||||||
|       ...commonFormItems, |       ...commonFormItems, | ||||||
|       ...finalStepFormitems.sublist(1) |       ...finalStepFormitems.sublist(1), | ||||||
|  |       [ | ||||||
|  |         GeneratedFormSubForm( | ||||||
|  |             'requestHeader', | ||||||
|  |             [ | ||||||
|  |               [ | ||||||
|  |                 GeneratedFormTextField('requestHeader', | ||||||
|  |                     label: tr('requestHeader'), | ||||||
|  |                     additionalValidators: [ | ||||||
|  |                       (value) { | ||||||
|  |                         if ((value ?? 'empty:valid') | ||||||
|  |                                 .split(':') | ||||||
|  |                                 .map((e) => e.trim()) | ||||||
|  |                                 .where((e) => e.isNotEmpty) | ||||||
|  |                                 .length < | ||||||
|  |                             2) { | ||||||
|  |                           return tr('invalidInput'); | ||||||
|  |                         } | ||||||
|  |                         return null; | ||||||
|  |                       } | ||||||
|  |                     ]) | ||||||
|  |               ] | ||||||
|  |             ], | ||||||
|  |             label: tr('requestHeader'), | ||||||
|  |             defaultValue: [ | ||||||
|  |               { | ||||||
|  |                 'requestHeader': | ||||||
|  |                     'User-Agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36' | ||||||
|  |               } | ||||||
|  |             ]) | ||||||
|  |       ] | ||||||
|     ]; |     ]; | ||||||
|     overrideVersionDetectionFormDefault('noVersionDetection', |     overrideVersionDetectionFormDefault('noVersionDetection', | ||||||
|         disableStandard: false, disableRelDate: true); |         disableStandard: false, disableRelDate: true); | ||||||
| @@ -151,10 +181,23 @@ class HTML extends AppSource { | |||||||
|   Future<Map<String, String>?> getRequestHeaders( |   Future<Map<String, String>?> getRequestHeaders( | ||||||
|       {Map<String, dynamic> additionalSettings = const <String, dynamic>{}, |       {Map<String, dynamic> additionalSettings = const <String, dynamic>{}, | ||||||
|       bool forAPKDownload = false}) async { |       bool forAPKDownload = false}) async { | ||||||
|     return { |     if (additionalSettings.isNotEmpty) { | ||||||
|       "User-Agent": |       if (additionalSettings['requestHeader']?.isNotEmpty != true) { | ||||||
|           "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36" |         additionalSettings['requestHeader'] = []; | ||||||
|     }; |       } | ||||||
|  |       additionalSettings['requestHeader'] = additionalSettings['requestHeader'] | ||||||
|  |           .where((l) => l['requestHeader'].isNotEmpty == true) | ||||||
|  |           .toList(); | ||||||
|  |       Map<String, String> requestHeaders = {}; | ||||||
|  |       for (int i = 0; i < (additionalSettings['requestHeader'].length); i++) { | ||||||
|  |         var temp = | ||||||
|  |             (additionalSettings['requestHeader'][i]['requestHeader'] as String) | ||||||
|  |                 .split(':'); | ||||||
|  |         requestHeaders[temp[0].trim()] = temp.sublist(1).join(':').trim(); | ||||||
|  |       } | ||||||
|  |       return requestHeaders; | ||||||
|  |     } | ||||||
|  |     return null; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   @override |   @override | ||||||
|   | |||||||
| @@ -1,7 +1,6 @@ | |||||||
| import 'package:easy_localization/easy_localization.dart'; | import 'package:easy_localization/easy_localization.dart'; | ||||||
| import 'package:html/parser.dart'; | import 'package:html/parser.dart'; | ||||||
| import 'package:http/http.dart'; | import 'package:http/http.dart'; | ||||||
| import 'package:obtainium/app_sources/html.dart'; |  | ||||||
| import 'package:obtainium/custom_errors.dart'; | import 'package:obtainium/custom_errors.dart'; | ||||||
| import 'package:obtainium/providers/source_provider.dart'; | import 'package:obtainium/providers/source_provider.dart'; | ||||||
|  |  | ||||||
| @@ -14,10 +13,12 @@ class VLC extends AppSource { | |||||||
|   @override |   @override | ||||||
|   Future<Map<String, String>?> getRequestHeaders( |   Future<Map<String, String>?> getRequestHeaders( | ||||||
|       {Map<String, dynamic> additionalSettings = const <String, dynamic>{}, |       {Map<String, dynamic> additionalSettings = const <String, dynamic>{}, | ||||||
|           bool forAPKDownload = false}) => |       bool forAPKDownload = false}) async { | ||||||
|       HTML().getRequestHeaders( |     return { | ||||||
|           additionalSettings: additionalSettings, |       "User-Agent": | ||||||
|           forAPKDownload: forAPKDownload); |           "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36" | ||||||
|  |     }; | ||||||
|  |   } | ||||||
|  |  | ||||||
|   @override |   @override | ||||||
|   String sourceSpecificStandardizeURL(String url) { |   String sourceSpecificStandardizeURL(String url) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user