mirror of
https://git.sr.ht/~cadence/bibliogram
synced 2024-11-22 08:07:30 +00:00
Add Tor status to home and stats
This commit is contained in:
parent
6e136dc77a
commit
1fcdfce868
@ -10,6 +10,10 @@ class TorSwitcher {
|
||||
this.torManager = torManager
|
||||
}
|
||||
|
||||
canUseTor() {
|
||||
return !!this.torManager
|
||||
}
|
||||
|
||||
/**
|
||||
* Request from the URL.
|
||||
* The test function will be called with the response object.
|
||||
|
@ -1,4 +1,5 @@
|
||||
const constants = require("../../lib/constants")
|
||||
const switcher = require("../../lib/utils/torswitcher")
|
||||
const {fetchUser, getOrFetchShortcode, userRequestCache, history} = require("../../lib/collectors")
|
||||
const {render, redirect} = require("pinski/plugins")
|
||||
const {pugCache} = require("../passthrough")
|
||||
@ -8,7 +9,8 @@ module.exports = [
|
||||
route: "/", methods: ["GET"], code: async () => {
|
||||
return render(200, "pug/home.pug", {
|
||||
rssEnabled: constants.settings.rss_enabled,
|
||||
allUnblocked: history.testNoneBlocked()
|
||||
allUnblocked: history.testNoneBlocked(),
|
||||
torAvailable: switcher.canUseTor()
|
||||
})
|
||||
}
|
||||
},
|
||||
|
@ -3,6 +3,7 @@ const child_process = require("child_process")
|
||||
const md = require("mixin-deep")
|
||||
const constants = require("../../lib/constants")
|
||||
const {history} = require("../../lib/collectors")
|
||||
const switcher = require("../../lib/utils/torswitcher")
|
||||
const {redirect} = require("pinski/plugins")
|
||||
|
||||
function reply(statusCode, content) {
|
||||
@ -27,7 +28,7 @@ let commit = ""
|
||||
|
||||
// Set up inner versioning
|
||||
|
||||
const displayVersions = ["1.0", "1.1", "1.2"]
|
||||
const displayVersions = ["1.0", "1.1", "1.2", "1.3"]
|
||||
const versions = new Map(displayVersions.map(v => [v, semver.coerce(v)]))
|
||||
const features = [
|
||||
"PAGE_PROFILE",
|
||||
@ -61,6 +62,11 @@ const innerMap = new Map()
|
||||
rssEnabled: constants.settings.rss_enabled
|
||||
}
|
||||
})
|
||||
addVersion("1.3", {
|
||||
settings: {
|
||||
torAvailable: switcher.canUseTor() // server.js holds on loading this file until tor state is known, so this is fine
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = [
|
||||
|
@ -1,4 +1,4 @@
|
||||
//- Needs rssEnabled, allUnblocked
|
||||
//- Needs rssEnabled, allUnblocked, torAvailable
|
||||
|
||||
doctype html
|
||||
html
|
||||
@ -37,6 +37,7 @@ html
|
||||
ul
|
||||
li Instance is #{allUnblocked ? "not blocked" : "blocked"}
|
||||
li RSS feeds are #{rssEnabled ? "enabled" : "disabled"}
|
||||
li Tor is #{torAvailable ? "enabled" : "not available"}
|
||||
h2 External links
|
||||
ul.link-list
|
||||
-
|
||||
|
@ -1,5 +1,6 @@
|
||||
const {Pinski} = require("pinski")
|
||||
const {subdirs} = require("node-dir")
|
||||
const constants = require("../lib/constants")
|
||||
|
||||
const passthrough = require("./passthrough")
|
||||
|
||||
@ -8,7 +9,7 @@ const pinski = new Pinski({
|
||||
relativeRoot: __dirname
|
||||
})
|
||||
|
||||
subdirs("pug", (err, dirs) => {
|
||||
subdirs("pug", async (err, dirs) => {
|
||||
if (err) throw err
|
||||
|
||||
//pinski.addRoute("/", "pug/index.pug", "pug")
|
||||
@ -20,6 +21,11 @@ subdirs("pug", (err, dirs) => {
|
||||
pinski.muteLogsStartingWith("/imageproxy")
|
||||
pinski.muteLogsStartingWith("/videoproxy")
|
||||
pinski.muteLogsStartingWith("/static")
|
||||
|
||||
if (constants.tor.enabled) {
|
||||
await require("../lib/utils/tor") // make sure tor state is known before going further
|
||||
}
|
||||
|
||||
pinski.startServer()
|
||||
pinski.enableWS()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user