FS - XChat DCC File Server Plug-in
About
A multi-threaded IRC DCC file server written in Python as a plug-in for the XChat IRC client.
Features
- Crossplatform (Windows + Linux tested)
- Multi-threaded for better performance
- User banning
- Catagories (via top most directorys from the FS home directory)
- Wildcard and regular expression searching
Usage
Server XChat Commands:
/fshelp
/fsstart /fstop
/fsstatus
(home directory, root share folder)
/fssethome {dir}
/fsgethome
(refresh interval for rebuilding shared file list)
/fsrefresh
/fssetrefresh {seconds}
/fsgetrefresh
(Banned user management) /fsaddban {user}
/fsremoveban {user}
/fsclearbans
/fslistbans
/fsisbanned {user}
(debug)
/fstest {message} - simulate PM from 'Nick'
/fshelp
/fsstart /fstop
/fsstatus
(home directory, root share folder)
/fssethome {dir}
/fsgethome
(refresh interval for rebuilding shared file list)
/fsrefresh
/fssetrefresh {seconds}
/fsgetrefresh
(Banned user management) /fsaddban {user}
/fsremoveban {user}
/fsclearbans
/fslistbans
/fsisbanned {user}
(debug)
/fstest {message} - simulate PM from 'Nick'
Client Private Message Commands:
!help - Server name/version, list user commands and syntax
!cat - List catagories
!get {file#} - Initiate DCC send of file
!cd - Change directory. Limmits search to a certain path.
!cancel / !stop - Cancels listing of search results.
!search {Search_Expression} - simple wild card search of files
!search [-r] [(+/-)c CategoryA [,CategoryB...]] Search_Expression
+r - Search_Expression is a regular expression
-c or +c - Explicitly include or exclude a category or list list of categories
!help - Server name/version, list user commands and syntax
!cat - List catagories
!get {file#} - Initiate DCC send of file
!cd - Change directory. Limmits search to a certain path.
!cancel / !stop - Cancels listing of search results.
!search {Search_Expression} - simple wild card search of files
!search [-r] [(+/-)c CategoryA [,CategoryB...]] Search_Expression
+r - Search_Expression is a regular expression
-c or +c - Explicitly include or exclude a category or list list of categories
Notes
Use /fsstart to start the server. Because the plug-in script is multi-threaded, you must use /fsstop to stop the server before uninstalling the plug-in or closing XChat. This allows the script to stop and cleanup the threads. Not doing so will cause XChat to crash in both cases.
Download
Version History
-
Build 8: Added !cd command to navigate directories. Now reports search result count before the timed listing of results. Added !stop and !cancel commands to cancel the listing of these results. Silent update: Fixed bug in RegEx. Also made RegEx search mode parameter be -r and +r.
(Current Build)
-
Build 7: Fixed path name slashes to be compatible with Linux and some small bugs.
FS.py (43 KB) Version 1.1.1.7
MD5 Sum: 339d91332e5cce85ff4fac4f630f9ba5
-
Build 6: Fixed broken /fssethome command. Fixed /fsaddban to properly parse multiple Id's properly. /fslistban now shows <None> if empty. Search results now shows file size (cached with file list build). Implemented regular expression searching. Now saves/loads configuration file (homedir and Ban list).
FS.py (41 KB) Version 1.1.1.6 (beta)
MD5 Sum: 7914a5996531e73ff634eef4655f843c
-
Build 5: Wild card searching with the ability to explicitly specify a category or list of categories to include/exclude from the search. Regular expressions not implemented, but next on the list. A bit testing is needed.
FS.py (35 KB) Version 1.1.1.5 (beta)
MD5 Sum: 5d4cefc41564f0324aff98a0f293596e
-
Build 4: Early beta stage. Propper wild card searching (that does travers directories). Automatic timed share file list refreshing. No regular expressions or catagory search commands yet, although you can specify the directory with the search mask, like so:
!search \music\mudvayne*
FS.py (33 KB) Version 1.1.1.4 (beta)
MD5 Sum: 3b7ee80c923f8108cc6175b0ac4c67f8
-
Build 1: Alpha stage. Lists full directory of files in search, and doesnt traverse any directories of Home dir.
FS.py (16 KB) Version 1.1.0.1 (alpha)
MD5 Sum: 2c2505668c4f8e829053d73c9dd73103