-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathmake.config
More file actions
154 lines (127 loc) · 4.67 KB
/
make.config
File metadata and controls
154 lines (127 loc) · 4.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# JitterTrap Build Configuration
# ==============================
#
# This file contains compile-time configuration options. Override any of
# these by setting them on the command line or in the environment:
#
# make SAMPLE_PERIOD_US=500 WEB_SERVER_PORT=8080
#
# Or export them before running make:
#
# export SAMPLE_PERIOD_US=500
# make
#
# ------------------------------------------------------------------------------
# Branding
# ------------------------------------------------------------------------------
# Product name displayed in the web UI
ifndef PRODUCT_BRANDING
PRODUCT_BRANDING = JitterTrap
endif
# ------------------------------------------------------------------------------
# Network Capture Settings
# ------------------------------------------------------------------------------
# Sampling period in microseconds. Lower values give finer granularity but
# increase CPU usage. Typical values: 1000 (1ms), 500, 100.
ifndef SAMPLE_PERIOD_US
SAMPLE_PERIOD_US = 1000
endif
# Maximum length of network interface names (matches kernel IFNAMSIZ)
MAX_IFACE_LEN = 16
# Default allowed interfaces for capture (colon-separated list).
# Empty string means all interfaces are allowed.
# Can be overridden at runtime with: jt-server -a "eth0:eth1"
ifndef ALLOWED_IFACES
ALLOWED_IFACES = ""
endif
# ------------------------------------------------------------------------------
# Web Server Settings
# ------------------------------------------------------------------------------
# Default port for the web server (can be overridden at runtime with -p)
ifndef WEB_SERVER_PORT
WEB_SERVER_PORT = 80
endif
# Default path to web content (can be overridden at runtime with -r)
ifndef WEB_SERVER_DOCUMENT_ROOT
WEB_SERVER_DOCUMENT_ROOT = /var/lib/jittertrap
endif
# ------------------------------------------------------------------------------
# Web UI JavaScript Paths
# ------------------------------------------------------------------------------
#
# Paths or URLs for third-party JavaScript dependencies referenced from the
# generated index.html. Defaults serve the bundled copies from jittertrap's
# own web root (matches the files copied by html5-client/Makefile's copydeps
# target). Override these when packaging for distributions that install
# JavaScript libraries to system-wide paths (e.g. Fedora's
# /usr/share/javascript/*) or when pointing the UI at a CDN.
#
# Example:
# make D3_JS=/usr/share/javascript/d3/d3.min.js \
# JQUERY_JS=/usr/share/javascript/jquery/jquery.min.js
ifndef JQUERY_JS
JQUERY_JS = js/jquery-3.7.1.min.js
endif
ifndef MUSTACHE_JS
MUSTACHE_JS = js/mustache.min.js
endif
ifndef CBUFFER_JS
CBUFFER_JS = js/cbuffer.js
endif
ifndef BOOTSTRAP_JS
BOOTSTRAP_JS = js/bootstrap.bundle.min.js
endif
ifndef D3_JS
D3_JS = js/d3.v7.min.js
endif
ifndef PAKO_JS
PAKO_JS = js/pako.min.js
endif
# ------------------------------------------------------------------------------
# Performance Tuning
# ------------------------------------------------------------------------------
# CPU core for the real-time sampling thread (0 = first core).
# This thread has the strictest timing requirement (1ms tick).
# Pin to an isolated core for best performance on multi-core systems.
ifndef RT_CPU
RT_CPU = 0
endif
# CPU core for the top talker / packet capture threads.
# Default: CPU 1 (separate from sampling thread on RT_CPU=0).
# For single-core systems, set RT_CPU_TOPTALK=0 to match RT_CPU.
ifndef RT_CPU_TOPTALK
RT_CPU_TOPTALK = 1
endif
# Number of time intervals to track for flow statistics.
# Higher values use more memory but allow longer historical views.
ifndef INTERVAL_COUNT
INTERVAL_COUNT = 8
endif
# Maximum number of concurrent flows to track.
# Higher values use more memory. Flows beyond this limit are aggregated.
ifndef MAX_FLOW_COUNT
MAX_FLOW_COUNT = 100
endif
# Maximum size of JSON messages (bytes). Increase if SDP messages are truncated.
ifndef MAX_JSON_MSG_LEN
MAX_JSON_MSG_LEN = 65536
endif
# Maximum size of JSON token strings
ifndef MAX_JSON_TOKEN_LEN
MAX_JSON_TOKEN_LEN = 256
endif
# ------------------------------------------------------------------------------
# Feature Flags
# ------------------------------------------------------------------------------
# Set to 1 to disable network impairment features (netem integration)
# DISABLE_IMPAIRMENTS = 1
# Set to 1 to disable packet capture download feature
# DISABLE_PCAP = 1
# Enable WebRTC video playback (allows viewing video streams in browser).
# Requires libdatachannel. We bundle libdatachannel 0.23+ because:
# - Ubuntu 22.04 doesn't have libdatachannel in repos
# - Fedora's libdatachannel 0.21.x has a bug affecting H.265 playback
# Set to 0 to disable WebRTC playback.
ifndef ENABLE_WEBRTC_PLAYBACK
ENABLE_WEBRTC_PLAYBACK = 1
endif