ignore unimplemented ping url from fediverse

This commit is contained in:
les 2019-09-13 11:08:18 +02:00
parent fcc616ee2a
commit 2ae5097d93
No known key found for this signature in database
GPG key ID: 352918250B012177
3 changed files with 20 additions and 5 deletions

View file

@ -9,6 +9,19 @@ const url = require('url')
const settings = require('../api/controller/settings') const settings = require('../api/controller/settings')
const Helpers = { const Helpers = {
// ignore unimplemented ping url from fediverse
async spamFilter (req, res, next) {
const urlToIgnore = [
'/api/v1/instance',
'/api/meta',
'/api/statusnet/config.json',
'/poco',
]
if (urlToIgnore.includes(req.path)) return res.status(404).send('Not Found')
next()
},
async signAndSend (message, user, to) { async signAndSend (message, user, to) {
// get the URI of the actor object and append 'inbox' to it // get the URI of the actor object and append 'inbox' to it
const toUrl = url.parse(to) const toUrl = url.parse(to)

View file

@ -1,6 +1,5 @@
const express = require('express') const express = require('express')
const router = express.Router() const router = express.Router()
const config = require('config')
const cors = require('cors') const cors = require('cors')
const Follows = require('./follows') const Follows = require('./follows')
const Users = require('./users') const Users = require('./users')
@ -14,12 +13,14 @@ const debug = require('debug')('federation')
* Federation is calling! * Federation is calling!
* ref: https://www.w3.org/TR/activitypub/#Overview * ref: https://www.w3.org/TR/activitypub/#Overview
*/ */
router.use(cors()) router.use(cors())
router.use(express.json({ type: ['application/json', 'application/activity+json', 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"'] })) router.use(express.json({ type: ['application/json', 'application/activity+json', 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"'] }))
router.get('/m/:event_id', async (req, res) => { router.get('/m/:event_id', async (req, res) => {
const event_id = req.params.event_id const event_id = req.params.event_id
// if (req.accepts('html')) return res.redirect(301, `/event/${event_id}`) if (req.accepts('html')) return res.redirect(301, `/event/${event_id}`)
const event = await Event.findByPk(req.params.event_id, { include: [ User, Tag, Place ] }) const event = await Event.findByPk(req.params.event_id, { include: [ User, Tag, Place ] })
if (!event) { return res.status(404).send('Not found') } if (!event) { return res.status(404).send('Not found') }

View file

@ -4,6 +4,7 @@ const express = require('express')
const api = require('./api') const api = require('./api')
const federation = require('./federation') const federation = require('./federation')
const webfinger = require('./federation/webfinger') const webfinger = require('./federation/webfinger')
const { spamFilter } = require('./federation/helpers')
const debug = require('debug')('routes') const debug = require('debug')('routes')
const router = express.Router() const router = express.Router()
@ -12,6 +13,9 @@ router.use((req, res, next) => {
next() next()
}) })
// ignore unimplemented ping url from fediverse
router.use(spamFilter)
router.use('/favicon.ico', express.static(path.resolve(config.favicon || 'assets/favicon.ico'))) router.use('/favicon.ico', express.static(path.resolve(config.favicon || 'assets/favicon.ico')))
router.use('/media/', express.static(config.upload_path)) router.use('/media/', express.static(config.upload_path))
router.use('/api', api) router.use('/api', api)
@ -20,9 +24,6 @@ router.use('/api', api)
router.use('/.well-known', webfinger) router.use('/.well-known', webfinger)
router.use('/federation', federation) router.use('/federation', federation)
// ignore unimplemented ping url from fediverse
router.use('/poco', (req, res) => res.status(404).send('404: Page not found'))
// Handle 404 // Handle 404
// router.use((req, res) => res.status(404).send('404: Page not found')) // router.use((req, res) => res.status(404).send('404: Page not found'))