Skip to content
/ iroffer Public

iroffer-dinoex mod XDCC Bot with cUrl, GeoIP, Ruby & UPnP support in a container~

Notifications You must be signed in to change notification settings

avluis/iroffer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

avluis/iroffer

An IRC File Server using DCC: iroffer mod dinoex
Compiled with cUrl, GeoIP, Ruby & UPnP.

Usage:

docker create --name=iroffer \
--net=host \
-v <path to config>:/config \
-v <path to files>:/files \
-p 30000-31000:30000-31000 \
avluis/iroffer

Parameters:

  • -v /config Where we look for mybot.config
  • -v /files Local path for files
  • -p 30000-31000 The port(s)

Initial Run:

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.

Generating a password hash:

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

Networking:

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.

Organizing Files:

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.

Environment Variables:

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.

Important:

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.

Additional commands:

Version: docker run -it avluis/iroffer -v
Help: docker run -it avluis/iroffer -?|-h
Bypass EntryPoint: docker run -it --entrypoint /bin/bash avluis/iroffer

About

iroffer-dinoex mod XDCC Bot with cUrl, GeoIP, Ruby & UPnP support in a container~

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages