test load_localized_locale() and translated Anti-Features

This commit is contained in:
Hans-Christoph Steiner 2023-04-24 19:53:06 +02:00
parent b04c7ff539
commit d6dba05ec3
21 changed files with 955 additions and 3 deletions

View File

@ -545,6 +545,22 @@ include tests/check-fdroid-apk
include tests/checkupdates.TestCase
include tests/common.TestCase
include tests/config.py
include tests/config/antiFeatures.yml
include tests/config/de/antiFeatures.yml
include tests/config/fa/antiFeatures.yml
include tests/config/ic_antifeature_ads.xml
include tests/config/ic_antifeature_disabledalgorithm.xml
include tests/config/ic_antifeature_knownvuln.xml
include tests/config/ic_antifeature_nonfreeadd.xml
include tests/config/ic_antifeature_nonfreeassets.xml
include tests/config/ic_antifeature_nonfreedep.xml
include tests/config/ic_antifeature_nonfreenet.xml
include tests/config/ic_antifeature_nosourcesince.xml
include tests/config/ic_antifeature_nsfw.xml
include tests/config/ic_antifeature_tracking.xml
include tests/config/ic_antifeature_upstreamnonfree.xml
include tests/config/ro/antiFeatures.yml
include tests/config/zh-rCN/antiFeatures.yml
include tests/corrupt-featureGraphic.png
include tests/deploy.TestCase
include tests/dummy-keystore.jks

View File

@ -2667,6 +2667,38 @@ class CommonTest(unittest.TestCase):
config['smartcardoptions'],
)
def test_load_localized_config(self):
"""It should load"""
antiFeatures = fdroidserver.common.load_localized_config('antiFeatures', 'repo')
self.assertEqual(
[
'Ads',
'DisabledAlgorithm',
'KnownVuln',
'NSFW',
'NoSourceSince',
'NonFreeAdd',
'NonFreeAssets',
'NonFreeDep',
'NonFreeNet',
'Tracking',
'UpstreamNonFree',
],
list(antiFeatures.keys()),
)
self.assertEqual(
['de', 'en-US', 'fa', 'ro', 'zh-rCN'],
list(antiFeatures['Ads']['description'].keys()),
)
self.assertEqual(
['en-US'],
list(antiFeatures['NoSourceSince']['description'].keys()),
)
# it should have copied the icon files into place
for v in antiFeatures.values():
p = Path(os.path.dirname(__file__) + '/repo' + v['icon']['en-US']['name'])
self.assertTrue(p.exists())
if __name__ == "__main__":
os.chdir(os.path.dirname(__file__))

View File

@ -0,0 +1,45 @@
Ads:
description: This app contains advertising
icon: ic_antifeature_ads.xml
name: Ads
DisabledAlgorithm:
description: This app has a weak security signature
icon: ic_antifeature_disabledalgorithm.xml
name: Signed Using An Unsafe Algorithm
KnownVuln:
description: This app contains a known security vulnerability
icon: ic_antifeature_knownvuln.xml
name: Known Vulnerability
NSFW:
description: This app contains content that should not be publicized or visible
everywhere
icon: ic_antifeature_nsfw.xml
name: NSFW
NoSourceSince:
description: The source code is no longer available, no updates possible.
icon: ic_antifeature_nosourcesince.xml
name: Newer Source Not Available
NonFreeAdd:
description: This app promotes non-free add-ons
icon: ic_antifeature_nonfreeadd.xml
name: Non-Free Addons
NonFreeAssets:
description: This app contains non-free assets
icon: ic_antifeature_nonfreeassets.xml
name: Non-Free Assets
NonFreeDep:
description: This app depends on other non-free apps
icon: ic_antifeature_nonfreedep.xml
name: Non-Free Dependencies
NonFreeNet:
description: This app promotes or depends entirely on a non-free network service
icon: ic_antifeature_nonfreenet.xml
name: Non-Free Network Services
Tracking:
description: This app tracks and reports your activity
icon: ic_antifeature_tracking.xml
name: Tracking
UpstreamNonFree:
description: The upstream source code is not entirely Free
icon: ic_antifeature_upstreamnonfree.xml
name: Upstream Non-Free

View File

@ -0,0 +1,44 @@
Ads:
description: Diese App enthält Werbung
icon: ic_antifeature_ads.xml
name: Werbung
DisabledAlgorithm:
description: Diese App hat eine schwache Sicherheitssignatur
icon: ic_antifeature_disabledalgorithm.xml
name: Mit einem unsicheren Algorithmus signiert
KnownVuln:
description: Diese App enthält eine bekannte Sicherheitslücke
icon: ic_antifeature_knownvuln.xml
name: Bekannte Sicherheitslücke
NSFW:
description: Diese App enthält Inhalte, die nicht überall veröffentlicht oder sichtbar
sein sollten
icon: ic_antifeature_nsfw.xml
name: NSFW
NoSourceSince:
icon: ic_antifeature_nosourcesince.xml
name: Der Quellcode ist nicht mehr erhältlich, keine Aktualisierungen möglich.
NonFreeAdd:
description: Diese App bewirbt nicht-quelloffene Erweiterungen
icon: ic_antifeature_nonfreeadd.xml
name: Nicht-quelloffene Erweiterungen
NonFreeAssets:
description: Diese App enthält nicht-quelloffene Bestandteile
icon: ic_antifeature_nonfreeassets.xml
name: Nicht-quelloffene Bestandteile
NonFreeDep:
description: Diese App ist abhängig von anderen nicht-quelloffenen Apps
icon: ic_antifeature_nonfreedep.xml
name: Nicht-quelloffene Abhängigkeiten
NonFreeNet:
description: Diese App bewirbt nicht-quelloffene Netzwerkdienste
icon: ic_antifeature_nonfreenet.xml
name: Nicht-quelloffene Netzwerkdienste
Tracking:
description: Diese App verfolgt und versendet Ihre Aktivitäten
icon: ic_antifeature_tracking.xml
name: Tracking
UpstreamNonFree:
description: Der Originalcode ist nicht völlig quelloffen
icon: ic_antifeature_upstreamnonfree.xml
name: Originalcode nicht-quelloffen

View File

@ -0,0 +1,43 @@
Ads:
description: این کاره دارای تبلیغات است
icon: ic_antifeature_ads.xml
name: تبلیغات
DisabledAlgorithm:
description: این کاره، امضای امنیتی ضعیفی دارد
icon: ic_antifeature_disabledalgorithm.xml
name: امضا شده با الگوریتمی ناامن
KnownVuln:
description: این کاره، آسیب‌پذیری امنیتی شناخته‌شده‌ای دارد
icon: ic_antifeature_knownvuln.xml
name: آسیب‌پذیری شناخته
NSFW:
description: این کاره محتوایی دارد که نباید عمومی شده یا همه‌حا نمایان باشد
icon: ic_antifeature_nsfw.xml
name: NSFW
NoSourceSince:
icon: ic_antifeature_nosourcesince.xml
name: کد مبدأ دیگر در دسترس نیست. به‌روز رسانی ناممکن است.
NonFreeAdd:
description: این کاره، افزونه‌های ناآزاد را تبلیغ می‌کند
icon: ic_antifeature_nonfreeadd.xml
name: افزونه‌های ناآزاد
NonFreeAssets:
description: این کاره دارای بخش‌های ناآزاد است
icon: ic_antifeature_nonfreeassets.xml
name: بخش‌های ناآزاد
NonFreeDep:
description: این کاره به دیگر کاره‌های ناآزاد وابسته است
icon: ic_antifeature_nonfreedep.xml
name: وابستگی‌های ناآزاد
NonFreeNet:
description: این کاره، خدمات شبکه‌های ناآزاد را ترویج می‌کند
icon: ic_antifeature_nonfreenet.xml
name: خدمات شبکه‌ای ناآزاد
Tracking:
description: این کاره، فعّالیتتان را ردیابی و گزارش می‌کند
icon: ic_antifeature_tracking.xml
name: ردیابی
UpstreamNonFree:
description: کد مبدأ بالادستی کاملاً آزاد نیست
icon: ic_antifeature_upstreamnonfree.xml
name: بالادست ناآزاد

View File

@ -0,0 +1,15 @@
<vector xmlns:tools="http://schemas.android.com/tools"
android:height="24dp"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal"
android:viewportWidth="48"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android"
tools:ignore="VectorRaster">
<path
android:fillColor="#FF000000"
android:pathData="M32.56,11.19a3,3 0,0 0,-3.07 0.44h0a44.91,44.91 0,0 1,-13.55 8.07,2.67 2.67,0 0,0 -2.51,-2.08H8.76a2.84,2.84 0,0 0,-2.64 3.06v6A3.08,3.08 0,0 0,7.66 29.5c0.28,7 2.5,11.65 4.05,12.8a2.65,2.65 0,0 0,1.61 0.47,7.75 7.75,0 0,0 3.17,-0.89c1.55,-0.79 2.33,-1.67 2.32,-2.64A6.52,6.52 0,0 0,18 36.92,25 25,0 0,1 16.5,33a14.59,14.59 0,0 1,-0.44 -4.38,1.28 1.28,0 0,0 0,-0.37c2.13,0.41 7,1.91 13.44,7.49a3.13,3.13 0,0 0,2 0.73,2.63 2.63,0 0,0 1.1,-0.24c0.62,-0.28 1.66,-1.08 1.66,-3.19V14.34A3.13,3.13 0,0 0,32.56 11.19ZM8.71,20.69a0.78,0.78 0,0 1,0.13 -0.47h4.5a0.78,0.78 0,0 1,0.13 0.47v6a0.78,0.78 0,0 1,-0.13 0.47H8.85a0.78,0.78 0,0 1,-0.13 -0.47ZM16.13,39.1a5.6,5.6 0,0 1,-2.92 1.09c-0.63,-0.58 -2.62,-4.2 -2.94,-10.41h3.18A17.66,17.66 0,0 0,14 33.62,27.5 27.5,0 0,0 15.65,38C15.82,38.36 16,38.8 16.13,39.1ZM31.63,33a1.67,1.67 0,0 1,-0.14 0.83,0.47 0.47,0 0,1 -0.31,-0.09C24,27.52 18.51,26 16.07,25.6V22.37c2.44,-0.64 8.75,-3.41 15.09,-8.75h0a0.42,0.42 0,0 1,0.3 -0.07s0.16,0.24 0.16,0.8Z" />
<path
android:fillColor="#FF000000"
android:pathData="M40.86,13.17 L44,6.11a1.3,1.3 0,0 0,-2.37 -1l-4.72,10.7h5.27l-3.62,7A1.3,1.3 0,1 0,40.83 24l5.56,-10.82Z" />
</vector>

View File

@ -0,0 +1,21 @@
<vector xmlns:tools="http://schemas.android.com/tools"
android:height="24dp"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal"
android:viewportWidth="48"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android"
tools:ignore="VectorRaster">
<path
android:fillColor="#FF000000"
android:pathData="M36.24,30.79l-2.18,-2.33A10,10 0,0 0,30.4 26a9.64,9.64 0,0 0,-1.28 -2.77A1.3,1.3 0,1 0,27 24.63a7.38,7.38 0,0 1,0.42 0.73,6.59 6.59,0 0,0 -4.63,1.71 6.51,6.51 0,0 0,-2 4.22,7.7 7.7,0 0,1 -1.48,-1.21l-2.18,-2.33A7.76,7.76 0,0 1,16 26.16,6.37 6.37,0 0,0 22.36,20a7.38,7.38 0,0 1,0.69 0.46,1.3 1.3,0 1,0 1.59,-2.05A9.65,9.65 0,0 0,22 16.92a10,10 0,0 0,-2.25 -3.83l-2.18,-2.33C14.26,7.24 9.18,6.62 6.23,9.37a6.74,6.74 0,0 0,-2 5.53,9.63 9.63,0 0,0 2.64,5.84L9,23.07a9.94,9.94 0,0 0,3.91 2.59,10.05 10.05,0 0,0 2.26,3.84l2.18,2.33A10,10 0,0 0,21 34.34a10,10 0,0 0,2.33 4.1l2.18,2.33a9.4,9.4 0,0 0,6.75 3.11,6.58 6.58,0 0,0 4.55,-1.72 6.74,6.74 0,0 0,2 -5.53A9.63,9.63 0,0 0,36.24 30.79ZM19.77,19.11a4.2,4.2 0,0 1,-1.22 3.46,4.18 4.18,0 0,1 -3.42,1s0,0 0,-0.06A4.2,4.2 0,0 1,16.35 20a4.2,4.2 0,0 1,3.41 -1S19.77,19.09 19.77,19.11ZM8.73,19a7,7 0,0 1,-2 -4.25A4.2,4.2 0,0 1,8 11.26a4,4 0,0 1,2.8 -1,6.84 6.84,0 0,1 4.85,2.3l2.18,2.33a7.7,7.7 0,0 1,1.11 1.57,6.4 6.4,0 0,0 -6.39,6.19 7.69,7.69 0,0 1,-1.63 -1.31ZM24.52,29a4.23,4.23 0,0 1,3.59 -1,3.94 3.94,0 0,1 -4.81,4.31A4.17,4.17 0,0 1,24.52 29ZM35.07,40.3C33.17,42 29.74,41.48 27.43,39l-2.18,-2.33a7.68,7.68 0,0 1,-1.2 -1.73h0.06A6.39,6.39 0,0 0,30.68 29a7.7,7.7 0,0 1,1.49 1.22l2.18,2.33a7,7 0,0 1,2 4.25A4.2,4.2 0,0 1,35.07 40.26Z" />
<path
android:fillColor="#FF000000"
android:pathData="M41.09,19.1a1.59,1.59 0,0 0,-1.87 -1.21l-4.57,1a1.54,1.54 0,0 0,-0.57 0.24h0a1.58,1.58 0,0 0,1.27 2.83l4.57,-1A1.55,1.55 0,0 0,41.09 19.1Z" />
<path
android:fillColor="#FF000000"
android:pathData="M33.93,16.3l0.06,-0.05 3.48,-3.1a1.58,1.58 0,0 0,-2 -2.41l-0.06,0.05 -3.48,3.1a1.58,1.58 0,0 0,2 2.41Z" />
<path
android:fillColor="#FF000000"
android:pathData="M27.14,14.49A1.54,1.54 0,0 0,29 13.34h0l1,-4.56a1.59,1.59 0,0 0,-1.15 -1.91,1.55 1.55,0 0,0 -1.49,0.4h0A1.54,1.54 0,0 0,27 8l-1,4.56A1.59,1.59 0,0 0,27.14 14.49Z" />
</vector>

View File

@ -0,0 +1,15 @@
<vector xmlns:tools="http://schemas.android.com/tools"
android:height="24dp"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal"
android:viewportWidth="48"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android"
tools:ignore="VectorRaster">
<path
android:fillColor="#FF000000"
android:pathData="M37.55,32.13a1.27,1.27 0,0 0,-0.43 0v-1.5h7.94a1.3,1.3 0,0 0,0 -2.59L37.12,28.04L37.12,26.71a1.24,1.24 0,0 0,0.18 0l0.25,0c3.44,-0.67 7.38,-5 8.61,-9.4a1.3,1.3 0,1 0,-2.5 -0.7c-1,3.7 -4.35,7.06 -6.55,7.53L37.11,20.58a1.3,1.3 0,0 0,-1.3 -1.3L33.54,19.28c0,-1.14 0,-3.88 0,-5a9.24,9.24 0,0 0,-18.47 0,1.3 1.3,0 1,0 2.59,0 6.64,6.64 0,0 1,13.29 0c0,1.08 0,3.81 0,5L13.14,19.28a1.3,1.3 0,0 0,-1.3 1.3v3.57c-2.2,-0.49 -5.51,-3.84 -6.53,-7.53a1.3,1.3 0,1 0,-2.5 0.7C4,21.75 8,26.06 11.43,26.72l0.25,0a1.24,1.24 0,0 0,0.17 0L11.85,28L3.65,28a1.3,1.3 0,1 0,0 2.59h8.2v1.5a1.26,1.26 0,0 0,-0.42 0c-3.44,0.67 -7.38,5 -8.61,9.4a1.3,1.3 0,1 0,2.5 0.7c1,-3.69 4.33,-7 6.53,-7.53v2.84a1.3,1.3 0,0 0,1.3 1.3L35.82,38.8a1.3,1.3 0,0 0,1.3 -1.3L37.12,34.69c2.2,0.48 5.52,3.83 6.55,7.53a1.3,1.3 0,1 0,2.5 -0.7C44.93,37.1 41,32.79 37.55,32.13ZM34.55,36.24L14.44,36.24L14.44,21.88L34.52,21.88Z" />
<path
android:fillColor="#FF000000"
android:pathData="M24.5,28.82m-2.44,0a2.44,2.44 0,1 1,4.88 0a2.44,2.44 0,1 1,-4.88 0" />
</vector>

