Some scripts designed for glFTPD by Turranius & friends
Hits since 2003-03-06

Note: Scripts by Turranius are ment for RedHat or Mandrake. Most of them work with Debian.
For other distros, I dont know.

Want email notifications on new/updated scripts? Send a mail to grandis @ bredband.net (with no spaces) with the subject:
SUBSCRIBE your@email.adress

Mirrors to this site -[1]- -[2]-





(above buttons ugly by design)

2003.04.22 - Added Tur-Request 1.0 to scripts.

2003.04.20 - Updated MSS to 2.1.8
Two new commands for mss-site.sh
'backup' to tell all slaves to run a full backup
'dellogs' to delete all fetched logfiles in the 'fetchlogsdir' on the hub.


2003.04.20 - psxc updated PSXC-IMDB to 0.6
Debug support added
Two tcl scripts added (very useful!)
Changed some output and added more info in README


2003.04.20 - Updated Tur-Trial to 2.0.3
Added a new cookie, %EGROUP% to show which group the user is excluded on.


2003.04.17 - Added Tur-Rules 1.0 to scripts.
Thanks ApocT for the idea.


2003.04.14 - Updated MSS to 2.1.7
Version 2.1.4 broke function to add new users in 'full' and 'fullsync' modes. See CHANGELOG for more info.


2003.04.14 - Updated Tur-Trial to 2.0.2
Fixed empty line in quota log
Fixed "Error with config C_NOTPASSED_TRIALTOT[0]" message
Daysleft in trial/quota understands singular and plural now (1day, 2days).


2003.04.13 - psxc updated PSXC-IMDB to 0.6
Small (cosmetic) bugfix in .imdb output.
Added support for one-line-only for bot.


2003.04.12 - psxc updated PSXC-IMDB to 0.5
Added imdb url to output.
Added ability to test environment and set up needed files.
Added support for backlog of imdb urls.
Some other changes.


2003.04.12 - psxc updated PSXC-IMDB to 0.4
Added imdb url to output.
Added support for group-dirs.


2003.04.11 - Updated MSS to 2.1.6
See changelog. Stats moving changes, RPCINFO missed in default config, etc.


2003.04.11 - Updated Tur-Autonuke to 1.6.7
Some changes to the 'Allowed Words' module. Didnt work 100% before.


2003.04.11 - Updated Tur-Vacation to 1.3
It switched download/upload slots when someone came back from vacation.


2003.04.06 - Updated MSS to 2.1.5
mss-core.sh changes. Added a few options to make sure the hub is up. Both pingtest and nfs server check.
Also fixed a problem that could arise with the lockfile in that there was too long time between it checking if the lockfile exists until it created it.
movecreds, introduced in 2.1.4, got new some new functions. It can now move creds from a single user, a group of users or all users, back to the hub.


2003.04.04 - psxc decided to join our marry band of scripters, so welcome! Press the, by design, ugly button above or scroll down.
I know we have some "conflicting" scripts, but this isnt a contest. Use whatever you like =)

I also took the liberty, since I DO own this site, to move myself at the top of the list =)


2003.04.04 - THIS is why I love 3ware raid cards =))
Got that in my package from Denmark when I bought my last 7500-12 card. Just had to share it !


2003.04.02 - Updated Tur-Quota to 1.1
It didnt work on Debian.




#----------------[ Older News ]----------------#

www.glftpd.com
The official glftpd page.

Dark0n3s
Dark0n3's page. Zipscript-c, ioFTPD.

Pentagon
Pentagon's tcl scripts page.

PNGSCRIPTS
dayStats, getNFO & Cleaner

Tanesha
PRE script, better spy. Discontinued.

awlf
Scritps =)

Zio's glftpd page.
Rocking Spacemaker script and more.

TheOut's scripts
Other Trial scripts and more goodies.

http://darkheart.cc/
DaRKHeaRT's scripts.

Chimera Coding
Scripts by dn & ip.

HoE's page
pftpd, winsslwrap, TLS (glftpd ssl) etc.

Jehsom's scripts
Zipscript and lots of goodies.

Usurper's page.
Idle users script and more.

SoD's ftpd scripts.
glftpd goodies.

Your site?
Mail me at grandis @ bredband.net ( with no spaces) if you wanna get linked.


MultiSiteSync (MSS) 2.1.8 - This is not for the faint of heart.
Its a number of scripts, ment for people who want to run a multisite enviroment with the same userbase. It allows you to have one hub server and unlimited slave servers. You make any and all changes on the hub server and it is replicated onto the slave(s).
Requires some knowledge of what the heck you're doing.
Credits and stats are seperated. Credits can be moved manually between sites by users and stats can be moved back to the hub server for easy trials etc etc.
Check the readme in the package for more info.



Tur-Request 1.0 - My own little request system. Works from both site and irc ( !request, !reqfilled and !requests from irc ).
Will create a file to store requests and you can set glftpd to display that file when users enter the request dir.
It can also create the requested folder with a header you choose (REQ- by default), and if that is on, rename the dir when reqfilled (FILLED- by default).
Announcing to chan is of course in as well. Instructions for zipscript-c included.
Got a few more goodies too.



Tur-Rules 1.0 - !rules script for irc. Reads your current rules file which might need some modifications in order for this to work.
!rules section (searchword)
meaning it can search for one word in a sections rules (!rules svcd limited) as well as display all rules for a specific section.



PreNuke 1.0 - Small script that prevents nuking of allowed releases. Set which allowed folders you have and load it as a cscript to nuke (instructions in script).


Tur-Free 1.0 - Standalone/replacement "show total/used/free" space on site for irc.
Can merge multiple drives under the same name if you, for instance, have DIVX's split up over multiple drives as well as give you a total count on the whole site.



Tur-Speed 1.1 - This is a replacement/standalone !speed script for checking speed/activity from irc. Messages can be configured easely and in its full glory, its something like:
Turranius/SiTEOPS is downloading at 764.10 Kb/sec on ost-file.rar in DIVX/OstFilens.Revenge-OsT



Tur-DisableUser 1.0 - This is a rewrite of my ooold enable/disable script. It allows you to deny a user access to logon to your site from irc, shell or inside glftpd, without the risk of him being purged (which he can be if he's delled). You can then allow the user login when you wish as well as print a list of all disabled users.
(Old Discontinued: Disabled Users 1.0)


Tur-Vacation 1.3 - If you are tired of handling people on vacation all the time, let this script do it!
Users issue a command on site which adds them to a group and (optionally) disables their ability to upload and/or download
A minumum time is optional so they can not just change over night to pass any monthly quotas, etc.
Naturally, it also has support for Dark0n3's zipscript incase you want bot output in irc.
Siteops can also get a full list of everyone on vacation and for how long.



VerifyPASSWD - Small useless script to make sure the passwd file is in sync with every user and that every user has an entry in the passwd file.


IdleBotKick 1.0 - Can do two things. If execute from irc, with
!kick and no arguments, it will kick all users that are idle. It can also take one username as an argument, and will in that case kick that user. For ops only per default.
Note that the instruction provided only works for RedHat/Mandrake. For other distros, RiPtider informs me that http://www.courtesan.com/sudo/intro.html is a good way to get a user to run kill as root (which is the problem really).



Tur-DirClean 1.0 - Used to keep the dirlog (site search) updated by using olddirclean2 and glupdate on the sections you define. It also has support for dated dirs. Very small script, and kind of lame I guess. Who cares. I use it, why shouldnt YOU?


Tur-BotSearch 1.1 - Gives !search function to irc. Checks dirlog so use Tur-DirClean above as well to keep dirlog updated.


Public Rescan 1.1 - Like eur0dance's Public Undupe, but for rescanning folders. Uses Dark0n3s rescan, so thats a requirement before using this (zipscript-c). !rescan works for everyone in your sitechan. Only 1 person can run it at a time. Works from /msg to the bot too incase some affils needs to do it in private. See public_rescan.sh for documentation.


BotNuke/Unnuke 1.1 - Adds !nuke and !unnuke functions to your irc chan for opped users. Read botnuke.sh for more info.
NOTE: If you get "Cant perform chroot()" errors, then read this!



TotalCreds 1.1 - Little script that shows total amount of credits from all users on site and also gives you the average credits per user. Can exclude usernames and users with leech, as well as deleted users.


DupeCheck 1.0 - Dupechecker from irc using !dupe (release).
Options to limit the number of maximum hits etc. Pretty neat public dupechecker.



Tur-FolderLimit 1.2 - This script will make sure there are only a predefined number of folders in a section of your choise. Once there are more folders then you defined, it will move the oldest ones to a second folder. If you want a nice clean incoming section, or just want to limit the amount of, say, dated folders in a section, use me!
(OLD 1.1) (OLD 1.0)



Tur-DupeLog 1.1.1 - Want a nice clean dupelog for any reason? Tur-Dupelog will make a new dupelog based on releases in predefined folders only. No more CD1 and Sample crap in the dupelog. Has support for dated dirs too, but that is rather slow.
(OLD 1.1) (OLD 1.0)



Tur-AutoNuke 1.6.7 - An autonuker script for multiple sections. Will nuke not only empty dirs, but also look for incomplete symlinks and nuke anything not completed within the set time. It can also pick up banned words in a release, as well as look for folders that does NOT contain any of the files you specify should be there. You can also define sections where every release MUST include on of the words (Reversed Banned Words). It will also remove symlinks that have no destination (cleanup from old nukes), as well as delete old nuked folders. Run this with test mode to make sure it does what you want it to do.
It also has the option to send a pre-nuke warning from all 4 modules of the script, to your glftpd.log file so the sitebot can pick it up and announce it. Make sure you read this README for a full set of options.
Approved for RedHat, Mandrake, Debian, Slackware and FBSD (with included fbsd_ls.sh script).



FolderByGroup 1.0 - Ment for MP3 dated dirs, but should work for 0days folder too. It will, when run at midnight, go through yesterdays (dated) folder and sort all releases by groupname. So
/0707/Rock_-_We-Love-Turranius-GayFeds
would be moved into
/0707/GayFeds/Rock_-_We-Love-Turranius-GayFeds.
It can also create a new dated dir and change the symlinks to it.
Edit the .sh for full documentions.



SymsByGroup 1.0 - Create folders based on groupname with a symlink to every release on site, from that group. Neat if you wish to have a SVCD.By.Group or similar folder. Works for dated dirs too (0days/Mp3). Supports more then one section. Simply define where to look for releases and where you want those GroupName folders created.


ShiftDaBandwidth 1.0 - A script to change the speed_limit in glftpd.conf. Set it up, and run it like ShiftDaBandwidth.sh 500 100 and it will set the max download speed to 500k/sec and max upload to 100k/sec. Can kick users if you really need the change to happen NOW. Crontab it at the hours you want the change, with the numbers you want to change to. Read the .sh for full docs.


Tur-Archiver 1.0 - This script will match something in a foldername in any dated structure, and move or copy that folder to a folder corresponding to the first letter in the foldername. Very configurable. Very nice if you want to save all folders containing, for instance Keygen.only & KeyGenerator.Only to another location. If the folder is named, for instance, Astalavista.Keygen.Only-BLA, it can be moved or copied to /glftpd/site/Archive/KeyGens/ABC/.
Read the .sh for its full potiential !



SymsByRelease 1.0 - Like Tur-Archiver above, but for making symlinks instead of copy or moving. Ment for dated dirs only.


Vote 1.2 - Set up a little voting system on your site. From the site, you can set up new votes and end current ones. You set it up with one question, and between 2 to 7 possible answers the users can chose from. Everything is both logged in a file and can write to glftpd.log so it gets announced in IRC. Added in 1.1 is the ability for users to vote and see the current vote status from irc, with the help of a small vote.tcl file.
Note: Most errors with this script occurs because the permissions on either votemain, votedata or vote.log is not sufficient. Set 777 on them
(OLD 1.1) (OLD 1.0)



Tur-UserInfo 1.1 - Script for showing various information about a user in shell or irc. Very configurable. Can show almost all there is about a user.
Also has !ginfo output for displaying stats about everyone in a certain group. This output can be configured to be displayed differently then from !userinfo
NOTE: If your glftpd.conf is not in /etc, change STATSBIN to STATSBIN="/path/to/stats -r /path/to/glftpd.conf"



WhereAmI 1.1 - Ment to be used with irc. Fun little thing that shows where you are in the weektops/monthtops etc. Works for groups too. Check out this Example.
NOTE: If your glftpd.conf is not in /etc, change STATSBIN to STATSBIN="/path/to/stats -r /path/to/glftpd.conf"
(OLD 1.0)



PreSetup 1.0 - No, this is not a Pre script. This is a Pre Setup script. Do you HATE making those folders and always forget something? Define your sections and how you want your symlinks (if at all) and it will create the folder, make the symlink folder (if on), create the actual symlink, chmod and chown the folders to your choice & give you the privpaths etc that you need to hide it in glftpd.conf. It will not edit any config files, just create the folders and tell you what you need to do so you can cut and paste. Edit the file for more details.


KTMF 3.1.3 - A multipurpose script for checking Dual Downloaders, Dual Uploaders (to same folder), Idlers, Slow Downloaders and Slow Uploaders. Can also kick leech users/special users/groups when a number of users are online. TONS of options. Read the README for more information.
Note: 1.2 and up requires the new tur-ftpwho that comes with the package.



grpkill 1.1 - Ever wanted to delete all the users in a whole group? This script can either put the 6 flag (user deleted) on everyone in a specific group, so you can do a manual purge, or it can delete the users and the group totally. Comes with test mode so you can see whats going to happen first.
Options to backup stuff first, and to log to syslog, like normal commands. Be sure to only allow this to REALLY trusted users, since some evil person could delete the whole siteops group, including yourself.



Tur-Trial 2.0.3 - !passed command from irc. 2 different ratios. One if the user is in TRiAL or TRiAL-2 (definable), and the other if he is not. If the user is not on trial, it will show any weekly/monthly quota and how the user is doing.
Comes with ability to delete users who fail/remove credits etc etc
(Old discontinued: Tur-All-Trial 1.2.1)
(Old discontinued: Triallist 1.2)
(Old discontinued: MonthUpAll 1.4.1)


Mega TRiAL 1.1.1 - This is a complement to Tur-Trial and/or Group Trial. It will just show everyone on trial and how they are doing when issuing !trials from irc.
Much easier for siteops to get an overview.



Tur-Quota 1.1 - This is an extention to Tur-Trial. It will show passed or failed users in irc & shell, like MegaTrial but for quota instead of triallers. Requires Tur-Trial to be installed and used for quota.


Section Gods 1.1 - Fun little thing I did today. Contains a .sh and .tcl. From irc, you can type (for instance) !gods DIVX and it will check owner of all files in that section and show the top 5 users in the channel. Pretty fun and equally useless :)) Check the.sh file for installation instructions. Thanks to JanG for the idea and the file owner check string.
(OLD 1.0)



