Fserve manager


This feature is meant to provide a graphic interface to the /fserve command and to add some extra usefull features to it. The command's name says it all, it is a "file server", and it's purpose is to share files over IRC. As you should know, this is one of the countless ways of spreading virus, not to mention that it also allows people to share what they shouldn't, therefore, I have to say this: use this feature at your own risk. I'm not responsible for any data that you may share, and neither the consequences of such act. Saying this, I can now talk about the contents. Once opened the fserve manager, you have the following tabs to setup:


Main

On the left side, you have statistics regarding the use of the file server. You can reset them by clicking the "reset" button and update them using the "refresh" button.

On the right side, you have some options to setup.

Enable Fserve manager

Mark/unmark this checkbox to enable/disable this fserve manager

Reply to !List trigger

This trigger is used to request information on any fserve present on a channel. The information sent is the advertisement that you can configure in the advertisement tab

Reply to @find trigger

This trigger is used to search for specific filenames on any fserve present on a channel

Reply to !myqueue trigger

This trigger is used to request the manager to tell you your current queued files and their respective position in queue.

Note: This trigger is only evaluated at fserve windows.

Log events to file

Mark/unmark this checkbox to enable/disable the fserve manager log. Use the /fservlog command to display the log

Max sends per session

Here you can set the limit of simultaneous sends each user can request

Total max sends

Here you can set the limit of global simultaneous sends

Max queues per session

Here you set the limit of queued files each user can get

Total max queues

Here you set the limit of global queues

Total max sessions

Here you set the limit of simultaneous sessions.


Triggers

This is where you can add/edit/remove the fserve triggers. Triggers are messages sent by users to request an fserve session with you. By right-clicking the list of triggers, you get a popup menu where you can add, edit and remove trigger. When adding a new trigger, you'll get a secondary dialog box where you have to specify the following parameters:

Trigger

The name of the trigger (example: !fserv-snake). This is what the users will message you to request a session

Folder

The folder containing the files you want to share

Welcome file

A text file that will be displayed to the users when opening each session. This settings is optional

Mode

The type of message users have to send containing the trigger (private ctcp/notice or channel action/message)

Accept triggers from...

Here you choose the type of users who can use the trigger (owners, ops, halfops, voices, regulars)

Channels

The channels where the triggers will be accepted

Example:
Lets suppose you add a trigger named "!fserv-snake", sharing folder "c:\emule\incoming", welcome file "c:\welcome.txt", method "channel message", available on channels #anaconda and #sct, and only accept requests from ops on those channels. When someone who have op status type on one of the previous channels "!fserv-snake", the script will open a fserve session with that user, sharing the files contained in the folder "c:\emule\incoming" and displaying the content of the file "c:\welcome.txt" when the session starts.


Lists

There are 4 types of lists. You can access each one of them by selecting them in the combo box on the right. Each list can be edited using the popup menu that is displayed when right-clicking the list. The following is a description of each list:

Bans

If you want to ban someone from your fserve, you can add his/her hostmask to the bans list, and he/she will get banned from the server

Queues

This list lets you manipulate the queued files (remove them, moving files up/down in the list and clear them all)

Note: In order to users be able to get their queued files, they have to remain in at least one of the channel you have joined. Otherwise, the manager will advance to the next file in queue. This will prevent the manager from trying to establish a DCC connection with users who are not online.

Active servers

This list contains information about each fserve session. You can terminate fserve sessions here

Active sends

This list contains information about each files being sent. You can terminate the transfers here


Advertisement

Here you can set the advertisement the fserve sends to all channels you are present. You have to est the following parameters:

Title

The title of the advertisement

Note

A shor note to use on the advertisement

News

New you might want to share through the advertisement

Delay

The delay used in the timer that repeats the advertisement

Advertisement

The advertisement text. You can use the following tags in order to provice updated information:

<title> - returns the fserve title that you can set in the "title" field
<note> - returns the fserve note that you can set in the "note" field
<new> - returns the fserve new that you can set in the "new" field
<triggers> - returns a list of all the triggers you have defined
<accessed> - returns the total number of times your fserve was accessed
<files> - returns the total number of files your fserve has sent
<bytes> - returns the total number of bytes your fserve has sent
<failed> - returns the total number of failed sends
<bans> - returns the total number of times your fserve has banned someone
<queues> - returns the total number of times your fserve has queued a file
<cps> - returns the CPS record and associated nickname
<lt> - the "less than" character.
<gt> - the "greater than" character.

Example:
Lets assume you set the delay for 5 minutes and the message as "[<title> is online] [Note: <note>] [New: <new>] [Triggers: <triggers>]". Lets also assume that the title is "My shitty fileserver", the note is "I'm sick of writting an help system that no one will ever read", the new is "Shit happens" and you have the following triggers defined: !fserv-snake, !fserv-47 and !fserv-lhamu. Each 5 minutes, you'll send this message to all channels you are in:
* <insert-your-nickname-here> [My shitty fileserver is online] [Note: I'm sick of writting an help system that no one will ever read] [New: Shit happens] [Triggers: /msg <channel> !fserv-snake, /ctcp <channel> !fserv-47, /msg <channel> !fserv-lhamu]