Skip to content

glFTPd

Install requirements

 emerge --ask zip unzip xinetd
 /etc/init.d/xinetd start
 wget -P /tmp https://glftpd.io/files/glftpd-LNX-2.12_3.0.1_x64.tgz
 tar -xvf /tmp/glftpd-LNX-2.12_3.0.1_x64.tgz -C /tmp/
 cd /tmp/glftpd-LNX-2.12_3.0.1_x64
./installgl.sh
./create_server_key.sh ecdsa ok

Download and install glFTPd

wget https://glftpd.io/files/glftpd-LNX-2.13a_3.0.8_x64.tgz -P /tmp
tar -xvzf /tmp/glftpd-LNX-2.13a_3.0.8_x64.tgz -C /mnt/usb/
mv /mnt/usb/glftpd-LNX-2.13a_3.0.8_x64/ /mnt/usb/glftpd
ftp> site adduser <user> password *@xx.xx.xx.* *@192.168.*.*
ftp> site addip <user> *@0000:0000:0000:0000:0000:0000:0000:0001
ftp> site grpadd iND
ftp> site change flags <user> +1ABCDEFGHJIKLMOPQRST
ftp> site change <user> flags +1ABCDEFGHJIKLMOPQRST
ftp> site change <user> num_logins 10
ftp> site change <user> max_sim_down 10
ftp> site change <user> max_sim_up 10
ftp> site change <user> ratio 0
ftp> site tagline <user> -= SiTEOWNER =-
mnt/usb $ sudo rm -rf /mnt/usb/glftpd/
mv /glftpd/ /mnt/usb/
ln -s /mnt/usb/glftpd/ /glftpd
ln -s /mnt/usb/glftpd/glftpd.conf /etc/glftpd.conf

Create files for speedtest

#!/bin/bash

OUTPUT_DIR="/mnt/usb/site/speedtest"
mkdir -p "$OUTPUT_DIR"
SIZES=("50M" "100M" "500M" "1000M" "2500M")

for size in "${SIZES[@]}"; do
    echo "Creating ${size} file..."
    
    head -c $size </dev/urandom >"${OUTPUT_DIR}/${size}iB"

    if [[ $? -eq 0 ]]; then
        echo "${size} file created successfully."
    else
        echo "Failed to create ${size} file."
        exit 1
    fi
done
echo "All done"