• Stars
    star
    204
  • Rank 192,063 (Top 4 %)
  • Language
    Go
  • License
    GNU Affero Genera...
  • Created over 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

HOMER 7.x Front-End and API Server

HOMER WebApp

This repository hosts homer-app, the the GO webapplication for the HEP/HOMER 7.7+ stack.

Instructions

If you want to install Homer please refer to the project readme

If you're just interested in using homer-app, download, configure and run the latest release or package.

Requirements

  • golang 1.13+
  • postgres 11+
  • git 2.7+
  • optional
    • prometheus
    • influxdb
    • loki

Installation

Local

To get dependencies and compile the latest homer-app on your system, use the following commands:

make modules
make all
Docker

To get dependencies and compile the latest homer-app using a docker builder, use the following command:

make binary
make frontend

Configuration

Before using the application, configure all database parameters using the example configuration file:

/usr/local/homer/etc/webapp_config.json

NOTE: The default location for settings and provisioning files is /usr/local/homer

Usage

Command Help
./homer-app -h
Custom Config in /etc
./homer-app -webapp-config-path=/etc
Initialization

The application is able to initialize its database and tables it requires with the following commands:

Create User
./homer-app -create-homer-user -database-root-user=postgres -database-host=localhost -database-root-password=postgres
Show User
./homer-app -show-db-users -database-root-user=postgres -database-host=localhost -database-root-password=postgres
Create Homer DBs
./homer-app -create-config-db -database-root-user=postgres -database-host=localhost -database-root-password=postgres -database-homer-user=homer_user
./homer-app -create-data-db -database-root-user=postgres -database-host=localhost -database-root-password=postgres -database-homer-user=homer_user
Create User permissions
./homer-app -create-homer-role -database-root-user=postgres -database-host=localhost -database-root-password=postgres -database-homer-data=homer_data -database-homer-config=homer_config
Please setup the correct credentials for homer_config and homer_data DB in your webapp_config.json !!!

if your webapp_config.json isn't in the default directory: "/usr/local/homer/etc", use the flag "-webapp-config-path" to correct it. Same have to be applied to all steps there you read settings from "webapp_config.json"

Create Table / Migration - connection data will be read from webapp_config.json
./homer-app -create-table-db-config 

or

./homer-app -create-table-db-config -webapp-config-path=/etc/webapp_config.json
Populate DB
./homer-app -populate-table-db-config 
Upgrade / Migration - connection data will be read from webapp_config.json
./homer-app -upgrade-table-db-config 
Re- Populate Config DB
./homer-app -populate-table-db-config -force-populate
Re- Populate Config DB for specific table/tables
./homer-app -populate-table-db-config -force-populate -populate-table=mapping_schema -populate-table=user_settings
Reset UI password for any user:
./homer-app -update-ui-user=admin -update-ui-password=mypassword


Swagger APIs

Requirements

Swagger APIs can be generated from inside the homer-app

To generate swagger.json file run below command insider homer-app

swagger generate spec -m -o ./swagger.json

To Serve swagger.json file run below command

swagger serve -F=swagger swagger.json

DEB, RPM Packages

To build a full package, including the latest frontend code:

make package

The application will deploy to /usr/local/bin with config in /etc

Docker Image

This application is available on dockerhub as sipcapture/webapp To build a full bundle locally, including the latest frontend code:

make docker

For working examples and ready to run recipes see homer7-docker


This project is part of HOMER


License & Copyright

This project is released under the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Made by Humans

This Open-Source project is made possible by actual Humans without corporate sponsors, angels or patreons.
If you use this software in production, please consider supporting its development with contributions or donations

Donate

(C) 2008-2020 QXIP BV

More Repositories

1

homer

HOMER - 100% Open-Source SIP, VoIP, RTC Packet Capture & Monitoring
Shell
1,625
star
2

heplify-server

HEP Capture Server for HOMER
Go
183
star
3

heplify

Portable and Lightweight HEP Capture Agent for HOMER
Go
182
star
4

captagent

100% Open-Source Packet Capture Agent for HEP
C
167
star
5

sipgrep

SIPGREP: Display and Troubleshoot SIP signaling over IP networks in console
C
160
star
6

paStash

pastaʃ'ʃ = Spaghetti I/O Event Data Processing, Interpolation, Correlation and beyond 🍝
JavaScript
102
star
7

homer7-docker

HOMER 7 Docker Images
JavaScript
93
star
8

homer-ui

HOMER Front-End Application (UI)
TypeScript
62
star
9

