You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
935 B
Django/Jinja

<?php
require('func.php');
function fastdGetPeers($file) {
if (($sock = socket_create(AF_UNIX, SOCK_STREAM, NULL)) === false) {
echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error()) . "\n";
}
if (($result = socket_connect($sock, $file)) === false) {
echo "socket_connect() fehlgeschlagen.\nGrund: ($result) " . socket_strerror(socket_last_error($sock)) . "\n";
}
$json = "";
#stream_set_timeout($sock, 5);
while ($out = socket_read($sock, 2048)) {
$json .= $out;
}
$json = json_decode($json);
$peers = 0;
foreach($json->peers as $peer) {
if($peer->connection != NULL) $peers++;
}
return $peers;
}
$data = "";
{% for site in sites %}
$fastd_{{ site.name }} = fastdGetPeers('/run/ff{{ site.name }}1.socket');
$data .= 'fastdclient,mtu=1280,host={{ ansible_hostname }},site={{ site.name }},type=backend value='.$fastd_{{ site.name }}."\n";
{% endfor %}
sendflux($data);
?>