An IRC File Server using DCC: iroffer mod dinoex
Compiled with cUrl, GeoIP, Ruby & UPnP.
docker create --name=iroffer \
--net=host \
-v <path to config>:/config \
-v <path to files>:/files \
-p 30000-31000:30000-31000 \
avluis/iroffer
-v /config
Where we look formybot.config
-v /files
Local path for files-p 30000-31000
The port(s)
Upon first run, you will find a sample config named mybot.config
.
By default (with the sample config) the bot will connect to the Rizon IRC Network.
This is done as a way to verify that the bot can connect.
Make your edits to mybot.config
and re-run. Pay special attention to volumes and their file paths!
If mybot.config
already exists, then that file will be loaded instead.
If you need to hash a password, run docker run -it avluis/iroffer -c
.
Follow the prompts to generate your password hash.
You can include the path to your config if desired (appends the hash to file):
docker run -it avluis/iroffer -c /config/mybot.config
You don't need to open every port defined above.
Just create as many as you think you will need (x amount of connections).
Make certain to start container with host flag; NAT & DCC don't mix very well.
You can try enabling UPnP mode if you can't enable host networking for your container.
Additional volumes can be mounted and then defined in the mybot.config
file if needed.
This is done by appending additional volume mount flags when creating/running this image.
Ex:
docker create --name=iroffer \
--net=host \
-v <path to config>:/config \
-v <path to files>:/files \
-v <path to more-file>:/more-files
-p 30000-31000:30000-31000 \
avluis/iroffer
You can add as many volume mounts as you need.
This image makes use of environment variables to allow for customization if needed.
These variables match what is used on the sample mybot.config
while building the image.
The only variable to pay special attention to is IROFFER_CONFIG_DIR
.
This variable takes care of pointing iroffer to mybot.config
so it is recommended to leave as is.
If your volume mounting structure differs from default then you need to define this variable:
docker create --name=iroffer \
--net=host \
-e <alt-path to config>:/alt-path/config \
-v <alt-path to config>:/alt-path/config \
-v <path to files>:/files \
-p 30000-31000:30000-31000 \
avluis/iroffer
The same applies to IROFFER_DATA_DIR
, IROFFER_LOG_DIR
and several other variables.
Make certain that you update the paths in mybot.config
when setting IROFFER_DATA_DIR
and IROFFER_LOG_DIR
.
You will also need to update the path entries for pidfile
, logfile
, statefile
and xdcclistfile
.
Make certain to updates the paths for any features that you have enabled as well.
If you don't care for logs, you can disable them by prefixing #
to logfile
in mybot.config
(line 23).
This applies to all other features -- so make certain to look over mybot.config
before adding files or joining a channel.
Version: docker run -it avluis/iroffer -v
Help: docker run -it avluis/iroffer -?|-h
Bypass EntryPoint: docker run -it --entrypoint /bin/bash avluis/iroffer