Fetch indicators from feeds in various formats to push towards the storage of your choice.
Feeds requires JDK 11 or greater
CLI
docker run -v $CONF:/opt/sightingdb/conf/application.conf aig787/feeds:$VERSION
Compose
version: "3"
services:
feeds:
build: .
volumes:
- $CONF:/opt/sightingdb/conf/application.conf
Run ./gradlew run
from the project root directory
Class | Description |
---|---|
com.devo.feeds.output.LoggingOutputFactory | Log attributes to stdout |
com.devo.feeds.output.SyslogOutputFactory | Send attributes to syslog Configuration:
|
com.devo.feeds.output.DevoOutputFactory | Send attributes to Devo Configuration:
|
com.devo.feeds.output.KafkaOutputFactory | Send attributes and events to Kafka Configuration
|
Arbitrary outputs can be configured if they are present on the classpath. Custom outputs require a fromConfig
method
that takes a typesafe config as input and returns a subclass
of Output. See
the Kafka output for an example.
Class | Description |
---|---|
com.devo.feeds.storage.InMemoryAttributeCacheFactory | Cache attributes in memory, cache is lost on restarts |
com.devo.feeds.storage.FilesystemAttributeCacheFactory | Cache attributes on disk Configuration:
|
Arbitrary caches can be configured if they are present on the classpath. Custom caches require a fromConfig
method
that takes a typesafe config as input and returns a subclass
of AttributeCache.
Example configuration
feeds {
misp {
url = "https://localhost:4433"
}
# Number of http client threads
http.client.threads = 5
# How often to update feeds
feedUpdateInterval = "1 hour"
# How often to check config in MISP
mispUpdateInterval = "1 hour"
cache {
class = com.devo.feeds.storage.FilesystemAttributeCacheFactory
path = /tmp/feeds
}
outputs: [
{
class = com.devo.feeds.output.LoggingOutputFactory
},
{
class = com.devo.feeds.output.DevoAttributeOutputFactory
host = usa.elb.relay.logtrust.net
port = 443
chain = chain.crt
keystore = devo-keystore.pkcs12
keystorePass = changeme
}
]
}