mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-04 18:29:27 +02:00
feature: IP filtering on signup page
disable registration form on IP not in range checking the CIDR list before filtering with it placing the cidr filters as an attribute object in the config
This commit is contained in:
parent
e2f1dad836
commit
ff2c1fe813
13 changed files with 105 additions and 9 deletions
|
@ -4,7 +4,7 @@ import { ServerConfig, UserRight } from '../../../shared'
|
|||
import { About } from '../../../shared/models/server/about.model'
|
||||
import { CustomConfig } from '../../../shared/models/server/custom-config.model'
|
||||
import { unlinkPromise, writeFilePromise } from '../../helpers/core-utils'
|
||||
import { isSignupAllowed } from '../../helpers/utils'
|
||||
import { isSignupAllowed, isSignupAllowedForCurrentIP } from '../../helpers/utils'
|
||||
import { CONFIG, CONSTRAINTS_FIELDS, reloadConfig } from '../../initializers'
|
||||
import { asyncMiddleware, authenticate, ensureUserHasRight } from '../../middlewares'
|
||||
import { customConfigUpdateValidator } from '../../middlewares/validators/config'
|
||||
|
@ -36,6 +36,7 @@ configRouter.delete('/custom',
|
|||
|
||||
async function getConfig (req: express.Request, res: express.Response, next: express.NextFunction) {
|
||||
const allowed = await isSignupAllowed()
|
||||
const allowedForCurrentIP = isSignupAllowedForCurrentIP(req.ip)
|
||||
|
||||
const enabledResolutions = Object.keys(CONFIG.TRANSCODING.RESOLUTIONS)
|
||||
.filter(key => CONFIG.TRANSCODING.RESOLUTIONS[key] === true)
|
||||
|
@ -54,7 +55,8 @@ async function getConfig (req: express.Request, res: express.Response, next: exp
|
|||
},
|
||||
serverVersion: packageJSON.version,
|
||||
signup: {
|
||||
allowed
|
||||
allowed,
|
||||
allowedForCurrentIP
|
||||
},
|
||||
transcoding: {
|
||||
enabledResolutions
|
||||
|
|
|
@ -19,6 +19,7 @@ import {
|
|||
authenticate,
|
||||
ensureUserHasRight,
|
||||
ensureUserRegistrationAllowed,
|
||||
ensureUserRegistrationAllowedForIP,
|
||||
paginationValidator,
|
||||
setDefaultPagination,
|
||||
setDefaultSort,
|
||||
|
@ -106,6 +107,7 @@ usersRouter.post('/',
|
|||
|
||||
usersRouter.post('/register',
|
||||
asyncMiddleware(ensureUserRegistrationAllowed),
|
||||
ensureUserRegistrationAllowedForIP,
|
||||
asyncMiddleware(usersRegisterValidator),
|
||||
asyncMiddleware(registerUserRetryWrapper)
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue