mirror of
				https://github.com/NginxProxyManager/nginx-proxy-manager.git
				synced 2025-10-31 07:43:33 +00:00 
			
		
		
		
	v2.1.0 (#293)
* Fix wrapping when too many hosts are shown (#207) * Update npm packages, fixes CVE-2019-10757 * Revert some breaking packages * Major overhaul - Docker buildx support in CI - Cypress API Testing in CI - Restructured folder layout (insert clean face meme) - Added Swagger documentation and validate API against that (to be completed) - Use common base image for all supported archs, which includes updated nginx with ipv6 support - Updated certbot and changes required for it - Large amount of Hosts names will wrap in UI - Updated packages for frontend - Version bump 2.1.0 * Updated documentation * Fix JWT expire time going crazy. Now set to 1day * Backend JS formatting rules * Remove v1 importer, I doubt anyone is using v1 anymore * Added backend formatting rules and enforce them in Jenkins builds * Fix CI, doesn't need a tty * Thanks bcrypt. Why can't you just be normal. * Cleanup after syntax check Co-authored-by: Marcelo Castagna <margaale@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										24
									
								
								frontend/js/models/access-list.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								frontend/js/models/access-list.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| const Backbone = require('backbone'); | ||||
|  | ||||
| const model = Backbone.Model.extend({ | ||||
|     idAttribute: 'id', | ||||
|  | ||||
|     defaults: function () { | ||||
|         return { | ||||
|             id:              undefined, | ||||
|             created_on:      null, | ||||
|             modified_on:     null, | ||||
|             name:            '', | ||||
|             items:           [], | ||||
|             // The following are expansions: | ||||
|             owner:           null | ||||
|         }; | ||||
|     } | ||||
| }); | ||||
|  | ||||
| module.exports = { | ||||
|     Model:      model, | ||||
|     Collection: Backbone.Collection.extend({ | ||||
|         model: model | ||||
|     }) | ||||
| }; | ||||
							
								
								
									
										18
									
								
								frontend/js/models/audit-log.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								frontend/js/models/audit-log.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| const Backbone = require('backbone'); | ||||
|  | ||||
| const model = Backbone.Model.extend({ | ||||
|     idAttribute: 'id', | ||||
|  | ||||
|     defaults: function () { | ||||
|         return { | ||||
|             name: '' | ||||
|         }; | ||||
|     } | ||||
| }); | ||||
|  | ||||
| module.exports = { | ||||
|     Model:      model, | ||||
|     Collection: Backbone.Collection.extend({ | ||||
|         model: model | ||||
|     }) | ||||
| }; | ||||
							
								
								
									
										38
									
								
								frontend/js/models/certificate.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								frontend/js/models/certificate.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| const Backbone = require('backbone'); | ||||
|  | ||||
| const model = Backbone.Model.extend({ | ||||
|     idAttribute: 'id', | ||||
|  | ||||
|     defaults: function () { | ||||
|         return { | ||||
|             id:                undefined, | ||||
|             created_on:        null, | ||||
|             modified_on:       null, | ||||
|             provider:          '', | ||||
|             nice_name:         '', | ||||
|             domain_names:      [], | ||||
|             expires_on:        null, | ||||
|             meta:              {}, | ||||
|             // The following are expansions: | ||||
|             owner:             null, | ||||
|             proxy_hosts:       [], | ||||
|             redirection_hosts: [], | ||||
|             dead_hosts:        [] | ||||
|         }; | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * @returns {Boolean} | ||||
|      */ | ||||
|     hasSslFiles: function () { | ||||
|         let meta = this.get('meta'); | ||||
|         return typeof meta['certificate'] !== 'undefined' && meta['certificate'] && typeof meta['certificate_key'] !== 'undefined' && meta['certificate_key']; | ||||
|     } | ||||
| }); | ||||
|  | ||||
| module.exports = { | ||||
|     Model:      model, | ||||
|     Collection: Backbone.Collection.extend({ | ||||
|         model: model | ||||
|     }) | ||||
| }; | ||||
							
								
								
									
										32
									
								
								frontend/js/models/dead-host.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								frontend/js/models/dead-host.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| const Backbone = require('backbone'); | ||||
|  | ||||
| const model = Backbone.Model.extend({ | ||||
|     idAttribute: 'id', | ||||
|  | ||||
|     defaults: function () { | ||||
|         return { | ||||
|             id:              undefined, | ||||
|             created_on:      null, | ||||
|             modified_on:     null, | ||||
|             domain_names:    [], | ||||
|             certificate_id:  0, | ||||
|             ssl_forced:      false, | ||||
|             http2_support:   false, | ||||
|             hsts_enabled:    false, | ||||
|             hsts_subdomains: false, | ||||
|             enabled:         true, | ||||
|             meta:            {}, | ||||
|             advanced_config: '', | ||||
|             // The following are expansions: | ||||
|             owner:           null, | ||||
|             certificate:     null | ||||
|         }; | ||||
|     } | ||||
| }); | ||||
|  | ||||
| module.exports = { | ||||
|     Model:      model, | ||||
|     Collection: Backbone.Collection.extend({ | ||||
|         model: model | ||||
|     }) | ||||
| }; | ||||
							
								
								
									
										35
									
								
								frontend/js/models/proxy-host-location.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								frontend/js/models/proxy-host-location.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| const Backbone = require('backbone'); | ||||
|  | ||||
| const model = Backbone.Model.extend({ | ||||
|     idAttribute: 'id', | ||||
|  | ||||
|     defaults: function() { | ||||
|         return { | ||||
|             opened:             false, | ||||
|             path:               '', | ||||
|             advanced_config:    '', | ||||
|             forward_scheme:     'http', | ||||
|             forward_host:       '', | ||||
|             forward_port:       '80' | ||||
|         } | ||||
|     }, | ||||
|  | ||||
|     toJSON() { | ||||
|         const r = Object.assign({}, this.attributes); | ||||
|         delete r.opened; | ||||
|         return r; | ||||
|     }, | ||||
|  | ||||
|     toggleVisibility: function () { | ||||
|         this.save({ | ||||
|             opened: !this.get('opened') | ||||
|         }); | ||||
|     } | ||||
| }) | ||||
|  | ||||
| module.exports = { | ||||
|     Model: model, | ||||
|     Collection: Backbone.Collection.extend({ | ||||
|         model | ||||
|     }) | ||||
| } | ||||
							
								
								
									
										40
									
								
								frontend/js/models/proxy-host.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								frontend/js/models/proxy-host.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| const Backbone = require('backbone'); | ||||
|  | ||||
| const model = Backbone.Model.extend({ | ||||
|     idAttribute: 'id', | ||||
|  | ||||
|     defaults: function () { | ||||
|         return { | ||||
|             id:                      undefined, | ||||
|             created_on:              null, | ||||
|             modified_on:             null, | ||||
|             domain_names:            [], | ||||
|             forward_scheme:          'http', | ||||
|             forward_host:            '', | ||||
|             forward_port:            null, | ||||
|             access_list_id:          0, | ||||
|             certificate_id:          0, | ||||
|             ssl_forced:              false, | ||||
|             hsts_enabled:            false, | ||||
|             hsts_subdomains:         false, | ||||
|             caching_enabled:         false, | ||||
|             allow_websocket_upgrade: false, | ||||
|             block_exploits:          false, | ||||
|             http2_support:           false, | ||||
|             advanced_config:         '', | ||||
|             enabled:                 true, | ||||
|             meta:                    {}, | ||||
|             // The following are expansions: | ||||
|             owner:                   null, | ||||
|             access_list:             null, | ||||
|             certificate:             null | ||||
|         }; | ||||
|     } | ||||
| }); | ||||
|  | ||||
| module.exports = { | ||||
|     Model:      model, | ||||
|     Collection: Backbone.Collection.extend({ | ||||
|         model: model | ||||
|     }) | ||||
| }; | ||||
							
								
								
									
										35
									
								
								frontend/js/models/redirection-host.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								frontend/js/models/redirection-host.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| const Backbone = require('backbone'); | ||||
|  | ||||
| const model = Backbone.Model.extend({ | ||||
|     idAttribute: 'id', | ||||
|  | ||||
|     defaults: function () { | ||||
|         return { | ||||
|             id:                  undefined, | ||||
|             created_on:          null, | ||||
|             modified_on:         null, | ||||
|             domain_names:        [], | ||||
|             forward_domain_name: '', | ||||
|             preserve_path:       true, | ||||
|             certificate_id:      0, | ||||
|             ssl_forced:          false, | ||||
|             hsts_enabled:        false, | ||||
|             hsts_subdomains:     false, | ||||
|             block_exploits:      false, | ||||
|             http2_support:       false, | ||||
|             advanced_config:     '', | ||||
|             enabled:             true, | ||||
|             meta:                {}, | ||||
|             // The following are expansions: | ||||
|             owner:               null, | ||||
|             certificate:         null | ||||
|         }; | ||||
|     } | ||||
| }); | ||||
|  | ||||
| module.exports = { | ||||
|     Model:      model, | ||||
|     Collection: Backbone.Collection.extend({ | ||||
|         model: model | ||||
|     }) | ||||
| }; | ||||
							
								
								
									
										22
									
								
								frontend/js/models/setting.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								frontend/js/models/setting.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| const Backbone = require('backbone'); | ||||
|  | ||||
| const model = Backbone.Model.extend({ | ||||
|     idAttribute: 'id', | ||||
|  | ||||
|     defaults: function () { | ||||
|         return { | ||||
|             id:          undefined, | ||||
|             name:        '', | ||||
|             description: '', | ||||
|             value:       null, | ||||
|             meta:        [] | ||||
|         }; | ||||
|     } | ||||
| }); | ||||
|  | ||||
| module.exports = { | ||||
|     Model:      model, | ||||
|     Collection: Backbone.Collection.extend({ | ||||
|         model: model | ||||
|     }) | ||||
| }; | ||||
							
								
								
									
										29
									
								
								frontend/js/models/stream.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								frontend/js/models/stream.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| const Backbone = require('backbone'); | ||||
|  | ||||
| const model = Backbone.Model.extend({ | ||||
|     idAttribute: 'id', | ||||
|  | ||||
|     defaults: function () { | ||||
|         return { | ||||
|             id:              undefined, | ||||
|             created_on:      null, | ||||
|             modified_on:     null, | ||||
|             incoming_port:   null, | ||||
|             forward_ip:      null, | ||||
|             forwarding_port: null, | ||||
|             tcp_forwarding:  true, | ||||
|             udp_forwarding:  false, | ||||
|             enabled:         true, | ||||
|             meta:            {}, | ||||
|             // The following are expansions: | ||||
|             owner:           null | ||||
|         }; | ||||
|     } | ||||
| }); | ||||
|  | ||||
| module.exports = { | ||||
|     Model:      model, | ||||
|     Collection: Backbone.Collection.extend({ | ||||
|         model: model | ||||
|     }) | ||||
| }; | ||||
							
								
								
									
										54
									
								
								frontend/js/models/user.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								frontend/js/models/user.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| const _        = require('underscore'); | ||||
| const Backbone = require('backbone'); | ||||
|  | ||||
| const model = Backbone.Model.extend({ | ||||
|     idAttribute: 'id', | ||||
|  | ||||
|     defaults: function () { | ||||
|         return { | ||||
|             id:          undefined, | ||||
|             name:        '', | ||||
|             nickname:    '', | ||||
|             email:       '', | ||||
|             is_disabled: false, | ||||
|             roles:       [], | ||||
|             permissions: null | ||||
|         }; | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * @returns {Boolean} | ||||
|      */ | ||||
|     isAdmin: function () { | ||||
|         return _.indexOf(this.get('roles'), 'admin') !== -1; | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * Checks if the perm has either `view` or `manage` value | ||||
|      * | ||||
|      * @param   {String}  item | ||||
|      * @returns {Boolean} | ||||
|      */ | ||||
|     canView: function (item) { | ||||
|         let permissions = this.get('permissions'); | ||||
|         return permissions !== null && typeof permissions[item] !== 'undefined' && ['view', 'manage'].indexOf(permissions[item]) !== -1; | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * Checks if the perm has `manage` value | ||||
|      * | ||||
|      * @param   {String}  item | ||||
|      * @returns {Boolean} | ||||
|      */ | ||||
|     canManage: function (item) { | ||||
|         let permissions = this.get('permissions'); | ||||
|         return permissions !== null && typeof permissions[item] !== 'undefined' && permissions[item] === 'manage'; | ||||
|     } | ||||
| }); | ||||
|  | ||||
| module.exports = { | ||||
|     Model:      model, | ||||
|     Collection: Backbone.Collection.extend({ | ||||
|         model: model | ||||
|     }) | ||||
| }; | ||||
		Reference in New Issue
	
	Block a user