From 657d1cd042328c09d4de1f520a871a038a5035ed Mon Sep 17 00:00:00 2001 From: ngocanhtve Date: Mon, 20 Nov 2023 10:00:08 +0700 Subject: [PATCH 1/7] Update vi.json --- assets/translations/vi.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/translations/vi.json b/assets/translations/vi.json index 4b66a9e..43b6004 100644 --- a/assets/translations/vi.json +++ b/assets/translations/vi.json @@ -86,7 +86,7 @@ "upToDateApps": "Ứng dụng cập nhật", "nonInstalledApps": "Ứng dụng chưa được cài đặt", "importExport": "Nhập/Xuất", - "settings": "Cài đặt", + "settings": "Thiết đặt", "exportedTo": "Đã xuất sang {}", "obtainiumExport": "Xuất Obtainium", "invalidInput": "Đầu vào không hợp lệ", @@ -223,7 +223,7 @@ "moveNonInstalledAppsToBottom": "Di chuyển Ứng dụng chưa được cài đặt xuống cuối chế độ xem Ứng dụng", "gitlabPATLabel": "Mã thông báo truy cập cá nhân GitLab\n(Cho phép tìm kiếm và khám phá APK tốt hơn)", "about": "Giới thiệu", - "requiresCredentialsInSettings": "Điều này cần thông tin xác thực bổ sung (trong Cài đặt)", + "requiresCredentialsInSettings": "Điều này cần thông tin xác thực bổ sung (trong Thiết đặt)", "checkOnStart": "Kiểm tra các bản cập nhật khi khởi động", "tryInferAppIdFromCode": "Thử suy ra ID ứng dụng từ mã nguồn", "removeOnExternalUninstall": "Tự động xóa ứng dụng đã gỡ cài đặt bên ngoài", @@ -233,7 +233,7 @@ "reversePageTransitions": "Hoạt ảnh chuyển đổi trang đảo ngược", "minStarCount": "Số lượng sao tối thiểu", "addInfoBelow": "Thêm thông tin này vào bên dưới.", - "addInfoInSettings": "Thêm thông tin này vào Cài đặt.", + "addInfoInSettings": "Thêm thông tin này vào Thiết đặt.", "githubSourceNote": "Có thể tránh được việc giới hạn tốc độ GitHub bằng cách sử dụng khóa API.", "gitlabSourceNote": "Trích xuất APK GitLab có thể không hoạt động nếu không có khóa API.", "sortByFileNamesNotLinks": "Sắp xếp theo tên tệp thay vì liên kết đầy đủ", From 8dd8f471a2870487acc0f7ac9951b5efd7df8231 Mon Sep 17 00:00:00 2001 From: ngocanhtve Date: Mon, 20 Nov 2023 10:09:45 +0700 Subject: [PATCH 2/7] Update vi.json --- assets/translations/vi.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/translations/vi.json b/assets/translations/vi.json index 43b6004..6672eaf 100644 --- a/assets/translations/vi.json +++ b/assets/translations/vi.json @@ -48,7 +48,7 @@ "noApps": "Không có ứng dụng", "noAppsForFilter": "Không có ứng dụng cho bộ lọc", "byX": "Bởi {}", - "percentProgress": "Tiến triển: {}%", + "percentProgress": "Tiến độ: {}%", "pleaseWait": "Vui lòng chờ", "updateAvailable": "Có sẵn bản cập nhật", "estimateInBracketsShort": "(Ước lượng.)", @@ -113,7 +113,7 @@ "followSystem": "Theo hệ thống", "obtainium": "Obtainium", "materialYou": "Material You", - "useBlackTheme": "Sử dụng chủ đề tối màu đen thuần túy", + "useBlackTheme": "Sử dụng chủ đề tối đen tuyền", "appSortBy": "Sắp xếp ứng dụng theo", "authorName": "Tác giả/Tên", "nameAuthor": "Tên/Tác giả", @@ -134,7 +134,7 @@ "close": "Đóng", "share": "Chia sẻ", "appNotFound": "Không tìm thấy ứng dụng", - "obtainiumExportHyphenatedLowercase": "xuất khẩu-obtainium", + "obtainiumExportHyphenatedLowercase": "xuất-obtainium", "pickAnAPK": "Chọn một APK", "appHasMoreThanOnePackage": "{} có nhiều gói:", "deviceSupportsXArch": "Thiết bị của bạn hỗ trợ kiến trúc CPU {}.", @@ -170,7 +170,7 @@ "lastUpdateCheckX": "Kiểm tra cập nhật lần cuối: {}", "remove": "Loại bỏ", "yesMarkUpdated": "Có, Đánh dấu là đã cập nhật", - "fdroid": "Chính thức của F-Droid", + "fdroid": "F-Droid Chính thức", "appIdOrName": "ID hoặc tên ứng dụng", "appId": "ID ứng dụng", "appWithIdOrNameNotFound": "Không tìm thấy ứng dụng nào có ID hoặc tên đó", From cfa4c680cf1387696aaf1323c702974f585d032a Mon Sep 17 00:00:00 2001 From: Achim Date: Mon, 19 Feb 2024 16:02:49 +0100 Subject: [PATCH 3/7] Set referer header for gitlab app source context There occur issues if a gitlab project refers in its release data to external hosted .apk file. In some cases (e.g. Aurora Store) download is not possible because cloudflare protection gives "forbidden" error. The referer header seems to pacify this cloudflare protection. Tested with Android 14 in an AVD emulator. Related to: #1397, #1389, #1384, #1382, #1381, #1380, #1359, #854, #785, #697 --- lib/app_sources/gitlab.dart | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/app_sources/gitlab.dart b/lib/app_sources/gitlab.dart index 3e1e701..d661a00 100644 --- a/lib/app_sources/gitlab.dart +++ b/lib/app_sources/gitlab.dart @@ -1,4 +1,5 @@ import 'dart:convert'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:html/parser.dart'; @@ -104,6 +105,21 @@ class GitLab extends AppSource { String? changeLogPageFromStandardUrl(String standardUrl) => '$standardUrl/-/releases'; + @override + Future?> getRequestHeaders( + Map additionalSettings, + {bool forAPKDownload = false}) async { + // Change headers to pacify, e.g. cloudflare protection + // Related to: (#1397, #1389, #1384, #1382, #1381, #1380, #1359, #854, #785, #697) + var headers = {}; + headers[HttpHeaders.refererHeader] = 'https://gitlab.com'; + if (headers.isNotEmpty) { + return headers; + } else { + return null; + } + } + @override Future getLatestAPKDetails( String standardUrl, From 03ef649c0f5de2c44cefc09cf9f7a435f20e5eda Mon Sep 17 00:00:00 2001 From: DwainZwerg <97027379+DwainZwerg@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:38:57 +0000 Subject: [PATCH 4/7] Update README.md Add IzzyOnDroid-Badge, since it isn't out of day --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 49b62cb..dda3fa7 100644 --- a/README.md +++ b/README.md @@ -42,10 +42,13 @@ Currently supported App sources: [Get it on GitHub](https://github.com/ImranR98/Obtainium/releases) +[Get it on IzzyOnDroid](https://apt.izzysoft.de/fdroid/index/apk/dev.imranr.obtainium) [Get it on F-Droid](https://f-droid.org/packages/dev.imranr.obtainium.fdroid/) - + [PGP Public Key](https://keyserver.ubuntu.com/pks/lookup?search=contact%40imranr.dev&fingerprint=on&op=index) ## Limitations From 6f5315db2796dea24330b235bc67847f3f38e8f1 Mon Sep 17 00:00:00 2001 From: ngocanhtve Date: Tue, 20 Feb 2024 21:00:39 +0700 Subject: [PATCH 5/7] Update vi.json --- assets/translations/vi.json | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/assets/translations/vi.json b/assets/translations/vi.json index 2dcde6d..e03d66e 100644 --- a/assets/translations/vi.json +++ b/assets/translations/vi.json @@ -72,7 +72,7 @@ "unpinFromTop": "Bỏ ghim khỏi đầu trang", "resetInstallStatusForSelectedAppsQuestion": "Đặt lại trạng thái cài đặt cho ứng dụng đã chọn?", "installStatusOfXWillBeResetExplanation": "Trạng thái cài đặt của mọi Ứng dụng đã chọn sẽ được đặt lại.\n\nĐiều này có thể hữu ích khi phiên bản Ứng dụng hiển thị trong Obtainium không chính xác do cập nhật không thành công hoặc các sự cố khác.", - "customLinkMessage": "Các liên kết này hoạt động trên các thiết bị có cài đặt Gainium", + "customLinkMessage": "Các liên kết này hoạt động trên các thiết bị có cài đặt Obtainium", "shareAppConfigLinks": "Chia sẻ cấu hình ứng dụng dưới dạng liên kết HTML", "shareSelectedAppURLs": "Chia sẻ URL ứng dụng đã chọn", "resetInstallStatus": "Đặt lại trạng thái cài đặt", @@ -80,14 +80,13 @@ "removeOutdatedFilter": "Xóa bộ lọc ứng dụng lỗi thời", "showOutdatedOnly": "Chỉ hiển thị các ứng dụng lỗi thời", "filter": "Lọc", - "filterActive": "Lọc *", "filterApps": "Lọc ứng dụng", "appName": "Tên ứng dụng", "author": "Tác giả", "upToDateApps": "Ứng dụng cập nhật", "nonInstalledApps": "Ứng dụng chưa được cài đặt", "importExport": "Nhập/Xuất", - "settings": "Cài đặt", + "settings": "Thiết đặt", "exportedTo": "Đã xuất sang {}", "obtainiumExport": "Xuất", "invalidInput": "Đầu vào không hợp lệ", @@ -132,7 +131,7 @@ "close": "Đóng", "share": "Chia sẻ", "appNotFound": "Không tìm thấy ứng dụng", - "obtainiumExportHyphenatedLowercase": "xuất khẩu-obtainium", + "obtainiumExportHyphenatedLowercase": "obtainium-export", "pickAnAPK": "Chọn một APK", "appHasMoreThanOnePackage": "{} có nhiều gói:", "deviceSupportsXArch": "Thiết bị của bạn hỗ trợ kiến trúc CPU {}.", @@ -168,7 +167,7 @@ "lastUpdateCheckX": "Kiểm tra cập nhật lần cuối: {}", "remove": "Loại bỏ", "yesMarkUpdated": "Có, Đánh dấu là đã cập nhật", - "fdroid": "Chính thức của F-Droid", + "fdroid": "F-Droid Chính thức", "appIdOrName": "ID hoặc tên ứng dụng", "appId": "ID ứng dụng", "appWithIdOrNameNotFound": "Không tìm thấy ứng dụng nào có ID hoặc tên đó", @@ -188,18 +187,18 @@ "noAPKFound": "Không tìm thấy APK", "noVersionDetection": "Không phát hiện phiên bản", "categorize": "Phân loại", - "categories": "Thể loại", - "category": "Thể loại", - "noCategory": "Không thể loại", - "noCategories": "Không thể loại", - "deleteCategoriesQuestion": "Xóa thể loại?", - "categoryDeleteWarning": "Tất cả ứng dụng trong thể loại đã xóa sẽ được đặt thành chưa được phân loại.", + "categories": "Danh mục", + "category": "Danh mục", + "noCategory": "Không danh mục", + "noCategories": "Không danh mục", + "deleteCategoriesQuestion": "Xóa danh mục?", + "categoryDeleteWarning": "Tất cả ứng dụng trong danh mục đã xóa sẽ được đặt thành chưa được phân loại.", "addCategory": "Thêm thể loại", "label": "Nhãn", "language": "Ngôn ngữ", "copiedToClipboard": "Sao chép vào clipboard", "storagePermissionDenied": "Quyền lưu trữ bị từ chối", - "selectedCategorizeWarning": "Điều này sẽ thay thế mọi cài đặt thể loại hiện có cho Ứng dụng đã chọn.", + "selectedCategorizeWarning": "Điều này sẽ thay thế mọi thiết đặt danh mục hiện có cho Ứng dụng đã chọn.", "filterAPKsByRegEx": "Lọc APK theo biểu thức chính quy", "removeFromObtainium": "Loại khỏi Obtainium", "uninstallFromDevice": "Gỡ cài đặt khỏi thiết bị", @@ -212,7 +211,7 @@ "versionDetectionExplanation": "Đối chiếu chuỗi phiên bản với phiên bản được phát hiện từ hệ điều hành", "versionDetection": "Phát hiện phiên bản", "standardVersionDetection": "Phát hiện phiên bản tiêu chuẩn", - "groupByCategory": "Nhóm theo thể loại", + "groupByCategory": "Nhóm theo danh mục", "autoApkFilterByArch": "Cố gắng lọc APK theo kiến trúc CPU nếu có thể", "overrideSource": "Ghi đè nguồn", "dontShowAgain": "Đừng hiển thị thông tin này nữa", @@ -221,7 +220,7 @@ "moveNonInstalledAppsToBottom": "Chuyển Ứng dụng chưa được cài đặt xuống cuối danh sách", "gitlabPATLabel": "GitLab Token\n(Cho phép tìm kiếm và lọc APK tốt hơn)", "about": "Giới thiệu", - "requiresCredentialsInSettings": "{}: Điều này cần thông tin xác thực bổ sung (trong Cài đặt)", + "requiresCredentialsInSettings": "{}: Điều này cần thông tin xác thực bổ sung (trong Thiết đặt)", "checkOnStart": "Kiểm tra các bản cập nhật khi khởi động", "tryInferAppIdFromCode": "Thử suy ra ID ứng dụng từ mã nguồn", "removeOnExternalUninstall": "Tự động xóa ứng dụng đã gỡ cài đặt bên ngoài", @@ -231,7 +230,7 @@ "reversePageTransitions": "Hoạt ảnh chuyển đổi trang đảo ngược", "minStarCount": "Số lượng sao tối thiểu", "addInfoBelow": "Thêm thông tin này vào bên dưới.", - "addInfoInSettings": "Thêm thông tin này vào Cài đặt.", + "addInfoInSettings": "Thêm thông tin này vào Thiết đặt.", "githubSourceNote": "Có thể tránh được việc giới hạn tốc độ GitHub bằng cách sử dụng khóa API.", "gitlabSourceNote": "Trích xuất APK GitLab có thể không hoạt động nếu không có khóa API.", "sortByLastLinkSegment": "Chỉ sắp xếp theo đoạn cuối của liên kết", @@ -256,7 +255,7 @@ "highlightTouchTargets": "Đánh dấu các mục tiêu cảm ứng ít rõ ràng hơn", "pickExportDir": "Chọn thư mục xuất", "autoExportOnChanges": "Tự động xuất", - "includeSettings": "Bao gồm cài đặt ứng dụng", + "includeSettings": "Bao gồm thiết đặt", "filterVersionsByRegEx": "Lọc phiên bản theo biểu thức chính quy", "trySelectingSuggestedVersionCode": "Thử chọn APK Mã phiên bản được đề xuất", "dontSortReleasesList": "Giữ lại thứ tự phát hành từ API", @@ -298,9 +297,9 @@ "installed": "Đã cài đặt", "latest": "Mới nhất", "invertRegEx": "Đảo ngược biểu thức chính quy", - "note": "Note", - "selfHostedNote": "The \"{}\" dropdown can be used to reach self-hosted/custom instances of any source.", - "badDownload": "The APK could not be parsed (incompatible or partial download)", + "note": "Ghi chú", + "selfHostedNote": "Trình đơn thả xuống \"{}\" có thể được dùng để tiếp cận các phiên bản tự lưu trữ/tùy chỉnh của bất kỳ nguồn nào.", + "badDownload": "Không thể phân tích cú pháp APK (tải xuống một phần hoặc không tương thích)", "removeAppQuestion": { "one": "Gỡ ứng dụng?", "other": "Gỡ ứng dụng?" From ef3b01ac56871cf6cccc66781c90355017a99bbe Mon Sep 17 00:00:00 2001 From: Achim Date: Mon, 26 Feb 2024 13:42:56 +0100 Subject: [PATCH 6/7] Use gitlab host defined in class member variable --- lib/app_sources/gitlab.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/app_sources/gitlab.dart b/lib/app_sources/gitlab.dart index d661a00..8edf359 100644 --- a/lib/app_sources/gitlab.dart +++ b/lib/app_sources/gitlab.dart @@ -112,7 +112,7 @@ class GitLab extends AppSource { // Change headers to pacify, e.g. cloudflare protection // Related to: (#1397, #1389, #1384, #1382, #1381, #1380, #1359, #854, #785, #697) var headers = {}; - headers[HttpHeaders.refererHeader] = 'https://gitlab.com'; + headers[HttpHeaders.refererHeader] = 'https://${hosts[0]}'; if (headers.isNotEmpty) { return headers; } else { From 90e6e5a3a3694deac8aac08096958f6cf1aed879 Mon Sep 17 00:00:00 2001 From: Imran <30463115+ImranR98@users.noreply.github.com> Date: Thu, 29 Feb 2024 19:17:53 -0500 Subject: [PATCH 7/7] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dda3fa7..3acfdf2 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Currently supported App sources: [Get it on IzzyOnDroid](https://apt.izzysoft.de/fdroid/index/apk/dev.imranr.obtainium) -[Get it on F-Droid](https://f-droid.org/packages/dev.imranr.obtainium.fdroid/)