diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml deleted file mode 100644 index 13ba6ac..0000000 --- a/.github/workflows/packages.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: Compile packages - -on: - push: - branches: '*' - pull_request: - branches: 'master' - -jobs: - turris_mox: - name: Turris MOX (aarch64_cortex-a53) - # The type of runner that the job will run on - runs-on: ubuntu-latest - - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - name: Install dependencies - run: sudo apt-get update; sudo apt-get -y install build-essential git ncurses-dev - - name: Run a one-line script - run: git clone -b v6.2.4 --depth 1 'https://gitlab.nic.cz/turris/turris-build' "$GITHUB_WORKSPACE"/../turris-build - - name: Update feeds.conf for local repo - run: cd "$GITHUB_WORKSPACE"/../turris-build; sed -i "s|^src-git cesnet.*|src-git cesnet $GITHUB_WORKSPACE|" feeds.conf - - name: Prepare build for Turris MOX - run: cd "$GITHUB_WORKSPACE"/../turris-build; ./compile_pkgs prepare_tools -t mox - - name: Compile luci-app-ipfixprobe package - run: cd "$GITHUB_WORKSPACE"/../turris-build/build/; make package/luci-app-ipfixprobe/compile -j$(nproc) - - name: Compile nemea-modules package - run: cd "$GITHUB_WORKSPACE"/../turris-build/build/; make package/nemea-modules/compile -j$(nproc) - - name: Collect artifacts - run: mkdir /tmp/mox-cesnet; cp "$GITHUB_WORKSPACE/../turris-build/build/bin/packages/aarch64_cortex-a53/cesnet"/* /tmp/mox-cesnet/ - - uses: actions/upload-artifact@v2 - with: - name: turris-mox-packages - path: /tmp/mox-cesnet/ - - tplink: - name: TP-Link Archer C7 (mips_24k) - # The type of runner that the job will run on - runs-on: ubuntu-latest - - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - name: Install dependencies - run: sudo apt-get update; sudo apt-get -y install build-essential git ncurses-dev wget rsync - - name: Download SDK - run: cd ..; wget -O /dev/stdout "https://downloads.openwrt.org/releases/22.03.3/targets/ath79/generic/openwrt-sdk-22.03.3-ath79-generic_gcc-11.2.0_musl.Linux-x86_64.tar.xz" | tar -xJf - - - name: Update feeds.conf for local repo - run: cd "$GITHUB_WORKSPACE"/../openwrt-sdk-*-generic_gcc-*_musl.Linux-x86_64; echo "src-git cesnet $GITHUB_WORKSPACE" >> feeds.conf.default - - name: Prepare build for TPLINK Archer C7 - run: cd "$GITHUB_WORKSPACE"/../openwrt-sdk-*-generic_gcc-*_musl.Linux-x86_64; ./scripts/feeds update -a; ./scripts/feeds install -a - - name: Compile luci-app-ipfixprobe package - run: cd "$GITHUB_WORKSPACE"/../openwrt-sdk-*-generic_gcc-*_musl.Linux-x86_64; make defconfig; make package/luci-app-ipfixprobe/compile -j$(nproc) - - name: Collect artifacts - run: mkdir /tmp/tplink-cesnet; cp "$GITHUB_WORKSPACE"/../openwrt-sdk-*-generic_gcc-*_musl.Linux-x86_64/bin/packages/mips_24kc/cesnet/* /tmp/tplink-cesnet/ - - uses: actions/upload-artifact@v2 - with: - name: tplink-packages - path: /tmp/tplink-cesnet/ - diff --git a/README.md b/README.md deleted file mode 100644 index 076f7ec..0000000 --- a/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# NEMEA OpenWrt feed - -## Description - -This is an OpenWrt package feed containing primarily -[ipfixprobe](https://github.com/CESNET/ipfixprobe) IP flow exporter (monitoring -probe) and some [NEMEA system](https://github.com/CESNET/NEMEA) components to -process the flow data. - -The big picture is shown in the following figure. OpenWrt devices/routers can -be deployed as monitoring probes that aggregate information about flowing -packets and extract useful information for monitoring and analysis systems. The -output of ipfixprobe running on the OpenWrt device are IP flow data that can be -exported in IPFIX data format and sent to a flow collector (storage, analysis, -intrusion/anomaly detection, visualization). - -![Infrastructure with NEMEA and OpenWRT router](doc/openwrt-scheme.png) - - -## Usage (of this feed) - -To build and use the contained packages, add the following line to the `feeds.conf` file -in the OpenWrt buildroot (https://github.com/openwrt/openwrt): - -``` -src-git nemea https://github.com/CESNET/Nemea-OpenWRT -``` - -To install package definitions, run: - -``` -./scripts/feeds update nemea -./scripts/feeds install -a -p nemea -``` - -The ipfixprobe and NEMEA packages should appear in `make menuconfig` now. - -Package build can be started, e.g., using: - -`make package/luci-app-ipfixprobe/compile` - -`make package/ipfixprobe/compile` - -(to build luci (GUI) plugin and ipfixprobe) - -The results will be present in `./bin/packages/` directory of the buildroot. - -Note: the build process might be found in the set up -[Github action](https://github.com/CESNET/Nemea-OpenWRT/blob/master/.github/workflows/packages.yml#L37). - diff --git a/doc/openwrt-scheme.png b/doc/openwrt-scheme.png deleted file mode 100644 index 3a87cb2..0000000 Binary files a/doc/openwrt-scheme.png and /dev/null differ diff --git a/lang/python/python-nemea-pytrap/Makefile b/lang/python/python-nemea-pytrap/Makefile deleted file mode 100644 index ff559ec..0000000 --- a/lang/python/python-nemea-pytrap/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=nemea-pytrap -PKG_VERSION:=0.12.2 -PKG_RELEASE:=1 - -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=33388c81f12754e4288d630a18f0c136d5bac67b4bfc37a86aa82e2381f78cb5 - -PKG_MAINTAINER:=Tomas Cejka -PKG_LICENSE:=BSD-3-Clause - -include $(TOPDIR)/feeds/packages/lang/python/pypi.mk -include $(INCLUDE_DIR)/package.mk -include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk - -define Package/python3-nemea-pytrap - SECTION:=net - CATEGORY:=Network - SUBMENU:=NEMEA - TITLE:=Python extension of the NEMEA project - URL:=https://github.com/CESNET/Nemea-Framework - DEPENDS:=+python3 +nemea-framework +libpthread - VARIANT:=python3 -endef - -define Package/python3-nemea-pytrap/description - The pytrap module is a native Python extension that - allows for writing NEMEA modules in Python. -endef - -$(eval $(call Py3Package,python3-nemea-pytrap)) -$(eval $(call BuildPackage,python3-nemea-pytrap)) -$(eval $(call BuildPackage,python3-nemea-pytrap-src)) diff --git a/libs/nemea-framework/Config.in b/libs/nemea-framework/Config.in deleted file mode 100644 index 68d0cba..0000000 --- a/libs/nemea-framework/Config.in +++ /dev/null @@ -1,15 +0,0 @@ -menu "Configuration" - depends on PACKAGE_nemea-framework - -config NEMEA_LIBTRAP_BUFFER_SIZE - int "Message buffer size" - help - Set size (in bytes) of libtrap buffer for messages, default is 5000. - default 5000 - -config NEMEA_LIBTRAP_IFC_MAX_CLIENTS - int "Output interface max clients" - help - Set number of clients that can connect to output interface, default is 8. - default 8 -endmenu diff --git a/libs/nemea-framework/Makefile b/libs/nemea-framework/Makefile deleted file mode 100644 index de48666..0000000 --- a/libs/nemea-framework/Makefile +++ /dev/null @@ -1,92 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=nemea-framework -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/CESNET/nemea-framework.git -PKG_SOURCE_DATE:=2021-07-29 -PKG_SOURCE_VERSION:=e4cf87e746015e37502508361831ab7209191437 -PKG_MIRROR_HASH:=4b259690d8a53ec3499e2183a025ffa873d2ab93bc76a034c4c4a8d8c2e21785 - -PKG_MAINTAINER:=Tomas Cejka -PKG_LICENSE:=BSD-3-Clause - -PKG_FIXUP:=autoreconf -PKG_INSTALL:=1 -PKG_BUILD_PARALLEL:=1 - -include $(INCLUDE_DIR)/package.mk - -define Package/nemea-framework - SECTION:=net - CATEGORY:=Network - SUBMENU:=NEMEA - DEPENDS:=+libpthread +librt +libstdcpp +libopenssl - TITLE:=NEMEA system libraries - URL:=https://github.com/CESNET/nemea-framework -endef - -define Package/nemea-framework/description - This package contains a system-independent library for the Nemea. - It is system for network traffic analysis and anomaly detection. -endef - -define Package/nemea-framework/config - source "$(SOURCE)/Config.in" -endef - -TARGET_CFLAGS += \ - -ffunction-sections \ - -fdata-sections - -CONFIGURE_VARS += \ - ac_cv_linux_vers=$(LINUX_VERSION) \ - ac_cv_header_libusb_1_0_libusb_h=no \ - ac_cv_netfilter_can_compile=no - -CONFIGURE_ARGS += \ - --enable-shared \ - --enable-static \ - --disable-python \ - --disable-pycommon \ - --disable-silent-rules \ - --disable-example \ - --disable-tests \ - LIBS=-lm \ - --bindir=\$$(bindir)/nemea \ - --with-build-cc="$(HOSTCC)" \ - --with-ifcbuffersize=$(CONFIG_NEMEA_LIBTRAP_BUFFER_SIZE) \ - --with-ifcmaxclients=$(CONFIG_NEMEA_LIBTRAP_IFC_MAX_CLIENTS) \ - --without-libxml2 - -MAKE_FLAGS += \ - CCOPT="$(TARGET_CFLAGS) -I$(BUILD_DIR)/linux/include" - -define Build/InstallDev - $(INSTALL_DIR) $(2)/bin - $(CP) $(PKG_BUILD_DIR)/unirec/ur_processor.sh $(2)/bin/ - - $(INSTALL_DIR) $(1)/usr/include - $(CP) $(PKG_INSTALL_DIR)/usr/include/libtrap* $(1)/usr/include/ - $(INSTALL_DIR) $(1)/usr/include/nemea-common - $(CP) $(PKG_INSTALL_DIR)/usr/include/nemea-common* $(1)/usr/include/ - $(INSTALL_DIR) $(1)/usr/include/unirec/ - $(CP) $(PKG_INSTALL_DIR)/usr/include/unirec* $(1)/usr/include/ - - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.{a,so*} $(1)/usr/lib/ - - $(INSTALL_DIR) $(1)/usr/lib/pkgconfig - $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig -endef - -define Package/nemea-framework/install - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/ - - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/nemea/trap_stats $(1)/usr/bin/nemea/ -endef - -$(eval $(call BuildPackage,nemea-framework)) diff --git a/luci-app-ipfixprobe/Makefile b/luci-app-ipfixprobe/Makefile deleted file mode 100644 index d4383a3..0000000 --- a/luci-app-ipfixprobe/Makefile +++ /dev/null @@ -1,37 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-ipfixprobe -PKG_VERSION:=0.3 -PKG_SOURCE_DATE=2023-03-17 -PKG_RELEASE:=1 - -PKG_MAINTAINER:=Tomas Cejka -PKG_LICENSE:=GPL-3.0 - -include $(INCLUDE_DIR)/package.mk - -define Package/luci-app-ipfixprobe - SECTION:=luci - CATEGORY:=LuCI - SUBMENU:=3. Applications - TITLE:=IPFIX exporter profiles - URL:=https://github.com/CESNET/NEMEA-OpenWrt - MAINTAINER:=Tomas Cejka - DEPENDS:=+ipfixprobe +luci-base -endef - -define Package/luci-app-ipfixprobe/description - This package allows you to configure and inspect IPFIX exporter ipfixprobe using LuCI. -endef - -define Build/Compile -endef - -define Package/luci-app-ipfixprobe/install - $(INSTALL_DIR) $(1)/www - $(CP) ./htdocs/* $(1)/www/ - $(INSTALL_DIR) $(1)/ - $(CP) ./root/* $(1)/ -endef - -$(eval $(call BuildPackage,luci-app-ipfixprobe)) diff --git a/luci-app-ipfixprobe/htdocs/luci-static/resources/view/services/ipfixprobe.js b/luci-app-ipfixprobe/htdocs/luci-static/resources/view/services/ipfixprobe.js deleted file mode 100644 index 85d1f50..0000000 --- a/luci-app-ipfixprobe/htdocs/luci-static/resources/view/services/ipfixprobe.js +++ /dev/null @@ -1,139 +0,0 @@ -'use strict'; -'require ui'; -'require uci'; -'require view'; -'require form'; -'require validation'; -'require tools.widgets as widgets'; - -return view.extend({ - render: function(data) { - var m, s, o; - - m = new form.Map('ipfixprobe', _('IPFIX exporter')); - - s = m.section(form.TypedSection, 'profile', 'Export profiles', 'List of exporting processes'); - s.anonymous = false; - s.addremove = true; - - s.tab('main', 'Main options'); - s.tab('ipfix', 'IPFIX Collector'); - s.tab('advanced', 'Advanced options'); - - o = s.taboption('main', form.Flag, 'enabled', _('Enabled')); - o.default = '0'; - o.rmempty = false; - - o = s.taboption('main', widgets.DeviceSelect, 'interfaces', _('Monitored interface')); - o.multiple = true; - o.noaliases = true; - o.rmempty = false; - - o = s.taboption('main', form.DynamicList, 'plugins', _('List of plugins'), - _('Enable one or more processing plugins. Plugin with parameters must be entered as a custom string, see manual of ipfixprobe for details - https://github.com/CESNET/ipfixprobe/')); - o.rmempty = false; - o.value('basic', 'Basic'); - o.value('bstats', 'BSTATS (burst packet stats)'); - o.value('dns', 'DNS'); - o.value('dnssd', 'DNS-Service Discovery'); - o.value('dnssd;txt', 'DNS-Service Discovery with extexded TXT'); - o.value('http', 'HTTP'); - o.value('idpcontent', 'IDPCONTENT (initial data packets content)'); - o.value('netbios', 'Netbios'); - o.value('ntp', 'NTP'); - o.value('ovpn', 'OpenVPN'); - o.value('passivedns', 'Passive DNS (dumped DNS data)'); - o.value('phists', 'PHISTS (packet histograms - payload sizes and interpacket times)'); - o.value('pstats', 'PSTATS (Per-Packet-Information)'); - o.value('quic', 'QUIC'); - o.value('rtsp', 'RTSP'); - o.value('sip', 'SIP'); - o.value('smtp', 'SMTP'); - o.value('ssdp', 'SSDP'); - o.value('tls', 'TLS'); - o.value('wg', 'WireGuard'); - - o = s.taboption('main', form.Flag, 'split_biflow', _('Split biflow')); - o.default = '0'; - o.rmempty = false; - - o = s.taboption('ipfix', form.Value, 'ipfix_host', _('IPFIX Collector address')); - o.datatype = 'host'; - - o = s.taboption('ipfix', form.Value, 'ipfix_port', _('IPFIX Collector port')); - o.datatype = 'port'; - - o = s.taboption('ipfix', form.Value, 'ipfix_mtu', _('IPFIX Collector MTU')); - o.datatype = 'uinteger'; - o.default = '1452'; - o.rmempty = false; - - o = s.taboption('ipfix', form.Flag, 'ipfix_udp', _('Use UDP')); - o.default = '1'; - o.rmempty = false; - - o = s.taboption('ipfix', form.Value, 'link', _('Observation ID'), _('Identification of link')); - o.datatype = 'uinteger'; - o.default = '1'; - o.rmempty = false; - - o = s.taboption('ipfix', form.Value, 'dir', _('Interface'), _('Identification of interface')); - o.datatype = 'uinteger'; - o.default = '0'; - o.rmempty = false; - - o = s.taboption('advanced', form.Value, 'active_timeout', _('Active timeout'), - _('Split long flows into at most N seconds flow records.')); - o.datatype = 'uinteger'; - o.default = '300'; - - o = s.taboption('advanced', form.Value, 'inactive_timeout', _('Inactive timeout'), - _('Export a flow record after N seconds of inactivity.')); - o.datatype = 'uinteger'; - o.default = '30'; - - o = s.taboption('advanced', form.Value, 'raw_blocks', _('Number of blocks'), - _('Number of allocated blocks for capturing from NIC.')); - o.datatype = 'uinteger'; - o.default = '2'; - - o = s.taboption('advanced', form.Value, 'raw_packetsinblock', _('Packets in block'), - _('Number of packets in a block read from NIC.')); - o.datatype = 'uinteger'; - o.default = '10'; - - o = s.taboption('advanced', form.Value, 'cache_size', _('Size of flow cache'), - _('Number of entries given by an exponent 2**N.')); - o.datatype = 'and(uinteger,min(4),max(30))'; - o.default = '10'; - - o = s.taboption('advanced', form.Value, 'cache_line', _('Size of flow cache line'), - _('Number of entries given by an exponent 2**N.')); - o.datatype = 'and(uinteger,max(30))'; - o.default = '2'; - - o = s.taboption('advanced', form.Flag, 'respawn', _('Respawn'), - _('Enable respawn of crashed process.')); - o.default = '1'; - - o = s.taboption('advanced', form.Value, 'respawn_threshold', _('Respawn threshold'), - _('Timeout in seconds for restarting a service after it closes.')); - o.datatype = 'uinteger'; - o.default = '3600'; - - o = s.taboption('advanced', form.Value, 'respawn_timeout', _('Respawn timeout'), - _('Maximum time in seconds to wait for a process respawn to complete.')); - o.datatype = 'uinteger'; - o.default = '5'; - - o = s.taboption('advanced', form.Value, 'respawn_retry', _('Respawn retry'), - _('Maximum number of times to attempt respawning before giving up, 0 means never stop trying to respawn.')); - o.datatype = 'uinteger'; - o.default = '5'; - - o = s.taboption('advanced', form.Flag, 'core', _('Core dumps')); - o.default = '0'; - - return m.render(); - } -}) diff --git a/luci-app-ipfixprobe/root/usr/share/luci/menu.d/luci-app-ipfixprobe.json b/luci-app-ipfixprobe/root/usr/share/luci/menu.d/luci-app-ipfixprobe.json deleted file mode 100644 index 766bd14..0000000 --- a/luci-app-ipfixprobe/root/usr/share/luci/menu.d/luci-app-ipfixprobe.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "admin/services/ipfixprobe": { - "title": "IPFIX probe", - "order": 50, - "action": { - "type": "view", - "path": "services/ipfixprobe" - }, - "depends": { - "acl": [ "luci-app-ipfixprobe" ] - } - } -} diff --git a/luci-app-ipfixprobe/root/usr/share/rpcd/acl.d/luci-app-ipfixprobe.json b/luci-app-ipfixprobe/root/usr/share/rpcd/acl.d/luci-app-ipfixprobe.json deleted file mode 100644 index 39e68e1..0000000 --- a/luci-app-ipfixprobe/root/usr/share/rpcd/acl.d/luci-app-ipfixprobe.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-ipfixprobe": { - "description": "Grant UCI access for luci-app-ipfixprobe", - "read": { - "uci": [ "ipfixprobe" ], - }, - "write": { - "uci": [ "ipfixprobe" ] - } - } -} diff --git a/net/ipfixprobe/Config.in b/net/ipfixprobe/Config.in deleted file mode 100644 index 43d039a..0000000 --- a/net/ipfixprobe/Config.in +++ /dev/null @@ -1,32 +0,0 @@ -menu "Flow cache configuration" - config IPFIXPROBE_FLOW_CACHE_SIZE - int "Flow cache size" - help - Set default size of flow cache as an exponent to the power of 2 number. Default is 14. - default 14 - config IPFIXPROBE_FLOW_CACHELINE_SIZE - int "Flow cache line size" - help - Set default size of flow line, accept exponent to the power of 2 number. Default is 2. - default 2 -endmenu -menu "Plugins" - config IPFIXPROBE_PCAP - bool "Enable PCAP (requires libpcap)" - depends on PACKAGE_ipfixprobe - help - Enable pcap input plugin to load PCAP files and capture on NIC. There is "raw" input plugin available by default. - default n - config IPFIXPROBE_QUIC - bool "Enable QUIC processing plugin (requires libopenssl)" - depends on PACKAGE_ipfixprobe - help - Enable QUIC plugin to decrypt the protocol header and export information. - default y - config IPFIXPROBE_NEMEA - bool "Enable UniRec output plugin (requires NEMEA)" - depends on PACKAGE_ipfixprobe - help - Enable UniRec plugin to export IP flows via NEMEA (TRAP) interface in UniRec format. - default n -endmenu diff --git a/net/ipfixprobe/Makefile b/net/ipfixprobe/Makefile deleted file mode 100644 index 64269ad..0000000 --- a/net/ipfixprobe/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=ipfixprobe -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/CESNET/ipfixprobe.git -PKG_SOURCE_DATE:=2023-10-30 -PKG_SOURCE_VERSION:=v4.11.1 -PKG_MIRROR_HASH:=446b60f12ae9a01e93b47ff84c088932f1e931fe6e76eccd13b48792969a25e8 - -PKG_MAINTAINER:=Tomas Cejka -PKG_LICENSE:=BSD-3-Clause - -PKG_FIXUP:=autoreconf -PKG_INSTALL:=1 -PKG_BUILD_PARALLEL:=1 - -include $(INCLUDE_DIR)/package.mk - -define Package/ipfixprobe - SECTION:=net - CATEGORY:=Network - DEPENDS:=+libstdcpp +libatomic +IPFIXPROBE_QUIC:libopenssl +IPFIXPROBE_PCAP:libpcap +IPFIXPROBE_NEMEA:nemea-framework - TITLE:=IPFIX flow exporter - URL:=https://github.com/CESNET/ipfixprobe -endef - -define Package/ipfixprobe/description - The ipfixprobe tool is a flow exporter that creates bi-directional IP flows (biflows) from packets captured via network interface - and and exports them to IPFIX flow collector. It is capable of plugins to enrich IPFIX data with application information and statistics - of network communication - connections. -endef - -define Package/ipfixprobe/config - source "$(SOURCE)/Config.in" -endef - -define Package/ipfixprobe/conffiles -/etc/config/ipfixprobe -endef - -CONFIGURE_ARGS += \ - --enable-shared \ - --enable-static \ - --disable-silent-rules \ - --with-flowcachesize=$(CONFIG_IPFIXPROBE_FLOW_CACHE_SIZE) \ - --with-flowlinesize=$(CONFIG_IPFIXPROBE_FLOW_CACHELINE_SIZE) - -ifeq ($(CONFIG_IPFIXPROBE_PCAP),y) - CONFIGURE_ARGS += --with-pcap -endif - -ifeq ($(CONFIG_IPFIXPROBE_QUIC),y) - CONFIGURE_ARGS += --with-quic -endif - -ifeq ($(CONFIG_IPFIXPROBE_NEMEA),y) - CONFIGURE_ARGS += --with-nemea -endif - -define Package/ipfixprobe/install - $(INSTALL_DIR) $(1)/usr/bin/ - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ipfixprobe $(1)/usr/bin/ipfixprobe - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ipfixprobe_stats $(1)/usr/bin/ipfixprobe_stats - - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/init.d/ipfixprobe $(1)/etc/init.d/ - - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_CONF) ./files/config/ipfixprobe $(1)/etc/config/ -endef - -$(eval $(call BuildPackage,ipfixprobe)) - diff --git a/net/ipfixprobe/files/config/ipfixprobe b/net/ipfixprobe/files/config/ipfixprobe deleted file mode 100644 index 9e082c3..0000000 --- a/net/ipfixprobe/files/config/ipfixprobe +++ /dev/null @@ -1,45 +0,0 @@ -# NEMEA ipfixprobe -# Copyright (C) 2022-2023 CESNET - -# Available options for profiles, 'list' options can be used repeatedly: -# list interfaces - list of NIC, e.g., eth0, enp0s1, ... -# list plugins - list of plugin names, see 'ipfixprobe -h process' for help -# ipfix_host - address of IPFIX collector -# ipfix_port - port of IPFIX collector, default: 4739 -# ipfix_udp - 1 to export to IPFIX collector via UDP, 0 via TCP -# cache_size - size of flow cache as exponent of 2, default: 1024 -# cache_line - size of flow cache line as exponent of 2, default: 4 -# active_timeout - active timeout in seconds, default: 300 -# inactive_timeout - inactive timeout in seconds, default: 30 -# link - unsigned integer as identification of link/router -# dir - unsigned integer as identification of direction/NIC -# split_biflow - 1 to split biflow to uniflow, default: 0 to use biflow -# ipfix_mtu - size of max transmission unit (MTU), default: 1452 -# -# respawn - enable respawn of crashed process -# respawn_threshold - timeout in seconds for restarting a service after it closes -# respawn_timeout - max time in seconds to wait for a process respawn to complete -# respawn_retry - max number of attempts to respawn before giving up, 0 means newer stop trying to respawn -# core - size of coredump, '0' - not generate, 'unlimited' - unlimited size -# -# enabled - 1 to enable start daemon instance for that profile, NOTE: if profile is directly specified for start script -# (example: '/etc/init.d/ipfixprobe start wan profileX profileY lan'), this option is ignored - -config profile 'lan' - option enabled '0' - list interfaces 'br-lan' - list plugins 'basicplus' - list plugins 'dns' - list plugins 'http' - list plugins 'pstats' - list plugins 'ovpn' - list plugins 'wg' - list plugins 'dnssd;txt' - list plugins 'ssdp' - list plugins 'tls' - list plugins 'quic' - option ipfix_host '127.0.0.1' - option ipfix_port '4739' - option ipfix_udp '1' - option link '1' - option dir '1' diff --git a/net/ipfixprobe/files/init.d/ipfixprobe b/net/ipfixprobe/files/init.d/ipfixprobe deleted file mode 100755 index db1fb95..0000000 --- a/net/ipfixprobe/files/init.d/ipfixprobe +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/sh /etc/rc.common -# ipfixprobe, IPFIX flow exporter -# Copyright (C) 2022-2023 CESNET - -# -# How to use: -# /etc/init.d/ipfixprobe start - start all enabled profiles -# /etc/init.d/ipfixprobe stop - stop all profiles -# /etc/init.d/ipfixprobe enable - start all enabled profiles on startup -# /etc/init.d/ipfixprobe disable - disable all profiles on startup -# /etc/init.d/ipfixprobe restart - stop and start all enabled profiles -# /etc/init.d/ipfixprobe reload - stop and start all enabled profiles -# - -START=50 -STOP=50 - -USE_PROCD=1 - -NAME=ipfixprobe -PROG=/usr/bin/ipfixprobe - -validate_section_ipfixprobe() -{ - uci_load_validate ipfixprobe ipfixprobe "$1" "$2" \ - 'enabled:bool:0' \ - 'interfaces:list(string)' \ - 'plugins:list(string)' \ - 'split_biflow:bool:0' \ - 'ipfix_host:host:127.0.0.1' \ - 'ipfix_port:port:4739' \ - 'ipfix_udp:bool:1' \ - 'ipfix_mtu:uinteger:1452' \ - 'link:uinteger' \ - 'dir:uinteger' \ - 'active_timeout:uinteger:300' \ - 'inactive_timeout:uinteger:30' \ - 'raw_blocks:uinteger:2' \ - 'raw_packetsinblock:uinteger:10' \ - 'cache_size:uinteger:10' \ - 'cache_line:uinteger:2' \ - 'respawn:bool:1' \ - 'respawn_threshold:uinteger:3600' \ - 'respawn_timeout:uinteger:5' \ - 'respawn_retry:uinteger:5' \ - 'core:bool:0' -} - -handle_interface() { - local ifc="$1" - local blocks="$2" - local pktinblock="$3" - procd_append_param command -i "raw;i=$ifc;p=${pktinblock};b=${blocks}" -} - -handle_plugins() { - local plugin="$1" - procd_append_param command -p "$plugin" -} - -ipfixprobe_profile() -{ - local PROFILE="$1" - - [ "$2" = 0 ] || { - echo "Validation failed" - return 1 - } - - if [ "$enabled" -eq 0 ]; then - logger -p daemon.notice -t ipfixprobe "ipfixprobe profile $PROFILE disabled" - return 0 - else - logger -p daemon.notice -t ipfixprobe "ipfixprobe profile $PROFILE enabled" - fi - - procd_open_instance "$PROFILE" - - procd_set_param command "$PROG" - - config_list_foreach "$PROFILE" interfaces handle_interface "${raw_blocks}" "${raw_packetsinblock}" - config_list_foreach "$PROFILE" plugins handle_plugins "" - - [ "${ipfix_udp}" -eq 1 ] && UDP_PARAM=";u" - [ "${split_biflow}" -eq 1 ] && SPLIT_PARAM=";S" - - procd_append_param command -o "ipfix;h=$ipfix_host;p=${ipfix_port};I=${link};d=${dir}$UDP_PARAM;m=${ipfix_mtu}" - procd_append_param command -s "cache;s=${cache_size};l=${cache_line};a=${active_timeout};i=${inactive_timeout}$SPLIT_PARAM" - - procd_set_param limits core="${core}" - procd_set_param stdout 1 - procd_set_param stderr 1 - procd_close_instance -} - -start_service() -{ - config_load "$NAME" - config_foreach validate_section_ipfixprobe profile ipfixprobe_profile -} - -service_triggers() { - procd_add_reload_trigger "$NAME" - procd_add_validation validate_section_ipfixprobe -} diff --git a/net/nemea-modules/Makefile b/net/nemea-modules/Makefile deleted file mode 100644 index cf5e6ea..0000000 --- a/net/nemea-modules/Makefile +++ /dev/null @@ -1,141 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=nemea-modules -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/CESNET/nemea-modules.git -PKG_SOURCE_DATE:=2021-07-29 -PKG_SOURCE_VERSION:=baddf9238cc85819282c1e055b183bd5d7745d08 -PKG_MIRROR_HASH:=6f726876fb4bf5ae32536b9951a6d7115300c68201027f7122dd376c7453d26f - -PKG_MAINTAINER:=Tomas Cejka -PKG_LICENSE:=BSD-3-Clause - -PKG_FIXUP:=autoreconf -PKG_INSTALL:=1 -PKG_BUILD_PARALLEL:=1 - -include $(INCLUDE_DIR)/package.mk - -define Package/nemea-modules/Default - SECTION:=net - CATEGORY:=Network - SUBMENU:=NEMEA - DEPENDS:=+nemea-framework +libpthread +librt - TITLE:=NEMEA module - URL:=https://github.com/CESNET/nemea-modules -endef - -define Package/nemea-logreplay - $(call Package/nemea-modules/Default) - TITLE+=logreplay - DEPENDS+=+libstdcpp -endef - -define Package/nemea-flowcounter - $(call Package/nemea-modules/Default) - TITLE+=flowcounter -endef - -define Package/nemea-traffic_repeater - $(call Package/nemea-modules/Default) - TITLE+=traffic_repeater -endef - -define Package/nemea-topn - $(call Package/nemea-modules/Default) - TITLE+=topn -endef - -define Package/nemea-logger - $(call Package/nemea-modules/Default) - TITLE+=logger -endef - -define Package/nemea-merger - $(call Package/nemea-modules/Default) - TITLE+=merger -endef - -define Package/nemea-email_reporter - $(call Package/nemea-modules/Default) - TITLE+=email_reporter - DEPENDS+=+python3 +python3-nemea-pytrap -endef - -define Package/nemea-supervisorl - $(call Package/nemea-modules/Default) - TITLE+=supervisorl -endef - -TARGET_CFLAGS += \ - -ffunction-sections \ - -fdata-sections - -CONFIGURE_VARS += \ - ac_cv_linux_vers=$(LINUX_VERSION) \ - ac_cv_header_libusb_1_0_libusb_h=no \ - ac_cv_netfilter_can_compile=no - -CONFIGURE_ARGS += \ - --enable-shared \ - --enable-static \ - LIBS=-lm --bindir=/usr/bin/nemea --disable-silent-rules \ - --with-build-cc="$(HOSTCC)" - -MAKE_FLAGS += \ - CCOPT="$(TARGET_CFLAGS) -I$(BUILD_DIR)/linux/include" - -define Build/Configure - $(call Build/Configure/Default) -endef - -define Package/nemea-flowcounter/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/flowcounter $(1)/usr/bin/nemea/ -endef -define Package/nemea-logreplay/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/logreplay $(1)/usr/bin/nemea/ -endef -define Package/nemea-traffic_repeater/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/traffic_repeater $(1)/usr/bin/nemea/ -endef -define Package/nemea-topn/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/topn $(1)/usr/bin/nemea/ -endef -define Package/nemea-logger/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/logger $(1)/usr/bin/nemea/ -endef -define Package/nemea-merger/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/merger $(1)/usr/bin/nemea/ -endef -define Package/nemea-email_reporter/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/email_reporter.py $(1)/usr/bin/nemea/ -endef -define Package/nemea-supervisorl/install - $(INSTALL_DIR) $(1)/etc/init.d/ - $(INSTALL_DIR) $(1)/etc/config/ - $(INSTALL_BIN) ./files/init.d/nemea-supervisorl $(1)/etc/init.d/ - $(INSTALL_CONF) ./files/config/nemea-supervisor $(1)/etc/config/nemea-supervisor -endef - -define Package/nemea-supervisorl/conffiles -/etc/config/nemea-supervisor -endef - -$(eval $(call BuildPackage,nemea-flowcounter)) -$(eval $(call BuildPackage,nemea-logreplay)) -$(eval $(call BuildPackage,nemea-traffic_repeater)) -$(eval $(call BuildPackage,nemea-topn)) -$(eval $(call BuildPackage,nemea-logger)) -$(eval $(call BuildPackage,nemea-merger)) -$(eval $(call BuildPackage,nemea-email_reporter)) -$(eval $(call BuildPackage,nemea-supervisorl)) - diff --git a/net/nemea-modules/files/config/nemea-supervisor b/net/nemea-modules/files/config/nemea-supervisor deleted file mode 100644 index 86c5d06..0000000 --- a/net/nemea-modules/files/config/nemea-supervisor +++ /dev/null @@ -1,26 +0,0 @@ -# NEMEA ipfixprobe -# Copyright (C) 2016 CESNET - -# -# Available options for profiles: -# path - path to NEMEA module -# params - parameters given to NEMEA module (including -i IFCSPEC) -# enabled - module is enabled true/false -# respawn - enable respawn of crashed process -# respawn_threshold - timeout in seconds for restarting a service after it closes -# respawn_timeout - maximum time in seconds to wait for a process respawn to complete -# respawn_retry - maximum number of times to attempt respawning before giving up, 0 means newer stop trying to respawn -# core - size of generated core file, "0" - don't generate file, "unlimited" - unlimited file size -# - -config module ipfixprobe - option path /usr/bin/ipfixprobe - option params "-x 192.168.0.2:4739 -u -p basic,http,dns -L 1 -D 0 -I br-lan" - option respawn 1 - option respawn_threshold 3600 - option respawn_timeout 5 - option respawn_retry 5 - option core 0 - option enabled 0 - - diff --git a/net/nemea-modules/files/init.d/nemea-supervisorl b/net/nemea-modules/files/init.d/nemea-supervisorl deleted file mode 100755 index db21e34..0000000 --- a/net/nemea-modules/files/init.d/nemea-supervisorl +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/sh /etc/rc.common -# NEMEA supervisor lightweight -# Copyright (C) 2019 CESNET - -# -# How to use module: -# /etc/init.d/nemea-supervisorl start - start all enabled module -# /etc/init.d/nemea-supervisorl start A B C - stop all running module and start A, B and C module only -# /etc/init.d/nemea-supervisorl stop - stop all module -# /etc/init.d/nemea-supervisorl stop A C - stop A and C module only -# /etc/init.d/nemea-supervisorl enable - start all enabled module on startup -# /etc/init.d/nemea-supervisorl disable - disable all module on startup -# /etc/init.d/nemea-supervisorl restart - stop and start all enabled module -# /etc/init.d/nemea-supervisorl reload - stop and start all enabled module -# /etc/init.d/nemea-supervisorl status - print status -# /etc/init.d/nemea-supervisorl status_json - print status -# /etc/init.d/nemea-supervisorl status_jsonp - print status -# - -START=50 -STOP=50 - -USE_PROCD=1 - -CONFIG_FILE=nemea-supervisor - -. /lib/functions.sh - -EXTRA_COMMANDS="$EXTRA_COMMANDS status status_json status_jsonp" -EXTRA_HELP=" status Print list of modules and their status - status_json Print JSON object with list and status of modules - status_jsonp Print JSONP output, SIoTSupervisorlStatus() with list and status of modules" - -PIDFILE_PREFIX=/var/run/nemea- -PIDFILE_SUFFIX=.pid - -start_module() -{ - local MODULE="$1" - local OPTION="$2" - - config_get BINPATH "$MODULE" path "" - config_get PARAMS "$MODULE" params "" - config_get CORE "$MODULE" core "" - config_get ENABLED "$MODULE" enabled "" - config_get RESPAWN "$MODULE" respawn "" - config_get RESPAWN_THRESHOLD "$MODULE" respawn_threshold "" - config_get RESPAWN_TIMEOUT "$MODULE" respawn_timeout "" - config_get RESPAWN_RETRY "$MODULE" respawn_retry "" - config_get CORE "$MODULE" core "" - - - [ "${ENABLED:-0}" -eq 0 -a "$OPTION" == "only_enabled" ] && { - logger -p daemon.notice -t "nemea-supervisorl" "skipping disabled NEMEA module $MODULE" - return - } - - logger -p daemon.notice -t "nemea-supervisorl" "starting NEMEA module $MODULE" - - procd_open_instance "$MODULE" - procd_set_param command "$BINPATH" $PARAMS - [ "${RESPAWN:-1}" -eq 1 ] && procd_set_param respawn "${RESPAWN_THRESHOLD:-3600}" "${RESPAWN_TIMEOUT:-5}" "${RESPAWN_RETRY:-5}" - procd_set_param limits core="${CORE:-0}" - procd_set_param stdout 1 - procd_set_param stderr 1 - procd_set_param pidfile "${PIDFILE_PREFIX}${MODULE}${PIDFILE_SUFFIX}" - procd_close_instance -} - -start_service() -{ - config_load "$CONFIG_FILE" - - if [ $# -eq 0 ]; then - # start all (enabled) moduless - config_foreach start_module module only_enabled - else - # start only specified module - for i in "$@"; do - start_module "$i" - done - fi -} - -module_status() -{ - local config="$1" - local custom="$2" - config_get ENABLED "$config" enabled "" - config_get MODULEPATH "$config" path "" - config_get MODULEPARAMS "$config" params "" - - echo -n "$config " - [ "$ENABLED" = 1 ] && echo -n enabled || echo -n disabled - pid="`cat "${PIDFILE_PREFIX}${config}${PIDFILE_SUFFIX}" 2>/dev/null`" - if [ -z "$pid" ]; then - # if pidfile does not exist, try to find the process with pgrep: - pid="`pgrep -f "^${MODULEPATH} ${MODULEPARAMS}$" 2>/dev/null`" - fi - if [ -n "$pid" -a -d /proc/"$pid" ]; then - echo " running" - else - echo " stopped" - fi -} - -status() -{ - config_load "$CONFIG_FILE" - - config_foreach module_status module -} - -status_json() -{ - config_load "$CONFIG_FILE" - if /etc/init.d/nemea-supervisorl enabled; then - enabled=true - else - enabled=false - fi - echo -e "{\n \"enabled\": $enabled,\n \"modules\": {" - - first=true - config_foreach module_status module | while read line; do - if [ "$first" = false ]; then - echo "," - else - first=false - fi - echo "$line" | sed 's/enabled/"enabled": true,/; -s/disabled/"enabled": false,/; -s/running/"running": true/; -s/stopped/"running": false/; -s/^\([^ ]*\) \(.*\)/ "\1": {\2}/;' | tr -d '\n' - done - - echo -e "\n }\n}" -} - -status_jsonp() -{ - echo -n "SIoTSupervisorlStatus(" - status_json - echo ");" -} - diff --git a/net/nemea-modules/munin/README.md b/net/nemea-modules/munin/README.md deleted file mode 100644 index fab48ef..0000000 --- a/net/nemea-modules/munin/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# NEMEA munin plugins - -## Description - -This guide describes how to report ipfixprobe statistics by munin client on openwrt. - -## muninlite client - -Download and [install](https://trent.utfs.org/wiki/OpenWRT#muninlite) muninlite [client](https://sourceforge.net/projects/muninlite/) on openwrt. Then add the following functions to the `/usr/sbin/munin-node` file - -``` -flow_print_config() { - echo "graph_title captured flow ${PROFILE}" - FLOW_PLUGINS="basic http tls smtp sip ntp rtsp dns passivedns pstats ssdp dnssd ovpn idpcontent netbios bstats phists wg" - - echo -n "graph_order" - for i in ${FLOW_PLUGINS:-basic}; do - echo -n " ${i}" - done - echo - - echo "graph_args --base 1000 --lower-limit 0" - echo "graph_vlabel number of flows" - echo "graph_info This graph shows number of captured flows by ipfixprobe with profile ${PROFILE}." - echo "graph_category network" - - for i in ${FLOW_PLUGINS:-basic}; do - echo "${i}.label ${i}" - echo "${i}.draw LINE1" - echo "${i}.type COUNTER" - echo "${i}.min 0" - echo "${i}.info number of sent flows parsed by ${i} plugin in ${PROFILE} profile" - done -} - -flow_print_values() { - for i in `pgrep ipfixprobe`; do - /usr/bin/nemea/trap_stats -s /tmp/trap-*_${i}.sock -1 | tail -n +3 | \ - sed 's/^[\t ]*ID: [^,]*'${PROFILE}'\/\(basic\|http\|tls\|smtp\|sip\|ntp\|rtsp\|dns\|passivedns\|pstats\|ssdp\|dnssd\|ovpn\|idpcontent\|netbios\|bstats\|phists\|wg\)[^,]*,/ID: \1,/; tx; d; :x; s/ //g' | \ - awk -F, '{split($1,arr,":"); fld=arr[2]; split($4,arr,":"); printf("%s.value %s\n", fld, arr[2]);}' - done -} - -config_flow_wan() { - PROFILE="wan" - - flow_print_config -} - -fetch_flow_wan() { - PROFILE="wan" - - flow_print_values -} - -config_flow_lan() { - PROFILE="lan" - - flow_print_config -} - -fetch_flow_lan() { - PROFILE="lan" - - flow_print_values -} -``` - -add `flow_wan flow_lan` to the `PLUGINS` variable. Munin node should report data about `lan` and `wan` ipfixprobe profiles. - -## Other clients - -Setup on other munin clients like [this one](https://github.com/Maffsie/openwrt-munin-node) is done by copying `flow_lan` and `flow_lan` files to `plugins.d/` folder. - diff --git a/net/nemea-modules/munin/flow_lan b/net/nemea-modules/munin/flow_lan deleted file mode 100644 index 3727c46..0000000 --- a/net/nemea-modules/munin/flow_lan +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -PROFILE="lan" -FLOW_PLUGINS="basic http tls smtp sip ntp rtsp dns passivedns pstats ssdp dnssd ovpn idpcontent netbios bstats phists wg" - - -if [ "$1" == "config" ]; then - echo "graph_title captured flow ${PROFILE}" - - echo -n "graph_order" - for i in ${FLOW_PLUGINS:-basic}; do - echo -n " ${i}" - done - echo - - echo "graph_args --base 1000 --lower-limit 0" - echo "graph_vlabel number of flows" - echo "graph_info This graph shows number of captured flows by ipfixprobe with profile ${PROFILE}." - echo "graph_category network" - - for i in ${FLOW_PLUGINS:-basic}; do - echo "${i}.label ${i}" - echo "${i}.draw LINE1" - echo "${i}.type COUNTER" - echo "${i}.min 0" - echo "${i}.info number of sent flows parsed by ${i} plugin in ${PROFILE} profile" - done -fi - -for i in `pgrep ipfixprobe`; do - /usr/bin/nemea/trap_stats -s /tmp/trap-*_${i}.sock -1 | tail -n +3 | \ - sed 's/^[\t ]*ID: [^,]*'${PROFILE}'\/\(basic\|http\|tls\|smtp\|sip\|ntp\|rtsp\|dns\|passivedns\|pstats\|ssdp\|dnssd\|ovpn\|idpcontent\|netbios\|bstats\|phists\|wg\)[^,]*,/ID: \1,/; tx; d; :x; s/ //g' | \ - awk -F, '{split($1,arr,":"); fld=arr[2]; split($4,arr,":"); printf("%s.value %s\n", fld, arr[2]);}' -done diff --git a/net/nemea-modules/munin/flow_wan b/net/nemea-modules/munin/flow_wan deleted file mode 100644 index 112c934..0000000 --- a/net/nemea-modules/munin/flow_wan +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -PROFILE="wan" -FLOW_PLUGINS="basic http tls smtp sip ntp rtsp dns passivedns pstats ssdp dnssd ovpn idpcontent netbios bstats phists wg" - -if [ "$1" == "config" ]; then - echo "graph_title captured flow ${PROFILE}" - - echo -n "graph_order" - for i in ${FLOW_PLUGINS:-basic}; do - echo -n " ${i}" - done - echo - - echo "graph_args --base 1000 --lower-limit 0" - echo "graph_vlabel number of flows" - echo "graph_info This graph shows number of captured flows by ipfixprobe with profile ${PROFILE}." - echo "graph_category network" - - for i in ${FLOW_PLUGINS:-basic}; do - echo "${i}.label ${i}" - echo "${i}.draw LINE1" - echo "${i}.type COUNTER" - echo "${i}.min 0" - echo "${i}.info number of sent flows parsed by ${i} plugin in ${PROFILE} profile" - done -fi - -for i in `pgrep ipfixprobe`; do - /usr/bin/nemea/trap_stats -s /tmp/trap-*_${i}.sock -1 | tail -n +3 | \ - sed 's/^[\t ]*ID: [^,]*'${PROFILE}'\/\(basic\|http\|tls\|smtp\|sip\|ntp\|rtsp\|dns\|passivedns\|pstats\|ssdp\|dnssd\|ovpn\|idpcontent\|netbios\|bstats\|phists\|wg\)[^,]*,/ID: \1,/; tx; d; :x; s/ //g' | \ - awk -F, '{split($1,arr,":"); fld=arr[2]; split($4,arr,":"); printf("%s.value %s\n", fld, arr[2]);}' -done diff --git a/net/nemea-modules/patches/001-removemodules.patch b/net/nemea-modules/patches/001-removemodules.patch deleted file mode 100644 index 6666161..0000000 --- a/net/nemea-modules/patches/001-removemodules.patch +++ /dev/null @@ -1,279 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index ccc84c4..46f5f08 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,67 +1,14 @@ - ACLOCAL_AMFLAGS = -I m4 - --SUBDIRS= \ --aggregator \ --anonymizer \ --biflow_aggregator \ --debug_sender \ --device_classifier \ --email_reporter \ -+SUBDIRS=email_reporter \ -+traffic_repeater \ - flowcounter \ --flow_meter \ --ipv6stats \ --json_dump \ --json_replay \ --link_traffic \ - logger \ - logreplay \ - merger \ --mux \ --demux \ --natpair \ --prefix_tags \ --proto_traffic \ --pdns_exporter \ --report2idea \ --resolver \ --topn \ --traffic_repeater \ --unirec2json \ --endiverter \ --googletest_example -- --EXTRA_DIST = AUTHORS COPYING ChangeLog INSTALL NEWS README.md nfreader \ -- debian/README.Debian \ -- debian/changelog \ -- debian/compat \ -- debian/control \ -- debian/copyright \ -- debian/nemea-modules-dev.install \ -- debian/nemea-modules.install \ -- debian/patches \ -- debian/rules \ -- debian/source \ -- debian/watch -+topn - --if HAVE_LIBNF --SUBDIRS += nfreader --SUBDIRS += nfwriter --endif -- --if HAVE_LIBLUA --SUBDIRS += luamodule --endif -- --if HAVE_BISON --SUBDIRS += unirecfilter --if HAVE_OPENSSL --SUBDIRS += scalar-aggregator --endif --endif -- --if HAVE_LIBCURL --SUBDIRS += bloom_history --endif -+EXTRA_DIST = AUTHORS COPYING ChangeLog INSTALL NEWS README.md - - RPMDIR = RPMBUILD - -diff --git a/configure.ac b/configure.ac -index c6c3c92..13d859f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1,8 +1,8 @@ -- # -*- Autoconf -*- -+# -*- Autoconf -*- - # Process this file with autoconf to produce a configure script. - - AC_PREREQ([2.63]) --AC_INIT([nemea-modules], [2.18.1], [nemea@cesnet.cz]) -+AC_INIT([nemea-modules], [2.16.0], [nemea@cesnet.cz]) - AC_CONFIG_SRCDIR([flowcounter/flowcounter.c]) - AC_CONFIG_HEADERS([config.h]) - RELEASE=1 -@@ -44,11 +44,6 @@ AC_SUBST(BINDIR) - bashcompldir=${sysconfdir}/bash_completion.d - AC_SUBST(bashcompldir) - --deviceclassifierdatadir=${pkgdatadir}/device_classifier --AC_DEFINE_DIR(DEVICECLASSIFIERDATADIR, [deviceclassifierdatadir], [Path to SVM data files]) --AC_SUBST(DEVICECLASSIFIERDATADIR) --AC_SUBST(deviceclassifierdatadir) -- - RPM_REQUIRES= - RPM_BUILDREQ= - -@@ -61,6 +56,20 @@ AC_PROG_CPP - AC_PROG_INSTALL - AC_PROG_LN_S - AC_PROG_MAKE_SET -+ -+# Check the version of the compiler, if gcc is used and it is newer than 10, we -+# need -fcommon in CFLAGS -+if test x"$CC" = xgcc; then -+ AC_MSG_CHECKING([for version of compiler]) -+ compiler_version="`$CC -dumpversion`" -+ if test "$compiler_version" -ge 10 2>/dev/null ; then -+ CFLAGS="$CFLAGS -fcommon" -+ AC_MSG_RESULT([$compiler_version -> adding -fcommon into CFLAGS]) -+ else -+ AC_MSG_RESULT([$compiler_version]) -+ fi -+fi -+ - AC_CHECK_PROG(PYTHON, python3, python3, [""]) - AC_SUBST(PYTHON) - # Check for rpmbuild -@@ -82,9 +91,6 @@ esac], [repobuild=false]) - - AX_C_BIGENDIAN_CROSS - --AX_OPENMP([], [AC_MSG_ERROR([OpenMP was not found. Some modules need it (e.g. merger)])]) --AC_SUBST(OPENMP_CFLAGS) -- - backup_libs=${LIBS} - NONNEMEA_LIBS=${backup_libs} - AC_SUBST(NEMEA_FRAMEWORK_LIBS) -@@ -115,73 +121,13 @@ else - AC_DEFINE([HAVE_OPENSSL], [0], [Define to 1 if the openssl is available]) - fi - --AC_ARG_WITH([libcurl], -- [AS_HELP_STRING([--without-libcurl], [Force to disable libcurl])], -- [if test x$withval = xyes; then -- PKG_CHECK_MODULES([libcurl], [libcurl], [have_libcurl="yes"], [have_libcurl="no"]) -- fi], -- [PKG_CHECK_MODULES([libcurl], [libcurl], [have_libcurl="yes"], [have_libcurl="no"])]) -- --AM_CONDITIONAL([HAVE_LIBCURL], [test x$have_libcurl = xyes]) --if test x$have_libcurl = xyes; then -- AC_DEFINE([HAVE_LIBCURL], [1], [Define to 1 if the libcurl is available]) -- RPM_REQUIRES+=" libcurl" -- RPM_BUILDREQ+=" libcurl-devel" --else -- AC_DEFINE([HAVE_LIBCURL], [0], [Define to 1 if the libcurl is available]) --fi -- --AC_ARG_WITH([nfreader], -- AC_HELP_STRING([--without-nfreader], [Skip nfreader module.]), -- [if test "$withval" = "no"; then -- withnfreader="no" -- else -- withnfreader="yes" -- fi], [withnfreader="yes"]) -- --if test x${withnfreader} = xyes; then -- # Checks for libraries. -- AC_CHECK_HEADER(libnf.h, AC_CHECK_LIB(nf, lnf_open, [libnf=yes], -- [AC_MSG_WARN([libnf not found. The nfreader module will not be compiled.])] -- ), AC_MSG_WARN([libnf.h not found. The nfreader module will not be compiled.])) --fi -- --AM_CONDITIONAL(HAVE_LIBNF, test x${libnf} = xyes && test x${withnfreader} = xyes) --if [[ -z "$HAVE_LIBNF_TRUE" ]]; then --RPM_REQUIRES+=" libnf" --RPM_BUILDREQ+=" libnf-devel" --fi -- --AC_CHECK_PROG(BISON, bison, yes, [""]) --AC_CHECK_PROG(FLEX, flex, yes, [""]) -- --AM_CONDITIONAL(HAVE_BISON, test xyes = x${BISON} -a xyes = x${FLEX}) --if [[ -z "$HAVE_BISON_TRUE" ]]; then --RPM_BUILDREQ+=" bison" --RPM_BUILDREQ+=" flex" --fi - --AX_PROG_LUA([], [], [ --AX_LUA_HEADERS([], [AC_MSG_WARN([lua.h not found. The luamodule module will not be compiled.])]) --AX_LUA_LIBS([liblua=yes], AC_MSG_WARN([liblua not found. The luamodule module will not be compiled.])) --], [AC_MSG_WARN([lua not found. The luamodule module will not be compiled.])]) - --AM_CONDITIONAL(HAVE_LIBLUA, test x${liblua} = xyes) - --GTEST_HEADER="googletest/googletest/include/gtest/gtest.h" --AC_MSG_CHECKING(for googletest submodule) --AM_CONDITIONAL([HAVE_GOOGLETEST], [test -f $GTEST_HEADER]) --AS_IF([test -f googletest/googletest/include/gtest/gtest.h], -- [AC_DEFINE(HAVE_GOOGLETEST, 1, [Define to 1 if the googletest submodule is available]) AC_MSG_RESULT(yes)], -- [AC_MSG_WARN([ --The googletest submodule is not present, so such tests are omitted. To prevent skipping use command: --git clone --recurse-submodules or --git clone https://github.com/google/googletest.git])] --) - - - # Checks for header files. --AC_CHECK_HEADERS([arpa/inet.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/socket.h sys/time.h syslog.h unistd.h omp.h]) -+AC_CHECK_HEADERS([arpa/inet.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/socket.h sys/time.h syslog.h unistd.h]) - - # Checks for typedefs, structures, and compiler characteristics. - AC_HEADER_STDBOOL -@@ -224,69 +170,14 @@ AM_CONDITIONAL(MAKE_DEB, test x$DEBUILD != x) - - # list of all *.in (and Makefile.am) files to process by configure script - AC_CONFIG_FILES([Makefile -- aggregator/Makefile -- anonymizer/Makefile -- biflow_aggregator/Makefile -- bloom_history/Makefile -- debug_sender/Makefile -- device_classifier/Makefile -- device_classifier/libsvm/tools/train.sh -- device_classifier/libsvm/tools/binary.py -- device_classifier/libsvm/tools/grid.py -- device_classifier/libsvm/Makefile -- device_classifier/libsvm/data/Makefile -- device_classifier/libsvm/tools/Makefile - email_reporter/Makefile - flowcounter/Makefile -- flow_meter/Makefile -- googletest_example/Makefile -- ipv6stats/Makefile -- json_dump/Makefile -- json_replay/Makefile -- link_traffic/Makefile -- link_traffic/munin/Makefile -- link_traffic/link_traff2json.py - logger/Makefile - logreplay/Makefile - merger/Makefile - merger/test/Makefile -- mux/Makefile -- demux/Makefile -- natpair/Makefile -- nemea-modules.spec -- nfreader/Makefile -- pdns_exporter/Makefile -- prefix_tags/Makefile -- proto_traffic/Makefile -- proto_traffic/munin/Makefile -- report2idea/Makefile -- report2idea/amplificationdetector/Makefile -- report2idea/bruteforce/Makefile -- report2idea/dgadetection/Makefile -- report2idea/ddos/Makefile -- report2idea/dnstunnel/Makefile -- report2idea/haddrscan/Makefile -- report2idea/hoststats/Makefile -- report2idea/blacklist/Makefile -- report2idea/minerdetector/Makefile -- report2idea/sipbruteforce/Makefile -- report2idea/sshbruteforceml/Makefile -- report2idea/venom/Makefile -- report2idea/voipfraud/Makefile -- report2idea/vportscan/Makefile -- report2idea/warden_filer/Makefile -- resolver/Makefile -- scalar-aggregator/Makefile - topn/Makefile - traffic_repeater/Makefile -- unirec2json/Makefile -- unirecfilter/lib/Makefile -- unirecfilter/lib/liburfilter.pc -- unirecfilter/Makefile -- endiverter/Makefile -- nfwriter/Makefile -- luamodule/Makefile -- luamodule/tests/Makefile - ]) - - AC_SUBST(RPM_REQUIRES) diff --git a/net/nemea-siot/Config.in b/net/nemea-siot/Config.in deleted file mode 100644 index e69de29..0000000 diff --git a/net/nemea-siot/Makefile b/net/nemea-siot/Makefile deleted file mode 100644 index 4df354a..0000000 --- a/net/nemea-siot/Makefile +++ /dev/null @@ -1,121 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=nemea-siot -PKG_VERSION:=19-08.1 -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/CESNET/nemea-siot.git -PKG_SOURCE_VERSION:=dd3b9a73af68aa54857b38ed18320c5078f08523 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz - -PKG_MAINTAINER:=Tomas Cejka -PKG_LICENSE:=BSD-3-Clause -PKG_LICENSE_FILES:=LICENSE - -PKG_FIXUP:=autoreconf -PKG_INSTALL:=1 -PKG_BUILD_PARALLEL:=1 - -include $(INCLUDE_DIR)/package.mk - -define Package/nemea-siot/Default - SECTION:=net - CATEGORY:=Network - SUBMENU:=NEMEA - TITLE:=NEMEA SIoT modules - URL:=https://github.com/CESNET/nemea-siot - DEPENDS:=+nemea-framework +libpthread +librt -endef - -define Package/siot-ble-pairing - $(call Package/nemea-siot/Default) - TITLE:=BLE pairing detector - DEPENDS+= +libstdcpp +bluez-libs -endef - -define Package/siot-hci-collector - $(call Package/nemea-siot/Default) - TITLE:=BLE HCI collector - DEPENDS+= +libstdcpp +bluez-libs -endef - -define Package/siot-lora-airtime - $(call Package/nemea-siot/Default) - TITLE:=LoRaWAN Airtime regulations -endef - -define Package/siot-lora-distance - $(call Package/nemea-siot/Default) - TITLE:=LoRaWAN detection of distance change -endef - -define Package/siot-lora-replay - $(call Package/nemea-siot/Default) - TITLE:=LoRaWAN Replay attack ABP detection -endef - -define Package/siot-wsn-anomaly - $(call Package/nemea-siot/Default) - TITLE:=Wireless Sensor Network Detector (based on time series) -endef - -TARGET_CFLAGS += \ - -ffunction-sections \ - -fdata-sections \ - -fcommon - -CONFIGURE_VARS += \ - ac_cv_linux_vers=$(LINUX_VERSION) \ - ac_cv_header_libusb_1_0_libusb_h=no \ - ac_cv_netfilter_can_compile=no - -CONFIGURE_ARGS += \ - --enable-shared \ - --enable-static \ - LIBS=-lm --bindir=/usr/bin/nemea --disable-silent-rules \ - --with-build-cc="$(HOSTCC)" - -MAKE_FLAGS += \ - CCOPT="$(TARGET_CFLAGS) -I$(BUILD_DIR)/linux/include" - -define Build/Configure - $(call Build/Configure/Default) -endef - -define Package/siot-ble-pairing/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/siot-ble-pairing $(1)/usr/bin/nemea/ -endef - -define Package/siot-hci-collector/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/siot-hci-collector $(1)/usr/bin/nemea/ -endef - -define Package/siot-lora-airtime/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/siot-lora-airtime $(1)/usr/bin/nemea/ -endef - -define Package/siot-lora-distance/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/siot-lora-distance $(1)/usr/bin/nemea/ -endef - -define Package/siot-lora-replay/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/siot-lora-replay $(1)/usr/bin/nemea/ -endef - -define Package/siot-wsn-anomaly/install - $(INSTALL_DIR) $(1)/usr/bin/nemea - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nemea/siot-wsn-anomaly $(1)/usr/bin/nemea/ -endef - -$(eval $(call BuildPackage,siot-ble-pairing)) -$(eval $(call BuildPackage,siot-hci-collector)) -$(eval $(call BuildPackage,siot-lora-airtime)) -$(eval $(call BuildPackage,siot-lora-distance)) -$(eval $(call BuildPackage,siot-lora-replay)) -$(eval $(call BuildPackage,siot-wsn-anomaly)) diff --git a/turris-omnia/packages/base/Packages b/turris-omnia/packages/base/Packages new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/turris-omnia/packages/base/Packages @@ -0,0 +1 @@ + diff --git a/turris-omnia/packages/base/Packages.gz b/turris-omnia/packages/base/Packages.gz new file mode 100644 index 0000000..10dbee0 Binary files /dev/null and b/turris-omnia/packages/base/Packages.gz differ diff --git a/turris-omnia/packages/nemea/Packages b/turris-omnia/packages/nemea/Packages new file mode 100644 index 0000000..3748d40 --- /dev/null +++ b/turris-omnia/packages/nemea/Packages @@ -0,0 +1,305 @@ +Package: ipfixprobe +Version: 2.17.1-1 +Depends: libc, libpcap, libstdcpp +Source: feeds/nemea/net/ipfixprobe +License: GPLv2 +LicenseFiles: COPYING +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 84943 +Filename: ipfixprobe_2.17.1-1_mvebu.ipk +Size: 85759 +MD5Sum: ecfccf949e7ebb6af6a9c94d48e5b1e9 +SHA256sum: 00687d575490862883a76d05eb98727385900cc6610f5aa635a5640f775996c2 +SHA256Sum: 00687d575490862883a76d05eb98727385900cc6610f5aa635a5640f775996c2 +Description: IPFIX flow exporter + +Package: luci-app-ipfixprobe +Version: 0.1-1 +Depends: libc, ipfixprobe, luci-base, luci-compat +Source: feeds/nemea/luci-app-ipfixprobe +License: GPL-3.0 +Section: luci +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 1314 +Filename: luci-app-ipfixprobe_0.1-1_mvebu.ipk +Size: 2321 +MD5Sum: d288ea372f28ea635b6382591438bc7d +SHA256sum: 2b133630b0f7b55005159d4dc199985a72e15e34f2ae3e5f530b93a12fbc16d6 +SHA256Sum: 2b133630b0f7b55005159d4dc199985a72e15e34f2ae3e5f530b93a12fbc16d6 +Description: This package allows you to configure and inspect IPFIX exporter ipfixprobe using LuCI. + +Package: nemea-email_reporter +Version: 20-08.19-1 +Depends: libc, nemea-framework, libpthread, librt, python3, nemea-pytrap +Source: feeds/nemea/net/nemea-modules +License: GPLv2 +LicenseFiles: COPYING +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 4857 +Filename: nemea-email_reporter_20-08.19-1_mvebu.ipk +Size: 5801 +MD5Sum: 1a1830aaf759b8972426ab53e3b9f64d +SHA256sum: ac38b55533b69171ff3c547c30fdf81152d90d339e369f626f8d703ce464add5 +SHA256Sum: ac38b55533b69171ff3c547c30fdf81152d90d339e369f626f8d703ce464add5 +Description: NEMEA module email_reporter + +Package: nemea-flowcounter +Version: 20-08.19-1 +Depends: libc, nemea-framework, libpthread, librt +Source: feeds/nemea/net/nemea-modules +License: GPLv2 +LicenseFiles: COPYING +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 17154 +Filename: nemea-flowcounter_20-08.19-1_mvebu.ipk +Size: 18063 +MD5Sum: c5e11645bdfec95c7ede1870e5151141 +SHA256sum: 05368dba8af7b40845f43161c86e3b37b69c0c0678021e702d4085a1d9ca8ed2 +SHA256Sum: 05368dba8af7b40845f43161c86e3b37b69c0c0678021e702d4085a1d9ca8ed2 +Description: NEMEA module flowcounter + +Package: nemea-framework +Version: 2.1.1-1 +Depends: libc, libpthread, librt, libstdcpp, libopenssl +Source: feeds/nemea/libs/nemea-framework +License: GPLv2 +LicenseFiles: COPYING +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 102001 +Filename: nemea-framework_2.1.1-1_mvebu.ipk +Size: 102761 +MD5Sum: 64789b53e2372261c7ff1b6ffddae010 +SHA256sum: 60bb084972cd0c7848212754a1af9a535ebd217a648364320e6adc6f504d5843 +SHA256Sum: 60bb084972cd0c7848212754a1af9a535ebd217a648364320e6adc6f504d5843 +Description: This package contains a system-independent library for the Nemea system - system for network traffic analysis and anomaly detection. + +Package: nemea-logger +Version: 20-08.19-1 +Depends: libc, nemea-framework, libpthread, librt +Source: feeds/nemea/net/nemea-modules +License: GPLv2 +LicenseFiles: COPYING +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 19440 +Filename: nemea-logger_20-08.19-1_mvebu.ipk +Size: 20352 +MD5Sum: cb23e4aaee35ea63b13977ab8c141183 +SHA256sum: 4f7fb2995130357aeb1c15ca8973d7b973a511d3d231fdd72dd3100f40e19f07 +SHA256Sum: 4f7fb2995130357aeb1c15ca8973d7b973a511d3d231fdd72dd3100f40e19f07 +Description: NEMEA module logger + +Package: nemea-logreplay +Version: 20-08.19-1 +Depends: libc, nemea-framework, libpthread, librt, libstdcpp +Source: feeds/nemea/net/nemea-modules +License: GPLv2 +LicenseFiles: COPYING +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 19411 +Filename: nemea-logreplay_20-08.19-1_mvebu.ipk +Size: 20329 +MD5Sum: 38df4c60ac28af5c6cc01648ec5d136f +SHA256sum: a10c972e0b8dd44cf929a4010b3b80857bafbd15c8c2104af96684c181e2a95a +SHA256Sum: a10c972e0b8dd44cf929a4010b3b80857bafbd15c8c2104af96684c181e2a95a +Description: NEMEA module logreplay + +Package: nemea-merger +Version: 20-08.19-1 +Depends: libc, nemea-framework, libpthread, librt +Source: feeds/nemea/net/nemea-modules +License: GPLv2 +LicenseFiles: COPYING +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 17297 +Filename: nemea-merger_20-08.19-1_mvebu.ipk +Size: 18186 +MD5Sum: 5f10d0b331f1a6f6d1c6efaa05390fec +SHA256sum: d34d0cc40b3d56f5a84f21ef17001fc18cec83a4d1482f2ca3c8cf78d5b2a75c +SHA256Sum: d34d0cc40b3d56f5a84f21ef17001fc18cec83a4d1482f2ca3c8cf78d5b2a75c +Description: NEMEA module merger + +Package: nemea-pytrap +Version: 2.1.1-1 +Depends: libc, python3, nemea-framework, libpthread +Source: feeds/nemea/libs/nemea-framework +License: GPLv2 +LicenseFiles: COPYING +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 37156 +Filename: nemea-pytrap_2.1.1-1_mvebu.ipk +Size: 38284 +MD5Sum: 3c9ccb03561d9cc8d1846570d1bbfe9d +SHA256sum: 2c5ac7744816f06133995dd49f21493a463f96e5e166a71432de1bcc0a268fa3 +SHA256Sum: 2c5ac7744816f06133995dd49f21493a463f96e5e166a71432de1bcc0a268fa3 +Description: Python API of libtrap and UniRec + +Package: nemea-supervisorl +Version: 20-08.19-1 +Depends: libc +Source: feeds/nemea/net/nemea-modules +License: GPLv2 +LicenseFiles: COPYING +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 2044 +Filename: nemea-supervisorl_20-08.19-1_mvebu.ipk +Size: 3007 +MD5Sum: 005502170a7101576be9dc7690b7614a +SHA256sum: b9bba8a940e237f1c2e0dde4e1e2ed4b2bb1817c23e792c777443a546181152b +SHA256Sum: b9bba8a940e237f1c2e0dde4e1e2ed4b2bb1817c23e792c777443a546181152b +Description: NEMEA module supervisorl + +Package: nemea-topn +Version: 20-08.19-1 +Depends: libc, nemea-framework, libpthread, librt +Source: feeds/nemea/net/nemea-modules +License: GPLv2 +LicenseFiles: COPYING +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 9816 +Filename: nemea-topn_20-08.19-1_mvebu.ipk +Size: 10743 +MD5Sum: e18e374ae1c58f81798d9b0cf6554420 +SHA256sum: 2b140533a157d017e3b511556239cacc7d0d64a92a433932f6163a83d7578998 +SHA256Sum: 2b140533a157d017e3b511556239cacc7d0d64a92a433932f6163a83d7578998 +Description: NEMEA module topn + +Package: nemea-traffic_repeater +Version: 20-08.19-1 +Depends: libc, nemea-framework, libpthread, librt +Source: feeds/nemea/net/nemea-modules +License: GPLv2 +LicenseFiles: COPYING +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 4002 +Filename: nemea-traffic_repeater_20-08.19-1_mvebu.ipk +Size: 4922 +MD5Sum: 65740a23550b0ae1d24e7cfa5e9ac44f +SHA256sum: 01cb0e6fbac8767e61e8c975e5955c71bf80328d3ffd5b2a3cd83eed42f1b340 +SHA256Sum: 01cb0e6fbac8767e61e8c975e5955c71bf80328d3ffd5b2a3cd83eed42f1b340 +Description: NEMEA module traffic_repeater + +Package: siot-ble-pairing +Version: 19-08.1-1 +Depends: libc, nemea-framework, libpthread, librt, libstdcpp, bluez-libs +Source: feeds/nemea/net/nemea-siot +License: BSD-3-Clause +LicenseFiles: LICENSE +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 21037 +Filename: siot-ble-pairing_19-08.1-1_mvebu.ipk +Size: 21908 +MD5Sum: dd4edd126abea08d0628cc946f773701 +SHA256sum: eabef3450918c7724e6079ec048ea54de420c8a9cde371fe615e41304c43ce13 +SHA256Sum: eabef3450918c7724e6079ec048ea54de420c8a9cde371fe615e41304c43ce13 +Description: BLE pairing detector + +Package: siot-hci-collector +Version: 19-08.1-1 +Depends: libc, nemea-framework, libpthread, librt, libstdcpp, bluez-libs +Source: feeds/nemea/net/nemea-siot +License: BSD-3-Clause +LicenseFiles: LICENSE +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 18621 +Filename: siot-hci-collector_19-08.1-1_mvebu.ipk +Size: 19546 +MD5Sum: f96bd472452c3d27be96661f784af14b +SHA256sum: 4e2bbca82859dfed2674cb550b2b638e8e6bdd080d8b57e081de0e40491301d3 +SHA256Sum: 4e2bbca82859dfed2674cb550b2b638e8e6bdd080d8b57e081de0e40491301d3 +Description: BLE HCI collector + +Package: siot-lora-airtime +Version: 19-08.1-1 +Depends: libc, nemea-framework, libpthread, librt +Source: feeds/nemea/net/nemea-siot +License: BSD-3-Clause +LicenseFiles: LICENSE +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 21680 +Filename: siot-lora-airtime_19-08.1-1_mvebu.ipk +Size: 22602 +MD5Sum: 0d5b790bf982f6e98de3e4d8c6413be3 +SHA256sum: 4507379c32e2863299dcd1c465be33b9b5631d67d235fee05bd6cd86ef00a691 +SHA256Sum: 4507379c32e2863299dcd1c465be33b9b5631d67d235fee05bd6cd86ef00a691 +Description: LoRaWAN Airtime regulations + +Package: siot-lora-distance +Version: 19-08.1-1 +Depends: libc, nemea-framework, libpthread, librt +Source: feeds/nemea/net/nemea-siot +License: BSD-3-Clause +LicenseFiles: LICENSE +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 20683 +Filename: siot-lora-distance_19-08.1-1_mvebu.ipk +Size: 21618 +MD5Sum: f6f82ba2f590323f61631ffbdc98d942 +SHA256sum: 89dece8deef7f2925367d68898e101a446d40e4b7efff2629b956e98b7c19647 +SHA256Sum: 89dece8deef7f2925367d68898e101a446d40e4b7efff2629b956e98b7c19647 +Description: LoRaWAN detection of distance change + +Package: siot-lora-replay +Version: 19-08.1-1 +Depends: libc, nemea-framework, libpthread, librt +Source: feeds/nemea/net/nemea-siot +License: BSD-3-Clause +LicenseFiles: LICENSE +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 20751 +Filename: siot-lora-replay_19-08.1-1_mvebu.ipk +Size: 21677 +MD5Sum: d38da836ba90bc7d14f8bef721096a27 +SHA256sum: 5b0130c026b83d135055a87c01f6bb6b1e475dd6b633f1d56fa3f607c79eb711 +SHA256Sum: 5b0130c026b83d135055a87c01f6bb6b1e475dd6b633f1d56fa3f607c79eb711 +Description: LoRaWAN Replay attack ABP detection + +Package: siot-wsn-anomaly +Version: 19-08.1-1 +Depends: libc, nemea-framework, libpthread, librt +Source: feeds/nemea/net/nemea-siot +License: BSD-3-Clause +LicenseFiles: LICENSE +Section: net +Maintainer: Tomas Cejka +Architecture: mvebu +Installed-Size: 54685 +Filename: siot-wsn-anomaly_19-08.1-1_mvebu.ipk +Size: 55700 +MD5Sum: 7505abbd731ed7dbff939201d2b59318 +SHA256sum: 225a0aa6d404da04b89a8c27a2d9abd001745f6ac834062409b4e27f0c93b5ec +SHA256Sum: 225a0aa6d404da04b89a8c27a2d9abd001745f6ac834062409b4e27f0c93b5ec +Description: Wireless Sensor Network Detector (based on time series) + diff --git a/turris-omnia/packages/nemea/Packages.gz b/turris-omnia/packages/nemea/Packages.gz new file mode 100644 index 0000000..42be6af Binary files /dev/null and b/turris-omnia/packages/nemea/Packages.gz differ diff --git a/turris-omnia/packages/nemea/ipfixprobe_2.17.1-1_mvebu.ipk b/turris-omnia/packages/nemea/ipfixprobe_2.17.1-1_mvebu.ipk new file mode 100644 index 0000000..e03e7a4 Binary files /dev/null and b/turris-omnia/packages/nemea/ipfixprobe_2.17.1-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/luci-app-ipfixprobe_0.1-1_mvebu.ipk b/turris-omnia/packages/nemea/luci-app-ipfixprobe_0.1-1_mvebu.ipk new file mode 100644 index 0000000..b5dcbd8 Binary files /dev/null and b/turris-omnia/packages/nemea/luci-app-ipfixprobe_0.1-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/nemea-email_reporter_20-08.19-1_mvebu.ipk b/turris-omnia/packages/nemea/nemea-email_reporter_20-08.19-1_mvebu.ipk new file mode 100644 index 0000000..53dfe85 Binary files /dev/null and b/turris-omnia/packages/nemea/nemea-email_reporter_20-08.19-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/nemea-flowcounter_20-08.19-1_mvebu.ipk b/turris-omnia/packages/nemea/nemea-flowcounter_20-08.19-1_mvebu.ipk new file mode 100644 index 0000000..ede4c5a Binary files /dev/null and b/turris-omnia/packages/nemea/nemea-flowcounter_20-08.19-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/nemea-framework_2.1.1-1_mvebu.ipk b/turris-omnia/packages/nemea/nemea-framework_2.1.1-1_mvebu.ipk new file mode 100644 index 0000000..d9f606c Binary files /dev/null and b/turris-omnia/packages/nemea/nemea-framework_2.1.1-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/nemea-logger_20-08.19-1_mvebu.ipk b/turris-omnia/packages/nemea/nemea-logger_20-08.19-1_mvebu.ipk new file mode 100644 index 0000000..22726ff Binary files /dev/null and b/turris-omnia/packages/nemea/nemea-logger_20-08.19-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/nemea-logreplay_20-08.19-1_mvebu.ipk b/turris-omnia/packages/nemea/nemea-logreplay_20-08.19-1_mvebu.ipk new file mode 100644 index 0000000..e2602f9 Binary files /dev/null and b/turris-omnia/packages/nemea/nemea-logreplay_20-08.19-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/nemea-merger_20-08.19-1_mvebu.ipk b/turris-omnia/packages/nemea/nemea-merger_20-08.19-1_mvebu.ipk new file mode 100644 index 0000000..e0f1fb5 Binary files /dev/null and b/turris-omnia/packages/nemea/nemea-merger_20-08.19-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/nemea-pytrap_2.1.1-1_mvebu.ipk b/turris-omnia/packages/nemea/nemea-pytrap_2.1.1-1_mvebu.ipk new file mode 100644 index 0000000..7352efa Binary files /dev/null and b/turris-omnia/packages/nemea/nemea-pytrap_2.1.1-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/nemea-supervisorl_20-08.19-1_mvebu.ipk b/turris-omnia/packages/nemea/nemea-supervisorl_20-08.19-1_mvebu.ipk new file mode 100644 index 0000000..de51f34 Binary files /dev/null and b/turris-omnia/packages/nemea/nemea-supervisorl_20-08.19-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/nemea-topn_20-08.19-1_mvebu.ipk b/turris-omnia/packages/nemea/nemea-topn_20-08.19-1_mvebu.ipk new file mode 100644 index 0000000..b8b7af8 Binary files /dev/null and b/turris-omnia/packages/nemea/nemea-topn_20-08.19-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/nemea-traffic_repeater_20-08.19-1_mvebu.ipk b/turris-omnia/packages/nemea/nemea-traffic_repeater_20-08.19-1_mvebu.ipk new file mode 100644 index 0000000..f1f6d94 Binary files /dev/null and b/turris-omnia/packages/nemea/nemea-traffic_repeater_20-08.19-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/siot-ble-pairing_19-08.1-1_mvebu.ipk b/turris-omnia/packages/nemea/siot-ble-pairing_19-08.1-1_mvebu.ipk new file mode 100644 index 0000000..bcfcf55 Binary files /dev/null and b/turris-omnia/packages/nemea/siot-ble-pairing_19-08.1-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/siot-hci-collector_19-08.1-1_mvebu.ipk b/turris-omnia/packages/nemea/siot-hci-collector_19-08.1-1_mvebu.ipk new file mode 100644 index 0000000..1dad56c Binary files /dev/null and b/turris-omnia/packages/nemea/siot-hci-collector_19-08.1-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/siot-lora-airtime_19-08.1-1_mvebu.ipk b/turris-omnia/packages/nemea/siot-lora-airtime_19-08.1-1_mvebu.ipk new file mode 100644 index 0000000..4f08eec Binary files /dev/null and b/turris-omnia/packages/nemea/siot-lora-airtime_19-08.1-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/siot-lora-distance_19-08.1-1_mvebu.ipk b/turris-omnia/packages/nemea/siot-lora-distance_19-08.1-1_mvebu.ipk new file mode 100644 index 0000000..e9f5c8b Binary files /dev/null and b/turris-omnia/packages/nemea/siot-lora-distance_19-08.1-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/siot-lora-replay_19-08.1-1_mvebu.ipk b/turris-omnia/packages/nemea/siot-lora-replay_19-08.1-1_mvebu.ipk new file mode 100644 index 0000000..ad7a721 Binary files /dev/null and b/turris-omnia/packages/nemea/siot-lora-replay_19-08.1-1_mvebu.ipk differ diff --git a/turris-omnia/packages/nemea/siot-wsn-anomaly_19-08.1-1_mvebu.ipk b/turris-omnia/packages/nemea/siot-wsn-anomaly_19-08.1-1_mvebu.ipk new file mode 100644 index 0000000..0adf12b Binary files /dev/null and b/turris-omnia/packages/nemea/siot-wsn-anomaly_19-08.1-1_mvebu.ipk differ diff --git a/turris/packages/base/Packages b/turris/packages/base/Packages new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/turris/packages/base/Packages @@ -0,0 +1 @@ + diff --git a/turris/packages/base/Packages.gz b/turris/packages/base/Packages.gz new file mode 100644 index 0000000..fe4526d Binary files /dev/null and b/turris/packages/base/Packages.gz differ diff --git a/turris/packages/nemea/Packages b/turris/packages/nemea/Packages new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/turris/packages/nemea/Packages @@ -0,0 +1 @@ + diff --git a/turris/packages/nemea/Packages.gz b/turris/packages/nemea/Packages.gz new file mode 100644 index 0000000..fe4526d Binary files /dev/null and b/turris/packages/nemea/Packages.gz differ