View File

@ -0,0 +1,19 @@
<vector android:height="24dp"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal"
android:viewportWidth="48"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#FF000000"
android:pathData="M32.83,26.35H29.65a2.68,2.68 0,0 0,-3 -2.27h-0.18c-2.4,0 -3.35,1.82 -3.43,4.5s1.54,4.54 3.43,4.5a2.73,2.73 0,0 0,3 -2.44h3.56c-0.59,3.34 -3,5.29 -6.53,5.3 -3.94,0 -6.8,-3.29 -6.8,-7.36 0,-4.34 2.85,-7.36 6.8,-7.36H27c2.46,0 5.81,1.77 5.81,5.13Z" />
<path
android:fillColor="#FF000000"
android:pathData="M16.28,23.15h0A1.87,1.87 0,0 1,18.14 25h0a1.87,1.87 0,0 1,-1.86 1.87h0A1.87,1.87 0,0 1,14.42 25h0A1.87,1.87 0,0 1,16.28 23.15Z" />
<path
android:fillColor="#FF000000"
android:pathData="M16.28,29.7h0a1.87,1.87 0,0 1,1.86 1.87h0a1.87,1.87 0,0 1,-1.86 1.87h0a1.87,1.87 0,0 1,-1.86 -1.87h0A1.87,1.87 0,0 1,16.28 29.7Z" />
<path
android:fillColor="#FF000000"
android:pathData="M11,41.81a1.5,1.5 0,0 1,-1.5 -1.5L9.5,16.24a1.5,1.5 0,0 1,1.5 -1.5h8.71l0,-0.82A4.54,4.54 0,0 1,17.9 10.6,3.62 3.62,0 0,1 19,8a7,7 0,0 1,5.08 -1.81c5.65,0 6.35,3.1 6.38,4.42A4.61,4.61 0,0 1,28.76 14v0.79h8.19a1.5,1.5 0,0 1,1.5 1.49l0,7.6a1.3,1.3 0,0 1,-1.29 1.3h0a1.3,1.3 0,0 1,-1.3 -1.29l0,-6.51h-8.4a1.3,1.3 0,0 1,-1.3 -1.3v-2.7a1.3,1.3 0,0 1,0.55 -1.06c0.49,-0.35 1.17,-1.1 1.15,-1.59 0,-1.25 -1.32,-1.89 -3.8,-1.9a4.62,4.62 0,0 0,-3.22 1,1.08 1.08,0 0,0 -0.36,0.73c0,0.88 1.09,1.55 1.1,1.55a1.3,1.3 0,0 1,0.65 1.05L22.4,16a1.3,1.3 0,0 1,-1.29 1.37h-9L12.11,39.21l23.74,0c0,-0.33 0,-0.74 0,-1.21 0,-1.43 0,-3.4 0,-5.17a1.3,1.3 0,0 1,1.29 -1.3h0a1.3,1.3 0,0 1,1.3 1.29c0,1.79 0,3.77 0,5.21 0,0.72 0,1.3 0,1.67 0,0.07 0,0.32 0,0.55 -0.11,1.45 -1.09,1.56 -1.39,1.56l-26,0ZM11,39.22h0ZM37,39.22h0Z" />
</vector>

View File

@ -0,0 +1,19 @@
<vector android:height="24dp"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal"
android:viewportWidth="48"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#FF000000"
android:pathData="M17.08,18.06h0a1.87,1.87 0,0 1,1.86 1.87h0a1.87,1.87 0,0 1,-1.86 1.87h0a1.87,1.87 0,0 1,-1.86 -1.87h0A1.87,1.87 0,0 1,17.08 18.06Z" />
<path
android:fillColor="#FF000000"
android:pathData="M17.08,26.28h0a1.87,1.87 0,0 1,1.86 1.87h0A1.87,1.87 0,0 1,17.08 30h0a1.87,1.87 0,0 1,-1.86 -1.87h0A1.87,1.87 0,0 1,17.08 26.28Z" />
<path
android:fillColor="#FF000000"
android:pathData="M33.18,22H30a2.68,2.68 0,0 0,-3 -2.27h-0.18c-2.4,0 -3.35,1.82 -3.43,4.5s1.54,4.54 3.43,4.5a2.73,2.73 0,0 0,3 -2.44h3.56c-0.59,3.34 -3,5.29 -6.53,5.3 -3.94,0 -6.8,-3.29 -6.8,-7.36 0,-4.34 2.85,-7.36 6.8,-7.36h0.43c2.46,0 5.81,1.77 5.81,5.13Z" />
<path
android:fillColor="#FF000000"
android:pathData="M39.29,7.11h-30A3.85,3.85 0,0 0,6.44 8.37h0v0a3.59,3.59 0,0 0,-0.9 2.37L5.54,37.63a3.75,3.75 0,0 0,3.8 3.68h30a3.75,3.75 0,0 0,3.8 -3.68L43.14,10.79A3.75,3.75 0,0 0,39.29 7.11ZM39.48,9.71a1.86,1.86 0,1 1,-1.85 1.86A1.85,1.85 0,0 1,39.48 9.71ZM39.48,17.93a1.86,1.86 0,1 1,-1.85 1.86A1.85,1.85 0,0 1,39.48 17.94ZM9.06,38.34h0a1.87,1.87 0,0 1,0 -3.75h0a1.87,1.87 0,0 1,0 3.75ZM9.06,30.05h0a1.87,1.87 0,0 1,0 -3.75h0a1.87,1.87 0,0 1,0 3.75ZM9.06,21.76h0a1.87,1.87 0,0 1,0 -3.75h0a1.87,1.87 0,0 1,0 3.75ZM9.06,13.47h0a1.87,1.87 0,0 1,0 -3.75h0a1.87,1.87 0,0 1,0 3.75ZM36,38.71L12.23,38.71L12.23,9.7L36,9.7ZM39.51,38.33a1.87,1.87 0,1 1,1.86 -1.87A1.87,1.87 0,0 1,39.48 38.34ZM39.51,30.04a1.87,1.87 0,1 1,1.86 -1.87A1.87,1.87 0,0 1,39.48 30Z" />
</vector>

View File

@ -0,0 +1,22 @@
<vector android:height="24dp"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal"
android:viewportWidth="48"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#FF000000"
android:pathData="M9.38,17.97a1.49,1.46 0,1 0,2.98 0a1.49,1.46 0,1 0,-2.98 0z" />
<path
android:fillColor="#FF000000"
android:pathData="M34.73,9.72a1.3,1.3 0,0 0,-1.3 1.3V33.07l-7.19,-5.52a12,12 0,1 0,-1.67 2l8.29,6.37a1.27,1.27 0,0 0,0.56 0.23v6.4a1.3,1.3 0,1 0,2.59 0V11A1.3,1.3 0,0 0,34.73 9.72ZM16.33,30.27a9.33,9.33 0,1 1,9.33 -9.33A9.34,9.34 0,0 1,16.33 30.27Z" />
<path
android:fillColor="#FF000000"
android:pathData="M41.67,9.72a1.3,1.3 0,0 0,-1.3 1.3V42.54a1.3,1.3 0,1 0,2.59 0V11A1.3,1.3 0,0 0,41.67 9.72Z" />
<path
android:fillColor="#FF000000"
android:pathData="M9.38,23.81a1.49,1.46 0,1 0,2.98 0a1.49,1.46 0,1 0,-2.98 0z" />
<path
android:fillColor="#FF000000"
android:pathData="M20.08,22.43A1.74,1.74 0,0 1,18.13 24h0a1.93,1.93 0,0 1,-1.38 -0.59,3.12 3.12,0 0,1 -0.78,-2.32c0.06,-1.94 0.8,-2.92 2.2,-2.92h0.18a1.68,1.68 0,0 1,1.83 1.44v0.07h2.28v-0.09c0,-2.34 -2.36,-3.48 -4,-3.5h-0.28c-2.72,0 -4.62,2.05 -4.62,5A5.23,5.23 0,0 0,15 24.77a4.41,4.41 0,0 0,3.14 1.29h0a4.19,4.19 0,0 0,4.43 -3.6l0,-0.1H20.09Z" />
</vector>

View File

@ -0,0 +1,37 @@
<vector android:height="24dp"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal"
android:viewportWidth="48"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#FF000000"
android:pathData="M13.65,31.74L13,31.74a10.63,10.63 0,0 1,0 -21.25C15.18,7.25 19.22,4.1 23.66,3.9h0c6.23,-0.23 11.08,3.49 13.09,10a8.91,8.91 0,0 1,0 17.82L13.65,31.72ZM13.21,13.06A8,8 0,0 0,13 29.14L36.69,29.14a6.32,6.32 0,0 0,-0.23 -12.64l-0.54,0 -1.11,0.11 -0.27,-1.08c-0.72,-2.82 -3.19,-9.35 -10.76,-9.07h0c-3.23,0.14 -7,2.61 -9.06,6l-0.42,0.67 -0.78,-0.06Z" />
<path
android:fillColor="#FF000000"
android:pathData="M15.33,14.71h0a1.87,1.87 0,0 1,1.86 1.87h0a1.87,1.87 0,0 1,-1.86 1.87h0a1.87,1.87 0,0 1,-1.86 -1.87h0A1.87,1.87 0,0 1,15.33 14.71Z" />
<path
android:fillColor="#FF000000"
android:pathData="M15.33,20.77h0a1.87,1.87 0,0 1,1.86 1.87h0a1.87,1.87 0,0 1,-1.86 1.87h0a1.87,1.87 0,0 1,-1.86 -1.87h0A1.87,1.87 0,0 1,15.33 20.77Z" />
<path
android:fillColor="#FF000000"
android:pathData="M36.27,39.92a1.3,1.3 0,0 1,-1.1 -2l2.28,-3.68a1.3,1.3 0,1 1,2.2 1.37l-2.28,3.68A1.3,1.3 0,0 1,36.27 39.92Z" />
<path
android:fillColor="#FF000000"
android:pathData="M27.92,43.41a1.3,1.3 0,0 1,-1.1 -2l2.28,-3.68a1.3,1.3 0,1 1,2.2 1.37L29,42.79A1.3,1.3 0,0 1,27.92 43.41Z" />
<path
android:fillColor="#FF000000"
android:pathData="M22.17,39.92a1.3,1.3 0,0 1,-1.1 -2l2.28,-3.68a1.3,1.3 0,1 1,2.2 1.37l-2.28,3.68A1.3,1.3 0,0 1,22.17 39.92Z" />
<path
android:fillColor="#FF000000"
android:pathData="M13.83,43.41a1.3,1.3 0,0 1,-1.1 -2L15,37.75a1.3,1.3 0,1 1,2.2 1.37l-2.28,3.68A1.3,1.3 0,0 1,13.83 43.41Z" />
<path
android:fillColor="#FF000000"
android:pathData="M8.64,39.84a1.3,1.3 0,0 1,-1.1 -2l2.28,-3.68A1.3,1.3 0,0 1,12 35.55L9.74,39.23A1.3,1.3 0,0 1,8.64 39.84Z" />
<path
android:fillColor="#FF000000"
android:pathData="M30.28,17.37H27.56A2.3,2.3 0,0 0,25 15.43h-0.15c-2.06,0 -2.87,1.56 -2.94,3.85s1.32,3.89 2.94,3.85A2.34,2.34 0,0 0,27.48 21h3.05a5.28,5.28 0,0 1,-5.59 4.54c-3.38,0 -5.82,-2.82 -5.82,-6.3 0,-3.72 2.44,-6.3 5.82,-6.3h0.37C27.42,13 30.28,14.5 30.28,17.37Z" />
<path
android:fillColor="#FF000000"
android:pathData="M24.93,25.63a5.61,5.61 0,0 1,-4 -1.64,6.56 6.56,0 0,1 -1.86,-4.7 6.65,6.65 0,0 1,1.65 -4.57,5.67 5.67,0 0,1 4.21,-1.77h0.37c2,0 5,1.47 5,4.44v0H27.52v0a2.23,2.23 0,0 0,-2.42 -1.91h-0.23c-1.85,0 -2.82,1.28 -2.9,3.81a4.07,4.07 0,0 0,1 3,2.55 2.55,0 0,0 1.87,0.78A2.3,2.3 0,0 0,27.44 21v0h3.14v0.05a5.32,5.32 0,0 1,-5.64 4.57ZM25.14,13h-0.2c-3.4,0 -5.78,2.57 -5.78,6.26A6.48,6.48 0,0 0,21 23.93a5.53,5.53 0,0 0,3.93 1.62h0a5.24,5.24 0,0 0,5.54 -4.45h-3a2.39,2.39 0,0 1,-2.64 2.09h-0.05a2.63,2.63 0,0 1,-1.88 -0.8,4.15 4.15,0 0,1 -1.05,-3.1c0.08,-2.59 1.08,-3.9 3,-3.9h0.22a2.34,2.34 0,0 1,2.5 1.94h2.65c0,-2.88 -3,-4.27 -4.94,-4.31h-0.16Z" />
</vector>

View File

@ -0,0 +1,16 @@
<vector android:height="24dp"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal"
android:viewportWidth="48"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#FF000000"
android:pathData="M42,31.65L40.6,31.65L40.6,21.46a1.24,1.24 0,0 0,0 -0.26,16.08 16.08,0 0,0 -32.16,0.05 1.31,1.31 0,0 0,0 0.21v10.2L6.9,31.66a1.3,1.3 0,0 0,-1.3 1.3v7.36a1.3,1.3 0,0 0,1.3 1.3L42,41.62a1.3,1.3 0,0 0,1.3 -1.3L43.3,32.95A1.3,1.3 0,0 0,42 31.65ZM11,21.65a1.3,1.3 0,0 0,0 -0.18,13.49 13.49,0 0,1 27,0 1.24,1.24 0,0 0,0 0.24v10L11,31.71ZM40.74,39L8.2,39L8.2,34.25L40.74,34.25Z" />
<path
android:fillColor="#FF000000"
android:pathData="M28.27,16.23a1.3,1.3 0,0 0,-1.82 1.85l3.9,3.82 -3.9,3.82a1.3,1.3 0,0 0,1.82 1.85l4.84,-4.75a1.3,1.3 0,0 0,0 -1.85Z" />
<path
android:fillColor="#FF000000"
android:pathData="M22.52,16.25a1.3,1.3 0,0 0,-1.83 0L15.84,21a1.3,1.3 0,0 0,0 1.85l4.84,4.75a1.3,1.3 0,0 0,1.82 -1.85L18.6,21.9l3.9,-3.82A1.3,1.3 0,0 0,22.52 16.25Z" />
</vector>

View File

