Comments (3)
HTTP polling has been introduced at #22
from nopfs.
We want to leverage this and switch ipfs.io
and dweb.link
to use RAINBOW_DENYLISTS=https://badbits.dwebops.pub/badbits.deny
.
Did some initial triage today:
- #38 with proposal to leverage HTTP caching
- not a blocker, but will improve cache hits
- https://github.com/protocol/badbits.dwebops.pub/issues/32733 to make upstream badbits published at https://badbits.dwebops.pub/badbits.deny append-only
- @hsanjuan would appreciate any info you remember on this, why the upstream list is sorted? is it for takedown automation PRs to never cause merge conflict? I'd like to fix upstream but need to understand constraints first.
- Lmk, if it is a rabbit hole. I suspect http caching support together with detection of non-append-only lists makes more sense as it is more generic.
from nopfs.
Hey, nopfs watches denylists and reads any new lines appended to them. Adding updates in append-only fashion allows to do this without having to re-read the whole file.
I don't think #38 is a must. If the list upstream is append only, you:
- Download it
- Read from len(size_of_download file) for every update using the
Range
header. If no updates happened you will be reading a 0-range and it's essentially a no-op method (equivalent to checking for a If-Modified-Since tag), otherwise you obtain only the part of the content that you append to the local copy, and nopfs processes accordingly.
I don't know if you saw, but the badbits list is published in append-only format here: https://denyli.st/badbits.deny.txt and that is what I used for my defunct gateway.
I have a github action that reads https://badbits.dwebops.pub/badbits.deny and finds any new lines and turns appends them to https://denyli.st/badbits.deny... so far so good, it's been going for months.
So you can use RAINBOW_DENYLISTS=https://denyli.st/badbits.deny.txt
already. In the meantime I would update badbits to be append only and not have to rely on a 3rd party.
from nopfs.
Related Issues (10)
- how to use nopfs? HOT 3
- Add denylist writing functionality HOT 4
- Having IPFS default empty folder in denylist prevents ipfs+nopfs-kubo-plugin from starting HOT 1
- How to create a denylist like badbits HOT 1
- Inconsistent file watcher HOT 3
- Exclude well-known empty entities HOT 1
- ipfs blockservice is incompatible with sessions HOT 19
- HTTPSubscriber: check with If-None-Match or If-Modified-Since
- HTTPSubscriber: detect when list is not append-only HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nopfs.