HEP

HEP-EEP: Extensible Encapsulation Protocol (Specs & Technical Docs)
44
star
10

homer5-docker

HOMER 5 Docker Containers (OBSOLETE)
M4
40
star
11

homer-installer

HOMER Install Scripts and Install Packages
Shell
36
star
12

rtcagent

RTCAgent is an eBPF powered HEP Agent for HOMER/HEPIC
C
35
star
13

awesome-hep

A curated list of HEP / EEP enabled projects
27
star
14

hep-wireshark

HOMER HEP Wireshark Dissector
Lua
27
star
15

homer-api

HOMER 5: Back-End (API) DEPRICATED - use sipcapture/homer-app
PHP
27
star
16

hepipe.js

Pipe arbitrary data rows (logs, events, cdrs, esl, etc) to HEP Server (HOMER)
JavaScript
24
star
17

rtpbreakr

RTP Audio Juicer
C
23
star
18

HEPop

Multi-Protocol HEP Server & RTC Collector in NodeJS 🎈
JavaScript
22
star
19

hepipe

HEP-PIPE: Pipe arbitrary data (logs, events, cdrs, etc) to HEP server (HOMER)
C
16
star
20

homer-config

HOMER Project Configuration Repo
PHP
13
star
21

homer-docker

HOMER 10 Docker
JavaScript
13
star
22

hep-js

HEP: Javascript/Node implementation of HEP/EEP Encapsulation Protocol
JavaScript
11
star
23

hepsub-voipmonitor

HEP Pub-Sub Client for OSS Voipmonitor Sniffer
JavaScript
10
star
24

homer-view-react

Experimental React Viewer for HEP APIs
JavaScript
10
star
25

pastash_plugins

NPM Plugin Modules for Pastash
JavaScript
9
star
26

homer-view

Homer view interface for sharing
TypeScript
9
star
27

hepfix.js

IPFIX Gateway for HEP & HOMER
JavaScript
9
star
28

hepgen.js

Barebone HEP Generator for SIP-less Devs
JavaScript
9
star
29

HEPjack.js

Elegantly Sniff Forward-Secrecy TLS/SIP to HEP at the source using Frida
JavaScript
9
star
30

captagent-js

Captagent Sample implementation in NodeJS w/ HEP3 and ES Bulk API Support
JavaScript
9
star
31

hepagent

Next-Gen HEP Capture Agent in Rust
Rust
8
star
32

hepsub-rtpengine

HEPSub Middleware for RTPEngine Meta & Recordings
JavaScript
8
star
33

hepsub

HEP Pub-Sub API Example
JavaScript
8
star
34

hepsub-apiban

HOMER/HEPSUB Integration for APIban.org
JavaScript
7
star
35

hep-go

HEP: GO implementation of HEP/EEP Encapsulation Protocol
Go
7
star
36

hepsub-cgrates

HOMER HEPSub client example for CGRages
JavaScript
6
star
37

homer-snmp

HOMER SNMP Bridge
JavaScript
6
star
38

statstrmr

JSON-HEP Statistics Streamer for HOMER 5.x
JavaScript
6
star
39

cacheep

Real-Time Lookup Cache (LRU + API + DNS)
JavaScript
6
star
40

hep-c

HEP: C implementation of HEP/EEP Encapsulation Protocol
C
6
star
41

hepsub-elastic

HEP Subscibe Client for Elasticsearch
JavaScript
6
star
42

hep-java

HEP: JAVA implementation of HEP/EEP Encapsulation Protocol
Java
5
star
43

hep-erlang

HEP: Erlang implementation of HEP/EEP Encapsulation Protocol
Erlang
5
star
44

homer-puppet

HOMER Puppet Modules
Puppet
5
star
45

hepgen-bash

An HEP generator written in bash
Shell
4
star
46

docs

HOMER/HEP Documentation
4
star
47

libhep

HEP Library C/C++
C
4
star
48

helm-charts

HOMER helm charts
Smarty
3
star
49

hep-python

HEP: Python implementation of HEP/EEP Encapsulation Protocol
Python
3
star
50

sipcapture.github.io

sipcapture.github.io
HTML
2
star
51

teardown-js

Synthetic SIP Teardown Generator module for NodeJS
JavaScript
2
star
52

hsp-output-elasticsearch

ESP/HSP template for Elasticsearch
2
star
53

hep-perl

HEP Perl implementation. Provided by SipGate
Perl
1
star
54

builders

Package Builders for SIPCAPTURE/QXIP Projects
Shell
1
star