Compare commits

...
Sign in to create a new pull request.

19 commits

Author SHA1 Message Date
5f0265bebc
update README to reflect infrastructure changes
All checks were successful
/ build (pull_request) Successful in 1m49s
/ cleanup-staging (pull_request) Successful in 2s
/ build (push) Successful in 1m39s
2025-07-25 11:36:47 +02:00
a9c93cdedc
update theme to make website build
All checks were successful
/ build (pull_request) Successful in 1m56s
/ cleanup-staging (pull_request) Successful in 2s
/ build (push) Successful in 1m48s
2025-07-23 20:58:06 +02:00
f57ca4815a
introduce Forgejo Actions CI for deploying website and staging envs 2025-07-23 20:58:03 +02:00
w1ntermute
2f46e63071 new entry for chatcontrol 2024-06-18 20:18:23 +02:00
w1ntermute
a2bd0662df
Finished software verification
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2024-04-01 19:38:07 +02:00
w1ntermute
6c39b0466f new workshops
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2024-03-10 22:37:59 +01:00
w1ntermute
47bb177588 how to software verification
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2024-03-10 19:41:09 +01:00
w1ntermute
8d655b01ee dfiy auth-game link
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2024-02-02 15:15:25 +01:00
w1ntermute
e27c950a48 passkeys
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2024-02-02 15:14:03 +01:00
w1ntermute
7725764039 neues Eintrag für Passwortmanager und 2. Faktor
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2024-02-02 15:08:18 +01:00
w1ntermute
0241346da6 Termine im ersten Quartal 2024 2024-01-14 18:36:11 +00:00
w1ntermute
742fe9cdb8 optional MicroG
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2024-01-12 15:44:56 +01:00
w1ntermute
95152023b9 more divest information
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2024-01-12 15:33:53 +01:00
w1ntermute
db6bebe586 What is microg
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2024-01-12 15:30:55 +01:00
w1ntermute
6131fec2a5 added proton
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2024-01-12 15:10:09 +01:00
w1ntermute
e3c4d209f6 Workshop um ein Smartphone ohne google zu erhalten
Dieser Workshop soll alternativen aufzeigen. Es ist ein eher groß gefasster Workshop deswegen keine Anleitungen zur Installation oder Ähnliches.
2024-01-12 11:00:03 +00:00
w1ntermute
1ef0496c44 new termin in december
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2023-11-20 18:06:50 +01:00
w1ntermute
822d0b65d0 We now have a calendar
People can now use the calendar to get notifications about new events.

Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2023-11-19 19:36:35 +01:00
w1ntermute
c0fd7adcc0 removed twitter
Signed-off-by: w1ntermute <gitlab@mail.smarquardt.space>
2023-11-19 19:19:56 +01:00
93 changed files with 853 additions and 71 deletions

View file

@ -0,0 +1,24 @@
on:
pull_request:
types:
- closed
jobs:
cleanup-staging:
runs-on: docker
container:
image: code.forgejo.org/oci/node:20-bookworm
steps:
- name: Pipeline info PR
run: |
echo "Run triggered by ${{ github.event_name }} (${{ github.event.action }}) on ref ${{ github.ref_name }}"
- name: Staging Deployment - Prepare keys
run: |
echo "${{ secrets.SSH_DEPLOY_KEY }}" > deploykey.priv
chmod 400 deploykey.priv
echo "${{ secrets.SSH_KNOWN_HOSTS_FILE }}" > ./known_hosts
- name: Staging Deployment - Remove PR from staging
run: |
ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts' cryptoparty-website-deploy@public-web-static-intern.hamburg.ccc.de -t "rm -r /var/www/staging.cryptoparty-hamburg.de/pr${{ github.event.pull_request.number }}/"

View file

@ -0,0 +1,82 @@
on:
push:
branches:
- master
pull_request:
env:
TZ: Europe/Berlin
jobs:
build:
runs-on: docker
container:
image: docker.io/hugomods/hugo:0.147.9
steps:
- name: Pipeline info
run: |
echo "Run triggered by ${{ github.event_name }} (${{ github.event.action }}) on ref ${{ github.ref_name }}"
- name: Install packages
run: |
apk update
# For CI actions.
apk add nodejs-current
# For website build.
apk add tzdata coreutils curl jq git
# For uploading.
apk add rsync openssh
- uses: actions/checkout@v4
with:
fetch-depth: 0 # pull full history for page lastmod by git commit date
submodules: recursive
- name: Patch baseURL (staging only)
if: github.ref_name != 'master'
run: |
sed -i 's#baseurl = "https://cryptoparty-hamburg.de"#baseurl = "https://staging.cryptoparty-hamburg.de/pr${{ github.event.pull_request.number }}/"#' config.toml
- name: Build website (prod)
if: (github.event_name == 'push' || github.event_name == 'schedule') && github.ref_name == 'master'
run: |
hugo
- name: Build website (staging)
if: github.ref_name != 'master'
run: |
hugo --buildFuture --buildDrafts
- name: Deploy - Prepare keys
if: github.event_name == 'push' || github.event_name == 'pull_request' || github.event_name == 'schedule'
run: |
echo "${{ secrets.SSH_DEPLOY_KEY }}" > deploykey.priv
chmod 400 deploykey.priv
echo "${{ secrets.SSH_KNOWN_HOSTS_FILE }}" > ./known_hosts
- name: Deploy - Upload PR to staging
if: github.event_name == 'pull_request'
run: |
echo "Deploying to staging.cryptoparty-hamburg.de/pr${{ github.event.pull_request.number }}"
rsync -v -r --delete -e "ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts'" public/ cryptoparty-website-deploy@public-web-static-intern.hamburg.ccc.de:/var/www/staging.cryptoparty-hamburg.de/pr${{ github.event.pull_request.number }}/
- name: Deploy - Add comment to PR with staging URL
if: github.event_name == 'pull_request' && github.event.action == 'opened'
run: |
curl \
-X POST \
${{ github.event.pull_request.base.repo.url }}/issues/${{ github.event.pull_request.number }}/comments \
-H "Content-Type: application/json" \
-H "Authorization: token $GITHUB_TOKEN" \
--data '{ "body": "You can view your changes at https://staging.cryptoparty-hamburg.de/pr${{ github.event.pull_request.number }}/" }'
- name: Deploy - Upload to prod
if: (github.event_name == 'push' || github.event_name == 'schedule') && github.ref_name == 'master'
run: |
rsync -v -r --delete -e "ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts'" public/ cryptoparty-website-deploy@public-web-static-intern.hamburg.ccc.de:/var/www/cryptoparty-hamburg.de/
- uses: actions/upload-artifact@v3
if: github.event_name == 'pull_request'
with:
name: website-build
path: public/

View file

