Skip to content

Commit 4caae51

Browse files
authored
Merge pull request #1962 from ImranR98/dev
- Uptodown - fix broken web scraping logic (#1956) - Add signature info to README (#1957)
2 parents 919ab16 + 83616b7 commit 4caae51

File tree

4 files changed

+39
-36
lines changed

4 files changed

+39
-36
lines changed

README.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,13 @@ Or, contribute some configurations to the website by creating a PR at [this repo
5858
alt="Get it on F-Droid"
5959
height="80">](https://f-droid.org/packages/dev.imranr.obtainium.fdroid/)
6060

61-
[PGP Public Key](https://keyserver.ubuntu.com/pks/lookup?search=contact%40imranr.dev&fingerprint=on&op=index)
61+
Verification info:
62+
- Package ID: `dev.imranr.obtainium`
63+
- SHA-256 Hash of Signing Certificate: `B3:53:60:1F:6A:1D:5F:D6:60:3A:E2:F5:0B:E8:0C:F3:01:36:7B:86:B6:AB:8B:1F:66:24:3D:A9:6C:D5:73:62`
64+
- Note: The above signature is also valid for the F-Droid flavour of Obtainium, thanks to [reproducible builds](https://f-droid.org/docs/Reproducible_Builds/).
65+
- [PGP Public Key](https://keyserver.ubuntu.com/pks/lookup?search=contact%40imranr.dev&fingerprint=on&op=index) (to verify APK hashes)
66+
67+
6268

6369
## Limitations
6470
- For some sources, data is gathered using Web scraping and can easily break due to changes in website design. In such cases, more reliable methods may be unavailable.

lib/app_sources/uptodown.dart

+8-11
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,16 @@ class Uptodown extends AppSource {
4242
String? version = html.querySelector('div.version')?.innerHtml;
4343
String? name = html.querySelector('#detail-app-name')?.innerHtml.trim();
4444
String? author = html.querySelector('#author-link')?.innerHtml.trim();
45-
var detailElements = html.querySelectorAll('#technical-information td');
46-
String? appId = (detailElements.elementAtOrNull(2))?.innerHtml.trim();
47-
String? dateStr = (detailElements.elementAtOrNull(29))?.innerHtml.trim();
45+
var detailElements = html
46+
.querySelectorAll('#technical-information td')
47+
.map((e) => e.innerHtml.trim())
48+
.where((e) => !e.startsWith('<'))
49+
.toList();
50+
String? appId = detailElements.elementAtOrNull(0);
51+
String? dateStr = detailElements.elementAtOrNull(6);
4852
String? fileId =
4953
html.querySelector('#detail-app-name')?.attributes['data-file-id'];
50-
String? extension = html
51-
.querySelectorAll('td')
52-
.where((e) => e.text.toLowerCase().trim() == 'file type')
53-
.firstOrNull
54-
?.nextElementSibling
55-
?.text
56-
.toLowerCase()
57-
.trim();
54+
String? extension = detailElements.elementAtOrNull(7)?.toLowerCase();
5855
return Map.fromEntries([
5956
MapEntry('version', version),
6057
MapEntry('appId', appId),

pubspec.lock

+22-22
Original file line numberDiff line numberDiff line change
@@ -231,10 +231,10 @@ packages:
231231
dependency: "direct main"
232232
description:
233233
name: device_info_plus
234-
sha256: c4af09051b4f0508f6c1dc0a5c085bf014d5c9a4a0678ce1799c2b4d716387a0
234+
sha256: f545ffbadee826f26f2e1a0f0cbd667ae9a6011cc0f77c0f8f00a969655e6e95
235235
url: "https://pub.dev"
236236
source: hosted
237-
version: "11.1.0"
237+
version: "11.1.1"
238238
device_info_plus_platform_interface:
239239
dependency: transitive
240240
description:
@@ -420,26 +420,26 @@ packages:
420420
dependency: "direct main"
421421
description:
422422
name: flutter_local_notifications
423-
sha256: "674173fd3c9eda9d4c8528da2ce0ea69f161577495a9cc835a2a4ecd7eadeb35"
423+
sha256: "725145682706fb0e5a30f93e5cb64f3df7ed7743de749bd555b22bf75ee718c0"
424424
url: "https://pub.dev"
425425
source: hosted
426-
version: "17.2.4"
426+
version: "18.0.0"
427427
flutter_local_notifications_linux:
428428
dependency: transitive
429429
description:
430430
name: flutter_local_notifications_linux
431-
sha256: c49bd06165cad9beeb79090b18cd1eb0296f4bf4b23b84426e37dd7c027fc3af
431+
sha256: "8f685642876742c941b29c32030f6f4f6dacd0e4eaecb3efbb187d6a3812ca01"
432432
url: "https://pub.dev"
433433
source: hosted
434-
version: "4.0.1"
434+
version: "5.0.0"
435435
flutter_local_notifications_platform_interface:
436436
dependency: transitive
437437
description:
438438
name: flutter_local_notifications_platform_interface
439-
sha256: "85f8d07fe708c1bdcf45037f2c0109753b26ae077e9d9e899d55971711a4ea66"
439+
sha256: "6c5b83c86bf819cdb177a9247a3722067dd8cc6313827ce7c77a4b238a26fd52"
440440
url: "https://pub.dev"
441441
source: hosted
442-
version: "7.2.0"
442+
version: "8.0.0"
443443
flutter_localizations:
444444
dependency: transitive
445445
description: flutter
@@ -819,10 +819,10 @@ packages:
819819
dependency: "direct main"
820820
description:
821821
name: share_plus
822-
sha256: "3af2cda1752e5c24f2fc04b6083b40f013ffe84fb90472f30c6499a9213d5442"
822+
sha256: "9c9bafd4060728d7cdb2464c341743adbd79d327cb067ec7afb64583540b47c8"
823823
url: "https://pub.dev"
824824
source: hosted
825-
version: "10.1.1"
825+
version: "10.1.2"
826826
share_plus_platform_interface:
827827
dependency: transitive
828828
description:
@@ -835,10 +835,10 @@ packages:
835835
dependency: "direct main"
836836
description:
837837
name: shared_preferences
838-
sha256: "746e5369a43170c25816cc472ee016d3a66bc13fcf430c0bc41ad7b4b2922051"
838+
sha256: "95f9997ca1fb9799d494d0cb2a780fd7be075818d59f00c43832ed112b158a82"
839839
url: "https://pub.dev"
840840
source: hosted
841-
version: "2.3.2"
841+
version: "2.3.3"
842842
shared_preferences_android:
843843
dependency: transitive
844844
description:
@@ -929,10 +929,10 @@ packages:
929929
dependency: "direct main"
930930
description:
931931
name: sqflite
932-
sha256: "79a297dc3cc137e758c6a4baf83342b039e5a6d2436fcdf3f96a00adaaf2ad62"
932+
sha256: "2d7299468485dca85efeeadf5d38986909c5eb0cd71fd3db2c2f000e6c9454bb"
933933
url: "https://pub.dev"
934934
source: hosted
935-
version: "2.4.0"
935+
version: "2.4.1"
936936
sqflite_android:
937937
dependency: transitive
938938
description:
@@ -953,10 +953,10 @@ packages:
953953
dependency: transitive
954954
description:
955955
name: sqflite_darwin
956-
sha256: "769733dddf94622d5541c73e4ddc6aa7b252d865285914b6fcd54a63c4b4f027"
956+
sha256: "96a698e2bc82bd770a4d6aab00b42396a7c63d9e33513a56945cbccb594c2474"
957957
url: "https://pub.dev"
958958
source: hosted
959-
version: "2.4.1-1"
959+
version: "2.4.1"
960960
sqflite_platform_interface:
961961
dependency: transitive
962962
description:
@@ -1145,10 +1145,10 @@ packages:
11451145
dependency: transitive
11461146
description:
11471147
name: webview_flutter_android
1148-
sha256: "74693a212d990b32e0b7055d27db973a18abf31c53942063948cdfaaef9787ba"
1148+
sha256: dec83a8da0a2dcd8a25418534cc59348dbc2855fa1dd0cc929c62b6029fde392
11491149
url: "https://pub.dev"
11501150
source: hosted
1151-
version: "4.0.0"
1151+
version: "4.0.1"
11521152
webview_flutter_platform_interface:
11531153
dependency: transitive
11541154
description:
@@ -1161,18 +1161,18 @@ packages:
11611161
dependency: transitive
11621162
description:
11631163
name: webview_flutter_wkwebview
1164-
sha256: d4034901d96357beb1b6717ebf7d583c88e40cfc6eb85fe76dd1bf0979a9f251
1164+
sha256: f14ee08021772fed913da8daebcfdeb46be457081e521e93e9918fe6cd1ce9e8
11651165
url: "https://pub.dev"
11661166
source: hosted
1167-
version: "3.16.0"
1167+
version: "3.16.1"
11681168
win32:
11691169
dependency: transitive
11701170
description:
11711171
name: win32
1172-
sha256: "10169d3934549017f0ae278ccb07f828f9d6ea21573bab0fb77b0e1ef0fce454"
1172+
sha256: "84ba388638ed7a8cb3445a320c8273136ab2631cd5f2c57888335504ddab1bc2"
11731173
url: "https://pub.dev"
11741174
source: hosted
1175-
version: "5.7.2"
1175+
version: "5.8.0"
11761176
win32_registry:
11771177
dependency: transitive
11781178
description:

pubspec.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
1717
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
1818
# In Windows, build-name is used as the major, minor, and patch parts
1919
# of the product and file versions while build-number is used as the build suffix.
20-
version: 1.1.29+2286
20+
version: 1.1.30+2287
2121

2222
environment:
2323
sdk: '>=3.0.0 <4.0.0'
@@ -38,7 +38,7 @@ dependencies:
3838
cupertino_icons: ^1.0.5
3939
path_provider: ^2.0.11
4040
flutter_fgbg: ^0.6.0
41-
flutter_local_notifications: ^17.0.0
41+
flutter_local_notifications: ^18.0.0
4242
provider: ^6.0.3
4343
http: ^1.0.0
4444
webview_flutter: ^4.0.0

0 commit comments

Comments
 (0)