* VirusTotal: Save the file scan report and URL scan report to json log
* VT: Add field is_new to json log (both url and file scans)
* VT: Don't save to json log when request is already queued in VirusTotal
* Docker caching for devel
Use more caching features of Docker for building the devel image.
Downsite of this is that for users who heavily build the image it will
eat up more disk space then before.
But I think think only developers are affected here and all others will
pull from the registry.
A regular docker cleanup on the machines will solve this problem.
* Upgrade python to python3
The main Dockerfile will build now a python3 based image.
A copy of the old python2 file is still available for further testing.
* setup.py work in progress. should install library now.
* add incremental for versioning
* Fix 'ls -d' switches (worked wrong way around) and capitalisation in error message.
The data_path has changed to etc/. I'm not really happy with this but
I didn't had a better idea since we allow configs to be in ., etc/ and
/etc. Maybe we wanna changes this behaviour when we have a stable docker
release.
If the userdb.txt is not found Cowrie will load a default list.
The parser is now also a bit less error prone when parsing this file.
Some developers have different file permissions in their source
directory. This could lead to unusable Docker images.
We enforce now the correct file permissions during our Docker build.
* Docker devel image
TL;DR Providing an docker image for local development.
I wanted to have a container which has all the needed tools installed
while developming (eg flake8, pytest, pydev, etc).
The intermediate container `devel` can now be used by PyCharm as a
Remote Interpreter and for debugging. No need to setup any local test
environments because we can now use a pre-release image.
Build the container with `docker build --target devel -t cowrie:devel
.` from within the project root directory.
While building the container I encountered a bug with the
`python:2-alpine3.8` image and (at least, could be other OS also beeing
affected) the macOS kernel trying to use `socket.SO_REUSEPORT`.
After some testing I found out that the problem is just this image. So I
could have just gone and downgraded to `python:2-alpine3.7` or switched over to
`alpine:latest`. But none of them really convinced me after some
research so I decided to switch the Docker image to
`debian:stable-slim`. The resulting image is now slightly bigger then
our previous image but should give a better experience while
debugging stuff. Bonus point is that we have a functional installation
description for Debian based systems.
* New path for twisteds dropin.cache
* Fix travis flake8 path
flake8 was checking the wrong path inside travis.
Problem here is if the path is not existing flake8 will return 0 and
makes the test pass.
Due to this fakt we have now some flake8 errors which I will handle now.
* Fix flake8 E128
* Full Docker support for output plugins
cowrie makes more fun if there are also all the output plugins available
inside the docker image. And now they are!
* Fixing wrong requirements: snappy vs python-snappy
snappy: “SnapPy is a package for studying the topology and geometry of 3-manifolds, with a focus on hyperbolic structures. It is based on the SnapPea kernel written by Jeff Weeks.”
python-snappy: “Python bindings for the snappy compression library from Google.”
We want python-snappy. ;)
* MAINTAINER argument deprecated in Docker
The MAINTAINER keyword is deprecated in Docker and is replaced with the
new syntax.
Also it is now attached to the right container and not to one we
actually throw away.