Berikut ini adalah prosedur instalasi server fdroid. Jalankan semua perintah dengan pengguna debian, gunakan sudo jika perlu
INSTALASI F-DROID
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
KONFIGURASI REPO F-DROID DENGAN 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
(Lakukan hal berikut):
mengubah direktori root dengan menambahkan baris berikut:
root /usr/share/nginx/www;
Hapus atau komentari /var/www/html
sudo service ngnix restart
cd /usr/share/nginx/www/fdroid
Sekarang tempatkan file apk Anda di direktori repo
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
(tambahkan baris berikut)
serverwebroot:
android@localhost:/usr/share/nginx/www/fdroid
LANGKAH-LANGKAH PEMASANGAN DAN KONFIGURASI I2P (TERMASUK ATURAN IPTABLES &I2P SEBAGAI LAYANAN SISTEM)
INSTALASI I2P:
sudo apt-get update
sudo apt-get install apt-transport-https curl
sudo apt-get install i2p
KONFIGURASI IPTABLES UNTUK 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
(Tambahkan baris berikut di bagian bawah sysctl.conf)
net.ipv4.conf.eth0.route_localnet=1
(Simpan dan keluar)
(Jalankan perintah Mengikuti):
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
ATUR LAYANAN I2P UNTUK DIMULAI DI REBOOT:
systemctl enable i2p
systemctl start i2p
Akses di browser http://195.15.218.162:7657/config
dan klik Pengelola Layanan Tersembunyi
Klik pada Tunnel Wizard
Pilih Server Tunnel dan klik berikutnya
Pilih HTTP Tunnel dan klik berikutnya
Ketik nama terowongan apa saja dalam kasus kami "F-DROID"
Jenis Host:127.0.0.1, port:80
Beri tanda centang pada Mulai terowongan secara otomatis saat router mulai dan Klik Selesai
Sekarang terowongan akan tersedia seperti yang ditunjukkan pada gambar di bawah, dan tautan i2p tersedia dengan terowongan F-Droid sebagai Tujuan:nkymfwaye5okwsygtihhghvn5ocsxau6ln6dayjmc5rieabeuooq.b32.i2p
Dapat diakses sebagai:
http://nkymfwaye5okwsygtihhghvn5ocsxau6ln6dayjmc5rieabeuooq.b32.i2p/fdroid/repo
KONFIGURASI I2P UNTUK MENGGUNAKAN 90% DARI BANDWIDTH
Akses di browser http://195.15.218.162:7657/config dan klik Bandwidth dan pilih 90% seperti yang ditunjukkan di bawah ini
KONFIGURASI NGINX UNTUK I2P
Seperti yang telah kita atur iptables selama instalasi I2P, sekarang kita tinggal melakukan konfigurasi berikut di nginx.
cd /etc/nginx/sites-enabled
nano default
beri komentar “dengarkan 80 default_server;” dan ”dengarkan [::]:80 default_server;” dan tambahkan baris berikut
listen 127.0.0.1:80;
server_name 127.0.0.1;
Simpan dan keluar lalu restart layanan nginx sebagai berikut
systemctl restart nginx
METODE AKSES REPOSITORY F-DROID MENGGUNAKAN URL I2P
LANGKAH 1:
Unduh dan instal F-Droid.apk di ponsel Anda dari tautan berikut
https://f-droid.org/F-Droid.apk
LANGKAH 2:
Karena kami menggunakan url I2P, untuk mengakses URL i2p harus menginstal aplikasi pro yang tidak terlihat dari toko google:
Buka aplikasi pro yang tidak terlihat, centang ketiga kotak centang dan klik mulai
LANGKAH 3:
Sekarang buka aplikasi F-droid yang diinstal pada LANGKAH 1, dan buka pengaturan seperti yang ditunjukkan di bawah ini
Sekarang klik pada repositori dan matikan semua jika ada repo yang terbuka
Sekarang klik tanda + untuk menambahkan repositori Anda sendiri
Di alamat repositori masukkan alamat berikut Alamat I2P
http://nkymfwaye5okwsygtihhghvn5ocsxau6ln6dayjmc5rieabeuooq.b32.i2p/fdroid/repo
Aktifkan repositori yang baru ditambahkan, perlu beberapa saat untuk menyinkronkan
Selesai, kami dapat mengunduh APK dan menginstal di perangkat Android kami.
TATA CARA MENGUPLOAD DAN MEMPERBARUI FILE APK KE F-DROID REPO
Unduh APK Anda di sistem lokal Anda
Hubungkan ke Server menggunakan WinSCP seperti yang ditunjukkan di bawah ini
Seret dan lepas ComboApp (Folder Aplikasi) ke direktori home debian
Sekarang akses shell server F-Droid menggunakan SSH dengan pengguna debian seperti biasa dan jalankan perintah berikut
cd /usr/share/nginx/www/fdroid
cp ~/ComboApp/*.apk repo/
sudo fdroid update –c
sudo fdroid update
Itu dia. Sekarang buka aplikasi klien F-Droid di perangkat android Anda dan semua aplikasi yang Anda unggah/perbarui akan ditampilkan di sana.
KONFIGURASI SSH DAN AMAN UNTUK MENERIMA FDROID DEPLOY -V COMMAND
nano /etc/ssh/sshd_config
(Tambahkan baris berikut di akhir sshd_config, sehingga pengguna android tidak akan dapat ssh dari lokasi yang jauh)
AllowUsers [email protected] debian
(simpan dan keluar)
service sshd restart
fdroid deploy –v
KONFIGURASI KEAMANAN SISTEM FAIL2BAN BIASA UNTUK MELINDUNGI SERVER
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";
SET I2P HOSTNAME FDROID.DEV.I2P
vi /etc/hostname
(ganti nama host yang ada dengan yang berikut)
fdroid.dev.i2p
(simpan dan keluar)
Nano /etc/hosts
(tambahkan baris berikut)
127.0.0.1 fdroid.dev.i2p
REKOMENDASI UNTUK KEAMANAN, PEMELIHARAAN SERVER DAN CADANGAN :
Meskipun saya telah mengaudit dan menerapkan semua patch/perbaikan keamanan dll dan server kami sepenuhnya aman sekarang, tetapi berikut adalah beberapa rekomendasi yang berguna
– Kunci pribadi yang ada dapat diubah pada tahap selanjutnya
– Pencadangan di luar situs/Jarak jauh harus dikonfigurasi untuk data/aplikasi dll
– Cuplikan VPS mingguan diambil melalui penyedia hosting.
-Cadangan file konfigurasi apa pun perlu dilakukan sebelum membuat perubahan seperti cp abc.conf ke abc.conf-backup – Pemeriksaan kesehatan server dapat dilakukan setiap 3 hingga 4 bulan hanya untuk memastikan semuanya berjalan dengan baik dan server dalam keadaan sehat