<MikeFair>
whyrusleeping, And to my earlier point, it seemed to me that the resolver chosen to parse through a Node was defined as part of the multicodec
<MikeFair>
whyrusleeping, And since I'm not defining my own block serialization code, I don't see how the normal IPLD resolver code would know to include my custom resolver
<MikeFair>
Or is it that path/resolver.go is the IPLD resolver
<MikeFair>
lgierth, thoughts if you got 'em? :)
gde33 has quit [Ping timeout: 248 seconds]
<MikeFair>
whyrusleeping, In the resolver.go; ResolveOnce is: return nd.ResolveLink(names)
<MikeFair>
Which I think comes from node "gx/ipfs/QmNwUEK7QbwSqyKBu3mMtToo8SUc6wQJ7gdZq4gGGJqfnf/go-ipld-format"
SunflowerSociety has joined #ipfs
fleeky has joined #ipfs
ONI_Ghost has quit [Ping timeout: 248 seconds]
rodolf0 has joined #ipfs
gde33 has joined #ipfs
<lgierth>
ipld in go-ipfs is still a bit wip
<lgierth>
stebalien: knows all about it
<lgierth>
ipfs/go-ipld-format is the repo and there's a PR there
droman has quit [Quit: WeeChat 2.0.1]
colatkinson has joined #ipfs
<stebalien>
MikeFair: Unfortunately, the word "resolver" is a bit overloaded in go-ipfs. The resolver in path/resolver.go is a general-purpose path resolver. At the moment, this is a bit of a mess but, eventually, we'd like to choose the correct resoler based on the namespace. That is, if the path is `/ipfs/QmId`, the namespace is `ipfs` and we'll use the unixfs resolver. If the path is `/ipld/QmId`, the namespace is `ipld` and we'll use
<stebalien>
the IPLD resolver.
<MikeFair>
stebalien!
* MikeFair
does a little happy dance. :)
<stebalien>
Indevidual IPLD formats don't define their own resolvers, per se. They define a transform between a binary blob and a structured object.
<MikeFair>
stebalien, But they take a resolver as part of their registration with ipld don't they?
_whitelogger has joined #ipfs
<stebalien>
Note, you can point an IPNS link to an IPLD object (in theory, at least). You just can't make IPLD objects point to IPNS links and have the IPLD resolver resolve through them.
rodolf0 has quit [Ping timeout: 256 seconds]
<MikeFair>
I was hoping to just code it and test what happens; I'm concerned it will go into this whole "But then you can create Cycles! And what about infinite loops!" thing
<MikeFair>
stebalien, That last part doesn't work on the go cli
<MikeFair>
stebalien, I can't currently do: ipfs dag get ipns/ipnsCID
<MikeFair>
stebalien, Even though the CID ipnsCID resolves to is an IPLD CID
<stebalien>
I thought not. It should though, that's a bug that depends on fixing the resolvers to actually not suck. We should pick the resolver based on the namespace. We don't currently.
<stebalien>
Would that be sufficient?
<MikeFair>
stebalien, I'd planned on doing both
<MikeFair>
stebalien, I need both
<MikeFair>
stebalien, I only expected the command line thing to be accepted though
<MikeFair>
stebalien, Personally I think if users create cycles, that's their problem, not IPLDs
<MikeFair>
stebalien, And IPLD libs do not help you automatically recurse
<MikeFair>
stebalien, If you want that, then you write the code to do it
<MikeFair>
I think I found the code for the command line piece earlier and detecting the ipns namespace seemed a rather easy thing to add
<stebalien>
Cycles are one issue but you can do that with a simple IPNS link. The main issue is that we expect IPLD links to be perminent (immutable). I wonder if we should have a new namespace...
<MikeFair>
stebalien, or a "Cross Immutable Object" link
<MikeFair>
stebalien, The use case here is lots of users can update their own thing, but there's a directory of those things
<lgierth>
sounds like an application
<lgierth>
not like a data model thing ;)
<MikeFair>
stebalien, It's a datamodel in the sense /AppDBRoot/userid/data
<lgierth>
=> data structure
<MikeFair>
And /AppDBRoot <--- uathorized list of members
<lgierth>
data model is the meta thing
* MikeFair
nods.
<MikeFair>
Correct, the part that's data structure is the "I need to point at the latest version of an object" not "the object state at time of last save"
<MikeFair>
The "Users" don't hae privileges to update the Directory
<MikeFair>
So when they each update their own part, the changes can't roll up
ttk2 has joined #ipfs
<MikeFair>
By using an IPNS link in the Directory, the users control when the updates are seen
<MikeFair>
Automagically because IPNS is wonderful!
<MikeFair>
err IPLD
<MikeFair>
This also allows users to point to each other's nodes
colatkinson has quit [Ping timeout: 256 seconds]
ttk2 has quit [Ping timeout: 276 seconds]
sim590 has quit [Ping timeout: 240 seconds]
<MikeFair>
stebalien, So do you think {"/":"CID", "ns":"ipns"} would be acceptable to folks, or would it just violate too many folks adherence to the concept of an IPLD DB being an immutable thing top to bottom (as opposed to an immutable node in a graph of links)
arpu_ has quit [Quit: Ex-Chat]
<MikeFair>
I guess this could be treated as go-ipld-dag-graph
<MikeFair>
Which adds the concept of a "Cross DB Link"
<MikeFair>
Or add new "link type" of "Cross IPLD" Link
mauz555 has joined #ipfs
<MikeFair>
that way IPLD things remain immutable
sim590 has joined #ipfs
mauz555 has quit [Ping timeout: 248 seconds]
sim590 has quit [Ping timeout: 248 seconds]
sim590 has joined #ipfs
espadrine has quit [Ping timeout: 248 seconds]
mauz555 has joined #ipfs
mauz555 has quit [Ping timeout: 256 seconds]
clownpriest has joined #ipfs
vsimon has joined #ipfs
<MikeFair>
stebalien, lgierth, whyrusleeping : Does an IPFS block have a binary structure that IPLD could detect as a multicodec?
<MikeFair>
I'm assuming that what {"/":"IPNS CID"} creates is a link to an IPNS entry in the DHT
<MikeFair>
or DAG
<MikeFair>
IPLD retrieves that thing, and says "I don't know what to do with this"
<MikeFair>
lgierth, Is this what you were saying ; to make go-ipld-dag-ipns?
mauz555 has joined #ipfs
igorline has quit [Ping timeout: 265 seconds]
mauz555 has quit [Ping timeout: 276 seconds]
vsimon has quit [Remote host closed the connection]
vsimon has joined #ipfs
vsimon has quit [Remote host closed the connection]
<stebalien>
This would have to be at a level above IPLD. I agree we want it (we also want it for, e.g., shared IPLD objects) but it would still have to be a separate system.
<camb[m]>
IPFS vs webtorrents question? the only thing better about IPFS is IPNS. right?
<camb[m]>
not to sound harsh
<Fess>
they're totally different systems
<camb[m]>
do IPFS and webtorrents not fulfill the same functions? Not considering IPNS
<camb[m]>
peer served immutable files.
<Fess>
no, not really. Ipfs is a networked decentralized file system with content based addressing. Webtorrent is just torrents
MikeFair has quit [Remote host closed the connection]
MikeFair has joined #ipfs
<camb[m]>
ipfs will generate the same hash for the same file. do torrents not do the same?
<Fess>
for an individual file it works mostly the same, the difference is when you involve multiple files
<camb[m]>
How so:)
<camb[m]>
?
<Fess>
if you've ever wanted to download one file from a torrent link which contains many you may have noticed that little bits of other files are also downloaded even when they weren't requested
<Fess>
this is because it wasn't broken up into actual files
<Fess>
it was broken up into chunks which more or less ignored files
<Fess>
without going into too much detail ipfs is made so people can seed the same files and have them accessed in arbitrary groups
<Fess>
no duplicates
<Fess>
if you had 2 torrents which contained the same file but were different otherwise they wouldn't "see" eachother
mauz555 has joined #ipfs
Anglophobist has joined #ipfs
mauz555 has quit [Ping timeout: 256 seconds]
vsimon has joined #ipfs
mauz555 has joined #ipfs
ygrek has quit [Ping timeout: 255 seconds]
<camb[m]>
Thanks for the details! No deduplication in webtorrents then. Go Ipfs
<deltab>
effectively all the files in a torrent are concatenated into one, which is then divided into equal-sized pieces
<deltab>
the hashes for each of those pieces are concatenated, along with filenames and sizes, and the result of that is hashed to get the infohash that identifies the torrent
MikeFair has quit [Ping timeout: 276 seconds]
<deltab>
then the rendezvous happens around the infohash alone (via trackers or dht)
<deltab>
so you can't change any part of the file set, not even to correct a filename or add a file
<deltab>
in contrast, ipfs gives each file its own hash, which can be looked up independently; you can 'change' the contents of a directory just by creating a new directory block and publishing it
G3nka1 has joined #ipfs
trqx has quit [Ping timeout: 272 seconds]
lvhslg has joined #ipfs
clownpriest has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<camb[m]>
So updateable/mutable files aren't possible with Torrents. Right?
trqx has joined #ipfs
<deltab>
right
<deltab>
at least it wasn't back when I last looked
<deltab>
bt sync is obviously different but I don't know the details
domanic has quit [Ping timeout: 255 seconds]
colatkinson has joined #ipfs
mauz555 has quit [Remote host closed the connection]
mauz555 has joined #ipfs
vsimon has quit [Remote host closed the connection]
SunflowerSociety has quit [Quit: Leaving]
ONI_Ghost has joined #ipfs
ckwaldon has joined #ipfs
mauz555 has quit [Remote host closed the connection]
mauz555 has joined #ipfs
jkup has quit [Ping timeout: 272 seconds]
<AphelionZ>
has anybody been able to get a gateway up and running with jsipfs? or an api?
<AphelionZ>
the typical 0.0.0.0:9090 thing isnt working
<AphelionZ>
like, with go-ipfs i'd edit the config and change 127.0.0.1 to 0.0.0.0 and it would 'just work'
<AphelionZ>
not so with jsipfs
tombusby has quit [Remote host closed the connection]
sz0 has quit [Quit: Connection closed for inactivity]
fredthomsen has joined #ipfs
jkup has joined #ipfs
colatkinson has quit [Quit: colatkinson]
tombusby has joined #ipfs
<AphelionZ>
oh, duh
<AphelionZ>
AWS security rules
<AphelionZ>
I changed the ports to 5001 and 8080 and it worked fine
anewuser has quit [Ping timeout: 248 seconds]
Neomex has quit [Read error: Connection reset by peer]
MikeFair has joined #ipfs
fredthomsen has quit [Quit: Leaving.]
MDude has quit [Ping timeout: 264 seconds]
MDude has joined #ipfs
lvhslg has quit [Remote host closed the connection]
lvhslg has joined #ipfs
vicken has joined #ipfs
lvhslg has quit [Remote host closed the connection]
lvhslg has joined #ipfs
lvhslg has quit [Remote host closed the connection]
AphelionZ has quit [Excess Flood]
AphelionZ has joined #ipfs
clownpriest has joined #ipfs
vicken_ has joined #ipfs
erikj has quit [Ping timeout: 255 seconds]
joocain2 has quit [Ping timeout: 272 seconds]
vicken has quit [Ping timeout: 276 seconds]
erikj has joined #ipfs
erikj has joined #ipfs
erikj has quit [Changing host]
larpanet has joined #ipfs
reit has joined #ipfs
lvhslg has joined #ipfs
witten has joined #ipfs
<MikeFair>
WoooT! I finally built a custom go-ipfs exe and ran it with changes : It now explicitly spits out a message saying "IPNS Links are not supported yet."
<MikeFair>
when I do: ipfs dag get /ipns/fpent.net
tombusby has quit [Remote host closed the connection]
todder has quit [Quit: is such a quitter...]
<MikeFair>
Question for go-ipfs, given core/commands/resolver.go; why not use a "ResolveCmd" to resolve link paths within the system?
<MikeFair>
Specifically for things like IPLD? If it is to keep IPLDs immutability? then enabling plugin modules to parse other data structures seems like it could violate that
larpanet has quit [Ping timeout: 276 seconds]
reit has quit [Ping timeout: 248 seconds]
fractex has quit [Ping timeout: 240 seconds]
tombusby has joined #ipfs
todder has joined #ipfs
domanic has quit [Ping timeout: 240 seconds]
tombusby has quit [Remote host closed the connection]
mauz555 has quit [Remote host closed the connection]
mauz555 has joined #ipfs
TUSF has quit [Ping timeout: 256 seconds]
mauz555 has quit [Ping timeout: 276 seconds]
fractex has joined #ipfs
tombusby has joined #ipfs
mauz555 has joined #ipfs
TUSF has joined #ipfs
Fess has quit [Quit: Leaving]
clownpriest has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
}ls{ has joined #ipfs
vandemar has joined #ipfs
windsok has quit [Remote host closed the connection]
ONI_Ghost has quit [Read error: Connection reset by peer]
ONI_Ghost has joined #ipfs
robattila256 has quit [Quit: WeeChat 2.0.1]
ulrichard has joined #ipfs
edulix has joined #ipfs
vicken_ has quit [Remote host closed the connection]
vicken has joined #ipfs
lacour has quit [Quit: Leaving]
vicken has quit [Ping timeout: 276 seconds]
jkup has quit [Remote host closed the connection]
Alpha64 has quit [Read error: Connection reset by peer]
MikeFair has quit [Ping timeout: 276 seconds]
mauz555 has quit [Remote host closed the connection]
edulix has quit [Remote host closed the connection]
mauz555 has joined #ipfs
vicken has joined #ipfs
MikeFair has joined #ipfs
jkilpatr has quit [Ping timeout: 276 seconds]
mauz555 has quit [Ping timeout: 248 seconds]
newhouse has joined #ipfs
rendar has joined #ipfs
yuhl has joined #ipfs
jkilpatr has joined #ipfs
windsok has joined #ipfs
muvlon has joined #ipfs
mauz555 has joined #ipfs
mauz555 has quit [Ping timeout: 265 seconds]
igorline has joined #ipfs
vicken_ has joined #ipfs
ylp has joined #ipfs
mtodor has joined #ipfs
vicken has quit [Ping timeout: 276 seconds]
vicken has joined #ipfs
vicken_ has quit [Ping timeout: 276 seconds]
MikeFair has quit [Remote host closed the connection]
muvlon has quit [Ping timeout: 256 seconds]
MikeFair has joined #ipfs
mauz555 has joined #ipfs
newhouse has quit [Quit: Leaving]
mauz555 has quit [Ping timeout: 256 seconds]
vicken has quit [Remote host closed the connection]
vicken has joined #ipfs
vicken has quit [Ping timeout: 265 seconds]
igorline has quit [Ping timeout: 255 seconds]
inetic has joined #ipfs
muvlon has joined #ipfs
maxzor has joined #ipfs
mauz555 has joined #ipfs
ONI_Ghost has quit [Read error: Connection reset by peer]
ONI_Ghost has joined #ipfs
mauz555 has quit [Ping timeout: 240 seconds]
dpuzikov has joined #ipfs
robattila256 has joined #ipfs
mauz555 has joined #ipfs
mauz555 has quit [Ping timeout: 276 seconds]
randomstrangerb has quit [Ping timeout: 260 seconds]
randomstrangerb has joined #ipfs
plexigras has quit [Ping timeout: 248 seconds]
MikeFair has quit [Ping timeout: 276 seconds]
mauz555 has joined #ipfs
MikeFair has joined #ipfs
mauz555 has quit [Ping timeout: 265 seconds]
ylp has quit [Quit: Leaving.]
ylp1 has joined #ipfs
ecloud is now known as ecloud_wfh
newhouse has joined #ipfs
mauz555 has joined #ipfs
mauz555 has quit [Ping timeout: 256 seconds]
bomb-on has quit [Quit: zzz]
lvhslg has quit [Ping timeout: 265 seconds]
joocain2 has quit [Ping timeout: 272 seconds]
joocain2 has joined #ipfs
plexigras has joined #ipfs
newhouse has quit [Read error: Connection reset by peer]
Steverman has joined #ipfs
mauz555 has joined #ipfs
Ellenor is now known as Reinhilde
<Steverman>
When are files split up into smaller chunks?
<Steverman>
256 kB?
joocain2 has quit [Remote host closed the connection]
joocain2 has joined #ipfs
mauz555 has quit [Ping timeout: 256 seconds]
<MikeFair>
Steverman, At the time they are added, I believe it's 2MB
bomb-on has joined #ipfs
leochill has quit [Ping timeout: 268 seconds]
<Steverman>
For Go right?
<MikeFair>
Steverman, Yes, I believe that's right
<MikeFair>
I have no real idea if JS is the same or not
mauz555 has joined #ipfs
sim590 has quit [Ping timeout: 256 seconds]
mauz555 has quit [Ping timeout: 276 seconds]
sim590 has joined #ipfs
<MikeFair>
Anyone know if there's a command that will output the ipfs CID for a directory again on the local filesystem after it's been added?
randomstrangerb has quit [Ping timeout: 256 seconds]
ONI_Ghost has quit [Read error: Connection reset by peer]
randomstrangerb has joined #ipfs
ONI_Ghost has joined #ipfs
<victorbjelkholm>
MikeFair: the CID should be included in the output of `ipfs refs local` but I'm not sure how you would find it, refs local just outputs the hashes themselves
<MikeFair>
I thought there was a command to list the filenames in the local repo
G3nka1 has quit [Ping timeout: 256 seconds]
<MikeFair>
It gets listed at the end of the add command but then if I don't copy/paste it right away, it gets lost
voidwalker09[m] has joined #ipfs
<victorbjelkholm>
MikeFair: maybe you can try something like this? ipfs refs local | xargs -I {} ipfs object links {} | grep -i directoryLookingFor
<victorbjelkholm>
it'll go through your local repo, print the links and you can grep for the directory name. But requires that you added that directory wrapped in another directory
<MikeFair>
A silly RoShamBo game using Stellar CryptoCoin
<MikeFair>
I wonder if there are any 0.4.14-dev servers out ther
<MikeFair>
I used go get -u and gx install on this machine earlier not realizing that pulling from git would upgrade the server
<MikeFair>
err source code to something that would start spitting "incompatible API version" messages
<MikeFair>
The daemon doesn't seem to want to peer with anything either
pedroarthur has joined #ipfs
<victorbjelkholm>
I don't think 0.4.14 is incompatible with previous 0.4 versions
<victorbjelkholm>
I'm at latest master version too and peering fine
<pedroarthur>
hello, everyone! I am setting up a IPFS demo. I want to create a docker compose/swarm with 3 peers. There is any mechanism that I can use to configure the bootstrap peers without creating a new Dockerfile? I am using ipfs/go-ipfs:v0.4.13.
<victorbjelkholm>
pedroarthur: `ipfs bootstrap --help` shows bunch of commands. Also you can connect manually with `ipfs swarm connect <multiaddr>`
onabreak has quit [Ping timeout: 260 seconds]
<pedroarthur>
victorbjelkholm: I am familiar with those. The issue is how I should proceed to configure the service to run inside the docker container. I could create a new Dockerfile with the commands or write another entrypoint or command, but I want to know if there is alternative to that. I not agains that, but most services provide some way to hook up in the configuration using environment variables (for example) for when one wish to make s
<pedroarthur>
I couldn't find it in docs
<pedroarthur>
the only documentation I found was the IPFS Config File reference, but it won't mention if there is an alternative.
<victorbjelkholm>
pedroarthur: think you'll have to write a new Dockerfile, extending from the ipfs/go-ipfs image, then you can modify things freely
<pedroarthur>
Another question: will the IPFS service generate a PeerID if my config file don't specify one? Cause, if so, I could provide my config file with a custom bootstrap array.
<victorbjelkholm>
no, I think if you don't have peer ID specific in the config file, it will just fail to start. Usual flow is to have no ipfs repository, run `ipfs init` and then `ipfs daemon` (or directly with `ipfs daemon --init`)
<pedroarthur>
victorbjelkholm: I see. I think I will create configuration files for each peer. As this is for demonstration/experimentation purpose, I wan't to avoid custom scripts.
<pedroarthur>
bind addresses and bootstrap peers seem settings that should be easy to set in a docker environment, though
ccii has quit [Ping timeout: 256 seconds]
<pedroarthur>
victorbjelkholm: thanks for the help!
reit has joined #ipfs
astrofog has joined #ipfs
rhalff has joined #ipfs
ONI_Ghost has joined #ipfs
jkilpatr has quit [Quit: Leaving]
ONI_Ghost has quit [Read error: Connection reset by peer]
SunflowerSociety has joined #ipfs
jkilpatr has joined #ipfs
tsglove has joined #ipfs
<rhalff>
Is there some kind of cryptocurrency-less ecosystem for decentralized apps? ipfs is one of them right? any others? Tried out the brave browser with metamask and it immediately presents me with a problem I normally don't have when surfing the web, needing a wallet to accomplish anything and having to buy a fraction of an ether for 100 euro.
<rhalff>
can I make a dapp without owning ether?
PyHedgehog has joined #ipfs
zautomata has joined #ipfs
<rhalff>
feels like an internet where you have to pay for using the ftp or http protocol. Having to place some token in the header which you must first acquire at some exchange.
plexigras has quit [Quit: WeeChat 2.0.1]
plexigras has joined #ipfs
<r0kk3rz>
ipfs can be thought of as a decentralised app framework sure
mauz555 has joined #ipfs
<victorbjelkholm>
rhalff: sure, you can use test networks with ethereum. But that's kind of out of scope for this channel.. You can also use IPFS, which is more similar to http and there is no cryptocurrencies involved
<victorbjelkholm>
you can build apps fully on top of IPFS, and the only things the users would need to do is go to the place where you deployed the app (which could be over IPFS as well)
mauz555 has quit [Ping timeout: 256 seconds]
jyrkio has joined #ipfs
ylp1 has quit [Quit: Leaving.]
<rhalff>
ok, guess I'm still confused about what metamask is providing then, because apparently that's brave's entry point into the decentralized web.
ylp has joined #ipfs
<jyrkio>
Hi, may I ask.. is there already a solution for the "floodsub error reading rpc from" issue? "go-ipfs pubsub pub" seems to send messages only locally
gaf_ has quit [Ping timeout: 255 seconds]
SunflowerSociety has quit [Ping timeout: 256 seconds]
<r0kk3rz>
rhalff: maybe Brave is trying to railroad you into buying BAT tokens
step21 has quit [Remote host closed the connection]
pguth64 has quit [Remote host closed the connection]
gaf_ has joined #ipfs
<rhalff>
Well metamask brings ethereum to browser it says, not sure if that also brings ipfs to the browser, maybe it does but cannot find it anywhere.
<victorbjelkholm>
rhalff: no, ipfs has it's own extension but you don't need to use it to use IPFS. js-ipfs for example can be included in your application without any extensions
<r0kk3rz>
brave is supposed to have baked in ipfs support isnt it?
jyrkio has quit [Ping timeout: 260 seconds]
onabreak has joined #ipfs
nibble has quit [Read error: Connection reset by peer]
maxzor has quit [Remote host closed the connection]
yuhl has left #ipfs [#ipfs]
yuhl has joined #ipfs
lord| has quit [Quit: WeeChat 2.0.1]
joocain2 has quit [Remote host closed the connection]
joocain2 has joined #ipfs
<pedroarthur>
victorbjelkholm: how do I know that my nodes are bootstrapping correctly?
<victorbjelkholm>
pedroarthur: look at `ipfs swarm peers`, you should see your peers there
<pedroarthur>
great! Thanks again.
<Steverman>
How well does DHT work in js-ipfs?
erictapen has quit [Remote host closed the connection]
<Steverman>
I am using js-ipfs with webrtc and it creates a fully connected mesh network. According to data analysis the (data received / duplicate data received) ratio is almost 1
Neomex has joined #ipfs
erictapen has joined #ipfs
Guest15087 is now known as raktajino
raktajino has quit [Changing host]
raktajino has joined #ipfs
hubatrix has joined #ipfs
Jesin has quit [Quit: Leaving]
vmx has joined #ipfs
anewuser has joined #ipfs
dimitarvp has joined #ipfs
randomstrangerb has quit [Ping timeout: 260 seconds]
randomstrangerb has joined #ipfs
clemo has joined #ipfs
yuhl has quit [Quit: yuhl]
wking has joined #ipfs
clownpriest has joined #ipfs
shizy has joined #ipfs
PyHedgehog has quit [Quit: Connection closed for inactivity]
rodolf0 has joined #ipfs
guhcampos has joined #ipfs
SunflowerSociety has joined #ipfs
zautomata has quit [Quit: WeeChat 1.7]
mauz555 has joined #ipfs
randomstrangerb has quit [Ping timeout: 276 seconds]
randomstrangerb has joined #ipfs
hubatrix has quit [Quit: Leaving]
rhalff has quit [Remote host closed the connection]
rhalff has joined #ipfs
reit has quit [Quit: Leaving]
Jesin has joined #ipfs
astrofog has quit [Quit: Quite]
Guest1 has joined #ipfs
Guest1 has quit [Remote host closed the connection]
SunflowerSociety has quit [Read error: Connection reset by peer]
SunflowerSociety has joined #ipfs
ulrichard has quit [Remote host closed the connection]
Alpha64 has joined #ipfs
webdev007 has joined #ipfs
ckwaldon has quit [Remote host closed the connection]
ckwaldon has joined #ipfs
ylp has quit [Quit: Leaving.]
ylp has joined #ipfs
ylp has left #ipfs [#ipfs]
guhcampos has quit [Remote host closed the connection]
Mateon3 has joined #ipfs
Mateon2 has quit [Ping timeout: 265 seconds]
Mateon3 is now known as Mateon1
SunflowerSociety has quit [Read error: Connection reset by peer]
SunflowerSociety has joined #ipfs
guhcampos has joined #ipfs
clownpriest has quit [Ping timeout: 260 seconds]
inetic has quit [Ping timeout: 256 seconds]
l2d has quit [Remote host closed the connection]
l2d has joined #ipfs
vivus has joined #ipfs
rhalff has quit [Ping timeout: 265 seconds]
mtodor has quit [Ping timeout: 248 seconds]
vivus has quit [Quit: Leaving]
bomb-on has quit [Quit: zzz]
leochill has joined #ipfs
mauz555_ has joined #ipfs
mauz555 has quit [Ping timeout: 263 seconds]
wking has quit [Quit: leaving]
wking has joined #ipfs
rhalff has joined #ipfs
mauz555 has joined #ipfs
mauz555_ has quit [Ping timeout: 276 seconds]
bomb-on has joined #ipfs
arpu_ has joined #ipfs
Thominus has joined #ipfs
arpu_ has quit [Read error: Connection reset by peer]
rhalff has quit [Ping timeout: 264 seconds]
erhandsome has quit [Ping timeout: 276 seconds]
Encrypt has joined #ipfs
Thominus has quit [Quit: Leaving]
Thominus has joined #ipfs
AkhILman has joined #ipfs
dpuzikov has quit [Ping timeout: 248 seconds]
Thominus has quit [Client Quit]
Thominus has joined #ipfs
Thominus has quit [Client Quit]
AkhILman has quit [Ping timeout: 265 seconds]
Thominus has joined #ipfs
anewuser has quit [Ping timeout: 240 seconds]
<Mateon1>
Are (D)DoS attacks on IPFS a thing? Today, somebody has eaten 140 gigabytes of my bandwidth via bitswap. Looking at my traffic logs, that (dynamic) IP is a repeat offender.
Encrypt has quit [Quit: Quit]
<Mateon1>
My logging is too primitive to see whether or not they are requesting the same blocks repeatedly
guhcampos has quit [Quit: Leaving]
lord| has joined #ipfs
<voker57>
afaik there's no protection measures
<Mateon1>
Is there a protocol-level way to block IPs/PeerIDs? Or do I need to block the offending IP at the firewall?
<Mateon1>
I think there were some blacklist rules in the config, but I haven't looked at that in months
piti has quit [Ping timeout: 248 seconds]
<Mateon1>
Ah, `ipfs swarm filters`
trqx has quit [Ping timeout: 272 seconds]
mauz555_ has joined #ipfs
joocain2 has quit [Ping timeout: 272 seconds]
joocain2 has joined #ipfs
mauz555 has quit [Ping timeout: 255 seconds]
lvhslg has joined #ipfs
mauz555_ has quit []
mauz555 has joined #ipfs
mauz555 has quit [Read error: Connection reset by peer]
mauz555 has joined #ipfs
SunflowerSociety has quit [Ping timeout: 264 seconds]
samae has left #ipfs ["okthxbye"]
<whyrusleeping>
Mateon1: blocking a peerID seems useful, but any attacker will just be able to switch their peerID on demand
<whyrusleeping>
It would be interesting to have a "don't accept new connections temporarily" mode
<Mateon1>
It might be a misconfiguration on the part of that person. Or they GC way too often, while accessing the same data. Still, a constant flood of requests is weird
<Mateon1>
I might try to lookup the reverse links until a root from one of the hashes I saved, but my IPFS repo is so big that the list will take forever to make
<Mateon1>
Huh, weird. I took a look at `ipfs block get` on one of the related addresses. It seems to be some sort of package index
newhouse has joined #ipfs
<whyrusleeping>
interesting...
<whyrusleeping>
are you running a gateway?
<Mateon1>
No, I am not. Or rather, only the localhost gateway
<Mateon1>
Google seems to imply Arch Linux, but I can't find the exact index anywhere
<Mateon1>
Oh, maybe it's the alpine linux archive. I'm not sure if I pinned it though
Neomex_ has joined #ipfs
<Mateon1>
Side note, I can't believe how slow `ipfs pin ls <Hash>` is
<Mateon1>
Shouldn't this be a log n lookup?
Neomex has quit [Ping timeout: 248 seconds]
rendar has quit []
trqx has joined #ipfs
Neomex_ has quit [Read error: Connection reset by peer]
Neomex has joined #ipfs
<voidwalker09[m]>
Is there a way to add folders to ipfs to create something like a virtual repository with user access permissions, without ipfs copying the files in its own folder?
piti has joined #ipfs
trqx has quit [Read error: Connection reset by peer]
<JCaesar>
voidwalker09[m]: There's the filestore (ipfs add --nocopy), but it's a little bit picky about permissions and ownership.
plexigras has quit [Ping timeout: 256 seconds]
Steverman has quit [Ping timeout: 240 seconds]
<voidwalker09[m]>
alright, I will research that. What about some solutions to give write access to those shared folders to some people? cause you cannot restrict read access once it's on ipfs, right?
<Mateon1>
It's impossible for other people to write to a content hash, IPFS hashes are immutable. You need to build some solution on top of IPNS, or PubSub
<Mateon1>
IPFS is not a replacement for Dropbox, it's a protocol that could be used to build one, though.
<voidwalker09[m]>
that's what I thought
<voidwalker09[m]>
so there are no such implementations based on ipfs?
<voidwalker09[m]>
what I would like is something like ftp over ipfs
<voidwalker09[m]>
or github over ipfs
<Mateon1>
I haven't been following dapps recently, so I don't know of any that would do so.
<Mateon1>
"Github over IPFS", you can upload immutable git repos to IPFS, but you might be interested in git-ssb, built on top of the secure scuttlebutt protocol. It's unrelated to IPFS, but works well as a decentralized/distributed Github replacement
Encrypt has joined #ipfs
<JCaesar>
IPFS seems to be working on something similar to git-SSB, btw…
<Mateon1>
JCaesar: Can I have a link? I'd love to take a look
<JCaesar>
Hm, not sure if that's it. I thought they wanted to exchange git objects via IPFS while keeping the object hash…
muvlon has quit [Quit: Leaving]
<Mateon1>
I don't quite see how it pushes data to IPFS, does it create a new immutable hash?
<whyrusleeping>
JCaesar: you want the one from Magik6k
<JCaesar>
Mateon1: what whyrusleeping said.
reit has joined #ipfs
polman_ has quit [Ping timeout: 264 seconds]
vicken has joined #ipfs
trankmichael[m] has joined #ipfs
roygbiv has joined #ipfs
piti has quit [Ping timeout: 256 seconds]
obensource has quit [Quit: WeeChat 1.0.1]
obensource has joined #ipfs
pedroarthur has quit [Ping timeout: 260 seconds]
James_Epp has quit [Ping timeout: 248 seconds]
Steverman has joined #ipfs
gmoro_ has quit [Remote host closed the connection]
igorline has joined #ipfs
aananev has joined #ipfs
Rusty_ has joined #ipfs
igorline has quit [Ping timeout: 248 seconds]
newhouse has quit [Remote host closed the connection]
newhouse has joined #ipfs
igorline has joined #ipfs
mauz555 has quit [Read error: Connection reset by peer]
mauz555 has joined #ipfs
lvhslg has quit [Remote host closed the connection]
lvhslg has joined #ipfs
piti has joined #ipfs
Encrypt has quit [Quit: Quit]
igorline has quit [Ping timeout: 248 seconds]
aananev has quit [Read error: No route to host]
<Rusty_>
Quick question, if I have a root multihash of a file that consists of a list of links to files, how would I go about getting the raw data of the root multihash?
igorline has joined #ipfs
<Rusty_>
My goal is to take that raw data and be able to add the root multihash to IPFS without adding the child blocks
<Rusty_>
Basically adding the list of links without the data inside those links**
<Mateon1>
Ah, you can use `ipfs block get` and `ipfs block put` to fetch or create raw blocks
<Mateon1>
`ipfs block put` has some parameters you can pass in to select the cid/multihash format
<Mateon1>
Oh, but of course it's not well documented
<Rusty_>
Mateon1: What I am trying to do is split a single IPFS file across multiple nodes with each node containing a few blocks of the file
<Rusty_>
So far, I've been able to split up the blocks just fine but I haven't found a way to store the root hash
<Mateon1>
Oh, I might be misunderstanding something. Do you want to split the file yourself, and calculate the hash that IPFS would use?
<Mateon1>
You can use `ipfs add -n <file>` to only hash a file, without adding it to IPFS
<Rusty_>
From my understanding the root hash contains a directory to the blocks that make up a file correct?
<Rusty_>
Or in some cases, more sub-directories that contain blocks*
<Mateon1>
Well, it's not that simple, but it's roughly correct.
aananev has joined #ipfs
<Mateon1>
IPFS uses a format called `unixfs` based on Protobuf for storing files (at least until it switches entirely to IPLD).
<Mateon1>
A unixfs node is either a directory, or a file (or a set of chunks of a file)
<Rusty_>
Yeah it's a rough interpretation, but what I am trying to figure out is how it would be possible to download the raw data that the root hash contains. From my interpretation the root hash just contains pointers to other files/directories
<Mateon1>
Yep, unless the root hash represents a file less than 256 kilobytes in size, in which case it just contains file data
trqx has joined #ipfs
<Mateon1>
The hashes of subdirectories or files can also act as "root hashes".
<Rusty_>
let's say the hypothetical root hash points to a file greater than 256kb, and I set my maxChildrenPerNode to a very high number
<Rusty_>
So that it splits the file in to only file data and not subdirectories
<Rusty_>
splits the uploaded file*
<Icefoz_>
"ipfs links ..." prints out the sub-blocks that a root block contains.
<Icefoz_>
Er, `ipfs object links`, my bad.
<Rusty_>
Sorry English isn’t my first language so I am trying to make this as clear as possible. Icefoz_: In my scenario my goal is to split a single uploaded file to IPFS across multiple nodes using only 256kb blocks (no subdirectories). I have been able to do this successfully for the links but I cannot figure out how to also upload a multihash that will link them all together (similar to how IPFS works when uploading a single file to th
<Rusty_>
e network)
<Icefoz_>
Right, no worries.
<Icefoz_>
It's the same idea as a directory, just a slightly different format.
<Icefoz_>
I don't know where to find the details of it unfortunately.
igorline has quit [Ping timeout: 256 seconds]
<Rusty_>
Gotcha, and that is the part I am struggling with, where to find the details of the format or where I could download the raw file content of a directory
<Mateon1>
Unixfs is a protobuf format, let me check the ipfs repo