{{ 'APRSC_STATUS_TITLE' | translate:status.server }}
{{ status.server.time_now | datetime }}

FreeBSD Hetzner zero.txryan.com

{{ uierror }}

{{ 'ALARM_' + alarm.err | translate }}

{{ 'SERVER_TITLE' | translate }}

{{ 'SERVER_SERVER_ID' | translate }}{{ status.server.server_id }}
{{ 'SERVER_SERVER_ADMIN' | translate }}{{ status.server.admin }}
{{ 'SERVER_SERVER_EMAIL' | translate }}{{ status.server.email }}
{{ 'SERVER_SOFTWARE' | translate }}{{ status.server.software }} {{ status.server.software_version }}
{{ 'SERVER_SOFTWARE_FEATURES' | translate }}{{ status.server.software_build_features }}
{{ 'SERVER_UPTIME' | translate }}{{ status.server.uptime | duration }}
{{ 'SERVER_STARTED' | translate }}{{ status.server.time_started | datetime }}
{{ 'SERVER_OS' | translate }}{{ status.server.os }}


{{ 'TOTALS_TITLE' | translate }}

{{ status.totals[k] }}{{ (status.totals[k] - status_prev.totals[k]) / status.tick_dif | ratestr}}/s

{{ 'DUPES_TITLE' | translate }}

{{ status.dupecheck[k] }}{{ (status.dupecheck[k] - status_prev.dupecheck[k]) / status.tick_dif | ratestr}}/s
{{ 'DUPES_' + k | translate }}{{ status.dupecheck.variations[k] }}{{ (status.dupecheck.variations[k] - status_prev.dupecheck.variations[k]) / status.tick_dif | ratestr}}/s

{{ 'LISTENERS_TITLE' | translate }}

{{ 'TH_' + k | translate }}
{{ l.proto }}{{ l.addr }}{{ l.name }}{{ l.clients }}{{ l.clients_peak }}{{ l.clients_max }}{{ l.connects }}{{ (l.connects - status_prev.listeners_id[l.id].connects) / status.tick_dif | ratestr }}{{ l.pkts_tx }}{{ l.pkts_rx }}/{{ l.pkts_dup }}/{{ l.pkts_ign }}{{ l.bytes_tx }}{{ l.bytes_rx }}{{ (l.bytes_tx - status_prev.listeners_id[l.id].bytes_tx) / status.tick_dif | ratestr }} / {{ (l.bytes_rx - status_prev.listeners_id[l.id].bytes_rx) / status.tick_dif | ratestr }}

{{ 'UPLINKS_TITLE' | translate }}

{{ 'TH_' + k | translate }}
{{ c.username }}{{ c.addr_rem }}{{ c.mode }} SCTP{{ c.t_connect | datetime }}{{ c.since_connect | duration }}{{ c.since_last_read | duration }}{{ c.app_name }} {{ c.app_version }}{{ c.pkts_tx }}{{ c.pkts_rx }}/{{ c.pkts_dup }}/{{ c.pkts_ign }}{{ c.bytes_tx }}{{ c.bytes_rx }}{{ (c.bytes_tx - status_prev.uplinks_id[c.id].bytes_tx) / status.tick_dif | ratestr }} / {{ (c.bytes_rx - status_prev.uplinks_id[c.id].bytes_rx) / status.tick_dif | ratestr }}{{ c.obuf_q }}

{{ 'PEERS_TITLE' | translate }}

{{ 'TH_' + k | translate }}
{{ c.username }}{{ c.addr_rem }}{{ c.since_last_read | duration }}{{ c.pkts_tx }}{{ c.pkts_rx }}/{{ c.pkts_dup }}/{{ c.pkts_ign }}{{ c.bytes_tx }}{{ c.bytes_rx }}{{ (c.bytes_tx - status_prev.peers_id[c.id].bytes_tx) / status.tick_dif | ratestr }} / {{ (c.bytes_rx - status_prev.peers_id[c.id].bytes_rx) / status.tick_dif | ratestr }}{{ c.obuf_q }}

{{ 'CLIENTS_TITLE' | translate }}

{{ 'TH_' + k | translate }}
{{ c.addr_loc | onlyport }}{{ c.username }}{{ c.addr_rem }} {{ c.addr_rem }} +UDP SCTPNo Yes Cert{{ c.since_connect | duration }}{{ c.since_last_read | duration }}{{ c.app_name }} {{ c.app_version }}{{ c.pkts_tx }}{{ c.pkts_rx }}/{{ c.pkts_dup }}/{{ c.pkts_ign }}{{ c.bytes_tx }}{{ c.bytes_rx }}{{ (c.bytes_tx - status_prev.clients_id[c.id].bytes_tx) / status.tick_dif | ratestr }} / {{ (c.bytes_rx - status_prev.clients_id[c.id].bytes_rx) / status.tick_dif | ratestr }}{{ c.obuf_q }}{{ c.heard_count }}{{ c.filter }}

{{ 'MEM_TITLE' | translate }}

{{ 'MEM_TH_TYPE' | translate }}{{ 'MEM_TH_cell_size' | translate }}{{ 'MEM_TH_cells_used' | translate }}{{ 'MEM_TH_cells_free' | translate }}{{ 'MEM_TH_used_bytes' | translate }}{{ 'MEM_TH_allocated_bytes' | translate }}{{ 'MEM_TH_blocks' | translate }}
{{ v }}{{ status.memory[k + '_cell_size'] }}{{ status.memory[k + '_cells_used'] }}{{ status.memory[k + '_cells_free'] }}{{ status.memory[k + '_used_bytes'] }}{{ status.memory[k + '_allocated_bytes'] }}{{ status.memory[k + '_blocks'] }}/{{ status.memory[k + '_blocks_max'] }}