mirror of
https://git.sr.ht/~cadence/bibliogram
synced 2024-11-16 21:27:30 +00:00
Only build new circuits when really needed
This commit is contained in:
parent
1872391a8e
commit
c2df6d696b
@ -4,6 +4,8 @@ const constants = require("../constants")
|
||||
const {request} = require("./request")
|
||||
const {RequestCache} = require("../cache")
|
||||
|
||||
let circuitIndex = 0
|
||||
|
||||
class TorManager {
|
||||
/**
|
||||
* @param {import("@deadcanaries/granax/lib/controller")} tor
|
||||
@ -20,12 +22,16 @@ class TorManager {
|
||||
let done = false
|
||||
let g
|
||||
while (!done) {
|
||||
const circuitIndexUsed = circuitIndex
|
||||
g = await request(url, {agent: this.agent}, {log: true, statusLine: "TOR"})
|
||||
try {
|
||||
await g.check(test)
|
||||
break
|
||||
} catch (e) {
|
||||
await this.newCircuit()
|
||||
if (circuitIndexUsed === circuitIndex) {
|
||||
circuitIndex++
|
||||
await this.newCircuit()
|
||||
}
|
||||
}
|
||||
}
|
||||
return g
|
||||
|
Loading…
Reference in New Issue
Block a user