mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-08-07 18:03:33 +00:00
Update log table, login screen UI and package versions
This commit is contained in:
@@ -58,6 +58,18 @@ const internalOpenappsecLog = {
|
|||||||
eventSeverity: json.eventSeverity,
|
eventSeverity: json.eventSeverity,
|
||||||
eventLevel: json.eventLevel,
|
eventLevel: json.eventLevel,
|
||||||
eventTime: json.eventTime,
|
eventTime: json.eventTime,
|
||||||
|
assetName: json.eventSource.assetName,
|
||||||
|
securityAction: json.eventData.securityAction,
|
||||||
|
waapIncidentType: json.eventData.waapIncidentType,
|
||||||
|
httpSourceId: json.eventData.httpSourceId,
|
||||||
|
sourceIP: json.eventData.sourceIP,
|
||||||
|
httpHostName: json.eventData.httpHostName,
|
||||||
|
httpMethod: json.eventData.httpMethod,
|
||||||
|
httpUriPath: json.eventData.httpUriPath,
|
||||||
|
eventTopic: json.eventSource.eventTopic,
|
||||||
|
matchedLocation: json.eventData.matchedLocation,
|
||||||
|
matchedParameter: json.eventData.matchedParameter,
|
||||||
|
matchedSample: json.eventData.matchedSample,
|
||||||
eventName: json.eventName
|
eventName: json.eventName
|
||||||
};
|
};
|
||||||
dataLines.push(wrappedObject);
|
dataLines.push(wrappedObject);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nginx-proxy-manager",
|
"name": "nginx-proxy-manager",
|
||||||
"version": "0.0.0",
|
"version": "1.0.1",
|
||||||
"description": "A beautiful interface for creating Nginx endpoints",
|
"description": "A beautiful interface for creating Nginx endpoints",
|
||||||
"main": "js/index.js",
|
"main": "js/index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
<% var title = 'Login – Nginx Proxy Manager' %>
|
<% var title = 'Login – Nginx Proxy Manager' %>
|
||||||
<%- include partials/header.ejs %>
|
<%- include partials/header.ejs %>
|
||||||
|
|
||||||
<div class="page" id="login" data-version="<%= version %>">
|
<div class="page" id="login" data-version="<%- version %>">
|
||||||
<span class="loader"></span>
|
<span class="loader"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript" src="/js/login.bundle.js?v=<%= version %>"></script>
|
<script type="text/javascript" src="/js/login.bundle.js?v=<%- version %>"></script>
|
||||||
<%- include partials/footer.ejs %>
|
<%- include partials/footer.ejs %>
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
|
<td class="text-right"><a href="#" class="meta btn btn-secondary btn-sm">open</a></td>
|
||||||
<td><%- formatDbDate(eventTime, 'D-M-YY, H:mm') %></td>
|
<td class="text-nowrap"><%- formatDbDate(eventTime, 'MMM DD YYYY, H:mm') %></td>
|
||||||
<td><%- eventSeverity %></td>
|
<td><%- eventSeverity %></td>
|
||||||
<td><%- assetName %></td>
|
<td><%- assetName %></td>
|
||||||
<td><%- securityAction %></td>
|
<td><%- securityAction %></td>
|
||||||
@@ -14,7 +14,4 @@
|
|||||||
<td><%- eventTopic %></td>
|
<td><%- eventTopic %></td>
|
||||||
<td><%- matchedLocation %></td>
|
<td><%- matchedLocation %></td>
|
||||||
<td><%- matchedParameter %></td>
|
<td><%- matchedParameter %></td>
|
||||||
<td><%- matchedSample %></td>
|
<td><%- matchedSample %></td>
|
||||||
<td class="text-right">
|
|
||||||
<a href="#" class="meta btn btn-secondary btn-sm">open</a>
|
|
||||||
</td>
|
|
@@ -1,21 +1,21 @@
|
|||||||
<thead>
|
<thead>
|
||||||
|
<th> </th>
|
||||||
<th>Time</th>
|
<th>Time</th>
|
||||||
<th>Event Severity</th>
|
<th>Event Severity</th>
|
||||||
<th>Asset Name</th>
|
<th>Asset Name</th>
|
||||||
<th>Security Action</th>
|
<th>Security Action</th>
|
||||||
<th>AppSec Incident Type</th>
|
<th><span class="text-nowrap">AppSec Incident</span> Type</th>
|
||||||
<th>Source Identifier</th>
|
<th>Source Identifier</th>
|
||||||
<th>Source IP</th>
|
<th>Source IP</th>
|
||||||
<th>Proxy IP</th>
|
<th>Proxy IP</th>
|
||||||
<th>HTTP Host</th>
|
<th>HTTP Host</th>
|
||||||
<th>HTTP Method</th>
|
<th>HTTP Method</th>
|
||||||
<th>HTTP Response Code</th>
|
<th><span class="text-nowrap">HTTP Response</span> Code</th>
|
||||||
<th>HTTP URI Path</th>
|
<th><span class="text-nowrap">HTTP URI</span> Path</th>
|
||||||
<th>Event Topic</th>
|
<th>Event Topic</th>
|
||||||
<th>Matched Location</th>
|
<th>Matched Location</th>
|
||||||
<th>Matched Parameter</th>
|
<th>Matched Parameter</th>
|
||||||
<th>Matched Sample</th>
|
<th>Matched Sample</th>
|
||||||
<th> </th>
|
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<!-- items -->
|
<!-- items -->
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
|
<td class="text-right"><a href="#" class="meta btn btn-secondary btn-sm">open</a></td>
|
||||||
<td><%- formatDbDate(eventTime, 'D-M-YY, H:mm') %></td>
|
<td class="text-nowrap"><%- formatDbDate(eventTime, 'MMM DD YYYY, H:mm') %></td>
|
||||||
<td><%- eventSeverity %></td>
|
<td><%- eventSeverity %></td>
|
||||||
<td><%- assetName %></td>
|
<td><%- assetName %></td>
|
||||||
<td><%- securityAction %></td>
|
<td><%- securityAction %></td>
|
||||||
@@ -15,6 +15,3 @@
|
|||||||
<td><%- matchedLocation %></td>
|
<td><%- matchedLocation %></td>
|
||||||
<td><%- matchedParameter %></td>
|
<td><%- matchedParameter %></td>
|
||||||
<td><%- matchedSample %></td>
|
<td><%- matchedSample %></td>
|
||||||
<td class="text-right">
|
|
||||||
<a href="#" class="meta btn btn-secondary btn-sm">open</a>
|
|
||||||
</td>
|
|
||||||
|
@@ -1,21 +1,21 @@
|
|||||||
<thead>
|
<thead>
|
||||||
|
<th> </th>
|
||||||
<th>Time</th>
|
<th>Time</th>
|
||||||
<th>Event Severity</th>
|
<th>Event Severity</th>
|
||||||
<th>Asset Name</th>
|
<th>Asset Name</th>
|
||||||
<th>Security Action</th>
|
<th>Security Action</th>
|
||||||
<th>AppSec Incident Type</th>
|
<th><span class="text-nowrap">AppSec Incident</span> Type</th>
|
||||||
<th>Source Identifier</th>
|
<th>Source Identifier</th>
|
||||||
<th>Source IP</th>
|
<th>Source IP</th>
|
||||||
<th>Proxy IP</th>
|
<th>Proxy IP</th>
|
||||||
<th>HTTP Host</th>
|
<th>HTTP Host</th>
|
||||||
<th>HTTP Method</th>
|
<th>HTTP Method</th>
|
||||||
<th>HTTP Response Code</th>
|
<th><span class="text-nowrap">HTTP Response</span> Code</th>
|
||||||
<th>HTTP URI Path</th>
|
<th><span class="text-nowrap">HTTP URI</span> Path</th>
|
||||||
<th>Event Topic</th>
|
<th>Event Topic</th>
|
||||||
<th>Matched Location</th>
|
<th>Matched Location</th>
|
||||||
<th>Matched Parameter</th>
|
<th>Matched Parameter</th>
|
||||||
<th>Matched Sample</th>
|
<th>Matched Sample</th>
|
||||||
<th> </th>
|
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<!-- items -->
|
<!-- items -->
|
||||||
|
@@ -1,10 +1,8 @@
|
|||||||
<td><%- formatDbDate(eventTime, 'D-M-YY, H:mm') %></td>
|
<td class="text-right"><a href="#" class="meta btn btn-secondary btn-sm">open</a></td>
|
||||||
|
<td class="text-nowrap"><%- formatDbDate(eventTime, 'MMM DD YYYY, H:mm') %></td>
|
||||||
<td><%- eventSeverity %></td>
|
<td><%- eventSeverity %></td>
|
||||||
<td><%- eventPriority %></td>
|
<td><%- eventPriority %></td>
|
||||||
<td><%- eventTopic %></td>
|
<td><%- eventTopic %></td>
|
||||||
<td><%- eventName %></td>
|
<td><%- eventName %></td>
|
||||||
<td><%- suggestedRemediation %></td>
|
<td><%- suggestedRemediation %></td>
|
||||||
<td><%- assetName %></td>
|
<td><%- assetName %></td>
|
||||||
<td class="text-right">
|
|
||||||
<a href="#" class="meta btn btn-secondary btn-sm">open</a>
|
|
||||||
</td>
|
|
@@ -1,4 +1,5 @@
|
|||||||
<thead>
|
<thead>
|
||||||
|
<th> </th>
|
||||||
<th>Time</th>
|
<th>Time</th>
|
||||||
<th>Event Severity</th>
|
<th>Event Severity</th>
|
||||||
<th>Event Priority</th>
|
<th>Event Priority</th>
|
||||||
@@ -6,7 +7,6 @@
|
|||||||
<th>Event Name</th>
|
<th>Event Name</th>
|
||||||
<th>Suggested Remediation if Applicable</th>
|
<th>Suggested Remediation if Applicable</th>
|
||||||
<th>Asset Name</th>
|
<th>Asset Name</th>
|
||||||
<th> </th>
|
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<!-- items -->
|
<!-- items -->
|
||||||
|
@@ -78,9 +78,9 @@ module.exports = Mn.View.extend({
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.tabPaginationStates = {
|
this.tabPaginationStates = {
|
||||||
tab1: { page: 1, perPage: this.options.perPage },
|
tab1: { page: 1, perPage: this.options.perPage, totalDataLines: tab1Data.length },
|
||||||
tab2: { page: 1, perPage: this.options.perPage },
|
tab2: { page: 1, perPage: this.options.perPage, totalDataLines: tab2Data.length },
|
||||||
tab3: { page: 1, perPage: this.options.perPage }
|
tab3: { page: 1, perPage: this.options.perPage, totalDataLines: tab3Data.length }
|
||||||
};
|
};
|
||||||
|
|
||||||
// Define an object mapping for the ListViews
|
// Define an object mapping for the ListViews
|
||||||
@@ -99,36 +99,16 @@ module.exports = Mn.View.extend({
|
|||||||
// Show the ListView for the current tab
|
// Show the ListView for the current tab
|
||||||
this.showChildView('list_region', new CurrentListView({
|
this.showChildView('list_region', new CurrentListView({
|
||||||
collection: this.tabCollections[currentTab],
|
collection: this.tabCollections[currentTab],
|
||||||
page: 1,
|
// page: 1,
|
||||||
perPage: this.options.perPage
|
// perPage: this.options.perPage
|
||||||
// page: this.tabPaginationStates[currentTab].page,
|
page: this.tabPaginationStates[currentTab].page,
|
||||||
// perPage: this.tabPaginationStates[currentTab].perPage
|
perPage: this.tabPaginationStates[currentTab].perPage
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// const totalDataLines = response.length;
|
// this.showChildView('pagination_region', new PaginationView({
|
||||||
// this.showChildView('list_region', new ListView({
|
// totalDataLines: this.tabPaginationStates[currentTab].totalDataLines,
|
||||||
// collection: this.tabCollections.tab1,
|
// totalPages: Math.ceil(this.tabPaginationStates[currentTab].totalDataLines / this.options.perPage),
|
||||||
// page: this.tabPaginationStates.tab1.page,
|
// currentPage: this.tabPaginationStates[currentTab].page
|
||||||
// perPage: this.tabPaginationStates.tab1.perPage
|
|
||||||
// }));
|
|
||||||
|
|
||||||
// this.showChildView('pagination_region', new PaginationView({
|
|
||||||
// totalDataLines: this.tabCollectionLengths.tab1,
|
|
||||||
// totalPages: Math.ceil(this.tabCollectionLengths.tab1 / this.options.perPage),
|
|
||||||
// currentPage: this.tabPaginationStates.tab1.page
|
|
||||||
// }));
|
|
||||||
|
|
||||||
// const totalDataLines = response.length;
|
|
||||||
// this.showChildView('list_region', new ListView({
|
|
||||||
// collection: new OpenappsecLogModel.Collection(response),
|
|
||||||
// page: this.options.page,
|
|
||||||
// perPage: this.options.perPage
|
|
||||||
// }));
|
|
||||||
|
|
||||||
// this.showChildView('pagination_region', new PaginationView({
|
|
||||||
// totalDataLines: totalDataLines,
|
|
||||||
// totalPages: Math.ceil(totalDataLines / this.options.perPage),
|
|
||||||
// currentPage: this.options.page
|
|
||||||
// }));
|
// }));
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -184,7 +164,7 @@ module.exports = Mn.View.extend({
|
|||||||
const selectedTab = event.target.id;
|
const selectedTab = event.target.id;
|
||||||
let view = this;
|
let view = this;
|
||||||
let query = this.ui.query.val() || '';
|
let query = this.ui.query.val() || '';
|
||||||
|
view.ui.dimmer.addClass('active');
|
||||||
view.fetch(['user'], query)
|
view.fetch(['user'], query)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
if (!view.isDestroyed() && response) {
|
if (!view.isDestroyed() && response) {
|
||||||
|
@@ -6,11 +6,16 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-12 col-md-6">
|
<div class="col-sm-12 col-md-6">
|
||||||
<div class="text-center p-6">
|
<div class="text-center p-1">
|
||||||
<img src="/images/logo-text-vertical-grey.png" alt="Logo" />
|
<img src="/images/logo-text-vertical-grey.png" alt="Logo" />
|
||||||
<div class="text-center text-muted mt-5">
|
<div class="text-center text-muted mt-5">
|
||||||
<%- i18n('main', 'version', {version: getVersion()}) %>
|
<%- i18n('main', 'version', {version: getVersion()}) %>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="mt-5">
|
||||||
|
<span class="small mr-3 text-nowrap">Secured by:</span>
|
||||||
|
<img src="/images/open-appsec-logo.svg" border="0" width="29" class="mr-2">
|
||||||
|
<span class="mr-sm-0 mr-md-4 my-0 align-middle text-nowrap" style="font-family: Open Sans;">open-appsec</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-12 col-md-6">
|
<div class="col-sm-12 col-md-6">
|
||||||
|
@@ -36,7 +36,9 @@ module.exports = Mn.View.extend({
|
|||||||
templateContext: {
|
templateContext: {
|
||||||
i18n: i18n,
|
i18n: i18n,
|
||||||
getVersion: function () {
|
getVersion: function () {
|
||||||
return $('#login').data('version');
|
const version = require('../../../package.json').version;
|
||||||
|
return version;
|
||||||
|
// return $('#login').data('version');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nginx-proxy-manager",
|
"name": "nginx-proxy-manager",
|
||||||
"version": "0.0.0",
|
"version": "1.0.1",
|
||||||
"description": "A beautiful interface for creating Nginx endpoints",
|
"description": "A beautiful interface for creating Nginx endpoints",
|
||||||
"main": "js/index.js",
|
"main": "js/index.js",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
Reference in New Issue
Block a user