https://gist.github.com/iiidefix/2d170a9cbe92974b25fdd1f88adb2c96
Ubiquiti Unifi G5 Turret Ultra Pigtail Cable Pinout
The UVC-G5-Turret-Ultra camera uses a non-standard 6-wire Ethernet cable.
The orange and green pairs comply with EIA/TIA-568B for 100mbit Ethernet.
The blue pair is most likely used for passive PoE.
| RJ45 Pin | Camera Wire | Usage |
|---|---|---|
| 1 | orange-white | TX+ / PoE |
| 2 | orange | TX- / PoE |
| 3 | green-white | RX+ / PoE |
| 4 | blue | passive PoE+ |
| 5 | ||
| 6 | green | RX- / PoE |
| 7 | blue-white | passive PoE- |
| 8 |
Note: RJ45 pins 4+5 and 7+8 are bridged for passive PoE.
dmidecode to json using awk
dmidecode | awk '
BEGIN {
printf "{"
first_entry = 0
is_array = 0
array_first_entry = 0
}
{
if ($0 ~ /^Handle/) {
if (is_array) {
printf "]"
is_array = 0
}
if (first_entry) {
printf "},"
}
first_entry = 1
gsub(/,$/, "", $2);
printf "\"%s\": {", $2
getline line
printf "\"_description\": \"%s\"", line
gsub(/,$/, "", $5);
printf ",\"_type\": \"%s\"", $5
gsub(/,$/, "", $6);
printf ",\"_bytes\": \"%s\"", $6
} else if ($0 ~ /:/) {
if (is_array) {
printf "]"
is_array = 0
}
gsub(/^[[:space:]]+/, "", $0)
split($0, a, ": ");
if (length(a) > 1) {
gsub(/"/, "\\\"", a[2])
gsub(/[[:space:]]+$/, "", a[2])
printf ",\"%s\": \"%s\"", a[1], a[2]
}
else if (length(a) == 1) {
gsub(/:$/, "", a[1])
printf ",\"%s\": [", a[1]
is_array = 1
array_first_entry = 0
}
}
else if (is_array && NF > 0) {
if (array_first_entry) {
printf ","
}
array_first_entry = 1
gsub(/^[[:space:]]+/, "", $0)
gsub(/"/, "\\\"", $0)
printf "\"%s\"", $0
}
}
END {
if (is_array) {
printf "]"
}
print "}}"
}'
Firefox Multi-Account Containers – manual site association
open about:debugging#/runtime/this-firefox
inspect “Firefox Multi-Account Containers”
paste the following function into Console
async function open_in_container(id, fqdn) {
var uuid = Object(await browser.storage.local.get(`identitiesState@@_firefox-container-${id}`))[`identitiesState@@_firefox-container-${id}`]['macAddonUUID']
return await browser.storage.local.set(JSON.parse(`{"siteContainerMap@@_${fqdn}": {"userContextId": "${id}","neverAsk": true,"identityMacAddonUUID": "${uuid}"}}`));
}
call the just defined function
await open_in_container(2, "example.com");
first parameter is the container id
second parameter is the fqdn of the site
Unifi USG Radius default vlan
on USG
/config/scripts/post-config.d/radius_default_vlan.sh
#!/bin/bash # radius_default_vlan.sh # This script goes in /config/scripts/post-config.d if [[ -z "$1" ]] ; then echo "* * * * * root /config/scripts/post-config.d/radius_default_vlan.sh cron" > /etc/cron.d/radius_default_vlan exit 0 fi if grep -q "DEFAULT Auth-Type" "/etc/freeradius/users" ; then exit 0 fi cat >> /etc/freeradius/users <<EOF DEFAULT Auth-Type := Accept Tunnel-Type = 13, Tunnel-Medium-Type = 6, Tunnel-Private-Group-Id = 1 EOF service freeradius restart
install
chmod +x /config/scripts/post-config.d/radius_default_vlan.sh /config/scripts/post-config.d/radius_default_vlan.sh
remove
rm /etc/cron.d/radius_default_vlan rm /config/scripts/post-config.d/radius_default_vlan.sh