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