comix

Comix is a raspberry pi based, daily comic calendar. Configurable with many different comic sources.
Still a work in progress
Sources
- XKCD
- Dilbert
Building
Go Modules
Make sure you have this environment variable exported. export GO111MODULE=on
Commands
Building
- Locally
make build, outputs ./comix binary
- For raspberry pi
make build-pi, outputs ./comix-pi binary
Running
note: all commands can use the --verbose flag for debug output.
- Download comics and display them:
./comix-pi downloader --source xkcd
- Version
./comix verion
Testing
- Run redis
docker run -d redis -p 6379
- Run tests
REDIS_ADDRESS=127.0.0.1:6379 make test
Example image output

Command and Control
Hackers often use this approach when taking control of computers. They create their own CnC server which issues commands to its slaves.
Our program uses a similar approach for handling automatic updates. You can run the CnC server with:
./comix cnc
It will default to port 1337, but you can change it like so:
./comix cnc --port 4242
The following environment variables also must be set:
COMIX_REDISADDRESS
COMIX_REDISDBNUMBER
COMIX_UPDATEDISTRIBUTIONURL
With this running, you can update the command you run on your raspberry pi to (be sure to change ip address!):
./comix-pi downloader --source xkcd --cnc 127.0.0.1:1337 --client-id 123
The CnC service can also be run with docker.
COMIX_UPDATEDISTRIBUTIONURL=https://s3.amazonaws.com/some-bucket docker-compose up