https://github.com/avluis/iroffer
iroffer-dinoex mod XDCC Bot with cUrl, GeoIP, Ruby & UPnP support in a container~
https://github.com/avluis/iroffer
docker iroffer iroffer-dinoex
Last synced: 6 months ago
JSON representation
iroffer-dinoex mod XDCC Bot with cUrl, GeoIP, Ruby & UPnP support in a container~
- Host: GitHub
- URL: https://github.com/avluis/iroffer
- Owner: avluis
- Created: 2017-04-08T03:50:32.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-03-03T19:16:32.000Z (almost 8 years ago)
- Last Synced: 2025-06-04T20:48:19.783Z (7 months ago)
- Topics: docker, iroffer, iroffer-dinoex
- Language: Shell
- Homepage: https://hub.docker.com/r/avluis/iroffer/
- Size: 42 KB
- Stars: 5
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# avluis/iroffer
An IRC File Server using DCC: [iroffer mod dinoex][iroffer-dinoex]
Compiled with cUrl, GeoIP, Ruby & UPnP.
### Usage:
```bash
docker create --name=iroffer \
--net=host \
-v :/config \
-v :/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][rizon].
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:
```bash
docker create --name=iroffer \
--net=host \
-v :/config \
-v :/files \
-v :/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:
```bash
docker create --name=iroffer \
--net=host \
-e :/alt-path/config \
-v :/alt-path/config \
-v :/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`
[iroffer-dinoex]: https://github.com/dinoex/iroffer-dinoex
[rizon]: https://www.rizon.net