@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="48"
android:viewportWidth="48" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M21.99,12.34C22,12.23 22,12.11 22,12c0,-5.52 -4.48,-10 -10,-10S2,6.48 2,12c0,5.17 3.93,9.43 8.96,9.95c-0.93,-0.73 -1.72,-1.64 -2.32,-2.68C5.9,18 4,15.22 4,12c0,-1.85 0.63,-3.55 1.69,-4.9l5.66,5.66c0.56,-0.4 1.17,-0.73 1.82,-1L7.1,5.69C8.45,4.63 10.15,4 12,4c4.24,0 7.7,3.29 7.98,7.45C20.69,11.67 21.37,11.97 21.99,12.34zM17,13c-3.18,0 -5.9,1.87 -7,4.5c1.1,2.63 3.82,4.5 7,4.5s5.9,-1.87 7,-4.5C22.9,14.87 20.18,13 17,13zM17,20c-1.38,0 -2.5,-1.12 -2.5,-2.5c0,-1.38 1.12,-2.5 2.5,-2.5s2.5,1.12 2.5,2.5C19.5,18.88 18.38,20 17,20zM18.5,17.5c0,0.83 -0.67,1.5 -1.5,1.5s-1.5,-0.67 -1.5,-1.5c0,-0.83 0.67,-1.5 1.5,-1.5S18.5,16.67 18.5,17.5z"/>
</vector>

View File

@ -0,0 +1,22 @@
<vector android:height="24dp"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal"
android:viewportWidth="48"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#FF000000"
android:pathData="M6.32,34.68a2.83,2.83 0,0 1,-2.54 -1.4,3.12 3.12,0 0,1 0.12,-3.16L9.68,20.3l0.25,-0.45c0.72,-1.31 1.25,-1.49 2.82,-1.5h0l20.2,-0.06h0c1.48,0 2,0.2 2.73,1.43l0.29,0.49L42.12,30a3.07,3.07 0,0 1,0.17 3.14,2.88 2.88,0 0,1 -2.58,1.44l-33.38,0.06ZM12.32,20.96 L12.24,21.11 11.95,21.62L6.13,31.44A0.62,0.62 0,0 0,6 32c0,0.08 0.24,0.09 0.29,0.09h0L39.71,32c0.08,0 0.26,0 0.31,-0.11a0.57,0.57 0,0 0,-0.1 -0.52l-6.11,-9.82c-0.14,-0.22 -0.25,-0.41 -0.34,-0.57l-0.07,-0.12L33,20.86l-20.2,0.06Z" />
<path
android:fillColor="#FF000000"
android:pathData="M22.94,18.19a8,8 0,0 0,-8.2 7.89A8,8 0,0 0,22.94 34a8,8 0,0 0,8.2 -7.89A8,8 0,0 0,22.94 18.19ZM22.94,31.12a5,5 0,1 1,5.26 -5A5.16,5.16 0,0 1,22.94 31.12Z" />
<path
android:fillColor="#FF000000"
android:pathData="M22.94,24h0a2.1,2.1 0,0 1,2.14 2.05h0a2.1,2.1 0,0 1,-2.14 2.05h0a2.1,2.1 0,0 1,-2.14 -2.05h0A2.1,2.1 0,0 1,22.94 24Z" />
<path
android:fillColor="#FF000000"
android:pathData="M42.91,29.16a6.72,6.72 0,0 1,-3.12 -1c-0.71,-0.39 -4.24,-2.45 -4.23,-4.5s3.48,-4 4.18,-4.42c2.92,-1.6 3.94,-0.94 4.28,-0.73 1.24,0.79 1.48,3.31 1.47,5.28 0,2.77 -0.51,4.49 -1.49,5.1A1.89,1.89 0,0 1,42.91 29.16ZM42.47,26.8ZM38.21,23.62a10.84,10.84 0,0 0,4.39 2.91,13.3 13.3,0 0,0 0,-5.75A10.64,10.64 0,0 0,38.21 23.62ZM38.13,23.77ZM38.13,23.47ZM42.87,20.75h0ZM42.47,20.52Z" />
<path
android:fillColor="#FF000000"
android:pathData="M42.82,42.72H3.15A1.3,1.3 0,0 1,2 40.79l3.49,-6.2a2.72,2.72 0,0 1,-1.74 -1.3,3.12 3.12,0 0,1 0.12,-3.16L9.68,20.3l0.25,-0.45c0.72,-1.31 1.25,-1.49 2.82,-1.5h1.91L21.51,6.17a1.3,1.3 0,0 1,1.12 -0.66,1.28 1.28,0 0,1 1.13,0.64L30.85,18.3h2.1c1.52,0 2.06,0.18 2.77,1.43 0.08,0.14 0.17,0.3 0.29,0.49L42.12,30a3.07,3.07 0,0 1,0.17 3.14,2.8 2.8,0 0,1 -2,1.38l3.62,6.2a1.3,1.3 0,0 1,-1.12 1.95ZM5.37,40.13H40.56L37,34A1.3,1.3 0,0 1,38.1 32h1.61c0.08,0 0.26,0 0.31,-0.11a0.57,0.57 0,0 0,-0.1 -0.52l-6.11,-9.82c-0.14,-0.23 -0.25,-0.41 -0.34,-0.57l-0.07,-0.12h-3.3A1.31,1.31 0,0 1,29 20.26L22.66,9.42 16.54,20.28a1.3,1.3 0,0 1,-1.13 0.66H12.29l-0.08,0.15 -0.29,0.51L6.13,31.44A0.62,0.62 0,0 0,6 32c0,0.08 0.24,0.09 0.29,0.09H7.68A1.3,1.3 0,0 1,8.81 34Z" />
</vector>

View File

@ -0,0 +1,19 @@
<vector android:height="24dp"
android:viewportHeight="48"
android:tint="?attr/colorControlNormal"
android:viewportWidth="48"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#FF000000"
android:pathData="M15.72,22.64a1.86,1.87 0,1 0,3.72 0a1.86,1.87 0,1 0,-3.72 0z" />
<path
android:fillColor="#FF000000"
android:pathData="M15.72,29.24a1.86,1.87 0,1 0,3.72 0a1.86,1.87 0,1 0,-3.72 0z" />
<path
android:fillColor="#FF000000"
android:pathData="M20.28,26.12c0,4.06 2.85,7.37 6.8,7.36 3.49,0 5.94,-2 6.53,-5.3H30a2.73,2.73 0,0 1,-3 2.44c-1.89,0 -3.51,-1.7 -3.43,-4.5s1,-4.5 3.43,-4.5h0.18a2.68,2.68 0,0 1,3 2.27h3.18c0,-3.36 -3.35,-5.08 -5.81,-5.13h-0.43C23.13,18.76 20.28,21.78 20.28,26.12Z" />
<path
android:fillColor="#FF000000"
android:pathData="M24.375,8.9277A1.3,1.3 0,0 0,23.7793 9.0801L5.4492,18.8008A1.3,1.3 0,0 0,6.6699 21.0898L10.1992,19.2109L10.1992,36.6699A3.07,3.07 0,0 0,13.3594 39.6699L35.6406,39.6699A3.07,3.07 0,0 0,38.8008 36.6699L38.8008,19.4609L42.3301,21.3594A1.3,1.3 0,0 0,43.5605 19.0801L43.5605,19.0703L25,9.0801A1.3,1.3 0,0 0,24.375 8.9277zM24.3691,11.6992L36.2207,18.0703L36.2109,36.6699C36.2109,36.8399 35.9706,37.0293 35.6406,37.0293L13.3594,37.0293C13.0394,37.0293 12.7891,36.8399 12.7891,36.6699L12.7891,17.9492L12.7891,17.8496L24.3691,11.6992z" />
</vector>

View File

