Skip to content

Instantly share code, notes, and snippets.

View curtishall's full-sized avatar

Curtis Hall curtishall

  • Bluecherry
  • Missouri
View GitHub Profile
@curtishall
curtishall / bc-check-onvif.js
Last active March 15, 2025 20:56
nodejs onvif script to return available event types.
/**
* bc-check-onvif.js
*
* This script reports:
* - MyRuleDetector rules (e.g. People Detect, Vehicle Detect, Dog Cat Detect)
* - RuleEngine events such as CellMotionDetector/Motion
* - VideoSource events such as MotionAlarm
*
* Usage:
* node bc-check-onvif.js <ip> <port> <username> <password>
{
"openapi": "3.1.0",
"info": {
"version": "0.3.6",
"title": "Bluecherry Server API",
"description": "The Bluecherry Server API allows users to use software to create custom integrations with Bluecherry DVR",
"contact": {
"name": "Bluecherry Team",
"email": "[email protected]",
"url": "https://github.com/bluecherrydvr/"
@curtishall
curtishall / intercom_to_chatwoot.py
Created February 19, 2025 15:01
Intercom to Chatwoot migration python script
import requests
import time
import sys
from datetime import datetime
from bs4 import BeautifulSoup
# API credentials
INTERCOM_API_KEY = 'INTERCOM_API_KEY' # Found on Intercom developer hub
CHATWOOT_API_KEY = 'CHATWOOT_API_KEY' # Can NOT be a SuperAdmin account, has to be an admin account.
CHATWOOT_HOST = 'https://support.bluecherrydvr.com' # Just the base URL, script does the rest and will add paths
@curtishall
curtishall / gist:4acbc1504bb54bbb87f67c44fc72e0c1
Last active August 13, 2024 19:44
TAK Server custom iconsets
XML example:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<event version="2.0" uid="6276" type="a-u-G" how="h-g-i-g-o" time="2024-08-11T21:09:06.000+00:00" start="2024-08-11T21:09:06.000+00:00" icon="f7f71666-8b28-4b57-9fbb-e38e61d33b79/Service/firebrigade.png" stale="2024-08-13T18:12:06.712Z">
<point lat="38.713837" lon="-91.714066" hae="200.4" ce="9999999.0" le="9999999.0"/>
<detail>
<contact callsign="BRUSH 1106"/>
<usericon iconsetpath="6d781afb-89a6-4c07-b2b9-a89748b6a38f/Service/firebrigade.png"/>
<remarks>No Address</remarks>
# Bluecherry configuration file
# Used to be sure we don't use configurations not suitable for us
version = "1.0";
bluecherry:
{
db:
{
# 0 = sqlite, 1 = pgsql, 2 = mysql
@curtishall
curtishall / ATAK-UAS-RTSP-README.md
Last active November 10, 2024 00:47
rtsp-simple-server ATAK configuration (Linux)

1/10/2024 - I have linked a slightly newer version, still out of date, but I need to test newer versions to make sure there is no configuration changes.

Some users report having to comment out the following, your mileage may vary:

readBufferSize, runOnPublish, runOnPublishRestart, runOnRead, runOnReadRestart

ATAK users change the observer URL in UAS Tool to point to 554 (or whatever port you decide to use)

Download the latest rtsp-simple-server (0.17.13)

#!/bin/bash
subdomain=$1
email=$2
token=$3
if [ "$#" -ne 3 ]; then
echo "Invalid or missing arguments"
exit 1
fi
Monkey HTTP Daemon - Install
============================
For optimum performance, I recommend that Monkey be compiled with GCC >=
2.95.3 and be running on a Linux OS with kernel >= 2.6.28.
Like every source program we must run 'configure' script and later
'make':
#./configure
echo -en "DESCRIBE /live/1 RTSP/1.0\r\nCSeq: 0\r\nUser-Agent: Bluecherry Server\r\nAccept: application/sdp\r\nAuthorization: Basic YWRtaW46Ymx1ZWNoZXJyeQ==\r\n\r\n" | nc 172.16.1.132 7002
----------------------------
Server online:
RTSP/1.0 200 OK
CSeq: 0
Content-Length: 255
Content-Type: application/sdp