Group Trial 0.5 - I wanted to find a good group trial script but couldnt find any. Wrote this one. Works from site AND irc with a tcl trigger (since v0.4). Checks if the groups nfo (grpnfo) is either TRiAL or TRiAL-2 (for next week). Comes with full documentation.
(OLD 0.4) (OLD 0.3) (OLD 0.2)



Group Trial Cron 0.3 - Part of the Group Trial 0.2 (and later) script. Ment to be run as a crontab job. It will check which groups's nfo is TRiAL or TRiAL-2 and output the upped result from all members in that group to a logfile. Comes with full documentation. Good if you can't be infront of the computer before the stats reset. Just check the log instead.
(OLD 0.2)



0DaysDateFix 1.3 - Running 0DAYS or MP3 in dated dirs and want the dates on the folders be the same as the folder name? It reads the foldername and timestamps the folder to the same date. Handles an infinite amount of dated dirs and has the option to exclude certain folders. Has the ability to rename folders from MMDD to MMDDYY, for archives more then a year old.


Find IP 1.0 - Made this little one cause I was being portscanned and wanted to see if the IP in the firewall matched anyone on site. Not 100% since you usually dont add full IP's (mostly x.x.*.*) but still useful. Just setup the paths and run it in a shell.


Hate-Love 1.1 - Remember the rape script where people could vote for a user to be kicked off? I got tired of readding our hated siteops all the time, so I edited it and made it into 2 scripts; hate.sh and love.sh. Users can vote on site once a week. Most loved user gets 1GB and most hated looses 1GB. Kudos to the creator of the rape script for the idea. I dont remember who you are. Also included are 2 scripts ment to be executed in crontab once a week. Setting up a trigger in your botscript will make it announce in irc. Trigger is LOVEHATE:, but you can change that ofcourse. If you dont want announces, simply remark the lines in all 4 scripts that has LOVEHATE: in em.




