Compare commits
	
		
			No commits in common. "master" and "f_influxdb-line-protocol" have entirely different histories.
		
	
	
		
			master
			...
			f_influxdb
		
	
		
							
								
								
									
										26
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								Dockerfile
									
									
									
									
									
								
							@ -1,29 +1,19 @@
 | 
				
			|||||||
# ---- Base ----
 | 
					FROM node:16-alpine
 | 
				
			||||||
FROM alpine:3 AS base
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Create app directory
 | 
					# Create app directory
 | 
				
			||||||
WORKDIR /usr/src/app
 | 
					WORKDIR /usr/src/app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Copy project file
 | 
					 | 
				
			||||||
COPY package.json .
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Install required apk-packages
 | 
					 | 
				
			||||||
RUN apk add --no-cache nodejs npm tcpdump
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# ---- Dependencies ----
 | 
					 | 
				
			||||||
FROM base AS dependencies
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Install app dependencies
 | 
					# Install app dependencies
 | 
				
			||||||
RUN npm install --only=production
 | 
					COPY package*.json ./
 | 
				
			||||||
 | 
					RUN npm install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# remove development dependencies
 | 
				
			||||||
 | 
					RUN npm prune --production
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ---- Release ----
 | 
					# Install required apk-packages & delete cache
 | 
				
			||||||
FROM base AS release
 | 
					RUN apk update && apk add tcpdump && rm -rf /var/cache/apk/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# copy from build image
 | 
					 | 
				
			||||||
COPY --from=dependencies /usr/src/app/ ./
 | 
					 | 
				
			||||||
# Bundle app source
 | 
					# Bundle app source
 | 
				
			||||||
COPY ./src/ .
 | 
					COPY ./src/ .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CMD ["npm", "run", "start"]
 | 
					CMD ["npm", "run", "start"]
 | 
				
			||||||
							
								
								
									
										43
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								README.md
									
									
									
									
									
								
							@ -14,26 +14,25 @@ Table of contents
 | 
				
			|||||||
=================
 | 
					=================
 | 
				
			||||||
<!-- TOC -->
 | 
					<!-- TOC -->
 | 
				
			||||||
