rspamd/interface/index.html
Alexander Moisseev fa5125be25 [WebUI] Display multiple alerts at once
Now user have a chance to see all thrown alerts not just the latest one.
2017-04-08 19:03:53 +03:00

382 wiersze
14 KiB
HTML
Czysty Wina Historia

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Rspamd Web Interface</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link href="./css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="./css/footable.bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="./css/d3evolution.css">
<link href="./css/rspamd.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-default" id="navBar">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="."><img src="./img/rspamd_logo_navbar.png" style="width: 67px; margin-top: -16px;"/></a>
</div>
<form class="navbar-form navbar-left">
<select id="selSrv" class="form-control"></select>
</form>
<ul class="nav navbar-nav nav-pills" role="tablist">
<li role="presentation" class="active"><a id="status_nav" aria-controls="status" role="tab" href="#status" data-toggle="tab">Status</a></li>
<li role="presentation"><a id="throughput_nav" aria-controls="throughput" role="tab" href="#throughput" data-toggle="tab">Throughput</a></li>
<li role="presentation"><a id="configuration_nav" aria-controls="configuration" role="tab" href="#configuration" data-toggle="tab">Configuration</a></li>
<li role="presentation"><a id="symbols_nav" aria-controls="symbols" role="tab" href="#symbols" data-toggle="tab">Symbols</a></li>
<li role="presentation"><a id="learning_nav" aria-controls="learning" role="tab" href="#learning" data-toggle="tab">Learning</a></li>
<li role="presentation"><a id="scan_nav" aria-controls="scan" role="tab" href="#scan" data-toggle="tab">Scan</a></li>
<li role="presentation"><a id="history_nav" aria-controls="history" role="tab" href="#history" data-toggle="tab">History</a></li>
</ul>
<ul class="nav navbar-nav nav-pills pull-right" style="display:none">
<li><a href="#" data-toggle="tab" id="refresh"><i class="glyphicon glyphicon-refresh glyphicon-spin"></i> Refresh</a></li>
<li><a href="#" data-toggle="tab" id="disconnect"><i class="glyphicon glyphicon-off"></i> Disconnect</a></li>
</ul>
</div>
</nav>
<div class="notification-area"></div>
<div id="mainUI" style="display:none">
<div class="container-fluid">
<div class="tab-content">
<div class="tab-pane active" id="status">
<div class="row">
<div class="col-md-12">
<div class="widget-box widget-plain">
<ul id="statWidgets" class="stat-boxes" style="display:none">
</ul>
</div>
</div>
</div>
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-signal"></i></span>
<h5>Statistics</h5>
</div>
<div class="widget-content chart-content">
<div class="row">
<div class="chart" id="chart">
<span class="notice">Loading..</span>
<noscript>Please enable Javascript</noscript>
</div>
</div>
</div>
</div>
<div class="widget-box">
<!--iv class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-tasks"></i></span>
<h5>Servers</h5>
</div-->
<div class="widget-content nopadding">
<table class="table table-log table-hover" id="clusterTable">
<thead>
<tr>
<th class="col1" title="Radio"></th>
<th class="col2" title="SName">Server name</th>
<th class="col3" title="SHost">Host</th>
<th class="col4" title="SStatus">Status</th>
<th class="col5" title="SId">Configuration ID</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
<div class="tab-pane" id="throughput">
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-stats"></i></span>
<h5>Throughput</h5>
</div>
<div class="widget-content">
<div>
<div class="row">
<div id="graph">
<span class="notice">Loading..</span>
<noscript>Please enable Javascript</noscript>
</div>
</div>
<div id="summary-row" class="row">
<div class="col-fixed" id="rrd-pie" >
<span class="notice">Loading..</span>
<noscript>Please enable Javascript</noscript>
</div>
<div class="col-fluid">
<table id="rrd-table" class="table table-striped table-hover"></table>
<div id="rrd-table_toggle"></div>
</div>
</div>
<form id="graph_controls" action="#">
Select dataset:
<select id="selData" class="form-control">
<option value="hourly" selected>Hourly</option>
<option value="daily">Daily</option>
<option value="weekly">Weekly</option>
<option value="monthly">Monthly</option>
</select>
Convert to:
<select id="selConvert" class="form-control">
<option value="" selected>--</option>
<option value="percentage">percentage</option>
</select>
Select chart type:
<select id="selType" class="form-control">
<option value="line" selected>Line</option>
<option value="area">Stacked area</option>
</select>
Select <a title="View Mike Bostock's Block." href="https://bl.ocks.org/mbostock/4342190" target="_blank">interpolation mode</a>:
<select id="selInterpolate" class="form-control">
<option value="linear" selected>linear</option>
<option value="step">step</option>
<option value="step-before">step-before</option>
<option value="step-after">step-after</option>
<option value="basis">basis</option>
<option value="basis-open">basis-open</option>
<option value="bundle">bundle</option>
<option value="cardinal">cardinal</option>
<option value="cardinal-open">cardinal-open</option>
<option value="monotone">monotone</option>
</select>
</form>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="configuration">
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-tasks"></i></span><h5>Actions</h5>
</div>
<div class="widget-content actions-content" id="actionsBody"></div>
</div>
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-list"></i></span><h5>Lists</h5>
</div>
<div class="widget-content nopadding">
<table class="table table-condensed table-hover" id="listMaps">
</table>
</div>
</div>
</div>
<div class="tab-pane" id="symbols">
<div class="widget-box">
<div class="widget-title">
<div class="buttons pull-right">
<button class="btn btn-info btn-sm" id="updateSymbols">
<i class="glyphicon glyphicon-refresh"></i> Update
</button>
</div>
<span class="icon"><i class="glyphicon glyphicon-tasks"></i></span>
<h5>Symbols and rules</h5>
</div>
<div class="widget-content nopadding">
<table class="table table-hover" id="symbolsTable"></table>
</div>
</div>
</div>
<div class="tab-pane" id="learning">
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-file"></i></span>
<h5>Learn RSPAMD</h5>
</div>
<div class="widget-content">
<div class="row">
<form class="col-md-6">
<h5>Insert raw SPAM source:</h5>
<textarea class="col-md-5 upload-textarea" id="spamTextSource" value=""></textarea>
<p><button class="btn btn-default pull-right" data-upload="spam"><i class="glyphicon glyphicon-upload"></i> Upload text</button></p>
</form>
<form class="col-md-6">
<h5>Insert raw HAM source:</h5>
<textarea class="col-md-5 upload-textarea" id="hamTextSource" value=""></textarea>
<p><button class="btn btn-default pull-right" data-upload="ham"><i class="glyphicon glyphicon-upload"></i> Upload text</button></p>
</form>
</div>
<div class="row">
<form class="col-md-6">
<h5>Insert raw Fuzzy storage:</h5>
<textarea class="col-md-5 upload-textarea" id="fuzzyTextSource" value=""></textarea>
<div class="row">
<label class="pull-left">
Flag
</label>
<div class="pull-right col-md-10">
<input id="fuzzyFlagText" class="slider" type="slider" value="1"/>
</div>
</div>
<div class="row">
<label class="pull-left">
Weight
</label>
<div class="pull-right col-md-10">
<input id="fuzzyWeightText" class="slider" type="slider" value="1"/>
</div>
</div>
<p><button class="btn btn-default pull-right" data-upload="fuzzy"><i class="glyphicon glyphicon-upload"></i> Upload text</button></p>
</form>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="scan">
<div class="widget-box">
<div class="widget-title">
<span class="icon"><i class="glyphicon glyphicon-info-sign"></i></span>
<h5>Online scan suspected message</h5>
</div>
<div class="widget-content">
<h5>Paste and scan suspicious message</h5>
<div class="row">
<form class="col-md-12 nomargin" id="scanForm">
<textarea class="col-md-12 scan-textarea" id="scanTextSource"></textarea>
<button type="submit" class="btn btn-default btn-primary" data-upload="scan">Scan message</button>
<!--span class="btn btn-default btn-file" style="margin-top:10px; margin-left:5px;">
<i class="glyphicon glyphicon-upload"></i> Upload file <input type="file" class="btn btn-default" id="inputFile">
</span-->
<button class="btn btn-default pull-right" id="scanClean">Clean form</button>
</form>
</div>
<div id="scanResult" style="display:none">
<h4>Scan results:</h4>
<div class="well nomargin nopadding">
<table class="table table-log table-hover" id="scanOutput">
<thead>
<tr>
<th class="col4" title="Action">Action</th>
<th class="col5" title="Score / Req.&nbsp;score">Score / Req.&nbsp;score</th>
<th class="col6" title="Symbols">Symbols</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="history">
<div class="widget-box">
<div class="widget-title">
<div class="buttons pull-right">
<button class="btn btn-danger btn-sm" id="resetHistory">
<i class="glyphicon glyphicon-remove-circle"></i> Reset
</button>
<button class="btn btn-info btn-sm" id="updateHistory">
<i class="glyphicon glyphicon-refresh"></i> Update
</button>
</div>
<span class="icon"><i class="glyphicon glyphicon-eye-open"></i></span>
<h5>History</h5>
</div>
<div class="widget-content nopadding">
<div id="historyLog">
<table class="table" id="historyTable"></table>
</div>
</div>
</div>
<div class="widget-box" id="errors-history">
<div class="widget-title">
<div class="buttons pull-right">
<button class="btn btn-info btn-sm" id="updateErrors">
<i class="glyphicon glyphicon-refresh"></i> Update
</button>
</div>
<span class="icon"><i class="glyphicon glyphicon-eye-open"></i></span>
<h5>Errors</h5>
</div>
<div class="widget-content nopadding">
<table class="table table-hover" id="errorsLog"></table>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Common modal -->
<div id="modalDialog" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modalLabel">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="modalTitle"></h3>
</div>
<div class="modal-body" id="modalBody">
<div class="progress progress-striped active">
<div class="bar" style="width:100%;"></div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true" id="modalClose">Close</button>
<button class="btn btn-primary" id="modalSave">Save changes</button>
<button class="btn btn-primary" id="modalSaveAll">Save on cluster</button>
</div>
</div>
</div>
</div>
<!-- login modal -->
<div id="connectDialog" class="modal" tabindex="-1" role="dialog" aria-labelledby="RSPAMD Connect">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3>RSPAMD Connect</h3>
</div>
<div class="modal-body" id="connectBody">
<form id="connectForm">
<!--
<div class="form-group">
<label class="control-label" for="connectHost">Hostname</label>
<div class="controls">
<input class=col-md-2" type="text" id="connectHost" placeholder="Hostname" tabindex="1">
</div>
</div>
-->
<div class="form-group">
<div class="input-group">
<input class="form-control"
type="password"
id="connectPassword"
placeholder="Password"
tabindex="1" data-cip-id="connectPassword">
<span class="input-group-btn">
<button type="submit" id="connectButton" class="btn btn-primary" tabindex="1">Connect</button>
</span>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div id="backDrop" class="modal-backdrop fade in" style="display:none"></div>
<script data-main="./js/main.js" src="./js/require.js"></script>
</body>
</html>