glFTPd :: We Make Files Transfer
Install Package 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
Add and Delete users
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> SiTEOP
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 speedtest
Files
#!/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"
Create incoming folders
mkdir -p /mnt/usb/glftpd/site/incoming/ebooks
mkdir -p /mnt/usb/glftpd/site/incoming/games/_emulator
mkdir -p /mnt/usb/glftpd/site/incoming/games/_linux
mkdir -p /mnt/usb/glftpd/site/incoming/games/_windows
mkdir -p /mnt/usb/glftpd/site/incoming/mbluray
mkdir -p /mnt/usb/glftpd/site/incoming/mp3
mkdir -p /mnt/usb/glftpd/site/incoming/mvids
mkdir -p /mnt/usb/glftpd/site/incoming/pda
mkdir -p /mnt/usb/glftpd/site/incoming/software
mkdir -p /mnt/usb/glftpd/site/incoming/tutorial
mkdir -p /mnt/usb/glftpd/site/incoming/tv
mkdir -p /mnt/usb/glftpd/site/incoming/x2641080p
mkdir -p /mnt/usb/glftpd/site/incoming/x264720p
mkdir -p /mnt/usb/glftpd/site/incoming/x264sd
mkdir -p /mnt/usb/glftpd/site/incoming/xxxsd
Create archive folders
mkdir -p /mnt/usb/glftpd/site/archive/ebooks
mkdir -p /mnt/usb/glftpd/site/archive/games/_emulator
mkdir -p /mnt/usb/glftpd/site/archive/games/_linux
mkdir -p /mnt/usb/glftpd/site/archive/games/_windows
mkdir -p /mnt/usb/glftpd/site/archive/mbluray
mkdir -p /mnt/usb/glftpd/site/archive/mp3
mkdir -p /mnt/usb/glftpd/site/archive/mvids
mkdir -p /mnt/usb/glftpd/site/archive/pda
mkdir -p /mnt/usb/glftpd/site/archive/software
mkdir -p /mnt/usb/glftpd/site/archive/tutorial
mkdir -p /mnt/usb/glftpd/site/archive/tv
mkdir -p /mnt/usb/glftpd/site/archive/x2641080p
mkdir -p /mnt/usb/glftpd/site/archive/x264720p
mkdir -p /mnt/usb/glftpd/site/archive/x264sd
mkdir -p /mnt/usb/glftpd/site/archive/xxxsd
Total Rescan
curl -o /glftpd/bin/total-rescan.pl https://raw.githubusercontent.com/pzs-ng/scripts/master/total-rescan/total-rescan.pl
chmod +x /glftpd/bin/total-rescan.pl
glftpd.conf
cat << "EOF" >> /etc/glftpd.conf
calc_crc *
post_check /bin/zipscript-c *
cscript DELE post /bin/postdel
cscript RMD post /bin/datacleaner
cscript SITE[:space:]NUKE post /bin/cleanup
cscript SITE[:space:]WIPE post /bin/cleanup
cscript SITE[:space:]UNNUKE post /bin/postunnuke
site_cmd RESCAN EXEC /bin/rescan
custom-rescan !8 *
cscript RETR post /bin/dl_speedtest
site_cmd AUDIOSORT EXEC /bin/audiosort
custom-audiosort !8 *
EOF