Blocked by Instagram.

This commit is contained in:
Cadence Fish
2020-01-30 16:05:43 +13:00
parent a5ab771969
commit e2fba3bbd0
9 changed files with 56 additions and 14 deletions

View File

@@ -1,6 +1,7 @@
const constants = require("../../lib/constants")
const {fetchUser, getOrFetchShortcode} = require("../../lib/collectors")
const {fetchUser, getOrFetchShortcode, requestCache} = require("../../lib/collectors")
const {render, redirect} = require("pinski/plugins")
const {pugCache} = require("../passthrough")
module.exports = [
{
@@ -37,6 +38,17 @@ module.exports = [
title: "Not found",
message: "This user doesn't exist."
})
} else if (error === constants.symbols.INSTAGRAM_DEMANDS_LOGIN) {
return {
statusCode: 503,
contentType: "text/html",
headers: {
"Retry-After": requestCache.getTtl("user/"+fill[0], 1000)
},
content: pugCache.get("pug/blocked.pug").web({
expiresMinutes: requestCache.getTtl("user/"+fill[0], 1000*60)
})
}
} else {
throw error
}

19
src/site/pug/blocked.pug Normal file
View File

@@ -0,0 +1,19 @@
//- Needs expiresMinutes, instancesURL
include includes/error.pug
- const numberFormat = new Intl.NumberFormat().format
doctype html
html
head
meta(charset="utf-8")
meta(name="viewport" content="width=device-width, initial-scale=1")
title= `Blocked | Bibliogram`
link(rel="stylesheet" type="text/css" href="/static/css/main.css")
body.error-page
+error(503, "Blocked by Instagram")
| Instagram is refusing to provide data to this server. Try again later to see if the block has been lifted.
| This error has been cached. The internal cache will expire in #{expiresMinutes} minutes.
|
a(href="https://github.com/cloudrac3r/bibliogram/wiki/Instances") You could try browsing Bibliogram on another instance.

View File

@@ -1,7 +1,6 @@
//- Needs title, message, statusCode
//- Needs title, message, statusCode ?explanation
include includes/timeline_page.pug
include includes/next_page_button.pug
include includes/error.pug
- const numberFormat = new Intl.NumberFormat().format
@@ -13,8 +12,6 @@ html
title= `${title} | Bibliogram`
link(rel="stylesheet" type="text/css" href="/static/css/main.css")
body.error-page
h1.code= statusCode
p.message= message
if explanation
p.explanation= explanation
a(href="javascript:history.back()").back ← Go back?
+error(statusCode, message)
if explanation
=explanation

View File

@@ -0,0 +1,7 @@
mixin error(statusCode, message)
h1.code= statusCode
p.message= message
if block
p.explanation
block
a(href="javascript:history.back()").back ← Go back?

View File

@@ -295,6 +295,9 @@ body
justify-content: center
align-items: center
a, a:visited
color: #4a93d2
.code, .message, .explanation, .back-link
line-height: 1.2
margin: 0px
@@ -309,13 +312,14 @@ body
color: #ccc
.explanation
line-height: 1.3
margin-top: 10px
font-size: 20px
color: #bbb
white-space: pre-line
.back
margin-top: 15vh
color: #4a93d2
font-size: 25px
.homepage