@ -0,0 +1,44 @@
Ads:
description: Aplicația conține reclamă
icon: ic_antifeature_ads.xml
name: Reclame
DisabledAlgorithm:
description: Aplicația are o semnătură slab securizată
icon: ic_antifeature_disabledalgorithm.xml
name: Algoritm nesigur semnătură
KnownVuln:
description: Aplicația conține o vulnerabilitate de securitate cunoscută
icon: ic_antifeature_knownvuln.xml
name: Vulnerabilitate cunoscută
NSFW:
description: Această aplicație conține conținut care nu ar trebui să fie făcut public
sau vizibil peste tot
icon: ic_antifeature_nsfw.xml
name: NSFW
NoSourceSince:
icon: ic_antifeature_nosourcesince.xml
name: Codul sursă nu mai este disponibil, nu mai există posibilitatea de a actualiza.
NonFreeAdd:
description: Aplicația promovează anexe ce nu sunt software liber
icon: ic_antifeature_nonfreeadd.xml
name: Anexe ne-libere
NonFreeAssets:
description: Aceasta aplicație conține resurse ce nu sunt la disponibile la liber
icon: ic_antifeature_nonfreeassets.xml
name: Resurse ne-libere
NonFreeDep:
description: Aplicația depinde de alte aplicații ce nu sunt software liber
icon: ic_antifeature_nonfreedep.xml
name: Dependențe ne-libere
NonFreeNet:
description: Aplicația promovează servicii de rețea ce nu sunt accesibile la liber
icon: ic_antifeature_nonfreenet.xml
name: Servicii de rețea ne-libere
Tracking:
description: Aplicația îți înregistrează și raportează activitatea undeva
icon: ic_antifeature_tracking.xml
name: Urmărire
UpstreamNonFree:
description: Codul sursa originar nu este în totalitatea lui software liber
icon: ic_antifeature_upstreamnonfree.xml
name: Surse ne-libere

View File

@ -0,0 +1,43 @@
Ads:
description: 此应用包含广告
icon: ic_antifeature_ads.xml
name: 广告
DisabledAlgorithm:
description: 此应用的安全签名较弱
icon: ic_antifeature_disabledalgorithm.xml
name: 使用不安全算法签名
KnownVuln:
description: 此应用包含已知的安全漏洞
icon: ic_antifeature_knownvuln.xml
name: 含有已知漏洞
NSFW:
description: 此应用包含不应宣扬或随处可见的内容
icon: ic_antifeature_nsfw.xml
name: NSFW
NoSourceSince:
icon: ic_antifeature_nosourcesince.xml
name: 源代码不再可用,无法更新。
NonFreeAdd:
description: 此应用推广非自由的附加组件
icon: ic_antifeature_nonfreeadd.xml
name: 非自由附加组件
NonFreeAssets:
description: 此应用包含非自由资源
icon: ic_antifeature_nonfreeassets.xml
name: 非自由资产
NonFreeDep:
description: 此应用依赖于其它非自由应用
icon: ic_antifeature_nonfreedep.xml
name: 非自由依赖项
NonFreeNet:
description: 此应用推广非自由的网络服务
icon: ic_antifeature_nonfreenet.xml
name: 非自由网络服务
Tracking:
description: 此应用会记录并报告你的活动
icon: ic_antifeature_tracking.xml
name: 跟踪用户
UpstreamNonFree:
description: 上游源代码不是完全自由的
icon: ic_antifeature_upstreamnonfree.xml
name: 上游代码非自由

View File

@ -3,8 +3,8 @@
"version": 20002,
"index": {
"name": "/index-v2.json",
"sha256": "07fa4500736ae77fcc6434e4d70ab315b8e018aef52c2afca9f2834ddc73747d",
"size": 32946,
"sha256": "a3c7e88a522a7228937e5c3d760fc239e3578e292035d88478d32fec9ff5eb54",
"size": 52314,
"numPackages": 10
},
"diffs": {}

View File

