Menu

Tree [r47] /
 History

HTTPS access


File Date Author Commit
 AuthModule.py 2008-11-22 pstatic [r35] authentication support, finally
 DDCCDBot.py 2008-12-03 pstatic [r36] drop support for multiserver from the xdcc fron...
 DDCCDWebServer.py 2008-12-03 pstatic [r37] no longer need to supply a nick for a file list
 DataManager.py 2008-08-12 pstatic [r17] restructure some of the internal data structures
 FileListMonitor.py 2008-11-19 pstatic [r31] only try to share normal files
 HashCache.py 2008-11-19 pstatic [r30] bugfixes; switch ddccd-server over to python's ...
 README 2008-11-21 pstatic [r34] add some stuff to the README
 compat.py 2008-11-19 pstatic [r30] bugfixes; switch ddccd-server over to python's ...
 dcc-send-file.py 2009-01-24 pstatic [r40] offset for dcc-send-file.py
 dccplus.txt 2009-01-26 pstatic [r47]
 ddccd-server-2.cfg 2008-03-29 pstatic [r1] initial import
 ddccd-server.cfg 2008-11-22 pstatic [r35] authentication support, finally
 ddccd-server.py 2009-01-24 pstatic [r42] clean some stuff up
 ddccd-xdcc.cfg 2008-12-03 pstatic [r38] add url listing, deprecate privmsg/notice listing
 ddccd-xdcc.py 2009-01-24 pstatic [r41] kill some getters
 ideas 2008-08-12 pstatic [r16] rename some stuff
 protocol.txt 2008-11-22 pstatic [r35] authentication support, finally
 utils.py 2008-12-03 pstatic [r36] drop support for multiserver from the xdcc fron...

Read Me

===== Introduction to DDCCD =====

DDCCD is a distributed IRC fileserver. Traditionally, IRC bots are pretty inflexible; DDCCD takes the standard bot design, and splits it into an IRC frontend and a fileserver backend.

This has a lot of benefits:
	* Resiliency: With a redundant configuration, you can significantly improve your server's uptime, both by duplicating backends and by duplicating IRC bots.
	* Load balancing: Requests are automatically distributed between all the servers which have a file.
	* Security: The IRC-facing part of the server is minimal, reducing your exposure to security risks

===== Quick Start =====

1. Modify ddccd-server.cfg and ddccd-xdcc.cfg to suit your needs
2. Run ddccd-server.py on each fileserver:
	$ ./ddccd-server.py ddccd-server.cfg
3. Run ddccd-xdcc.py on some machine:
	$ ./ddccd-xdcc.py ddccd-xdcc.cfg

===== Config files =====
The configuration files for DDCCD are the standard python-style config files; they look a bit like INI files. (TODO: add info about the file format)