I've looked at the igmpproxy init script and came up with the following, but the firewall redirect doesn't seem to be added (I'm checking with iptables-save | grep PROCD).
procd_open_instance
procd_set_param command /usr/sbin/uhttpd -f -h /www_fakeinternet -r fakeinternet -x /cgi-bin -t 60 -T 30 -k 20 -A 1 -E /cgi-bin/error.cgi -n 3 -N 100 -R -p 0.0.0.0:65530 -p [::]:65530 -i .cgi=/bin/ash
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
procd_set_param stdout 1
procd_set_param stderr 1
procd_open_data
json_add_array firewall
json_add_object ""
json_add_string type redirect
json_add_string target 'DNAT'
json_add_string src 'lan'
json_add_string proto 'tcp'
json_add_string src_dport '80'
json_add_string src_dip '!192.168.221.0/24'
json_add_string dest_ip '192.168.221.1'
json_add_string dest_port '65530'
json_add_string name 'PROCD_rule'
json_add_string reflection '0'
json_close_object
json_close_array
procd_close_data
procd_close_instance
The uhttpd instance starts, but I'm guessing I'm declaring/describing the firewall array incorrectly. Any help to re-write the array properly would be appreciated.