Im Folgenden wird das Verfahren zur Installation des fdroid-Servers beschrieben. Führen Sie alle Befehle mit dem Debian-Benutzer aus, verwenden Sie gegebenenfalls sudo
F-DROID-INSTALLATION
apt-get install software-properties-common
add-apt-repository "http://deb.debian.org/debian buster-backports main"
apt update
apt-get install fdroidserver/buster-backports
mkdir ~/android-sdk-linux
cd ~/android-sdk-linux
wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
echo "87f6dcf41d4e642e37ba03cb2e387a542aa0bd73cb689a9e7152aad40a6e7a08 commandlinetools-linux-6858069_latest.zip" | sha256sum -c
commandlinetools-linux-6858069_latest.zip: OK
unzip commandlinetools-linux-6858069_latest.zip
export ANDROID_HOME="$HOME/android-sdk-linux"
./cmdline-tools/bin/sdkmanager --sdk_root="$ANDROID_HOME" platform-tools "build-tools;30.0.3"
echo export ANDROID_HOME=$ANDROID_HOME >> .bashrc
F-DROID REPO-KONFIGURATION MIT NGINX
sudo apt-get install nginx
sudo mkdir /usr/share/nginx/www
sudo mkdir /usr/share/nginx/www/fdroid
sudo chown -R $USER /usr/share/nginx/www/fdroid
cd /usr/share/nginx/www/fdroid
fdroid init
nano /etc/nginx/sites-enabled/default
(Gehen Sie wie folgt vor):
hat das Root-Verzeichnis geändert, indem folgende Zeile hinzugefügt wurde:
root /usr/share/nginx/www;
Löschen oder kommentieren Sie /var/www/html
sudo service ngnix restart
cd /usr/share/nginx/www/fdroid
Platzieren Sie nun Ihre apk-Dateien im Repo-Verzeichnis
cp /path/to/*.apk /usr/share/nginx/www/fdroid/repo/
fdroid update --create-metadata
fdroid update
adduser android
Password set: android
nano /usr/share/nginx/www/fdroid/config.yml
(Folgende Zeile hinzufügen)
serverwebroot:
android@localhost:/usr/share/nginx/www/fdroid
I2P-INSTALLATIONS- UND KONFIGURATIONSSCHRITTE (EINSCHLIESSLICH IPTABLES-REGELN &I2P ALS SYSTEMSERVICE)
I2P-INSTALLATION:
sudo apt-get update
sudo apt-get install apt-transport-https curl
sudo apt-get install i2p
IPTABLES-KONFIGURATION FÜR I2P:
iptables -I INPUT -p tcp -m tcp --dport 7657 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 7658 -j ACCEPT
vi /etc/sysctl.conf
(Folgende Zeile am Ende von sysctl.conf hinzufügen)
net.ipv4.conf.eth0.route_localnet=1
(Speichern und beenden)
(Folgende Befehle ausführen):
sysctl –p
iptables -t nat -I PREROUTING -p tcp -d 0.0.0.0/0 --dport 7657 -j DNAT --to-destination 127.0.0.1:7657
iptables -t nat -I PREROUTING -p tcp -d 0.0.0.0/0 --dport 7658 -j DNAT --to-destination 127.0.0.1:7658
iptables-save > /etc/iptables.rules
crontab -e
@reboot sudo iptables-restore -n </etc/iptables.rules
Den I2P-Dienst so einstellen, dass er beim Neustart startet:
systemctl enable i2p
systemctl start i2p
Zugriff im Browser http://195.15.218.162:7657/config
und klicken Sie auf Hidden Service Manager
Klicken Sie auf Tunnel Wizard
Wählen Sie Server Tunnel und klicken Sie auf Weiter
Wählen Sie den HTTP-Tunnel aus und klicken Sie auf Weiter
Geben Sie einen beliebigen Tunnelnamen ein, in unserem Fall „F-DROID“
Geben Sie Host:127.0.0.1, Port:80 ein
Häkchen setzen Tunnel automatisch starten, wenn Router startet und auf Fertig stellen klicken
Jetzt ist der Tunnel verfügbar, wie im folgenden Bild gezeigt, und der i2p-Link ist mit dem F-Droid-Tunnel als Ziel verfügbar:nkymfwaye5okwsygtihhghvn5ocsxau6ln6dayjmc5rieabeuooq.b32.i2p
Zugänglich als:
http://nkymfwaye5okwsygtihhghvn5ocsxau6ln6dayjmc5rieabeuooq.b32.i2p/fdroid/repo
KONFIGURIEREN SIE I2P, UM 90 % DER BANDBREITE ZU VERWENDEN
Zugriff im Browser http://195.15.218.162:7657/config und klicken Sie auf Bandbreite und wählen Sie 90 % aus, wie unten gezeigt
NGINX-KONFIGURATION FÜR I2P
Da wir bereits während der Installation von I2P iptables gesetzt haben, müssen wir jetzt nur noch die folgende Konfiguration in nginx vornehmen.
cd /etc/nginx/sites-enabled
nano default
kommentieren Sie „listen 80 default_server;“ und „listen [::]:80 default_server;“ und füge folgende Zeilen hinzu
listen 127.0.0.1:80;
server_name 127.0.0.1;
Speichern und beenden Sie den Nginx-Dienst und starten Sie ihn wie folgt neu
systemctl restart nginx
ZUGRIFFSMETHODE AUF DAS F-DROID-REPOSITORY UNTER VERWENDUNG VON I2P-URL
SCHRITT 1:
Laden Sie F-Droid.apk von folgendem Link herunter und installieren Sie es auf Ihrem Handy
https://f-droid.org/F-Droid.apk
SCHRITT 2:
Da wir die I2P-URL verwenden, muss für den Zugriff auf die i2p-URL die Invizible Pro-App aus dem Google Store installiert werden:
Öffnen Sie die Invizible Pro App, aktivieren Sie alle 3 Kontrollkästchen und klicken Sie auf Start
SCHRITT 3:
Öffnen Sie nun die in SCHRITT 1 installierte F-Droid-App und gehen Sie wie unten gezeigt zu den Einstellungen
Klicken Sie nun auf Repositories und schalten Sie alle aus, wenn ein Repo geöffnet ist
Klicken Sie nun auf das + Zeichen, um Ihre eigenen Repositories hinzuzufügen
Geben Sie unter Repository-Adresse die folgende Adresse ein:I2P-Adresse
http://nkymfwaye5okwsygtihhghvn5ocsxau6ln6dayjmc5rieabeuooq.b32.i2p/fdroid/repo
Neu hinzugefügtes Repository aktivieren, die Synchronisierung dauert einige Zeit
Wir sind fertig, wir können unsere APKs herunterladen und auf unseren Android-Geräten installieren.
VERFAHREN ZUM HOCHLADEN UND AKTUALISIEREN VON APK-DATEIEN AUF F-DROID REPO
Laden Sie Ihre APKs auf Ihr lokales System herunter
Verbinden Sie sich mit WinSCP wie unten gezeigt mit dem Server
Ziehen Sie ComboApp (Anwendungsordner) per Drag &Drop in das Debian-Home-Verzeichnis
Greifen Sie nun wie gewohnt über SSH mit dem Debian-Benutzer auf die F-Droid-Server-Shell zu und führen Sie die folgenden Befehle aus
cd /usr/share/nginx/www/fdroid
cp ~/ComboApp/*.apk repo/
sudo fdroid update –c
sudo fdroid update
Das ist es. Öffnen Sie nun die F-Droid-Client-App auf Ihrem Android-Gerät und alle Apps, die Sie hochgeladen/aktualisiert haben, sollten dort angezeigt werden.
SSH KONFIGURIEREN UND SICHERN, UM DEN FDROID DEPLOY -V BEFEHL ZU AKZEPTIEREN
nano /etc/ssh/sshd_config
(Fügen Sie die folgende Zeile am Ende von sshd_config hinzu, damit Android-Benutzer nicht von einem entfernten Standort aus ssh können)
AllowUsers android@127.0.0.1 debian
(speichern und beenden)
service sshd restart
fdroid deploy –v
KONFIGURIEREN SIE DIE ÜBLICHE FAIL2BAN-SYSTEMSICHERHEIT, UM DEN SERVER ZU SCHÜTZEN
apt install fail2ban -y
vi /etc/fail2ban/jail.d/jail-debian.local
[sshd]
port = 22
maxretry = 3
service fail2ban restart
CONFIGURE AUTOMATIC SECURITY UPDATES
sudo apt install unattended-upgrades
nano /etc/apt/apt.conf.d/50unattended-upgrades
(Uncomment following lines by removing forward slashes)
"origin=Debian,codename=${distro_codename}-updates";
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
I2P-HOSTNAME FDROID.DEV.I2P EINSTELLEN
vi /etc/hostname
(vorhandenen Hostnamen durch folgenden ersetzen)
fdroid.dev.i2p
(speichern und beenden)
Nano /etc/hosts
(Folgende Zeile hinzufügen)
127.0.0.1 fdroid.dev.i2p
EMPFEHLUNGEN FÜR SICHERHEIT, SERVERWARTUNG UND BACKUPS :
Obwohl ich bereits alle Sicherheitspatches/Fixes usw. geprüft und angewendet habe und unser Server jetzt vollständig sicher ist, folgen einige nützliche Empfehlungen
– Vorhandener privater Schlüssel kann zu einem späteren Zeitpunkt geändert werden
– Offsite-/Remote-Backup sollte für die Daten/Apps usw. konfiguriert werden
– Wöchentlicher Schnappschuss des VPS durch den Hosting-Provider.
-Ein Backup jeder Konfigurationsdatei muss erstellt werden, bevor Änderungen daran vorgenommen werden, z. B. cp abc.conf in abc.conf-backup – Eine Zustandsprüfung des Servers kann alle 3 bis 4 Monate durchgeführt werden, nur um sicherzustellen, dass alles gut läuft und der Server ist bei guter Gesundheit