- [1. Description](#1-description)
 | 
					- [1. Description](#1-description)
 | 
				
			||||||
  - [1.1. What kind of data](#11-what-kind-of-data)
 | 
					    - [1.1. What kind of data](#11-what-kind-of-data)
 | 
				
			||||||
  - [1.2. Data-Usage](#12-data-usage)
 | 
					    - [1.2. Data-Usage](#12-data-usage)
 | 
				
			||||||
  - [1.3. Tools used](#13-tools-used)
 | 
					    - [1.3. Tools used](#13-tools-used)
 | 
				
			||||||
  - [1.4. Architecture](#14-architecture)
 | 
					 | 
				
			||||||
- [2. Usage/Installation](#2-usageinstallation)
 | 
					- [2. Usage/Installation](#2-usageinstallation)
 | 
				
			||||||
  - [2.1. Prerequisites](#21-prerequisites)
 | 
					    - [2.1. Prerequisites](#21-prerequisites)
 | 
				
			||||||
  - [2.2. Choosing an Export-Method](#22-choosing-an-export-method)
 | 
					    - [2.2. Choosing an Export-Method](#22-choosing-an-export-method)
 | 
				
			||||||
  - [2.3. Running with Docker](#23-running-with-docker)
 | 
					    - [2.3. Running with Docker](#23-running-with-docker)
 | 
				
			||||||
  - [2.4. Environment-Variables](#24-environment-variables)
 | 
					    - [2.4. Environment-Variables](#24-environment-variables)
 | 
				
			||||||
- [3. Data collected](#3-data-collected)
 | 
					- [3. Data collected](#3-data-collected)
 | 
				
			||||||
  - [3.1. Data-Types](#31-data-types)
 | 
					    - [3.1. Data-Types](#31-data-types)
 | 
				
			||||||
  - [3.2. Metric-Overview](#32-metric-overview)
 | 
					    - [3.2. Metric-Overview](#32-metric-overview)
 | 
				
			||||||
  - [3.3. Metric-Details](#33-metric-details)
 | 
					    - [3.3. Metric-Details](#33-metric-details)
 | 
				
			||||||
  - [3.4. Tag-Overview](#34-tag-overview)
 | 
					    - [3.4. Tag-Overview](#34-tag-overview)
 | 
				
			||||||
  - [3.5. Tag-Details](#35-tag-details)
 | 
					    - [3.5. Tag-Details](#35-tag-details)
 | 
				
			||||||
- [4. Potential Issues](#4-potential-issues)
 | 
					- [4. Potential Issues](#4-potential-issues)
 | 
				
			||||||
  - [4.1. Channel/Frequency](#41-channelfrequency)
 | 
					    - [4.1. Channel/Frequency](#41-channelfrequency)
 | 
				
			||||||
  - [4.2. Technology](#42-technology)
 | 
					    - [4.2. Technology](#42-technology)
 | 
				
			||||||
  - [4.3. Data protection](#43-data-protection)
 | 
					    - [4.3. Data protection](#43-data-protection)
 | 
				
			||||||
  - [4.4. Ethical](#44-ethical)
 | 
					    - [4.4. Ethical](#44-ethical)
 | 
				
			||||||
<!-- /TOC -->
 | 
					<!-- /TOC -->
 | 
				
			||||||
<br>
 | 
					<br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -82,14 +81,6 @@ e.g.
 | 
				
			|||||||
The program uses `tcpdump` for listening in a subProcess and then extract the metadata when packets arrive.
 | 
					The program uses `tcpdump` for listening in a subProcess and then extract the metadata when packets arrive.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<br>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 1.4. Architecture
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The system heavily uses NodeJS-Streams to read, transform and pass data around.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<br>
 | 
					<br>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 2. Usage/Installation
 | 
					# 2. Usage/Installation
 | 
				
			||||||
@ -265,7 +256,7 @@ Variable|Description
 | 
				
			|||||||
Variable|Default|Description
 | 
					Variable|Default|Description
 | 
				
			||||||
---|---|---
 | 
					---|---|---
 | 
				
			||||||
`LOGLEVEL`          | INFO              | Loglevel
 | 
					`LOGLEVEL`          | INFO              | Loglevel
 | 
				
			||||||
`WIFI_INTERFACE`    | wlan0             | Wifi-Interface name in Monitor-Mode
 | 
					`WIFI_INTERFACE`    | wlan0             | Token with write-access
 | 
				
			||||||
~~`HOSTNAME`~~          | ~~Device's Hostname~~ | ~~Hostname to use as global hostname-tag~~ *(Unused)*
 | 
					~~`HOSTNAME`~~          | ~~Device's Hostname~~ | ~~Hostname to use as global hostname-tag~~ *(Unused)*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<br>
 | 
					<br>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +0,0 @@
 | 
				
			|||||||
TAG="ruakij/rfmon-to-influx"
 | 
					 | 
				
			||||||
PLATFORM="linux/amd64,linux/arm64/v8,linux/arm/v7"
 | 
					 | 
				
			||||||
EXTRA_ARGS="$@"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
docker buildx build \
 | 
					 | 
				
			||||||
--platform $PLATFORM \
 | 
					 | 
				
			||||||
--tag $TAG \
 | 
					 | 
				
			||||||
$EXTRA_ARGS \
 | 
					 | 
				
			||||||
.
 | 
					 | 
				
			||||||
@ -1,7 +0,0 @@
 | 
				
			|||||||
TAG="ruakij/rfmon-to-influx"
 | 
					 | 
				
			||||||
EXTRA_ARGS="$@"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
docker build \
 | 
					 | 
				
			||||||
--tag $TAG \
 | 
					 | 
				
			||||||
$EXTRA_ARGS \
 | 
					 | 
				
			||||||
.
 | 
					 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 147 KiB  | 
@ -47,15 +47,8 @@ class PacketStreamFactory extends Transform{
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _transform(chunk, encoding, next){
 | 
					    _transform(chunk, encoding, next){
 | 
				
			||||||
        if(!chunk){
 | 
					 | 
				
			||||||
            const err = "Chunk was invalid!";
 | 
					 | 
				
			||||||
            logger.error(err);
 | 
					 | 
				
			||||||
            next(err);
 | 
					 | 
				
			||||||
            return;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        let packet = new Packet();
 | 
					        let packet = new Packet();
 | 
				
			||||||
        
 | 
					
 | 
				
			||||||
        const lines = chunk.split("\n");
 | 
					        const lines = chunk.split("\n");
 | 
				
			||||||
        const header = lines.splice(0, 1)[0];       // Grab first line, "lines" is now the payload
 | 
					        const header = lines.splice(0, 1)[0];       // Grab first line, "lines" is now the payload
 | 
				
			||||||
        packet = this._handleHeader(packet, header);
 | 
					        packet = this._handleHeader(packet, header);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user