90 lines
3.1 KiB
YAML
90 lines
3.1 KiB
YAML
# =============================================================
|
||
# Parental Controls Package
|
||
# =============================================================
|
||
|
||
# Config stored across 12 chunks (12 × 255 = 3060 chars max)
|
||
input_text:
|
||
parental_config_0: {name: "Parental Config 0", max: 255, icon: mdi:shield-account}
|
||
parental_config_1: {name: "Parental Config 1", max: 255, icon: mdi:shield-account}
|
||
parental_config_2: {name: "Parental Config 2", max: 255, icon: mdi:shield-account}
|
||
parental_config_3: {name: "Parental Config 3", max: 255, icon: mdi:shield-account}
|
||
parental_config_4: {name: "Parental Config 4", max: 255, icon: mdi:shield-account}
|
||
parental_config_5: {name: "Parental Config 5", max: 255, icon: mdi:shield-account}
|
||
parental_config_6: {name: "Parental Config 6", max: 255, icon: mdi:shield-account}
|
||
parental_config_7: {name: "Parental Config 7", max: 255, icon: mdi:shield-account}
|
||
parental_config_8: {name: "Parental Config 8", max: 255, icon: mdi:shield-account}
|
||
parental_config_9: {name: "Parental Config 9", max: 255, icon: mdi:shield-account}
|
||
parental_config_10: {name: "Parental Config 10", max: 255, icon: mdi:shield-account}
|
||
parental_config_11: {name: "Parental Config 11", max: 255, icon: mdi:shield-account}
|
||
|
||
# ------------------------------------------------------------------
|
||
# OPNsense firewall API — JSON payload required by alias_util API
|
||
# ------------------------------------------------------------------
|
||
rest_command:
|
||
|
||
parental_block_ip:
|
||
url: !secret opnsense_alias_add_url
|
||
method: post
|
||
headers:
|
||
Authorization: !secret opnsense_basic_auth
|
||
Content-Type: application/json
|
||
payload: '{"address": "{{ address }}"}'
|
||
verify_ssl: false
|
||
|
||
parental_unblock_ip:
|
||
url: !secret opnsense_alias_del_url
|
||
method: post
|
||
headers:
|
||
Authorization: !secret opnsense_basic_auth
|
||
Content-Type: application/json
|
||
payload: '{"address": "{{ address }}"}'
|
||
verify_ssl: false
|
||
|
||
parental_apply_firewall:
|
||
url: !secret opnsense_apply_url
|
||
method: post
|
||
headers:
|
||
Authorization: !secret opnsense_basic_auth
|
||
Content-Type: application/json
|
||
payload: '{}'
|
||
verify_ssl: false
|
||
|
||
# ------------------------------------------------------------------
|
||
# Scripts
|
||
# ------------------------------------------------------------------
|
||
script:
|
||
|
||
parental_block_ip:
|
||
alias: "Parental Controls — Block IP"
|
||
icon: mdi:block-helper
|
||
fields:
|
||
ip:
|
||
description: "IP address to block"
|
||
required: true
|
||
selector:
|
||
text:
|
||
sequence:
|
||
- service: rest_command.parental_block_ip
|
||
data:
|
||
address: "{{ ip }}"
|
||
|
||
parental_unblock_ip:
|
||
alias: "Parental Controls — Unblock IP"
|
||
icon: mdi:check-circle-outline
|
||
fields:
|
||
ip:
|
||
description: "IP address to unblock"
|
||
required: true
|
||
selector:
|
||
text:
|
||
sequence:
|
||
- service: rest_command.parental_unblock_ip
|
||
data:
|
||
address: "{{ ip }}"
|
||
|
||
parental_apply_firewall:
|
||
alias: "Parental Controls — Apply Firewall"
|
||
icon: mdi:shield-refresh
|
||
sequence:
|
||
- service: rest_command.parental_apply_firewall
|