fdroiddata/metadata/com.vuze.android.remote.yml
Hans-Christoph Steiner 32826c8334
mark apps/builds with ga_trackingId set with Tracking Anti-Feature
Google Firebase Analytics is configured using an XML file, and it seems to
require that an value with the key `ga_trackingId` is included:
https://developers.google.com/android/reference/com/google/android/gms/analytics/Tracker

That means that any app that is setting `ga_trackingId` is most likely
configuring Google Firebase Analytics.  If not, then that file/key should
be removed entirely. It can easily be moved to a flavor also.

This was detected by running this script across the whole archive:
https://gitlab.com/trackingthetrackers/scripts/-/blob/master/find-ga_trackingId.py
```python
import os
import sys
import zipfile
from androguard.core.bytecodes.axml import AXMLPrinter
try:
    import defusedxml.ElementTree as XMLElementTree
except ImportError:
    import xml.etree.ElementTree as XMLElementTree  # nosec this is a fallback only

if len(sys.argv) > 1:
    search_dirs = sys.argv[1:]
else:
    search_dirs = ['.']
print('search_dirs', search_dirs)

for d in search_dirs:
    for root, dirs, files in os.walk(d):
        for f in files:
            path = os.path.join(root, f)
            try:
                with zipfile.ZipFile(path) as apk:
                    for info in apk.infolist():
                        if info.file_size < 10:
                            continue
                        name = info.filename
                        if name.startswith('res/') and name.endswith('.xml'):
                            with apk.open(name) as binary_xml:
                                axml = AXMLPrinter(binary_xml.read())
                                resources = XMLElementTree.fromstring(axml.get_xml())
                                for item in resources:
                                    if 'ga_trackingId' == (item.get('name')):
                                        print(path, name, item.get('name'))
            except (zipfile.BadZipFile, AssertionError, TypeError, ValueError) as e:
                #print(path, e)
                pass
```

Then applied using this script:

```python
import os
import yaml
from fdroidserver import metadata

apps = dict()
with open('ga_trackingId-finds.txt') as fp:
    for line in fp:
        apk, xml, _ = line.split()
        apk = apk.split('/')[1]
        appid = apk[:apk.rindex('_')]
        versionCode = int(apk[:-4][apk.rindex('_') + 1:])
        if appid not in apps:
            apps[appid] = []
        apps[appid].append(versionCode)

for appid, versionCodes in apps.items():
    metadatapath = 'metadata/%s.yml' % appid
    with open(metadatapath) as fp:
        app = yaml.load(fp)
    print(appid, app.get('Repo', '///').split('/')[3], sep='\t')
    for build in app['Builds']:
        if build.get('gradle') is True or build.get('gradle') == 'true':
            build['gradle'] = ['yes']
        if build['versionCode'] in versionCodes:
            build['antifeatures'] = ['Tracking']
    metadata.write_metadata(metadatapath, metadata.App(app))
    os.system("sed -i 's,^      - true,      - yes,' " + metadatapath)
```

!7898
2021-04-19 20:37:09 +02:00

115 lines
3.7 KiB
YAML

Categories:
- Internet
License: GPL-2.0-or-later
WebSite: https://wiki.vuze.com/w/Android_Remote_Guide
SourceCode: https://github.com/vuze/vuze-remote-for-android
IssueTracker: http://forum.vuze.com/Forum-Android-Remote-Client
Donate: http://www.vuze.com/donation/btc.php
Bitcoin: 15j7vKgJbixQFZ6AvEFw2BhtA4KG7E14JZ
AutoName: Vuze Remote
Description: |-
Vuze Remote™ allows you to control your Vuze® desktop client, Transmission
torrent client, or the built-in Vuze client through your mobile device or
Android TV.
Download the Vuze Remote application, scan in your Remote Pairing QR Code from
your Vuze desktop client (or enter it manually), connect and go. Easy to set-up
and effortless to use.
Features:
* Search for torrents directly from your device & add to your desktop client
* Manage torrent progress
* Set download/upload speeds
* Adjust torrent and file priorities
* Select files and set queue options when adding torrent
* Create login profiles to connect multiple remote computers
* Simple, easy to use interface
* Advanced login controls and supports Transmission bittorrent client
* Phone, Tablet, and Television user interfaces
* Option to torrent using your current device
* Ad free experience
For a complete step-by-step guide read the
<a href="http://wiki.vuze.com/w/Android_Remote_Guide">Vuze Remote for Android guide</a>. For
additional help please visit the <a href="http://forum.vuze.com/forum.jspa?forumID=127
Vuze">forum</a>.
Have a suggestion? Please use our
<a href="http://vote.vuze.com/forums/227649-android-remote">Vuze Remote Voting service</a>.
RepoType: git
Repo: https://github.com/vuze/vuze-remote-for-android
Builds:
- versionName: 2.2.4
versionCode: 63
commit: 5e9486fb4a4cb0a90d6f0ee8fce5dad2ef242e04
subdir: VuzeRemoteProject
patch:
- f-droid.2.2.4.diff
srclibs:
- FastJSON@1.1.46-android
- jcfis@jcifs-1.3.17-kohsuke-1
rm:
- VuzeRemoteProject/libs/*
- google-play-services_lib
- VuzeRemoteProject/src/com/vuze/android/remote/VuzeEasyTrackerNew.java
- VuzeRemoteProject/src/com/vuze/android/remote/VuzeEasyTrackerOld.java
- VuzeRemoteProject/src/com/vuze/android/remote/CampaignTrackingReceiver.java
- MaterialEditText/library/src/main/nineoldandroids-2.4.0.jar
- android-switch-backport/sample
- appcompat/libs/android-support-v4.jar
extlibs:
- android/android-support-v4.jar
prebuild: cp libs/android-support-v4.jar ../appcompat/libs
build:
- pushd $$FastJSON$$
- $$MVN3$$ -DskipTests package
- popd
- cp -fR $$FastJSON$$/target/fastjson-1.1.46.android.jar libs/
- pushd $$jcfis$$
- rm -rf src/jcifs/http*
- $$MVN3$$ package
- popd
- cp -fR $$jcfis$$/target/jcifs-1.3.17-kohsuke-1.jar libs/
antifeatures:
- Tracking
- versionName: 2.3.1
versionCode: 68
commit: v2.3.1
subdir: vuzeAndroidRemote
gradle:
- fossFlavor
prebuild: sed -i -e '/mainFlavorCompile/d' build.gradle
antifeatures:
- Tracking
- versionName: 2.5.2
versionCode: 78
commit: v2.5.2
subdir: vuzeAndroidRemote
gradle:
- CoreFlavorNogaFlavor
prebuild: sed -i -e '/gaFlavorCompile/d' build.gradle
antifeatures:
- Tracking
- versionName: 2.6.1
versionCode: 82
commit: v2.6.1
subdir: vuzeAndroidRemote
gradle:
- CoreFlavorNogaFlavor
prebuild: sed -i -e '/gaFlavorCompile/d' build.gradle
scanignore:
- vuzeAndroidRemote/src/coreFlavor/java/com/vuze/android/core/az/PlatformManagerImpl.java
antifeatures:
- Tracking
AutoUpdateMode: None
UpdateCheckMode: Tags
CurrentVersion: 2.6.1
CurrentVersionCode: 82