Rename to appchk, fix typos, and remove help needed
This commit is contained in:
@@ -24,12 +24,11 @@ header h1 {
|
||||
font-family: "Raleway", sans-serif;
|
||||
font-size: 1.4em;
|
||||
font-weight: 900;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: .9px;
|
||||
color: #fff;
|
||||
margin-top: 0;
|
||||
}
|
||||
header h1 span { font-size: .7em; color: silver; }
|
||||
header h1 span { font-size: .7em; color: silver; text-transform: uppercase; }
|
||||
header ul { padding: 0; }
|
||||
main {
|
||||
padding: .1em 2em 1.5em;
|
||||
|
||||
@@ -72,7 +72,7 @@ def write_temporary_lists():
|
||||
}]}, pretty=True)
|
||||
mylib.json_write(two, {
|
||||
"name": "iOS 14 Study: Selected Apps",
|
||||
"apps": ["com.google.chrome.ios", "com.google.chrome.ios.2", "com.ingka.ikea.app", "com.ingka.ikea.app.2", "com.microsoft.skype.teams", "com.microsoft.skype.teams.2", "com.Atinon.PassOver", "com.Atinon.PassOver.2", "com.Celltop.SpiralRoll", "com.Celltop.SpiralRoll.2", "com.redforcegames.stack.colors", "com.redforcegames.stack.colors.2"]
|
||||
"apps": ["com.google.chrome.ios", "com.google.chrome.ios.2", "com.ingka.ikea.app", "com.ingka.ikea.app.2", "com.mcdonalds.mobileapp", "com.mcdonalds.mobileapp.2", "com.microsoft.skype.teams", "com.microsoft.skype.teams.2", "com.Atinon.PassOver", "com.Atinon.PassOver.2", "com.Celltop.SpiralRoll", "com.Celltop.SpiralRoll.2", "com.redforcegames.stack.colors", "com.redforcegames.stack.colors.2"]
|
||||
}, pretty=True)
|
||||
|
||||
|
||||
@@ -116,10 +116,11 @@ def move_ios14():
|
||||
for fname, json in mylib.enum_jsons(bid):
|
||||
fiil = os.path.basename(fname)
|
||||
try:
|
||||
if json['ios'].split('.')[0] == '14':
|
||||
mylib.mv(fname, mylib.path_add(diir, '2', fiil))
|
||||
ios = json['ios'].split('.')[0]
|
||||
except KeyError:
|
||||
pass
|
||||
ios = '14'
|
||||
if ios == '14' and os.path.getmtime(fname) > 1600258000:
|
||||
mylib.mv(fname, mylib.path_add(diir, '2', fiil))
|
||||
write_temporary_lists()
|
||||
|
||||
# move_ios14()
|
||||
|
||||
@@ -85,7 +85,7 @@ def gen_results(base_dir, c_apps, c_domains, title):
|
||||
print(' {} logs'.format(c_logs))
|
||||
HTML.write(base_dir, '''
|
||||
<h2>{}</h2>
|
||||
<p>The AppCheck database currently contains <b>{:,} apps</b> with a total of <b>{:,} unique domains</b>.</p>
|
||||
<p>The appchk database currently contains <b>{:,} apps</b> with a total of <b>{:,} unique domains</b>.</p>
|
||||
<p>Collected through <b>{:,} recordings</b> with <b>{:,} individual requests</b>.</p>
|
||||
<ul>
|
||||
<li>List of <a href="/index/apps/">Apps</a></li>
|
||||
@@ -112,8 +112,8 @@ def process(app_count, dom_count, inclStatic=False):
|
||||
gen_redirect() # root redirect.html?id=my.bundle.id
|
||||
print(' 404.html')
|
||||
gen_404()
|
||||
print(' /help/') # dynamic content
|
||||
gen_help()
|
||||
# print(' /help/') # dynamic content
|
||||
# gen_help()
|
||||
print(' /results/') # dynamic content
|
||||
gen_results(mylib.path_out('results'), app_count, dom_count,
|
||||
title='Results')
|
||||
@@ -121,4 +121,4 @@ def process(app_count, dom_count, inclStatic=False):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
process(-1, -1)
|
||||
process(-1, -1, inclStatic=True)
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.75" />
|
||||
<script type="text/javascript" src="/static/script.js?5"></script>
|
||||
<title>#_TITLE_#AppCheck: Privacy Monitor</title>
|
||||
<link rel="stylesheet" type="text/css" href="/static/style.css?5">
|
||||
<script type="text/javascript" src="/static/script.js?6"></script>
|
||||
<title>#_TITLE_#appchk: Privacy Monitor</title>
|
||||
<link rel="stylesheet" type="text/css" href="/static/style.css?6">
|
||||
<link rel="stylesheet" type="text/css" href="/static/fonts/font.css">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/static/favicon/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon/favicon-32x32.png">
|
||||
@@ -22,12 +22,12 @@
|
||||
<nav>
|
||||
<ul id="main-nav">
|
||||
<li><a href="/index/apps/">Apps</a></li>
|
||||
<li><a href="/category/">Categories</a></li>
|
||||
<li><a href="/results/">Results</a></li>
|
||||
<li><a href="/help/">Help needed</a></li>
|
||||
<li><a class="no-ul" href="https://github.com/relikd/appcheck" target="_blank"><img src="/static/github.svg" alt="GitHub"></a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<h1><a class="no-ul" href="/"><img src="/static/logo.svg" alt="logo" width="50" height="50"> AppCheck <span>– Privacy Monitor</span></a></h1>
|
||||
<h1><a class="no-ul" href="/"><img src="/static/logo.svg" alt="logo" width="50" height="50"> appchk <span>– Privacy Monitor</span></a></h1>
|
||||
</header>
|
||||
<main>
|
||||
#_CONTENT_#
|
||||
|
||||
@@ -1,37 +1,28 @@
|
||||
<h2>Research Project</h2>
|
||||
<div class="squeeze">
|
||||
<p>
|
||||
The AppCheck research project is an effort to shine light on the background activity of iOS apps.
|
||||
Making the otherwise hidden network connections visible to everyone.
|
||||
The AppCheck research project is an effort to shine a light on the background activity of iOS apps, making the otherwise hidden network connections visible to everyone.
|
||||
The goal is to make privacy more accessible to the general public.
|
||||
And thus make incentives for app developers to respect the users privacy.
|
||||
And thus create incentives for app developers to respect users' privacy.
|
||||
</p>
|
||||
<p>
|
||||
We want to offer users, activists, data protection authorities, and data protection officers an easily accessible and flexible tool to assess the privacy measures of iOS applications.
|
||||
</p>
|
||||
<span>AppCheck allows users to:</span>
|
||||
<ul>
|
||||
<li>get a visiual overview over an apps communication signature</li>
|
||||
<li>get a visual overview of an apps communication signature</li>
|
||||
<li>assess how an app ranks within its peer group or category</li>
|
||||
<li>influence the ranking according to their own preferences</li>
|
||||
<li>influence the ranking according to their preferences</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="note">
|
||||
<h4>Current Notice:</h4>
|
||||
<p>
|
||||
We have an ongoing <b>research project</b>. Your help is highly appreciated.
|
||||
<br>
|
||||
For more infos follow <a href="/help/">this link</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h2>Results</h2>
|
||||
<div class="squeeze">
|
||||
<p>
|
||||
This website is the front-end for the evaluated data.
|
||||
This website is the front-end of the evaluated data.
|
||||
All app recordings are collected and displayed here.
|
||||
In a visual way it shows you how many known trackers an app uses.
|
||||
How apps compare to each other, and if there are privacy friendly alternatives.
|
||||
Visually, it shows you how many known trackers an app uses.
|
||||
How apps compare to each other, and if there are privacy-friendly alternatives.
|
||||
</p>
|
||||
<p>
|
||||
You can go to <a href="/index/apps/">all apps</a> directly.
|
||||
@@ -55,7 +46,7 @@
|
||||
<h3>How does it work?</h3>
|
||||
<p class="squeeze">
|
||||
AppCheck creates a local VPN proxy to intercept all network connections.
|
||||
For each connection AppCheck looks into the DNS headers only, namely the domain names.
|
||||
For each connection, AppCheck looks into the DNS headers only, namely the domain names.
|
||||
These domain names are logged in the background while the VPN is running.
|
||||
AppCheck does not need to be active all the time.
|
||||
</p>
|
||||
@@ -63,16 +54,15 @@
|
||||
<h3>What about privacy?</h3>
|
||||
<p class="squeeze">
|
||||
Your data belongs to you.
|
||||
Therefore, monitoring and analysis takes place on your device only.
|
||||
Therefore, monitoring takes place on your device only.
|
||||
AppCheck learns only the destination addresses, not the actual data that is exchanged.
|
||||
The app does not share any data with us or any other third-party – unless you choose to.
|
||||
</p>
|
||||
|
||||
<h3>How can I contribute?</h3>
|
||||
<p class="squeeze">
|
||||
AppCheck allows you to record app specific activity.
|
||||
You can share these recordings with us and the community.
|
||||
This can help you and others avoid phony applications; even before you install an app.
|
||||
AppCheck allows you to record app-specific activity.
|
||||
You can share these recordings with the community; it can help you and others avoid phony applications, even before you install an app.
|
||||
</p>
|
||||
<a id="get-appcheck" class="no-ul" href="https://testflight.apple.com/join/9jjaFeHO" target="_blank">
|
||||
<img class="app-icon" src="/static/appcheck.svg" alt="app-icon" width="30" height="30">
|
||||
@@ -88,12 +78,10 @@
|
||||
<h2>Limitations</h2>
|
||||
<div class="squeeze">
|
||||
<p>
|
||||
AppCheck can not detect if a network activity belongs to one app or another.
|
||||
This is due to technical limitations of the VPN network extension.
|
||||
Therefore these results can't be taken 100 % certain.
|
||||
These <b>wrong attributions</b> can be minimized by running only a single application at a time (during recording).
|
||||
Further, results are filtered prior to publication.
|
||||
Requests that are contained only in a small subset of recordings are ignored.
|
||||
Due to the network extension's technical limitations, AppCheck can not detect if a network activity belongs to one app or another.
|
||||
It may result in wrong attributions.
|
||||
The attributions can be minimized by running only a single application during recording and filter results before contributing.
|
||||
The evaluation website will ignore requests that appear only in a small subset of recordings.
|
||||
</p>
|
||||
<p>
|
||||
This project is limited to <b>iOS applications</b>.
|
||||
|
||||
Reference in New Issue
Block a user