Caching last session successful peers to defeat censorship?

I live in Iran so net here is crappy.
and not just the national firewall. because technically that doesnt exists.
the situation is worse. every ISP uses a shared blocklist (default one) but they add and remove to that themselves too.
for example reddit is blocked on one isp on dns and sni and http level but not at all on another isp.
this is very frutrutaing and causes massive headaches for internet users.

another example is that on my mobile provider I can access duckduckgo search in one area on city but not on another. yes you read that right. same website same provider but different results.

now I get to ipfs.
it was completely blocked on my recent isp (which for other reasons I canceled) and it is very slow n my current isp.
it is blocked on one mobile provider, but works nice on another.

this seems to be because some of them block or slow other port than 80 and 443.
and they may be actually block 4001 port completely.or more probably the infrastructure for national firewall in very scattered and so your packages may go through a gateway that has more recent firewall software or blocklist and blocks it.

so my question is this:
is there a way that when I start ipfs, it would try to get its peers is from last successful session after default list fails?
because I see peers with ports other than 4001 in my peers list.

P.S. Can I use Tor or other proxies to connect to ipfs network?
maybe at least for bootstrap nodes>

1 Like

There’s a related issue here https://github.com/ipfs/go-ipfs/issues/3926

Afaik this is not possible by default at the moment.