@ -27,6 +27,477 @@
}
],
"timestamp": 1676634233000,
"antiFeatures": {
"Ads": {
"description": {
"de": "Diese App enthält Werbung",
"en-US": "This app contains advertising",
"fa": "این کاره دارای تبلیغات است",
"ro": "Aplicația conține reclamă",
"zh-rCN": "此应用包含广告"
},
"icon": {
"de": {
"name": "/icons/ic_antifeature_ads.xml",
"sha256": "b333528573134c5de73484862a1b567a0bdfd6878d183f8500287abadc0ba60e",
"size": 1564
},
"en-US": {
"name": "/icons/ic_antifeature_ads.xml",
"sha256": "b333528573134c5de73484862a1b567a0bdfd6878d183f8500287abadc0ba60e",
"size": 1564
},
"fa": {
"name": "/icons/ic_antifeature_ads.xml",
"sha256": "b333528573134c5de73484862a1b567a0bdfd6878d183f8500287abadc0ba60e",
"size": 1564
},
"ro": {
"name": "/icons/ic_antifeature_ads.xml",
"sha256": "b333528573134c5de73484862a1b567a0bdfd6878d183f8500287abadc0ba60e",
"size": 1564
},
"zh-rCN": {
"name": "/icons/ic_antifeature_ads.xml",
"sha256": "b333528573134c5de73484862a1b567a0bdfd6878d183f8500287abadc0ba60e",
"size": 1564
}
},
"name": {
"de": "Werbung",
"en-US": "Ads",
"fa": "تبلیغات",
"ro": "Reclame",
"zh-rCN": "广告"
}
},
"DisabledAlgorithm": {
"description": {
"de": "Diese App hat eine schwache Sicherheitssignatur",
"en-US": "This app has a weak security signature",
"fa": "این کاره، امضای امنیتی ضعیفی دارد",
"ro": "Aplicația are o semnătură slab securizată",
"zh-rCN": "此应用的安全签名较弱"
},
"icon": {
"de": {
"name": "/icons/ic_antifeature_disabledalgorithm.xml",
"sha256": "94dea590c7c0aa37d351ab62a69fc7eefbc2cdbb84b79df3934c2e9332e1dcfb",
"size": 2313
},
"en-US": {
"name": "/icons/ic_antifeature_disabledalgorithm.xml",
"sha256": "94dea590c7c0aa37d351ab62a69fc7eefbc2cdbb84b79df3934c2e9332e1dcfb",
"size": 2313
},
"fa": {
"name": "/icons/ic_antifeature_disabledalgorithm.xml",
"sha256": "94dea590c7c0aa37d351ab62a69fc7eefbc2cdbb84b79df3934c2e9332e1dcfb",
"size": 2313
},
"ro": {
"name": "/icons/ic_antifeature_disabledalgorithm.xml",
"sha256": "94dea590c7c0aa37d351ab62a69fc7eefbc2cdbb84b79df3934c2e9332e1dcfb",
"size": 2313
},
"zh-rCN": {
"name": "/icons/ic_antifeature_disabledalgorithm.xml",
"sha256": "94dea590c7c0aa37d351ab62a69fc7eefbc2cdbb84b79df3934c2e9332e1dcfb",
"size": 2313
}
},
"name": {
"de": "Mit einem unsicheren Algorithmus signiert",
"en-US": "Signed Using An Unsafe Algorithm",
"fa": "امضا شده با الگوریتمی ناامن",
"ro": "Algoritm nesigur semnătură",
"zh-rCN": "使用不安全算法签名"
}
},
"KnownVuln": {
"description": {
"de": "Diese App enthält eine bekannte Sicherheitslücke",
"en-US": "This app contains a known security vulnerability",
"fa": "این کاره، آسیب‌پذیری امنیتی شناخته‌شده‌ای دارد",
"ro": "Aplicația conține o vulnerabilitate de securitate cunoscută",
"zh-rCN": "此应用包含已知的安全漏洞"
},
"icon": {
"de": {
"name": "/icons/ic_antifeature_knownvuln.xml",
"sha256": "743ddcad0120896b03bf62bca9b3b9902878ac9366959a0b77b2c50beeb37f9d",
"size": 1415
},
"en-US": {
"name": "/icons/ic_antifeature_knownvuln.xml",
"sha256": "743ddcad0120896b03bf62bca9b3b9902878ac9366959a0b77b2c50beeb37f9d",
"size": 1415
},
"fa": {
"name": "/icons/ic_antifeature_knownvuln.xml",
"sha256": "743ddcad0120896b03bf62bca9b3b9902878ac9366959a0b77b2c50beeb37f9d",
"size": 1415
},
"ro": {
"name": "/icons/ic_antifeature_knownvuln.xml",
"sha256": "743ddcad0120896b03bf62bca9b3b9902878ac9366959a0b77b2c50beeb37f9d",
"size": 1415
},
"zh-rCN": {
"name": "/icons/ic_antifeature_knownvuln.xml",
"sha256": "743ddcad0120896b03bf62bca9b3b9902878ac9366959a0b77b2c50beeb37f9d",
"size": 1415
}
},
"name": {
"de": "Bekannte Sicherheitslücke",
"en-US": "Known Vulnerability",
"fa": "آسیب‌پذیری شناخته",
"ro": "Vulnerabilitate cunoscută",
"zh-rCN": "含有已知漏洞"
}
},
"NSFW": {
"description": {
"de": "Diese App enthält Inhalte, die nicht überall veröffentlicht oder sichtbar sein sollten",
"en-US": "This app contains content that should not be publicized or visible everywhere",
"fa": "این کاره محتوایی دارد که نباید عمومی شده یا همه‌حا نمایان باشد",
"ro": "Această aplicație conține conținut care nu ar trebui să fie făcut public sau vizibil peste tot",
"zh-rCN": "此应用包含不应宣扬或随处可见的内容"
},
"icon": {
"de": {
"name": "/icons/ic_antifeature_nsfw.xml",
"sha256": "acab2a7a846700529cd7f2b7a7980f7d04a291f22db8434f3e966f7350ed1465",
"size": 871
},
"en-US": {
"name": "/icons/ic_antifeature_nsfw.xml",
"sha256": "acab2a7a846700529cd7f2b7a7980f7d04a291f22db8434f3e966f7350ed1465",
"size": 871
},
"fa": {
"name": "/icons/ic_antifeature_nsfw.xml",
"sha256": "acab2a7a846700529cd7f2b7a7980f7d04a291f22db8434f3e966f7350ed1465",
"size": 871
},
"ro": {
"name": "/icons/ic_antifeature_nsfw.xml",
"sha256": "acab2a7a846700529cd7f2b7a7980f7d04a291f22db8434f3e966f7350ed1465",
"size": 871
},
"zh-rCN": {
"name": "/icons/ic_antifeature_nsfw.xml",
"sha256": "acab2a7a846700529cd7f2b7a7980f7d04a291f22db8434f3e966f7350ed1465",
"size": 871
}
},
"name": {
"de": "NSFW",
"en-US": "NSFW",
"fa": "NSFW",
"ro": "NSFW",
"zh-rCN": "NSFW"
}
},
"NoSourceSince": {
"description": {
"en-US": "The source code is no longer available, no updates possible."
},
"icon": {
"de": {
"name": "/icons/ic_antifeature_nosourcesince.xml",
"sha256": "69c880b075967fe9598c777e18d600e1c1612bf061111911421fe8f6b9d88d4f",
"size": 1102
},
"en-US": {
"name": "/icons/ic_antifeature_nosourcesince.xml",
"sha256": "69c880b075967fe9598c777e18d600e1c1612bf061111911421fe8f6b9d88d4f",
"size": 1102
},
"fa": {
"name": "/icons/ic_antifeature_nosourcesince.xml",
"sha256": "69c880b075967fe9598c777e18d600e1c1612bf061111911421fe8f6b9d88d4f",
"size": 1102
},
"ro": {
"name": "/icons/ic_antifeature_nosourcesince.xml",
"sha256": "69c880b075967fe9598c777e18d600e1c1612bf061111911421fe8f6b9d88d4f",
"size": 1102
},
"zh-rCN": {
"name": "/icons/ic_antifeature_nosourcesince.xml",
"sha256": "69c880b075967fe9598c777e18d600e1c1612bf061111911421fe8f6b9d88d4f",
"size": 1102
}
},
"name": {
"de": "Der Quellcode ist nicht mehr erhältlich, keine Aktualisierungen möglich.",
"en-US": "Newer Source Not Available",
"fa": "کد مبدأ دیگر در دسترس نیست. به‌روز رسانی ناممکن است.",
"ro": "Codul sursă nu mai este disponibil, nu mai există posibilitatea de a actualiza.",
"zh-rCN": "源代码不再可用,无法更新。"
}
},
"NonFreeAdd": {
"description": {
"de": "Diese App bewirbt nicht-quelloffene Erweiterungen",
"en-US": "This app promotes non-free add-ons",
"fa": "این کاره، افزونه‌های ناآزاد را تبلیغ می‌کند",
"ro": "Aplicația promovează anexe ce nu sunt software liber",
"zh-rCN": "此应用推广非自由的附加组件"
},
"icon": {
"de": {
"name": "/icons/ic_antifeature_nonfreeadd.xml",
"sha256": "a1d1f2070bdaabf80ca5a55bccef98c82031ea2f31cc040be5ec009f44ddeef2",
"size": 1846
},
"en-US": {
"name": "/icons/ic_antifeature_nonfreeadd.xml",
"sha256": "a1d1f2070bdaabf80ca5a55bccef98c82031ea2f31cc040be5ec009f44ddeef2",
"size": 1846
},
"fa": {
"name": "/icons/ic_antifeature_nonfreeadd.xml",
"sha256": "a1d1f2070bdaabf80ca5a55bccef98c82031ea2f31cc040be5ec009f44ddeef2",
"size": 1846
},
"ro": {
"name": "/icons/ic_antifeature_nonfreeadd.xml",
"sha256": "a1d1f2070bdaabf80ca5a55bccef98c82031ea2f31cc040be5ec009f44ddeef2",
"size": 1846
},
"zh-rCN": {
"name": "/icons/ic_antifeature_nonfreeadd.xml",
"sha256": "a1d1f2070bdaabf80ca5a55bccef98c82031ea2f31cc040be5ec009f44ddeef2",
"size": 1846
}
},
"name": {
"de": "Nicht-quelloffene Erweiterungen",
"en-US": "Non-Free Addons",
"fa": "افزونه‌های ناآزاد",
"ro": "Anexe ne-libere",
"zh-rCN": "非自由附加组件"
}
},
"NonFreeAssets": {
"description": {
"de": "Diese App enthält nicht-quelloffene Bestandteile",
"en-US": "This app contains non-free assets",
"fa": "این کاره دارای بخش‌های ناآزاد است",
"ro": "Aceasta aplicație conține resurse ce nu sunt la disponibile la liber",
"zh-rCN": "此应用包含非自由资源"
},
"icon": {
"de": {
"name": "/icons/ic_antifeature_nonfreeassets.xml",
"sha256": "b39fe384386fc67fb30fa2f91402594110e2e42c961d76adc93141b8bd774008",
"size": 1784
},
"en-US": {
"name": "/icons/ic_antifeature_nonfreeassets.xml",
"sha256": "b39fe384386fc67fb30fa2f91402594110e2e42c961d76adc93141b8bd774008",
"size": 1784
},
"fa": {
"name": "/icons/ic_antifeature_nonfreeassets.xml",
"sha256": "b39fe384386fc67fb30fa2f91402594110e2e42c961d76adc93141b8bd774008",
"size": 1784
},
"ro": {
"name": "/icons/ic_antifeature_nonfreeassets.xml",
"sha256": "b39fe384386fc67fb30fa2f91402594110e2e42c961d76adc93141b8bd774008",
"size": 1784
},
"zh-rCN": {
"name": "/icons/ic_antifeature_nonfreeassets.xml",
"sha256": "b39fe384386fc67fb30fa2f91402594110e2e42c961d76adc93141b8bd774008",
"size": 1784
}
},
"name": {
"de": "Nicht-quelloffene Bestandteile",
"en-US": "Non-Free Assets",
"fa": "بخش‌های ناآزاد",
"ro": "Resurse ne-libere",
"zh-rCN": "非自由资产"
}
},
"NonFreeDep": {
"description": {
"de": "Diese App ist abhängig von anderen nicht-quelloffenen Apps",
"en-US": "This app depends on other non-free apps",
"fa": "این کاره به دیگر کاره‌های ناآزاد وابسته است",
"ro": "Aplicația depinde de alte aplicații ce nu sunt software liber",
"zh-rCN": "此应用依赖于其它非自由应用"
},
"icon": {
"de": {
"name": "/icons/ic_antifeature_nonfreedep.xml",
"sha256": "c1b4052a8f58125b2120d9ca07adb725d47bfa7cfcea80c4d6bbbc432b5cb83a",
"size": 1396
},
"en-US": {
"name": "/icons/ic_antifeature_nonfreedep.xml",
"sha256": "c1b4052a8f58125b2120d9ca07adb725d47bfa7cfcea80c4d6bbbc432b5cb83a",
"size": 1396
},
"fa": {
"name": "/icons/ic_antifeature_nonfreedep.xml",
"sha256": "c1b4052a8f58125b2120d9ca07adb725d47bfa7cfcea80c4d6bbbc432b5cb83a",
"size": 1396
},
"ro": {
"name": "/icons/ic_antifeature_nonfreedep.xml",
"sha256": "c1b4052a8f58125b2120d9ca07adb725d47bfa7cfcea80c4d6bbbc432b5cb83a",
"size": 1396
},
"zh-rCN": {
"name": "/icons/ic_antifeature_nonfreedep.xml",
"sha256": "c1b4052a8f58125b2120d9ca07adb725d47bfa7cfcea80c4d6bbbc432b5cb83a",
"size": 1396
}
},
"name": {
"de": "Nicht-quelloffene Abhängigkeiten",
"en-US": "Non-Free Dependencies",
"fa": "وابستگی‌های ناآزاد",
"ro": "Dependențe ne-libere",
"zh-rCN": "非自由依赖项"
}
},
"NonFreeNet": {
"description": {
"de": "Diese App bewirbt nicht-quelloffene Netzwerkdienste",
"en-US": "This app promotes or depends entirely on a non-free network service",
"fa": "این کاره، خدمات شبکه‌های ناآزاد را ترویج می‌کند",
"ro": "Aplicația promovează servicii de rețea ce nu sunt accesibile la liber",
"zh-rCN": "此应用推广非自由的网络服务"
},
"icon": {
"de": {
"name": "/icons/ic_antifeature_nonfreenet.xml",
"sha256": "7fff45c847ed2ecc94e85ba2341685c8f113fa5fdf7267a25637dc38ee0275f6",
"size": 3038
},
"en-US": {
"name": "/icons/ic_antifeature_nonfreenet.xml",
"sha256": "7fff45c847ed2ecc94e85ba2341685c8f113fa5fdf7267a25637dc38ee0275f6",
"size": 3038
},
"fa": {
"name": "/icons/ic_antifeature_nonfreenet.xml",
"sha256": "7fff45c847ed2ecc94e85ba2341685c8f113fa5fdf7267a25637dc38ee0275f6",
"size": 3038
},
"ro": {
"name": "/icons/ic_antifeature_nonfreenet.xml",
"sha256": "7fff45c847ed2ecc94e85ba2341685c8f113fa5fdf7267a25637dc38ee0275f6",
"size": 3038
},
"zh-rCN": {
"name": "/icons/ic_antifeature_nonfreenet.xml",
"sha256": "7fff45c847ed2ecc94e85ba2341685c8f113fa5fdf7267a25637dc38ee0275f6",
"size": 3038
}
},
"name": {
"de": "Nicht-quelloffene Netzwerkdienste",
"en-US": "Non-Free Network Services",
"fa": "خدمات شبکه‌ای ناآزاد",
"ro": "Servicii de rețea ne-libere",
"zh-rCN": "非自由网络服务"
}
},
"Tracking": {
"description": {
"de": "Diese App verfolgt und versendet Ihre Aktivitäten",
"en-US": "This app tracks and reports your activity",
"fa": "این کاره، فعّالیتتان را ردیابی و گزارش می‌کند",
"ro": "Aplicația îți înregistrează și raportează activitatea undeva",
"zh-rCN": "此应用会记录并报告你的活动"
},
"icon": {
"de": {
"name": "/icons/ic_antifeature_tracking.xml",
"sha256": "4779337b5b0a12c4b4a8a83d0d8a994a2477460db702784df4c8d3e3730be961",
"size": 2493
},
"en-US": {
"name": "/icons/ic_antifeature_tracking.xml",
"sha256": "4779337b5b0a12c4b4a8a83d0d8a994a2477460db702784df4c8d3e3730be961",
"size": 2493
},
"fa": {
"name": "/icons/ic_antifeature_tracking.xml",
"sha256": "4779337b5b0a12c4b4a8a83d0d8a994a2477460db702784df4c8d3e3730be961",
"size": 2493
},
"ro": {
"name": "/icons/ic_antifeature_tracking.xml",
"sha256": "4779337b5b0a12c4b4a8a83d0d8a994a2477460db702784df4c8d3e3730be961",
"size": 2493
},
"zh-rCN": {
"name": "/icons/ic_antifeature_tracking.xml",
"sha256": "4779337b5b0a12c4b4a8a83d0d8a994a2477460db702784df4c8d3e3730be961",
"size": 2493
}
},
"name": {
"de": "Tracking",
"en-US": "Tracking",
"fa": "ردیابی",
"ro": "Urmărire",
"zh-rCN": "跟踪用户"
}
},
"UpstreamNonFree": {
"description": {
"de": "Der Originalcode ist nicht völlig quelloffen",
"en-US": "The upstream source code is not entirely Free",
"fa": "کد مبدأ بالادستی کاملاً آزاد نیست",
"ro": "Codul sursa originar nu este în totalitatea lui software liber",
"zh-rCN": "上游源代码不是完全自由的"
},
"icon": {
"de": {
"name": "/icons/ic_antifeature_upstreamnonfree.xml",
"sha256": "06a9af843ff56ecd7a270f98c0b19b3154edf3ffa854e6d50a84ef00d0ce1a86",
"size": 1442
},
"en-US": {
"name": "/icons/ic_antifeature_upstreamnonfree.xml",
"sha256": "06a9af843ff56ecd7a270f98c0b19b3154edf3ffa854e6d50a84ef00d0ce1a86",
"size": 1442
},
"fa": {
"name": "/icons/ic_antifeature_upstreamnonfree.xml",
"sha256": "06a9af843ff56ecd7a270f98c0b19b3154edf3ffa854e6d50a84ef00d0ce1a86",
"size": 1442
},
"ro": {
"name": "/icons/ic_antifeature_upstreamnonfree.xml",
"sha256": "06a9af843ff56ecd7a270f98c0b19b3154edf3ffa854e6d50a84ef00d0ce1a86",
"size": 1442
},
"zh-rCN": {
"name": "/icons/ic_antifeature_upstreamnonfree.xml",
"sha256": "06a9af843ff56ecd7a270f98c0b19b3154edf3ffa854e6d50a84ef00d0ce1a86",
"size": 1442
}
},
"name": {
"de": "Originalcode nicht-quelloffen",
"en-US": "Upstream Non-Free",
"fa": "بالادست ناآزاد",
"ro": "Surse ne-libere",
"zh-rCN": "上游代码非自由"
}
}
},
"requests": {
"install": [
"org.adaway"

View File

@ -261,7 +261,12 @@ REPOROOT=`create_test_dir`
GNUPGHOME=$REPOROOT/gnupghome
cd $REPOROOT
fdroid_init_with_prebuilt_keystore
cp -a $WORKSPACE/tests/metadata $WORKSPACE/tests/repo $WORKSPACE/tests/stats $REPOROOT/
cp -a \
$WORKSPACE/tests/config \
$WORKSPACE/tests/metadata \
$WORKSPACE/tests/repo \
$WORKSPACE/tests/stats \
$REPOROOT/
cp -a $WORKSPACE/tests/gnupghome $GNUPGHOME
chmod 0700 $GNUPGHOME
echo "install_list: org.adaway" >> config.yml