sol-bouncer 1.0 - An entry bouncer for Solaris Intel and Solaris Sparc systems.
Based on f00-bouncer by Tanesha Team sources. That version was for linux only though while this works on Solaris. No ssl support (yet?).



public_undupe_v1.0.1 - This is a public undupe script. By public I mean that anybody on the site channel can undupe any file. This is good if you want to enable your users to undupe files if no siteop or users with C flag are around. Due to the fact that the command is done on the channel - everybody can see it and report if there is an abuse. This script is meant for people who are experienced with Linux/Unix.


logtrimmer_pack_v1.0 - This is my public release of the logtrimmer script. The pack consists of two "modules":
1. logtrimmer.sh --> takes care of glftpd & zipscript logs, apart from "dirlog and "dupelog"
2. dirlogtrimmer --> A binary which takes care of the dirlog by rotating it, in order words it keeps it limited by a defined file size by removing the oldest entries.



predircheck_v1.0.1 - This is a pre_dir_check script, which is being executed by glftpd before the dir is created. The script doesn't allow dir creation if if it was uploaded before or was nuked/unnuked or if it is mp3 release it can check its year (from the dir layout) and deny dir creation unless it's the current year.


mvpack_v1.0.1 by eur0dance - Our guest scripter this week, eur0dance, brings us this package. Why dont we let him speak for himself?
Hi everybody :) I've finally decided to release some script for public, especially that it's not a common one, and I'd say pretty much unique. I am talking about the pack of scripts to handle music videos (mvids) on glftpd sites. First of all, the scripts have been tested on Debian, Slackwere and RedHat, so I think it should work find on any kind of Linux. About BSD systems, there shouldn't be a problem to get them to work as well. (that is if they don't work well there, which I am not sure about). I decided to call the whole pack as "mvpack", so here it is: mvpack_v1.0. The zipscripts I've personally tested the pack with were zipscript-c v0.5.x and project-zc v0.6.x by Dark0n3.
Read this README for full set of features.





Cruxis's dynamic ip replacer script v0.9 - Another one from Cruxis I forgot to add. If you have a dynamic IP and some sort of Dynamic DNS service you might want this one. It pings your DNS name and sets pasv_addr to glftpd.conf automatically. Works best if you have some program that updates your DynDNS with your current IP.
UPDATE: I found out you can use your DNS name in pasv_addr, so this script isnt necessary. I'll leave it here never the less.



RMLN - Cruxis made this one before I even knew what a shell script was. Its a very small little script that removes symlinks without deleting the actual folder. Add it to glftpd.conf and run from ftp client. You have to have delete permissions to the symlinks ofcourse.




SpaceOnDevice v0.85f (FreeBSD) - This is a script that will keep your site as tidy as possible. Features include:

- Making of dated dirs.
- Making of dated archives.
- Moving of old dated dirs into correct dated archive.
- Chmod'ing of older dirs, to prevent backfilling.
- Automatically updating of dirlog when dated dirs are moved.
- Auto-deleting of old dirs, both dated and non-dated dirs, if a certain defined MB-limit of free space is reached.
- Auto-cleaning of dirlog when dirs are deleted.
- Touching of special defined dirs/files, to prevent deletion (like affil-dirs and pre-dirs).
- Made for both slow (<10mbit) and fast (>100mbit) sites in mind.
- Supports soft-updates.
- Supports large disks/RAID arrays, as well as multi-disk sites.

Even though the script has an included installer, this script is not meant for newbees. You *really* need to know what you are doing before setting this up. And don't trust the installer - go thru the config - at least twice.
A new version is being worked on, but no ETA is yet determined.



NfoView v0.1 (FreeBSD & Linux) - A very small script that will show text-files in the status-window of the clients ftp-program. Tested with FBSD4.4/4.5 and RedHat Linux.


ChangeMAC v0.1 (FreeBSD) - A tiny CRON-script which will change the MAC-address of your network card.
Useful for ppl wanting to hide their bw-usage.
Mail and sitebot support added.



U-Compare v0.1 (FreeBSD & Linux) - This script compares the list of users in your passwd file, and the list of users listen in /ftp-data/users. It then reports the differences it can find.


getNFO v0.3 (FreeBSD & Linux) - This script is made for zip/0day dirs, and will extract the *real* release NFO from the zip(s) in the dir. The script is (loosely) based on the original nfoextract.sh script found in the latest/last(?) project-zs, which is imho lacking
and a bit buggy.



ShowFree v.02 (FreeBSD & Linux) - Made for lazy people, or for admins wanting to support ppl using ftp-browsers not automatically showing the status information, this script will add a file, dir or a .message with info on how much space is left in the section.


ADSL Connection Tester v0.1 (OpenBSD) - An "always on" kind of script for OBSD. Will test your connection to internet, and establish the connection again if it's down.


PSXC-IMDB v0.7 (BSD & Linux) - IMDB-scripts are in the wind, so I could not help myself but to make one myself. I have not looked at a lot of other scripts, but those I've seen have multiple files, and require tcl or perl in order to work. Not this one. One file only, and normal shell commands are all that is required.
Highly configurable with output in bot-format, and/or in text-format to be viewed when entering dirs. An extra (beta) feature which works on all releases (not just movies) is the ability to extract release dates from .nfo-files. Use and enjoy.



MP3-Genre-Group v0.4 (FreeBSD & Linux) - Another tiny CRON-script. This one will change the group ID of mp3-dirs to reflect the genre of the music inside.




QTrial 1.0.2 by QwErTy256 - "I was using many trialscript, but i didnt saw any good. So i write my own, and now i give this to your hands." - Turran Note: Didnt see any good? How rude =)


Approve 2.0.1 by ragusallad - This script makes users (usually siteops) able to approve a release from irc. And yes, I know, there was no 1.0 release =)
Thx to QwErTy256 for adding support for dated dirs



Request 1.1 by ragusallad - This is a small script that allows users to make a requestdir by a command in the sitechan. Just for fun --ragusallad


Incomplete-List by t0xic - incomplete-list.sh replacement for project-zs (included in the sitewho.tgz package available on dark0n3's website).
Some people complained about nested INCOMPLETES not reporting properly -- this is my own solution to the problem -- t0xic