@ -1,32 +0,0 @@
image: debian:buster-slim
before_script:
- apt update -qq
stages:
- build
- deploy
build_job:
stage: build
script:
- DEBIAN_FRONTEND=noninteractive apt install --no-install-recommends -y -qq -o=Dpkg::Use-Pty=0 make hugo
- make
artifacts:
paths:
- public
variables:
GIT_SUBMODULE_STRATEGY: normal
deploy_job:
stage: deploy
script:
- DEBIAN_FRONTEND=noninteractive apt install --no-install-recommends -y -qq -o=Dpkg::Use-Pty=0 openssh-client rsync
- umask 0077
- mkdir $HOME/.ssh
- eval $(ssh-agent -s)
- echo "$RSYNC_TARGET_SECRET_KEY" | ssh-add -
- echo "[$RSYNC_TARGET_HOST]:$RSYNC_TARGET_PORT $RSYNC_TARGET_HOST_KEY" > $HOME/.ssh/known_hosts
- rsync -av --delete -e "ssh -p $RSYNC_TARGET_PORT" public/* "$RSYNC_TARGET_USER@$RSYNC_TARGET_HOST:/"
only:
- master
- hugo

View file

@ -11,12 +11,12 @@ Linux Distributions, install them like this:
Now you can clone the repository:
$ git clone ssh://git@gitlab.hamburg.ccc.de:4242/cryptoparty/website-content.git
$ git clone ssh://forgejo@git.hamburg.ccc.de/Cryptoparty/cryptoparty-website.git
If this doesn't work, you may need to add a ssh authentication key to
your gitlab profile on [this page]:
your Forgejo profile on [this page]:
[this page]: https://gitlab.hamburg.ccc.de/profile/keys
[this page]: https://git.hamburg.ccc.de/user/settings/keys
Furthermore, you need to checkout the submodules:
@ -64,44 +64,24 @@ If you are satisfied, add it to the branch, and push it to the server:
$ git commit -m 'Added new post.'
$ git push
Then, [create a merge request] on gitlab. Press the blue button
labeled `Create merge request`. On the following site, press the
green `Submit merge request` button, then press the blue button
labeled `Merge once pipeline succeeds`. Your change will be published
once the continuous integration setup confirmed the validity of the
change.
Then, [create a pull request] on Forgejo. Press the button labeled
`New pull request`. On the following site, select the branch you want to merge
(`my-new-post`) in the `pull from:` dropdown, press the `New pull request`
button and then finally the `Create pull request` button. The CI will now build
a website with your changes. Once that's done and you verified everything looks
alright, you can then merge the pull request to publish the change.
[create a merge request]: https://gitlab.hamburg.ccc.de/cryptoparty/website-content/merge_requests
[create a pull request]: https://git.hamburg.ccc.de/Cryptoparty/cryptoparty-website/pulls
How this is set up on the server
================================
On the server, the website is built using gitlab's ci runner, see
`.gitlab-ci.yml`. To deploy the site, the ci job rsyncs it to the
host. For this purpose, a restricted user is created:
The website gets built and deployed using Forgejo Actions, see
`.forgejo/workflows/deploy.yaml`. It's using the same mechanism for hosting and
deployment as the [CCCHH Website] and is therefore using the CCCHH
infrastructure, see [ansible-infra] and [nix-infra].
# adduser --system --home /var/www/www-data-rsync --shell /bin/sh --disabled-password --ingroup www-data www-data-rsync
[CCCHH Website]: https://git.hamburg.ccc.de/CCCHH/ccchh-website
Create a key and restrict it to invoke the restricted-rsync script:
# mkdir /var/www/www-data-rsync/.ssh
# chmod 700 /var/www/www-data-rsync/.ssh
# ssh-keygen -t ed25519 -C 'Used for website deployment.' -f www-data-rsync-id_ed25519
# echo 'command="/usr/local/bin/rrsync /var/www/html --safe-links",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOBBpthbSQ3HgOkhoBwsrZCA9VMX7hRftB5t6LePqtr3 Used for website deployment.' > /var/www/www-data-rsync/.ssh/authorized_keys
# chmod 400 /var/www/www-data-rsync/.ssh/authorized_keys
# chown -R www-data-rsync:www-data /var/www/www-data-rsync/.ssh
Copy the restricted-rsync script from the docs and make it executable:
# cp /usr/share/doc/rsync/scripts/rrsync /usr/local/bin/
# chmod +x /usr/local/bin/rrsync
Finally, allow www-data-rsync to write to the document root:
# chown root:www-data /var/www/html
# chmod g+w /var/www/html
The last bit is to supply the generated secret to gitlab's ci runner
via RSYNC_TARGET_SECRET_KEY. Other information that needs to be
provided are RSYNC_TARGET_HOST, RSYNC_TARGET_PORT,
RSYNC_TARGET_HOST_KEY, and RSYNC_TARGET_USER.
[ansible-infra]: https://git.hamburg.ccc.de/CCCHH/ansible-infra
[nix-infra]: https://git.hamburg.ccc.de/CCCHH/nix-infra

View file

@ -52,7 +52,7 @@ pygmentsCodefencesGuessSyntax = true
# github = "username"
# gitlab = "username"
# bitbucket = "username"
twitter = "CryptopartyHH"
#twitter = "CryptopartyHH"
# reddit = "username"
# linkedin = "username"
# xing = "username"
@ -98,6 +98,14 @@ pygmentsCodefencesGuessSyntax = true
name = "Webinar"
url = "webinar"
weight = 2
[[menu.main]]
name = "Kalender"
url = "page/kalender"
weight = 5
[[menu.main]]
name="Workshops"
url="blog/"
weight = 6
# [[menu.main]]
# identifier = "samples"

View file

@ -0,0 +1,307 @@
---
title: "Passwortmanager auf dem Smartphone"
author: "w1ntermute"
type: "blog"
date: 2024-02-01
subtitle: ""
image: ""
tags: [password,blog]
---
In diesem Blogpost möchten wir euch erklären, wie ein paar der wichtigsten Passwortmanager funktionieren. Am ende wird es auch ein kleines Spiel geben, um euer Wissen zu Prüfen.
<!-- more -->
## Passwörter
![Das Bild zeigt ein hochdetailliertes, futuristisches Schloss mit einem glänzenden, metallischen Finish und komplexen technologischen Details. Das Design des Schlosses ist modern und strahlt eine fortschrittliche Ästhetik aus, mit klaren Linien, integrierten digitalen Schnittstellen und möglicherweise biometrischen Sicherheitsmerkmalen. Ein Schlüssel, der ebenfalls ein High-Tech-Design aufweist, mit Elementen wie LED-Lichtern oder holografischen Projektionen, befindet sich im Vordergrund und scheint das Schloss zu öffnen. Das Schloss und der Schlüssel sind beleuchtet durch Umgebungslicht in Neonfarben, die von ihren metallischen Oberflächen reflektiert werden und eine moderne, sichere digitale Atmosphäre erzeugen. Der Hintergrund ist dunkel gehalten, um die Szene für den Kontext einer Cryptoparty zu passen.](/img/password_manager/schloss.png "Bild generiert durch OpenAI's DALL·E.")
Unter Passwörter verstehen wir eine reihenfolge von Charakteren, die geheim bleiben sollen. Etwas das nur für uns bestimmt ist. Niemand anderes soll diese sehen.
Deswegen ist umso wichtiger diese zu Schützen. Und hierfür verwenden wir Passwortmanager. Man kann auch wahlweise ein Notizbuch nehmen. Allerdings werden wir hier auf die Nutzung mittels Passwortmanager eingehen.
## Warum überhaupt?
Wer hat das nicht schon mal gehört. Bitte wechselt euer Passwort regelmäßig. Diese Anweisung ist seit vielen Jahren quatsch[^1] und wird ersetzt durch "Bitte benutzt pro Service ein Passwort". Das heißt, ihr sollt pro Website und pro Service ein Passwort genau einmal benutzen. Und dieses nicht für mehrere Dienste. Dadurch macht ihr es Personen schwerer bereits öffentliche Passwörter bei anderen Diensten auszuprobieren. Damit wir nicht den überblick verlieren über diese ganzen Passwörter, helfen Passwortmanager dabei immer die richtigen Passwörter zu benutzen. Diese helfen auch sichere Passwörter zu erstellen und auch zu überwachung, ob mein Passwort veröffentlicht wurde. Zusätzlich schützen diese davor, Passwörter in die falsche Website zu tippen.
## Passwortmanager
![Das Logo von KeepassXC](/img/password_manager/keepassxc.png "Quelle keepassxc.org")
Es gibt eine vielzahl von Passwortmanagern die alle gut sind. Wir werden hier auf insgesamt 3 eingehen. Und zwar [Bitwarden](https://bitwarden.com/de-DE/), [iOS Schlüsselbund](https://support.apple.com/de-de/HT204085) und [Keepassxc](https://www.keepassdx.com/). Für den zweiten Faktor werden wie [Aegis](https://getaegis.app/).
Warum diese drei? Ganz einfach, weil wir damit so ziemlich alle Arten von Passwortmanagern haben. Bitwarden ist hierbei ein Service den man sich einkaufen kann. Hier werden die Schlüssel von einer dritten Firma für uns zwischen Geräten synchronisiert wenn wir dies wünschen. Der Schlüsselbund von iOS ist eingebaut in Apple-Betriebssystemen und gehört damit fest zum Gerät. Dieser kann auch Passwörter zwischen den Geräten synchronisieren. Keepassdx gehört zur keepass Familie wie auch [KeepassXC](https://keepassxc.org/) und ist ein reines offline Programm. Hier muss sich die Person selber um Backups und synchronisierung kümmern.
## Masterpasswort
![Das Comic besteht aus vier Panels. Im ersten Panel wird ein traditioneller Ansatz zur Passworterstellung gezeigt, der die Verwendung einer komplexen Kombination aus Groß- und Kleinbuchstaben, Zahlen und Symbolen empfiehlt, was zu einem schwer zu merkenden Passwort führt. Ein Beispiel dafür ist „Tr0ub4dor&3“.
In den folgenden Panels argumentiert der Autor, dass ein langes Passwort aus vier einfachen, zufälligen Wörtern, wie „correct horse battery staple“, nicht nur sicherer, sondern auch leichter zu merken ist. Die Logik dahinter ist, dass die erhöhte Länge des Passworts die Anzahl der möglichen Kombinationen drastisch erhöht, wodurch es für Angreifer schwieriger wird, das Passwort durch Brute-Force-Angriffe zu knacken.
Das letzte Panel zeigt eine humorvolle Illustration, die zwei Wörter aus dem langen Passwort „correct horse battery staple“ darstellt, mit einem Bild eines Pferdes, das dem Betrachter bestätigend nickt, neben einem Stapel Batterien, was die Merkbarkeit und die ungewöhnliche Kombination der Wörter im Passwort unterstreicht.
Das Comic spielt auf die Idee an, dass Benutzerfreundlichkeit und Sicherheit bei der Passworterstellung nicht immer im Widerspruch zueinander stehen müssen und dass einfache Konzepte oft effektiver sind als komplexe Regeln, die schwer zu befolgen sind.](/img/password_manager/password_strength_2x.png "Quelle https://xkcd.com/936/")
Wenn wir uns für einen Passwortmanager entschieden haben, wird jedes von denen ein Masterpasswort haben wollen von euch. Außer den von iOS, denn der nutzt euer Appleid Passwort.
Also dieses eine Passwort ist wichtig, dass ihr euch das merken könnt. Wie erstelle ich also eines das Sicher und gleichzeitig zu merken ist? Ganz einfach denkt euch einen langen Satz aus. Am besten einen den ihr euch leicht merken könnt oder auch häufiger liest. Ich habe hierfür z.B. einen Satz der für mich eine Musikgruppe beschreibt die ich gut finde. Denkt euch also einen Satz aus und merkt euch diesen nun.
## Browser
Wir raten davon ab, Browser als Passwortmanager zu nutzen. Diese haben oft zu viele Funktionen, was das absichern gegen Angriffe vor die uns ein Passwortmanager schützen sollen schwer macht. Auch unterliegen Passwortmanager einem höheren grad von Auditierung. Diese werden also häufiger auf spezielle Schwachstellen untersucht. Außerdem können wir zusatzinformationen in Passwortmanagern für unseren Account ablegen. Dateien z.B. die wir für die Authentifizierung gebrauchen könnten. Die sogenannten Sicherheitsfragen oder einfach andere Notizen. Diese dinge sind dann genau so gut gesichert wie das Passwort.
## Bitwarden
Für bitwarden muss sich zuerst ein Konto eingerichtet werden. Dies ist kostenlos. Nach dem einrichten, wird sich einmal in der App angemeldet.
Als nächstes rufen wir die testseite [Authgame](auth-game.fly.dev) auf. Auf dieser werden wir nun diese App testen.
Damit Bitwarden richtig funktioniert, müssen einige änderungen an den Einstellungen vorgenommenw werden.
![Übersicht von Bitwarden mit einer Roten umrandung des Einstellungsknopfs](/img/password_manager/bitwarden/first.png)
Hier suchen wir dann die Einstellung automatisch Einfügen.
![Einstellungen von Bitwarden wo Automatisch Einfügen rot umrandet ist](/img/password_manager/bitwarden/search_settings.png)
Hier werden wir nun einige Einstellungen vornehmen müssen.
![Das Automatisch Einfügen fenster wird gezeigt.](/img/password_manager/bitwarden/show_autofill.png)
Wir werden beim ersten Knopf von Android gefragt ob wir dies zulassen wollen. Hierfür werden uns eine reihe von möglichen Apps angezeigt. Wir wählen hier Bitwarden aus.
![Wir sehen ein Fenster von Android in denen oben Steht Autofill-Service. Zur Auswahl stehen Keine App,Google,Bitwarden und Firefox. Bitwarden ist dabei rot umrandet](/img/password_manager/bitwarden/allow_autofill.png)
Danach sind wir wieder in Bitwarden und erlauben genau so Bedienungshilfe verwenden.
![Bitwardens Aotmatische Einfügen übersicht in der Auto-Ausfüllen-Dienst und Bedienungshilfe verwenden nun angeschaltet sind](/img/password_manager/bitwarden/finish_autofill.png)
Wir haben nun alle nötigen einstellungen vorgenommen.
Nun können wir die ersten Passwörter speichern. Wenn wir nun eine Website aufrufen, wo wir ein neues Passwort brauchen, machen wir das direkt über die Android Tastatur.
Dafür müssen wir erstmal die Website besuchen.
![](/img/password_manager/bitwarden/password_eintrag_eins.png)
Hier können wir nun unten sehen, dass Bitwarden uns vorschlägt den Tresor zu öffnen. Der Tresor enthält unsere Passwörter.
![](/img/password_manager/bitwarden/password_eintrag_zwei.png)
Hier erstellen wir nun mittels dem Plus unten rechts einen neuen Eintrag.
![](/img/password_manager/bitwarden/password_eintrag_drei.png)
Dort angekommen, drücken den Knopf für neues Passwort generieren. Natürlich können wir hier auch einfach eins eintippen. Nicht vergessen auch den Nutzernamen einzutragen.
![](/img/password_manager/bitwarden/password_eintrag_vier.png)
So sieht das generieren am Ende aus. Ich bin zufrieden mit dem generierten Passwort und drücke hier Auswählen. Danach speichern drücken. Wir gehen zurück zu der Website.
![](/img/password_manager/bitwarden/password_eintrag_fünf.png)
Wir können hier sehen, dass Bitwarden uns nun schon das Passwort vorschlägt um dieses in das Feld einzufügen. Und damit haben wir das erste Passwort eingerichtet.
## KeepassDX
Für KeepassDX sieht der Prozess ähnlich aus
![](/img/password_manager/Keepassdx/eins.png)
Zuerst müssen wir eine neue Datenbank erstellen.
![](/img/password_manager/Keepassdx/zwei.png)
Wir werden gefragt, ob wir benachrichtigungen zulassen. Das akzeptieren wir.
![](/img/password_manager/Keepassdx/drei.png)
Wir erstellen ein neues Passwort für unsere Datenbank.
![](/img/password_manager/Keepassdx/vier.png)
Und speichern diese auf unserem Telefon. Hier kann auch ein Cloudspeicher genutzt werden zum Speichern.
![](/img/password_manager/Keepassdx/fünf.png)
Danach landen wir auf der Übersicht. Hier werden normalerweise unsere Einträge angezeigt aber wir haben noch keine.
Wir wollen auch erstmal die Einstellungen bearbeiten. Die finden oben Links.
![](/img/password_manager/Keepassdx/sechs.png)
Hier wollen wir das Ausfüllen von Formularen erlauben.
![](/img/password_manager/Keepassdx/acht.png)
Hier den Standard Autofill-Service festelen. Damit wollen wir, dass KeepassDX auf unserem Telefon passswörter ausfüllen darf. Dies müssen wir erst erlauben.
![](/img/password_manager/Keepassdx/neun.png)
Einfach KeePassDX auswählen. Danach wollen wir KeePassDX noch als Gerätetastatur benutzen. Für die fälle wo das Automatische ausfüllen nicht funktioniert.
![](/img/password_manager/Keepassdx/zehn.png)
Hier auch wieder KeepassDX auswählen. Auch genannt Magickeyboard.
![](/img/password_manager/Keepassdx/elf.png)
Das sieht dann so aus, dass nun mehrere Tastaturen ausgewählt sind.
![](/img/password_manager/Keepassdx/zwölf.png)
Danach wollen wir weiter unten in den Einstellungen noch einstellen, dass wir Benachrichtigungen bekommen, wenn Passwörter im zwischenspeicher liegen.
![](/img/password_manager/Keepassdx/dreizehn.png)
Und die beiden Optionen "Kopier-Benachrichtigung" und "Beim Schließen löschen" aktivieren. Damit haben wir alle nötigen Einstellungen vorgenommen.
Nun können wir die neue Datenbank nutzen, um unsere Passwörter zu speichern.
![](/img/password_manager/Keepassdx/anmelden/eins.png)
Auch hier müssen wir erstmal in das Passwortfeld klicken.
Nun können wir weiter unten sehen, dass KeePassDX uns anbietet, dass wir uns anmelden.
![](/img/password_manager/Keepassdx/anmelden/zwei.png)
KeepassDX öffnet sich und wir legen einen neuen Eintrag an.
![](/img/password_manager/Keepassdx/anmelden/drei.png)
Wir wählen "Eintrag hinzufügen" aus.
![](/img/password_manager/Keepassdx/anmelden/vier.png)
Hier generieren wir uns ein neues Passwort.
![](/img/password_manager/Keepassdx/anmelden/fünf.png)
Hier können wir alles einstellen was wir brauchen aber sind erstmal zufrieden. Also klicken wir das Ok häckchen.
![](/img/password_manager/Keepassdx/anmelden/sechs.png)
Und dasselbe wieder in dem Account eintrag. Auf das häckchen. Wir können hier noch als Nutzername die E-Mailadresse eintragen die wir vergeben haben.
![](/img/password_manager/Keepassdx/anmelden/sieben.png)
Zurück in der Website, müssen wir noch mal in das Feld klicken.
![](/img/password_manager/Keepassdx/anmelden/acht.png)
Wir sollten nun zur Auswahl haben, dass wir das Passwort von KeePassDX nutzen können.
![](/img/password_manager/Keepassdx/anmelden/neun.png)
Und das Passwort wird in das Feld gefüllt ohne das wir das Passwort sehen müssen.
![](/img/password_manager/Keepassdx/anmelden/zehn.png)
## Aegis
Aegis werden hier vorstellen, um den 2. Faktor zu speichern. Dies kann auch in der Passwortmanager app selber geschehen. Weil dies aber nicht in alle kostenlos enthalten ist, schauen wir uns eben diese App an.
![](/img/password_manager/AEGIS/aegis_eins.png)
Wir sehen hier einen QR-Code und weiter unten eine komische Buchstabenanreihung. Der QR-Code ist hierbei ein Bild, welches den selben Inhalt darstellt, wie die Buchstabenreihe. Dies kann auch ohne App entschlüsselt werden[^4]. Mit dem Knopf überprüfen, können wir sicherstellen, dass wir den zweiten Faktor richtig gespeichert haben. Wir wollen nun also lange auf das Bild klicken und dieses Speichern.
![](/img/password_manager/AEGIS/aegis_zwei.png)
Hier können wir das Bild speichern.
![](/img/password_manager/AEGIS/aegis_drei.png)
Alternativ kann auch der Text kopiert werden.
![](/img/password_manager/AEGIS/aegis_vier.png)
Nun wechseln wir zu der AEGIS-App. Und legen hier einen neuen Eintrag an.
![](/img/password_manager/AEGIS/aegis_fünf.png)
Wir wählen hier nun Bild scannen aus. Wenn der Text kopiert wurde, wird hier Manuell eingeben gewählt. Wir können dann den QR-Code als Bild auswählen.
![](/img/password_manager/AEGIS/aegis_sechs.png)
Danach hat AEGIS alles für uns ausgefüllt. Wir speichern also diesen Eintrag. Wichtig nach dem Spechern muss das Bild wieder vom Telefon gelöscht werden.
![](/img/password_manager/AEGIS/aegis_sieben.png)
Wir sind zurück in der Übersicht von AEGIS. Hier kopieren wir nun die Nummern die uns angezeigt werden. Wichtig, diese sind nur für 30 Sekunden gütlig. Also müssen wir hier schnell sein.
![](/img/password_manager/AEGIS/aegis_acht.png)
Wir tragen die Zahlen in das vorgesehen Feld ein und drücken auf Überprüfen.
## iOS
Wenn wir den standard Passwortmanager nutzen wollen auf iOS, müssen wir vorher nichts einstellen. Dieser ist vorinstalliert und kann einfach genutzt werden.
Zuerst müssen wir uns unsere E-Mail kopieren. Damit diese auch im Eintrag gespeichert wird.
![](/img/password_manager/iOS/eins.PNG)
Danach im das Passwortfeld wechseln. Hier sollte nun unten ein Passwortsymbol angezeigt sein.
![](/img/password_manager/iOS/zwei.PNG)
Nach einem Klick auf dieses Symbol, öffnet sich die Passwortmanager App.
![](/img/password_manager/iOS/drei.PNG)
Hier können wir einen neuen Eintrag erstellen mit einem Klick auf "Neues Passwort erstellen".
![](/img/password_manager/iOS/vier.PNG)
Hier müssen wir nun die Benutzer:in eintragen. Ansonsten können wir diesen Eintrag nicht speichern.
![](/img/password_manager/iOS/fünf.PNG)
Danach einfach auf fertig.
![](/img/password_manager/iOS/sechs.PNG)
Danach hat iOS die Felder für uns bereits ausgefüllt.
Wenn wir dann später die Website wieder besuchen, sieht das ganze dann so aus.
![](/img/password_manager/iOS/sieben.PNG)
Mit einem klick auf den blauen Button werden dann alle Felder ausgefüllt.
Für den zweiten Faktor sieht das ganze ähnlich aus.
![](/img/password_manager/iOS/totp/eins.PNG)
Hier können wir durch langes drücken auf den QR-Code diesen zweiten faktor in der App speichern.
![](/img/password_manager/iOS/totp/zwei.PNG)
Wie sehen ein Dialogfenster dass uns anbietet den Bestätigungscode in "Passwörter" hinzufügen.
![](/img/password_manager/iOS/totp/drei.PNG)
Wir landen wieder in unserem Passworteintragn den wir vorher angelegt hatten. Es ist bereits alles für uns eingetragen worden also können wir hier einfach zurück zur Website wechseln.
Dort angekommen, können wir sehen, dass uns nun angeboten wird den Bestägigungscode für die Website auszufüllen.
![](/img/password_manager/iOS/totp/vier.PNG)
Nach dem klick darauf, erscheinen die Zahlen die wir brauchen auch schon im Feld.
![](/img/password_manager/iOS/totp/fünf.PNG)
## Gelerntes umsetzen
Jetzt können wir das ganze auf [auth-game](https://auth-game.fly.dev) einmal ausprobieren.
## Was fehlt Passkeys
Was hier noch fehlt, sind Passkeys. Leider fehlt hier noch eine Unterstützung in alles Passwortmanagern. Wer Passkeys trotzdem gerne einmal ausprobieren will kann das [hier](https://webauthn.io/) tun.
[^1]: https://pages.nist.gov/800-63-FAQ/#q-b05
[^2]: https://github.com/riverrun/comeonin/wiki/References
[^3]: https://www.stephanius.de/digitale-selbstverteidigung-mit-starken-passwoertern/
[^4]: https://qr.blinry.org/

View file

@ -0,0 +1,166 @@
---
title: "Smartphone ohne Google"
author: "w1ntermute"
type: "blog"
date: 2024-01-07T00:44:25+01:00
subtitle: ""
image: ""
tags: [google,blog]
---
In diesem Blogpost möchten wir uns einmal die Gefahren anschauen, die durch bedingungslosen Überwachungskapitalismus entstehen. Und wie wir uns davor verteidigen können. Wir werden dabei einmal alternative Apps vorstellen, wie auch alternative Services, wie auch am Ende einen kurzen Einblick, wie man ein Smartphone mit einem alternativen Betriebssystem „befreien“ kann.
<!-- more -->
## Die gefahren
![Ein Diagramm, welches die Unterfirmen von Alphabet zeigt. Hier finden sich Google, Nest, Calico ,Google Fiber und unter Google noch mal Youtube,Search,Android,Play,Maps etc. Es soll veranschaulichen, welche Firmen alle dazugehören.](/img/Filiales_d'Alphabet.png "Übersicht der Alphabet-Firma im Jahr 2017 <br> CC BY-SA 4.0 Wikipedia")
Google ist eines der größten Werbeunternehmen der Welt, deren Mutterkonzern einen Umsatz von 282,8[^1] und davon allein 61 Milliarden Dollar[^2] für Werbung durch Google. Google ist dabei nicht das einzige Unternehmen, welches durch Werbung ihr Geld verdient, aber eines der größten.
### Habe ich etwas zu verbergen?
![Computergeneriertes Bild einer jungen Frau, die auf ein Smartphone tippt, umgeben von Daten und Bildschirmen.](/img/np_230704_titelbild_databroker_midjourney_woman_typing_surrounded_by_screens-860x484.jpg "Public Domain Midjourney")
Doch was genau passiert mit unseren Daten? Und was wissen die Firmen über uns? Viele wissen nur, dass eben über sie Daten gesammelt werden. Aber nur die wenigsten kennen das Ausmaß, in welchem Umfang die Firmen dies analysieren. Und auch über welchen Weg diese Daten bei Firmen landen. Klar ist vielen, das Smartphone sammelt Daten über mich. Aber viele haben z. B. nicht im Blick, dass dies auch durch Telefonumfragen oder Wetterapps geschieht[^3]. Diese ganzen Daten werden dabei von sogenannten "Databrokern" zusammen gefasst und dann als Gesamtpaket den Firmen zum Verkauf angeboten. Hier können diese gezielt einzelne Gruppen ansprechen und müssen sich nicht mehr selbst die Mühe machen, ihre Kunden:innen zu unterteilen. 2023 kam heraus, dass eine der größten Databrokerfirmen der Welt einen Datenleak hatte. Durch diesen Leak wissen wir, dass ein Mensch in knapp 650.000 Kategorien unterteilt werden kann[^4].
![Infografik, die die meisten Kategorien zeigt und Beispiele nennt](/img/NP_infografik_databroker_01_022.jpg "CC BY-SA 4.0 netzpolitik.org")
Wir sehen in dem Bild über uns ein paar Beispiele dieser Kategorien. Wir können sehen, dass darüber ein sehr detailliertes Wissen über einzelne Personen entstehen kann. Die letzte Frage ist natürlich, wie das uns negativ in der Welt beeinflussen kann?
### Negative Folgen
!["Wir sehen vier Personen. Zu jeder Person gibt es eine kleine Infografik, die zeigt, welches Attribute pro Person ein Databroker weiß"](/img/NP_infografik_databroker_03_010.jpg "CC BY-SA 4.0 netzpolitik.org")
Beispiele, wie diese Informationen uns Negativ ausgelegt werden können, gibt es mittlerweile genug. Die gesammelten Daten können auch einer Person negativ ausgelegt werden. Z. B. als in Amerika die Abtreibung keine legale Operation mehr war, wurde anhand von Facebookdaten Personen identifiziert, die Staaten wechseln, um eine Abtreibung durchzuführen[^5]. Auch Googles Suchdaten werden hierfür mittlerweile genutzt[^9]. Außerdem können diese Daten von anderen Staaten genutzt werden, um herauszufinden, ob eine Person mit den Werten des Staates übereinstimmt. Dies passiert regelmäßig in China, wo alle gewonnenen Daten aus Einkäufen, Zahlungen, Bewegungen, Nachrichten und Videos zentral ausgewertet werden, um im Vorfeld Personen zu identifizieren, die nicht zum Staat passen[^6]. Und auch in Europa kann ein solches System gegen uns als Personen eingesetzt werden. Bereits jetzt werden diese Systeme genutzt, um Personen von hohem Interesse auszuspähen[^7]. In dem Papier wird dargestellt, wie die Daten von Google, Facebook und Co genutzt werden, um an mehr Informationen für zukünftige Spionageziele zu gelangen. Auch um Einschätzungen zu treffen, welche Personen denn leicht umzustimmen wären bei großen Abstimmungen. Weitere Gefahren sind die nachhaltige psychische Beeinflussung, die uns über Jahre hinweg zu mehr Konsum und schnelleren Klickverhalten führen soll. Einschätzung unserer Kreditwürdigkeit. Falscheinschätzung des Geschlechts oder auch Veröffentlichung unseres gewählten Geschlechts ohne Einverständnis. Die Liste ist groß und deswegen denken auch viele, dass Zielgerichtete-Werbung verboten gehört. Selbst die EU merkt mittlerweile, dass dieses Geschäftsgebaren nicht von Vorteil für die Welt ist [^8].
## Die alternativen
!["Das Bild ist eine zweiteilige Comiczeichnung, die anthropomorphisierte Versionen des Google Chrome Browsers und des Incognito-Modus darstellt, repräsentiert durch Figuren mit entsprechenden Symbolen als Köpfe. Auf der linken Seite fragt der Charakter mit dem Chrome-Symbol einen menschenähnlichen Charakter, welchen Webseite er sehen möchte. Der menschenähnliche Charakter antwortet mit \"Das sollst du nicht wissen!!\". Auf der rechten Seite des Bildes schlägt der Charakter mit dem Chrome-Symbol vor, die Information nur dem \"Mr Incognito\" zu verraten, der als eine Figur mit einem Detektivhut und einer Sonnenbrille dargestellt ist. Der menschenähnliche Charakter antwortet daraufhin mit \"Ja gerne\".Die Gesamtkomposition ist humorvoll und spielt auf die Funktion des Incognito-Modus in Webbrowsern an, die es Nutzern ermöglicht, im Internet zu surfen, ohne dass ihre Aktivitäten im Browserverlauf gespeichert werden. Die Webseite des Künstlers ist unten rechts im Bild zu sehen: SKELETONCLAW.COM, und unten links steht ein Subreddit-Verweis: R/SKELETONCLAW."](/img/our-little-secret-v0-jp1ZIXQ0ng7DaahHBj3e9tEirwdlhWRN2AwSviuYxWI.webp "reddit.com")
Der Inkognitomodus darf nicht die einzige Verteidigung gegen Datensammelei sein. Dieser reicht bei Weitem nicht aus und wird von Google auch regelmäßig geschwächt. Alles, was dieser Modus macht, ist nämlich, einige Add-ons zu deaktivieren und beim Beenden des Browsers, alle Daten zu löschen, die während der Benutzung lokal angefallen sind. Im Endeffekt ist das nur ein Placeboeffekt. Es hat keinen wirksamen Schutz, aber man fühlt sich wohl, solange der Inkognitomodus genutzt wird.
Ein Wort vorab, wir werden gleich eine Reihe von alternativen und datenschutzfreundlichen-Apps vorstellen. Diese sind meist kostenlos auf Android, allerdings nicht auf iOS. Dies ist einfach dem geschuldet, dass die Entwicklung auf iOS erhebliche Mehrkosten verursacht. Auch ist es bei Android leichter, eine App ohne App-Store zu installieren.
Die Empfehlungen fangen mit dem leichtesten Schwierigkeitsgrad an und werden nach unten hin schwieriger. Heißt letztlich, je weiter wir nach unten scrollen, umso größer wird die persönliche Umstellung im Leben. Wir werden dabei versuchen, die gängigen Dienste von Google und auch Apple zu ersetzen. Das bedeutet.
- Suche
- App Store
- E-Mail
- Nachrichtendienst
- Browser
- Kartendienst
- Kontaktbuch
- Kalender
- Cloudspeicher
### Suche
Wir alle suchen jeden Tag mehrere Hundertmal. Natürlich fallen hier viele Daten an. Um das zu verhindern, kann man ganz einfach alternative Suchen verwenden.
- [Metager](https://metager.de/) Getrieben von einem Verein, der eine freie und ethische Suche anbieten möchte.
- [Duckduckgo](https://duckduckgo.com/) amerikanisches Unternehmen, das weniger Daten sammelt als Google
- [Searx](https://searx.space/) Suche zum selbst hosten. Es kann aber auch aus der Liste eine ausgewählt werden.
Probiert davon einige aus und entscheidet, welche euch davon besser gefallen. Einige haben auch neue Ideen, wie man die Suche effizienter gestalten kann.
### App-Store
Eine Besonderheit für Android. Wir können Alternativen zum Google-Play Store installieren.
- [Fdroid](https://f-droid.org/) Open-Source-Apps, die man so nicht auf Playstore findet.
- [Aurora](https://aurorastore.org/) Alternative Playstore Oberfläche.
Wer es sich traut, unter iOS ein wenig experimentell unterwegs zu sein, kann sich den [Altstore](https://altstore.io/) anschauen.
### E-Mail
Als Erstes schauen wir, wie wir die Kommunikation aus den großen Techfirmen gelöst bekommen. E-Mail-Dienste gibt es mittlerweile viele, die auch datenschutzfreundlich sind und auch erschwinglich sind.
- [Posteo](https://posteo.de/de) 1 € pro Monat
- [Mailbox](https://register.mailbox.org/de) 1 € pro Monat
- [Tuta](https://tuta.com/de/pricing) Kostenlos. Quasi deutsches Proton
- [Proton](http://proton.me/) Kostenlos.
Je nach Firma gibt es auch direkt Kontakt- und Kalenderfunktion mit dazu. Um diese zu bedienen, braucht es natürlich auch eine App für das Handy.
- [K9](https://k9mail.app/download) für Android. Kann alle Dienste bedienen außer Proton und Tuta
- [Tuta](https://tuta.com/de/#download) solltet ihr euch vorher für Tuta entschieden haben, müsst ihr deren App verwenden.
- [Fairmail](https://email.faircode.eu/) für Android. Kann alles, was auch K9 kann, mit einem anderen Interface.
### Nachrichtendienst
Nachrichten zu verschicken oder auch einfach einen lustigen Sticker gehört einfach dazu. Deswegen hier ein paar Alternativen zu WhatsApp und Facebook-Messenger.
- [Signal](https://signal.org/de/) benötigt eine Telefonnummer
- [SimpleX](https://simplex.chat/) Benötigt nichts. Komplett anonym
- [Threema](https://threema.ch/de/download) kostet einmalig Geld, aber dafür Anonym
- [https://element.io/](https://element.io/) Vergleichbar mit Slack oder Teams
### Browser
Wir benötigen eine Alternative zu dem Google Chrome oder was auch immer vorinstalliert ist.
- [Firefox](https://www.mozilla.org/de/) beste Alternative. Im Grunde funktioniert alles wie vorher auch.
- [Firefox Klar](https://www.mozilla.org/de/firefox/browsers/mobile/focus/) Firefox, der keine Daten hinterlässt. Hier muss man sich immer wieder neu eingeloggt werden in Websites.
- [Tor](https://www.torproject.org/de/download/) wenn Privatsphäre über alles steht. Einige Websites werden allerdings nicht mehr richtig funktionieren.
### Kartendienst
Kartendienste geben die meisten Informationen über uns preis. Wo wir sind, wo wir wohnen, wo wir arbeiten. All das kann durch eine Kartenapp herausgefunden werden.
- [OsmAnd](https://osmand.net/) gewissermaßen Alternative zu Google Maps und Applemaps. Es gibt die gleichen Funktionen und ein wenig mehr. Empfehlend sind hier die verschiedenen Kartentypen, z. B. zum Wandern.
- [Magic Earth](https://www.magicearth.com/) Alternative zum Autofahren, da hier auch Staumeldungen etc. live übertragen werden.
- [Organicmap](https://organicmaps.app/de/) komplett offline nutzbar. Gut geeignet für Personen, denen OsmAnd zu viele Funktionen bietet.
### Kontaktbuch und Kalender
Da wir oft mit mehreren Geräten unterwegs sind, oder aber auch unsere Kontakte ungern verlieren würden, lohnt es sich, diese Daten auf mehreren Geräten vorrätig zu haben. Viele von den anderen hier schon vorgestellten Apps können dies bereits.
- [Etesync](https://www.etesync.com/) verschlüsselte Synchronisierung. Das kann gewissermaßen alles, was man im Alltag benötigt. Hier muss sich vorher ein Account angelegt werden für 2 € im Monat.
- [Etar](https://github.com/Etar-Group/Etar-Calendar) Kalender-App ohne Online-Funktion. Es kann mit Nextcloud, Mailbox etc. genutzt werden.
- [Dav](https://www.davx5.com/) Synchronisiert Kontakte und Kalender bei allem, was CalDAV,CardDAV und WebDAV kann. Also fast jede Mailbox.
- [Posteo](https://posteo.de/de) 1 € pro Monat
- [Mailbox](https://register.mailbox.org/de) 1 € pro Monat
- [Tuta](https://tuta.com/de/pricing) Kostenlos. Quasi deutsches Proton
- [Proton](http://proton.me/) Kostenlos.
Wichtig dabei, wir benötigen immer einen Server, der für uns das Synchronisieren im Hintergrund unternimmt. Die hier vorgestellten Services und Apps sind ein Mix aus Nutzen von einem solchen Server. Also erst entscheiden, über welchen Server synchronisiert werden soll. Und danach mit welcher App.
### Cloudspeicher
Einen anderen Speicherplatz für all seine Daten benötigt länger, als wir Zeit auf einem Workshop haben. Da wir hier von einem großen Einschnitt reden und meistens auch von viel Geld. Deswegen hier eine Liste mit Alternativen zu iCloud und Googlecloud. Diese kann sich zu Hause in Ruhe angeschaut werden.
- [Nextcloud](https://nextcloud.com/de/) Cloud aus Europa. Wird genauso genutzt wie Gcloud oder iCloud. Angemeldet wird sich hier nicht direkt bei Nextcloud, sondern bei einer Firma, die den Dienst anbietet. Dies kann [hier](https://nextcloud.com/de/sign-up/) getan werden.
Es kann auch Kontaktbücher und Kalender synchronisieren.
- [Proton](http://proton.me/) Kostenlos.
- [Murena](https://murena.com/de/cloud/) ist auch ein Nextcloud, welches aber mit einem Branding daher kommt. Kostenlos für 15GB.
- [Syncthing](https://syncthing.net/) Synchronisieren von Dateien ohne Cloud. Hier gibt es keinen Speicherplatz, da die Synchronisierung immer von Gerät zu Gerät stattfindet.
## Alternative Betriebssysteme
Warum man ein neues Betreiebssystem nutzen sollte, ist weil man weder Googleaccount noch die Googleplayservices deinstallieren kann. Dies geht nur mit einem neuem Betriebssystem. Diese "Services" schicken nämlich im hintergund GEO-Daten,Wifi und andere Daten weiterhin an Google. Auch die Daten vieler Sensoren werden weiterhin an Google versendet. In vielen der alternativen Betriebssysteme werden deswegen diese [Nachimplementiert](https://microg.org/). So funktionieren Apps die diese Services brauchen auch weiterhin. Allerdings sammeln diese nicht im Hintergrund die genannten Daten und schicken diese an Google.
Als letzten Schritt bleibt noch das komplette Löschen von Google vom Handy. Hierfür benötigt es ein neues Betriebssystem. Hierfür gibt es momentan drei große Projekte.
- [Graphene](https://grapheneos.org/) sicherstes Betriebssystem. Kann allerdings nur auf Pixelgeräten genutzt werden. Enthält MicroG.
- [/e/Os](https://e.foundation/de/e-os/) Funktioniert für mehr Hardware. Hat direkte Einbindung in Murena als Alternative zu Google. Enthält MicroG.
- [LineageOs](https://lineageos.org/) gedacht für ältere Geräte, die ansonsten keine Unterstützung mehr bekommen. [Optional mit MicroG](https://lineage.microg.org/)
- [DivestOs](https://divestos.org/pages/devices) LineageOs mit sichereren Einstellungen. Unterstützt aber weniger Geräte. Kein MicroG.
Im Workshop schauen wir uns einmal Grapheneos an. Da dies mit dem einfachsten Installer daher kommt.
## Nützliche Links
- [Ich hab nichts zu verbergen das Spiel](https://www.lehrerfreund.de/schule/1s/datenschutz-prism-spiel)
- [Datenabfragen leicht gemacht](https://www.datenanfragen.de/)
- [Europäische alternativen](https://european-alternatives.eu/de)
- [Alternative Androids auf dem Prüftstand](https://www.kuketz-blog.de/android-grapheneos-calyxos-und-co-unter-der-lupe-custom-roms-teil1/)
[^1]: [Wikipedia](https://web.archive.org/web/20240104031141/https://de.wikipedia.org/wiki/Alphabet_Inc.)
[^2]: [Alphabet Fiscal Year 2021 Results](https://web.archive.org/web/20231016044321/https://abc.xyz/assets/investor/static/pdf/2021Q4_alphabet_earnings_release.pdf)
[^3]: [Wie deutsche Firmen am Geschäft mit unseren Daten verdienen](https://web.archive.org/web/20231226194724/https://netzpolitik.org/2023/adsquare_theadex_emetriq_werbetracking-wie-deutsche-firmen-am-geschaeft-mit-unseren-daten-verdienen/)
[^4]: [Das sind 650.000 Kategorien, in die uns die Online-Werbeindustrie einsortiert](https://web.archive.org/web/20240106103023/https://netzpolitik.org/2023/microsofts-datenmarktplatz-xandr-das-sind-650-000-kategorien-in-die-uns-die-online-werbeindustrie-einsortiert/)
[^5]: [Teens jailing shows exactly how Facebook will help anti-abortion states](https://web.archive.org/web/20230528162524/https://arstechnica.com/tech-policy/2022/08/teens-jailing-shows-exactly-how-facebook-will-help-anti-abortion-states/)
[^6]: [Totale präventive Kontrolle](https://netzpolitik.org/2022/ueberwachung-in-china-totale-praeventive-kontrolle/)
[^7]: [Europes hidden security crisis](https://www.iccl.ie/wp-content/uploads/2023/11/Europes-hidden-security-crisis.pdf)
[^9]: [Digitale Rasterfahndungen durch die US-Polizei](https://netzpolitik.org/2024/google-search-digitale-rasterfahndungen-durch-die-us-polizei/)
[^8]: [Norwegen verbietet personalisierte Werbung auf Facebook und Instagram](https://netzpolitik.org/2023/datenschutz-norwegen-verbietet-personalisierte-werbung-auf-facebook-und-instagram/)

View file

@ -0,0 +1,81 @@
---
title: "Wie mache ich Smartphone backups?"
author: "w1ntermute"
type: "blog"
date: 2024-03-12
subtitle: ""
image: ""
tags: [backups,blog]
---
# Backups
Backups sind wichtig, dass sollte jeden mittlerweile klar sein. Immerhin geht es hier um unsere wichtigsten Dokumente, Fotos oder einfach auch erinnerungen. Nur hat sich die Welt weiter gedreht. Mittlerweile benutzen wir lieber unser Smartphone als unseren Computer oder haben erst gar keinen. Das heißt unsere wichtigsten Daten liegen auf diesem Gerät.
## iPhone
Wer auf dem iPhone ist und auch die iCloud nutzt, kann dies ganz einfach aktivieren.
Alles was dafür getan werden muss, ist folgendes zu aktivieren.
"Einstellungen“ > „[dein Name]“ > „iCloud“ > „iCloud-Backup“.
Und dort die Option "iCloud-Backup"[^1].
Oder wir auf dieser Bilderreihe gezeigt wird.
![](/img/smartphone-backups/iphone_icloud_1.PNG)
![](/img/smartphone-backups/iphone_icloud_2.PNG)
![](/img/smartphone-backups/iphone_icloud_3.PNG)
![](/img/smartphone-backups/iphone_icloud_4.PNG)
![](/img/smartphone-backups/iphone_icloud_5.PNG)
Damit ist alles eingestellt und das iPhone macht ein Backup sobald dieses in einem vertrauenswürdigen Netz ist und am Strom hängt.
## Android
Auf Android ist das ganze ähnlich einfach. Hier suchen wir in den Einstellungen einfach nach "Sicherung". Und schalten dort "Google One-Back-up" ein.[^2]
![](/img/smartphone-backups/android_google_1.png)
![](/img/smartphone-backups/android_google_2.png)
![](/img/smartphone-backups/android_google_3.png)
![](/img/smartphone-backups/android_google_4.png)
![](/img/smartphone-backups/android_google_5.png)
Auf einem Samsung gerät kann dies anders aussehen.
## Android ohne Google
Ohne google wird die ganze Geschichte natürlich schwieriger. Es gibt hier momentan [Entwicklung](https://www.openandroidbackup.me/), doch dies ist noch lange nicht ausgereift. Ich würde dies eher Personen raten, die schon mehr erfahrung mit Computern haben und auch vor einer Kommandozeile nicht zurück schrecken. Deswegen werden wir hier auch keine Anleitung abbilden, sondern währen des Workshops dies einmal zeigen. Dafür ändert sich diese Software einfach zu häufig.
Installiert euch nicht irgendwelche Backup-Apps. Diese wollen meist eure Daten klauen oder machen schlicht keine Backups. Also nicht installieren.
## iOS ohne iCloud
Es gibt auch hier [diverse](https://github.com/Lakr233/BBackupp) [Applikationen](https://github.com/richinfante/iphonebackuptools) die versprechen dies ohne iCloud tun zu können. Nur braucht man zwingend einen Mac und muss wieder über kenntnisse verfügen die man nur hat, wenn man bereits unter Mac programmiert hat. Deswegen können wir hier keine tipps geben sondern nur hilfestellung.
Ihr könnt auch einfach ein Backup auf euer Gerät über iTunes machen. [Apple](https://support.apple.com/de-de/108967) hat hierfür eine sehr gute Anleitung.
## Verifizieren des Backups
Wichtig ist es aber, bevor ihr euer altes Telefon weg gibt oder euch dort abmeldet, prüft vorher ob das Backup wirklich übertragen wurde. Ein Backup ohne verifikation ist kein Backup. Apple und Google haben hierfür schon gute Software geschrieben, troztdem sollte ein wiederherstellungsprozess nicht auf die leichte Schulter genommen werden.
Auf iOS könnt ihr hier in der [iCloud](https://www.icloud.com/storage/) eure Backups einsehen. Dort könnt ihr eure Daten auch wieder herstellen.
Auf Android findet ihr diese in [Google One](https://one.google.com/backup/management/devices). Hier seht ihr alle Backups und auch die Geräte, die diese gemacht haben.
[^1]: https://support.apple.com/de-de/guide/iphone/iph3ecf67d29/ios
[^2]: https://support.google.com/android/answer/2819582?hl=de

View file

@ -0,0 +1,76 @@
---
title: "Warum Software vor der benutzung verifiziert werden muss"
author: "w1ntermute"
type: "blog"
date: 2024-04-01
subtitle: ""
image: ""
tags: [verification,blog]
---
In diesem Blogpost möchten wir uns anschauen, warum es wichtig Software darauf zu prüfen, dass diese unverändert bei uns ankommt und wie wir dies tun können.
<!-- more -->
## Die Software
Wir stellen uns einmal vor, wir möchten gerne eine Software installieren welche wir nicht kennen. Als beispiel nehmen wir dafür heute [Tails](https://tails.net/index.de.html). Dies ist ein betriebssystem welches gerne von Journalist:innen und Aktivist:innen genutzt wird, um über Sachen zu schreiben oder zu Sprechen welche im verborgengen bleiben sollen. Es ist also von großer wichtigkeit, das dieses Betriebssystem wirklich das macht für das dieses auch beworben wird. Es könnte sich hierbei auch genaus so gut um [Gimp](https://www.gimp.org/) gehen, was eine Software zur Bildbearbeitung ist. Hier ist es genau so wichtig, dass dieses Programm im Hintergrund z.B. nicht anfängt unsere Bilder die wir gerade bearbeiten wollen nicht ins Netz lädt. Immerhin sind das unsere Bilder und niemand anderes soll diese zu gesicht bekommen.
Also sollten wir uns als erstes anschauen, was die Software macht, die wir runterladen wollen. Hierfür durchstöbert wir nun das Netz nach unabhängigen Quellen. Eine gute Quelle hierbei ist immer [Wikipedia](https://de.wikipedia.org/wiki/Wikipedia:Hauptseite). Softwares die viel benutzt werden haben meist hier einen eigenen Eintrag und geben uns einen guten Indikator dafür, ob die Software tatsächlich das macht was wir von ihr wollen. Sollte es keinen Wikipedia eintrag geben, helfen uns auch Berichte von anderen Techniwebseiten. Viele Personen schreiben über Software die sie nutzen. Wir können auch in unserem Freundeskreis fragen, ob diese die Software bereits kennen. Diese überprüfung ist wichtig. Wir sollten niemals Software runterladen und ausführen, über die wir nicht Wissen was diese macht. Wir sollten also immer uns vorher überlegen, was erwarte ich von der Software und wird diese auch diese erwartung erfüllen können. Scheint das nicht der Fall zu sein, sollten wir uns etwas anderes suchen. Hier kann auch helfen, wenn die Software [Opensource](https://de.wikipedia.org/wiki/Open_Source). Das heißt wir können das innere der Software sehen den Code. Die Software hat also nichts vor uns zu verstecken.
Also gehen wir nun los und suchen nach der Software und laden diese von der ersten Website die wir finden?
## Der Download
Falsch. Auch wenn Software z.B. opensource ist, wird diese oft verändert auf Websiten angeboten, um eine leicht veränderte Form anzubieten. Wichtig ist hier, ladet euch die Software dort herunter, wo diese Software ihr Hautpseite hat. Benutzt keine Websiten, welche eine Art Bibliothek online anbieten wie die von computerbild. Diese kommen immer mit Malware oder anderen schädlichen oder ungewollten Inhalten.
Ein anderer Weg ist, den Appstore eures Betriebssystems zu nutzen. Bei Windows z.B. den [Microsoft Store](https://apps.microsoft.com/home?hl=de-de&gl=DE). Für Mac ist das der [Apple Appstore](https://www.apple.com/de/app-store/). Auf Linux sind dies die jeweiligen Repositories wie z.B. APT oder RPM. Auf Smartphones [Playstore](https://play.google.com/store/games?hl=de&gl=US), [Fdroid](https://f-droid.org/de/) und der [Apple Appstore](https://www.apple.com/de/app-store/). Diese Quellen stellen sicher, dass die Software unverändert auf eurem Gerät landet. Zusätzlich sorgen diese dafür, dass ihr immer die aktuellste Version habt.
Doch wenn die gewünschte Software nicht in einem der genannten Quellen vorhanden ist, welche gefahren lauren überhaupt im direkten Download?
## Die Gefahren
Viele Personen denke, dass bei einem Download einer Software es wie folgt aussieht.
![Einfaches Diagramm mit einem Server und einem Laptop. Der Pfeil zeigt vom Server auf den Laptop](/img/software-verification/Downloadsoftware-Seite-1.png)
Der Download geht direkt von der Website zu unserem Gerät. Dies entspricht nicht der Wirklichkeit sondern kann sich eher so Vorgestellt werden.
![Diagramm mit mehreren Switchen und Servern. Diese sind von oben nacht unten mit Pfeilen verbunden. Insgesamt sehen wir 3 Server und Swiche bis schlussendlich weit unten der eigene Router und danach das Laptop angezeigt wird.](/img/software-verification/Downloadsoftware-Seite-2.png)
So sieht es eigentlich aus. Eine anreihung von verbundenen Geräten durch die die Software jedes mal laufen muss. Das heißt diese Software muss einen langen Weg auf sich nehmen um schlussendlich bei uns anzukommen. Das Problem steckt nun in jedem einzelen dieser Übergänge. Bei jedem Sprung kann die Software von demjenigen der gerade auf einem dieser Geräte ist verändert werden. Heutzutage ist dieser Angriff nicht mehr relevant, da die meisten Websiten TLS nutzen und damit eine Verschlüsselte übertragung stattfindet. Dadurch kann nicht mehr eingesehen werden was dort nun übertragen wird. Dies gilt aber nur für gehackte Server. Es gibt noch andere Gefahren.
![Ein weiteres Diagramm dieses mal mit einem Laptop und zwei Servern. Ein Server ist dabei der DNS server und liefert unserem Laptop die IP-Adresse zu der gewünschten Website](/img/software-verification/Downloadsoftware-Seite-3.png)
Es gibt noch andere Wege Software zu verändern ohne das wir es merken. Z.B. in dem wir einfach ohne es zu merken die Software von einem anderen Ort runterladen. Hierfür kann ein Angreifen z.B. unseren DNS-Server manipulieren um uns an einen anderen Ort zu bringen. Und ohne das wir es merken, würden wir eine andere Softwarevariante runterladen. Hierfür muss nicht mal DNS benutzt werden. Es gibt auch andere Wege temporär die Gleise im Netz umzustellen. Nationen haben hierfür genug gelegenheiten erschaffen.
wir sehen, es gibt genug Anggrifszenarien um eine Software die aus dem Netz geladen wird zu verändern, ohne das wir das merken. Deswegen wurden schon in den 90ern Verteidigungen eingebaut.
Doch selbst, wenn es keinen Angriff gegeben hat, bieten viele Softwares andere wegen an um diese herunterzuladen. Viele von diesen nutzen sogenannte "Mirrors". Also Server die sie selber nicht unter kontrolle haben. Dies wird getan, damit die Software näher zum Laptop gelagert wird. Dadurch werden kosten und auch zeit gespart.
Andere bieten torrent dateien an. Hier kann gar nicht gesteuert werden woher die Software kommt.
## Wie davor schützen?
Die vorher genannten Appstore schützen uns nur solange, wie unser Angriffszenario keinen Geheimdienst beinhaltet. Denn diese können ja per dekret änderungen vornehmen. Deswegen gibt es für Software wie z.B. tails andere möglichkeiten.
Die fertige Software wird hierbei unterzeichnet. Das heißt, wir können überprüfen wer diese Software ausgestellt hat und ob diese seit der Unterzeichnung nicht mehr verändert wurde. Dies passiert über ein sogenannten asynchrones verschlüsselungsverfahren. Hierbei wird mithilfe von RSA oder Edwardskurven eine Signaturdatei erstellt vom hashwert der Software. Das heißt, sollte auf dem weg die Software verändert worden sein, sollte sich auch der hashwert ändern.
Ein Hashwert ist hierbei ein Wert, der von einer Funktion errechnet wird. Wir geben also unsere Software in diese Funktion und es entsteht dabei ein Wert. Dieser wert kann nur duch diese Software erstellt werden. Jede kleine änderung an der Software sorgt für einen erheblichen unterschied dieses Hashwerts.
```
w1ntermute@w1ntermute ~/Downloads> sha1sum firefox/firefox-bin
f269a997b730a7abf454c457f1b279887322002f firefox/firefox-bin
```
So sieht das z.B. für meine firefox version aus.
Asynchrone verschlüsselung bedeutet hierbei, dass wir mit einem privaten Schlüssel einen Wert errechnen von diesem Hash, denn jede Person mit dem öffentlichen Schlüssel überprüfen kann. Und nur dieser eine private Schlüssel kann diesen Wert erstellen. Eigentlich verschlüsseln wir hier den vorher erstellten hash mit diesem privaten Schlüssel. Und mit dem öffentlichen entschlüsseln wir diesen und können dadurch die unversehrtheit überprüfen.
Damit können wir sicherstellen, wer die Software ausgestellt hat und das diese auf den Weg zu uns nicht verändert wurde.
Aber woher wissen wir wirklich wer die Software erstellt hat? Jede Person kann diese Schlüssel erstellen.
## Web of Trust
Diese Schlüssel kommen in ein Schlüsselverzeichnnis welches öffentlich einsehbar ist. Dadurch können alle Personen auf der Welt diese einsehen. Also auch wie viele Schlüssel es gibt und wie viele davon erstellt wurden. Zusätzlich haben diese Schlüssel informationen wie z.B. den Namen und welche E-Mailadresse zu diesem Schlüssel gehören. So ist ersichtlich, ob z.B. eine Person gerade konkuriende Schlüssel besitzt. Damit nun sichergestellt werden kann, dass dieser Schlüssel wirklich zu der dort beschriebenen Person passt, können andere Personen mit Schlüssel nun unterzeichnen, ob sie diesem Schlüssel trauen und diesen Analog in der Welt überprüft haben. Dadurch steigt das vertrauen in diesen Schlüssel. Das heißt, dass Software von Sclüsseln unterzeichnet werden sollte, die ein hohes vertrauen unter Personen haben.
Dadurch, kann selbst wenn der Server der die Software ausliefert im falle eines hacks keine Software ausliefern. Denn diese verfügt nicht über den Schlüssel mit dem hohen vertrauen. Auch der wechsel des Schlüssels würde auffallen.
Deswegen ist es wichtig, immer beides zu überprüfen. Den Hashwert also die checksum und die Signatur.

21
content/page/kalender.md Normal file
View file

@ -0,0 +1,21 @@
---
title: Kalender
date: 2023-11-19
---
Um auf dem laufenden zu bleiben bei allen Terminen, die die Cryptoparty betreffen, haben wir nun einen externen Kalender. Dieser kann unter folgendem [link](https://cloud.hamburg.ccc.de/apps/calendar/p/FmR96inzrXa5om3y) aufgerunfen werden.
## Importieren des Kalenders
Wer diesen automatisch in seinem Kalenderprogramm aktualisieren möchte, kann dies folgend tun.
![](/img/screenshot_calendar.png)
Wir sehen hier den Kalender, nachdem auf den [link](https://cloud.hamburg.ccc.de/apps/calendar/p/FmR96inzrXa5om3y) geklickt wurde. Nun muss das Menü für den Kalender aufgerufen werden.
![](/img/screenshot_calendar_with_mark.png)
Dort gibt es nun zwei neue Menüoptionen. Mit dem oberen, kann ein Link generiert werden der direkt im Kalendar importiert werden kann als Webkalender. Mit diesem werden Aktualisierungen des Kalenders automatisch übernommen und ihr verpasst keine Termine mehr.

View file

@ -0,0 +1,18 @@
---
title: "2023 Termine Dezember"
author: "cryptoengel"
type: ""
date: 2023-11-19T19:36:24+01:00
subtitle: ""
image: ""
tags: [termine]
---
Es gibt nun einen [Kalender](</page/kalendar>). Diesen könnt ihr nun nutzen und abbonnieren, um nie wieder Termine zu verpassen.
Der nächste Termin wäre hier:
- Am 01.12 in der Zentralbibliothek Hamburg und heißt ["Lauscht mein Smartphone..."](https://www.buecherhallen.de/zentralbibliothek-termin/lauscht-mein-smartphone-wirklich-mit-ein-vortrag-von-stefan-lysenko-vom-chaos-computer-club.html)
Meldet euch dazu vorher an Tickets gibt es genug. Eintritt natürlich kostenlos.

View file

@ -0,0 +1,21 @@
---
title: "2024 Januar Update"
author: "cryptoengel"
type: ""
date: 2024-01-13T17:02:45+01:00
subtitle: ""
image: ""
tags: [termine]
---
Auch in diesem Jahr, haben wir wieder einige Vorträge und Workshops geplant.
- Am 12.01 haben wir eine Schule in Hitzacker besucht gehabt. Dies war ein Workshop um zu erleutern, was es bedeutet ein Handy ohne Googledienste zu benutzen. Alle Informationen dazu findet ihr [hier](</blog/smartphone-ohne-google/>).
- Am 15.01 gibt es den Vortrag [Digitalschulungen für Senior:innen: Lauscht mein Smartphone wirklich mit?](https://kulturkreis-walddoerfer.net/veranstaltungen/digitalschulungen-fuer-seniorinnen-lauscht-mein-smartphone-wirklich-mit/) erneut in der Ohlendorff´sche Villa. Melet euch vorher dafür an.
- Am 26.01 findet der Vortrag "Starkes Passwort, sichere Identität!" in der Bücherhalle Zentralbibliothek statt. Nähere Informatione findet ihr dazu [hier](https://www.buecherhallen.de/zentralbibliothek-termin/starkes-passwort-sichere-identitaet-ein-vortrag-vom-chaos-computer-club.html?day=20240126&times=1706284800,1706284800). Hierfür wird ein kostenloses Ticket benötigt.
- Am 02.02 wird es dazu einen Workshop geben [Passwortmanager und 2-Faktor](https://www.buecherhallen.de/zentralbibliothek-termin/login-ohne-angst-2fa-und-co-ein-workshop-vom-chaos-computer-club.html?day=20240202&times=1706889600,1706895000) in der Zentralbibliothek. Hierfür benötigt ihr auch ein kostenloses Ticket.
- Am 12.02 findet in der Ohlendorff´sche Villa der Vortrag [Digitalschulungen für Senior:innen: Starkes Passwort, sichere Identität!](https://kulturkreis-walddoerfer.net/veranstaltungen/digitalschulungen-fuer-seniorinnen-starkes-passwort-sichere-identitaet/) statt. Meldet euch dazu vorher auf der Website an.
- Am 08.03 findet der Vortrag [Kein Backup - Kein Mitleid!](https://www.buecherhallen.de/zentralbibliothek-termin/kein-backup-kein-mitleid-ein-vortrag-vom-chaos-computer-club.html?day=20240308&times=1709913600,1709913600) in der Zentralbibliothek statt. Auch hierfür wird ein kostenloses Ticket benötigt.
- Am 21.03 wird es erneut den Vortrag "Lauscht mein Smartphone wirklich mit" geben. Dieses mal in der Bücherhalle von Blankenese. Sobald es hierzu mehr Informationen gibt, erfahrt ihr das hier.
- Am 12.04 gibt es wieder einen Vortrag in der Zentralen Bücherhalle hat momentan noch den Titel "Verschlüsselung?". Auch hierzu noch keine weiteren Informationen.

View file

@ -0,0 +1,21 @@
---
title: "Aufmerksam sein und gegen Chatkontrolle sein"
author: "w1ntermute"
type: ""
date: 2024-06-18T18:10:57+02:00
subtitle: ""
image: ""
tags: [information]
---
Wir möchten einmal darauf aufmerksam machen, dass diese Woche
im EU-Rat die Chatkontrolle besprochen wird. Das heißt, die Länder
besprechen in welcher Form dieses Vorhaben zur Absprache gebracht werden soll.
Diese Chatkontrolle würde einen totalen verlust der Privatsphäre bei allen Nachrichten die wir senden
bedeuten.
Dies muss verhindert werden.
Wie ihr das könnt und mehr Informationen zur Chatkontrolle unter der Website von [Patrick Breyer](https://www.patrick-breyer.de/beitraege/chatkontrolle/) und
dem [Bündnis Chatkontrolle Stoppen](https://chat-kontrolle.eu/).

View file

@ -0,0 +1,8 @@
{{ if .Title }}
<figure>
<img src="{{ .Destination | safeURL }}" alt="{{ .Text }}">
<figcaption style="font-size: x-small">{{ .Title | safeHTML }}</figcaption>
</figure>
{{ else }}
<img src="{{ .Destination | safeURL }}" alt="{{ .Text }}">
{{ end }}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 789 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

@ -1 +1 @@
Subproject commit 268683bf7446ab0effdc48ef6909afc64416dd65
Subproject commit e69e25d4ca0d3c737f0677995d2bf9541ffb4926