aschmahmann changed the topic of #ipfs to: Heads Up: To talk, you need to register your nick! Announcements: go-ipfs 0.7.0 and js-ipfs 0.52.3 are out! Get them from dist.ipfs.io and npm respectively! | Also: #libp2p #ipfs-cluster #filecoin #ipfs-dev | IPFS: https://github.com/ipfs/ipfs | Logs: https://view.matrix.org/room/!yhqiEdqNjyPbxtUjzm:matrix.org/ | Forums: https://discuss.ipfs.io | Code of Conduct: https://git.io/vVBS0
<Piddle>
Anyone have tips on speeding up IPNS? I'll have a site hosted on IPNS using CF-Gateway with a DNSLink in my DNS, it'll resolve but it takes a minute or two then it'll be fast afterwards until I try again like 10 minutes later. This problem does not persist if I switch the DNSlink to an IPFS CID.
<Piddle>
Thank you in advance
<Discordian[m]>
> Thank you in advance
<Discordian[m]>
> <@piddle:copperfox.xyz> Anyone have tips on speeding up IPNS? I'll have a site hosted on IPNS using CF-Gateway with a DNSLink in my DNS, it'll resolve but it takes a minute or two then it'll be fast afterwards until I try again like 10 minutes later. This problem does not persist if I switch the DNSlink to an IPFS CID.
<Discordian[m]>
Hmm if the issue is with DNSLink then I'm not sure...
echoSMILE has left #ipfs [#ipfs]
<Discordian[m]>
I find DNSLink is quite speedy on my end
<Piddle>
<Discordian[m] "> <@piddle:copperfox.xyz> Anyone"> I have and looked into it, but for some reason I assumed it was auto-enabled in recent versions... I see the ``--enable-namesys-pubsub`` flag now, thank you. 😃 I will see how it goes
jess has quit [Quit: Lost terminal]
<Discordian[m]>
The performance increase should be noticeable, PubSub is quite impressive.
<Piddle>
<Discordian[m] "The performance increase should "> Awesome, that's perfect to hear. I just now enabled it and am publishing my site to IPNS right now, I am hopeful. I've had very good experiences with IPFS so far and run a small cluster across a couple machines in my closet with it.
<Discordian[m]>
<RomeSilvanus[m] "ima_76df5c5.jpeg"> I don't want my node re-hosting content like illegal pornography or other morally objectionable things. Or really anything that can get me in trouble with the law
<qrpnxz[m]>
good point, is there no way to blacklist hashes?
<Discordian[m]>
> <@piddle:copperfox.xyz> Awesome, that's perfect to hear. I just now enabled it and am publishing my site to IPNS right now, I am hopeful. I've had very good experiences with IPFS so far and run a small cluster across a couple machines in my closet with it.
<Discordian[m]>
I'm hoping PubSub will be enabled by default in the near future!! We gotta get IPFS 1.0 completely finished before we look at 2.0!
<Discordian[m]>
> IPNS & pubsub is one of the missing puzzle pieces for me, thinking far out but wonder what an IPFS "2.0" would look like
<qrpnxz[m]>
because if you access a bad torrent you can just remove it, idk how you remove something from the ipfs node store
<Discordian[m]>
<qrpnxz[m] "because if you access a bad torr"> Run the garbage collector.
<Discordian[m]>
`ipfs repo gc`
<qrpnxz[m]>
wouldn't that remove stuff i want too? How would it know to remove the bad thing i just very recently accessed
<Discordian[m]>
There's also `ipfs block rm` but you'd have to remove every block manually AFAIK
<Discordian[m]>
It won't remove anything you have in MFS or have pinned.
<Discordian[m]>
So really, you'll retain anything important to you, but your cache will be cleared.
<qrpnxz[m]>
don't wanna clear my cache :(
<Discordian[m]>
Me neither, maybe an `ipfs block rm -r` feature would make sense (or just `ipfs object rm`).
<qrpnxz[m]>
speaking of pins, on install i had two pins by default: one with some helpful like ipfs starter documents, another that was just empty. What is the empty one for?
<aschmahmann>
Not sure it's really required, but IIRC it's just the empty directory UnixFS object which you would have anyways since your MFS starts out empty.
<qrpnxz[m]>
is that were files i add to ipfs get put by default
<qrpnxz[m]>
that makes sense
<aschmahmann>
btw `ipfs refs <cid>` will get you all the CIDs in a graph. If you really wanted to only remove a part of your cache you could crawl the graph and pipe it into a block removal.
<aschmahmann>
I wouldn't recommend doing this if you have a lot of data pinned though as it'll likely be slow.
<Discordian[m]>
I do a bunch of `ipfs ls` on the object I want to remove, until I have a list of all the blocks, then remove them in one batch.
<Discordian[m]>
That's why I was thinking `ipfs rm` or `ipfs object rm` could be useful, and just do that
<qrpnxz[m]>
i was thinking about having my website or certain assets of it be on ipfs, but i'm not sure how to do that and also how to make it so that if you don't have ipfs it just works
<qrpnxz[m]>
like maybe i have my http server add a special header for some requests that tells you ipfs location?
<qrpnxz[m]>
and if there were a way for the user to signal that they have ipfs then replace links on the page with the ipfs url
<qrpnxz[m]>
well the website came through for me on ipfs so maybe?
<Discordian[m]>
Try using a browser that doesn't have IPFS Companion, or any IPFS awareness
<Discordian[m]>
That homepage even has a script to try to replace certain links with IPFS CIDs.
<qrpnxz[m]>
yeah looks the same but loads faster 😃
<qrpnxz[m]>
yeah the links are ipfs links
<Discordian[m]>
\o/ that's simply redirecting you to ipfs.io if you have IPFS rolling, otherwise it gets served over IPFS. Idr exactly how I have it setup. I want to improve it to be more like https://ipfs.io
<Discordian[m]>
Gotta serve my own gateway, make it real cool
royal_screwup21 has quit [Quit: Connection closed]
<qrpnxz[m]>
hmmm, i could host a gateway that way ipfs resources could just always be on ipfs rather than be duplicated
<qrpnxz[m]>
sounds good
<aschmahmann>
There are various sorts of extra things you can do with HTTP headers and such if you want to. The walkthroughs will take you through the easiest setups.
nemo-12345 has quit [Remote host closed the connection]
dpl has quit [Ping timeout: 268 seconds]
jcea has quit [Ping timeout: 258 seconds]
<Piddle>
Pubsub worked excellent and pages are very fast, thank you for the help 😃
koo5 has quit [Ping timeout: 265 seconds]
<wings[m]>
<Discordian[m] "It's already on HTTP, especially"> 100%, it's not an issue of people being able to do it which they can
<wings[m]>
People are working on this stuff like it's the cure for cancer
<wings[m]>
Child abusers have a disgusting and horrifying amount of money
<wings[m]>
It's more that ipfs will have a reaaaally bad reputation if it's not dealt with, at least publicly
<Discordian[m]>
Can't really do any more about it than we could a bad HTTP server though, really.
mindCrime has quit [Ping timeout: 240 seconds]
jrt is now known as Guest94909
Guest94909 has quit [Killed (verne.freenode.net (Nickname regained by services))]
jrt has joined #ipfs
<Piddle>
<wings[m] "Child abusers have a disgusting "> There's a much bigger list than Epstein!
joocain2 has quit [Remote host closed the connection]
joocain2 has joined #ipfs
<ifiguero[m]>
You will probably need to implement a dcma takedown system as you will be hosting copyrighted material. Becoming something of a isp
<Discordian[m]>
I believe most of the public gateways actually do block reported copyrighted content from being served.
zeden has quit [Quit: WeeChat 3.0.1]
p1c0 has joined #ipfs
opa has joined #ipfs
opa7331 has quit [Ping timeout: 258 seconds]
dpl has joined #ipfs
matheusamds[m] has joined #ipfs
dpl has quit [Ping timeout: 268 seconds]
arcatech has quit [Quit: Be back later.]
<matheusamds[m]>
<wings[m] "It's more that ipfs will have a "> You will also find child pornography on Telegram, Facebook groups, WhatsApp groups or even Discord. I don't think it will cause a bad reputation to ipfs.
<Piddle>
<matheusamds[m] "You will also find child pornogr"> Yeah I agree, similar to saying the internet will get a bad reputation from the content being on there too.
justanotherdude has joined #ipfs
LiftLeft has quit [Ping timeout: 240 seconds]
gimzmoe has joined #ipfs
joocain2 has quit [Ping timeout: 240 seconds]
joocain2 has joined #ipfs
<qrpnxz[m]>
guys what format does x-ipfs-path want, is it ipfs://?
p1c0_ has joined #ipfs
p1c0 has quit [Ping timeout: 240 seconds]
grinja has quit [Remote host closed the connection]
<Evanito[m]>
I see the frustration of not having an example outright
<CSDUMMI[m]>
Yes. But that page does not specify it.
<Evanito[m]>
It mentions that values can start with `/ipns/absiayxgaukxvyauxv...` which leads me to believe they also start with `/ipfs/dkbahbvsy` for normal hashes
gimzmoe has quit [Ping timeout: 265 seconds]
<qrpnxz[m]>
> I would just try multiaddr.
<qrpnxz[m]>
that looks super niche and alpha idk why i would try it lol
<qrpnxz[m]>
> It mentions that values can start with `/ipns/absiayxgaukxvyauxv...` which leads me to believe they also start with `/ipfs/dkbahbvsy` for normal hashes
<qrpnxz[m]>
are we looking at the same page?
<Evanito[m]>
The page is useless, I know that 😅 Gotta do some reading between the lines
<qrpnxz[m]>
well i'll try it on a test page i guess
<qrpnxz[m]>
my test worked. Tried it on an html document, unfortunately all the links in the page became ipfs links. Well, if your whole site is on ipfs that's good but for me that was no bueno
<qrpnxz[m]>
oh it's because i use base urls
<qrpnxz[m]>
oof can't delete my test object :/
<qrpnxz[m]>
omg is `repo gc` really the only way xD
zman_ has joined #ipfs
Manas[m] has joined #ipfs
amroch has quit [Quit: Leaving]
bengates has quit [Ping timeout: 265 seconds]
bengates has joined #ipfs
utp has joined #ipfs
Ringtailed_Fox has quit [Read error: Connection reset by peer]
<Discordian[m]>
Have you tried adding computer A as a bootstrap node? It's interesting that you're able to connect if you first ping the peer, and then request the data. Additionally is computer A behind a NAT? Have you tried port forwarding?
<Discordian[m]>
I'm also not 100% sure what you mean by "request listing IPFS content", is this a CID?
<Discordian[m]>
Oh I see that CID you linked, that's the list?
<romanblanco[m]>
Yes, that's the list I'm trying to process
<romanblanco[m]>
> Have you tried IPNS PubSub?
<romanblanco[m]>
No, haven't tried yet, will look into it 🙂
<Discordian[m]>
Also as the DHT should really be helping you out in file discovery, are you connecting to a lot of peers? Applications like IPFS Companion will display how many peers you have
<romanblanco[m]>
> Additionally is computer A behind a NAT?
<romanblanco[m]>
Yes, I've not tried port forwarding
<romanblanco[m]>
> are you connecting to a lot of peers?
<romanblanco[m]>
~650, not sure if that's "a lot" 🙂
<Discordian[m]>
I port forwarded port 4001 for my local node on both TCP and UDP.
<Discordian[m]>
650 actually sounds decent
<Discordian[m]>
I think 200-1000 is generally considered "good"
<romanblanco[m]>
There is also some sane traffic outgoing, I was this might only happen on a fresh IPFS setup, but that didn't make much esnse.
<romanblanco[m]>
* There is also some sane traffic outgoing, I was thinking this might only happen on a fresh IPFS setup, but that didn't make much esnse.
<romanblanco[m]>
* There is also some sane traffic outgoing, I was thinking this might only happen on a fresh IPFS setup, but that didn't make much sense.
<Discordian[m]>
Could be downloading pieces of the DHT. I found my node goes a bit ham sometimes. Currently sitting at 385Kb/s incoming, 94Kb/s outgoing
<Discordian[m]>
I think that's bits though, so it's not as bad as it looks (assuming the app is using proper SI units)
<romanblanco[m]>
> Have you tried adding computer A as a bootstrap node?
<romanblanco[m]>
I think I might have configured IPFS in this way way back when I was starting to play with it, but not sure now, will have to double-check.
<Discordian[m]>
Yeah you'd do that on Node B or C, but if you have a dynamic IP, you won't be able to make it a bootstrap node anyways (because you'll have to constantly update your IP)
<Discordian[m]>
Also are you pinning your data? I believe pins can help somewhat with discovery (could just be my own superstition though)
<romanblanco[m]>
I have my data pinned in computer A. Not in computer B in Docker.
<Discordian[m]>
Hmm, the only big difference I see between your computer A and my desktop, is I have my port forwarded
<Discordian[m]>
I share my website from my PC though, so I know what you're looking to accomplish is indeed possible
<romanblanco[m]>
I have gained the same expectation from reading documentation, just did something wrong along the way it seems 🙂
gimzmoe has joined #ipfs
<Discordian[m]>
When you figure it out, please tell me the answer, especially if you feel like the docs could be updated to avoid the pitfall
<romanblanco[m]>
Discordian: Thank you very much for your input. I'll try to go thorough your suggestions when I get a chance.
mindCrime has joined #ipfs
p1c0_ has quit [Ping timeout: 240 seconds]
tec__ has quit [Ping timeout: 245 seconds]
bengates has joined #ipfs
tec__ has joined #ipfs
p1c0 has joined #ipfs
bengates has quit [Ping timeout: 265 seconds]
gimzmoe has quit [Ping timeout: 246 seconds]
drathir_tor has quit [Remote host closed the connection]
mindCrime has quit [Ping timeout: 240 seconds]
drathir_tor has joined #ipfs
MJCD has quit [Quit: Connection closed for inactivity]
ZaZ has joined #ipfs
justanotherdude has quit [Quit: RAGEQUIT]
MarkusKuhlmann[m has joined #ipfs
justanotherdude has joined #ipfs
justanotherdude has quit [Quit: RAGEQUIT]
<MarkusKuhlmann[m>
Hi everybody,
<MarkusKuhlmann[m>
I want to start building an application and want to utilize the http api. Can you recommend a rust library?
<MarkusKuhlmann[m>
Evanito: Thanks for your answer! As far as I can see, this one does not yet implement the name features, which I would need. On the other hand, it seems to aim for a complete IPFS implementation. I'm looking for a library only making use of the http api.
<Evanito[m]>
Good distinction to make, I understand you just want a bindings library for the HTTP API. I'm not a rust developer so I am not aware of any such library but I don't see why one wouldn't exist.
<Evanito[m]>
Worst case scenario it shouldn't be too bad to make yourself 😅
<MarkusKuhlmann[m>
Maybe it is a little bit outdated.
dcompoze has joined #ipfs
<Evanito[m]>
Last commit 15 days ago, that doesn't seem outdated to me.
haijuno has joined #ipfs
<Evanito[m]>
Let's see if we can find any of the maintainers in this channel..
<MarkusKuhlmann[m>
Oh right. Maybe I'm having some issues with my environment. Anyways, if someone knows about a good lib, please let me know.
<MarkusKuhlmann[m>
<Evanito[m] "Let's see if we can find any of "> That would be awesome 👌
<Evanito[m]>
Seems the maintainer has an email if you are patient, otherwise I can only ping a person who seems to have contributed a few times: JCaesar
<MarkusKuhlmann[m>
Thank you very much!
<haijuno>
Sorry I'm new to IPFS but I have a question about security. I know that content is addressed by a hash key and in order to verify that the content received is what you requested you compare the hashes. But what about a hash collision? Can malicious content be created that collides with an existing benevolent piece of content?
Daratla[m] has joined #ipfs
<Evanito[m]>
Hey haijuno that is one of the top issues that modern cryptography has to overcome.
<Evanito[m]>
You may have heard that SHA-1 has been deemed insecure, as with modern computing you can generate collisions and compromise it.
<Evanito[m]>
IPFS uses SHA-256, which has no such vulnerability. (yet?)
<Discordian[m]>
The only vuln I can possibly see in SHA256 is a quantum attack
<Evanito[m]>
so TLDR: IPFS will be broken once SHA-256 is. And when that happens you will hear people screaming worldwide haha
<haijuno>
So once sha-256 is broken how will all the existing pieces of content be updated with whatever replaces sha-256?
<Discordian[m]>
Luckily we have multiformats, we could recover
<Evanito[m]>
^ They can simply update IPFS to use a different hashing algorithm
<Evanito[m]>
(Which would break backwards compatibility, but would probably have a compatibility mode or something.) I can only speculate
<Discordian[m]>
<haijuno "So once sha-256 is broken how wi"> It uses sha-256 by default, but it's not the only format supported. I find it unlikely we'll experience a sudden breakage too, but more the default will likely shift far before a breakage, and would happen if there was an air of the possibility of a breakage: https://docs.ipfs.io/concepts/content-addressing/
<Evanito[m]>
<Discordian[m] "Evanito: to ease your worries: h"> Thanks for the post, interesting read so far
<haijuno>
Makes sense thanks
bengates has joined #ipfs
arcatech has quit [Quit: Be back later.]
bengates has quit [Remote host closed the connection]
bengates has joined #ipfs
<haijuno>
Is there any way to delete files off of IPFS?
<haijuno>
Lets say I made something public that has API secrets or passwords. How do I delete it off the network?
bengates has quit [Ping timeout: 252 seconds]
<Discordian[m]>
You can delete it from your own node, and if no one else attempted to access it, they won't have it either. You can ensure it's gone from your node by unpinning it, removing it from your MFS (if you put it there), and running garbage collection (`ipfs repo gc`).
arcatech has joined #ipfs
<haijuno>
Discordian[m], But if someone else requests the file it will be served from another node?
<Discordian[m]>
The other node won't have the file unless someone requested it from that node previously. If that happens the only way to get that node to remove it is to wait for GC or ask them nicely to remove it
<Discordian[m]>
Nodes won't randomly pull your data, so you don't have to worry about the file suddenly propagating unless you also shared the hash, in which case anyone who accessed it, and gateways that served it, may have it in their cache.
<haijuno>
Hmmm seems like it doesn't leave much room for mistakes. I guess if you find out you revealed secrets you need to update those secrets accordingly
<Discordian[m]>
Yeah like if you leaked your credit card number, even the possibility that someone else may have gotten it, you should get a new number anyways.
<haijuno>
yeah
mindCrime has joined #ipfs
LiftLeft has quit [Ping timeout: 252 seconds]
bengates has joined #ipfs
dpl has quit [Ping timeout: 268 seconds]
bengates has quit [Read error: Connection reset by peer]
bengates has joined #ipfs
LiftLeft has joined #ipfs
bengates has quit [Ping timeout: 252 seconds]
dqx_ has joined #ipfs
viaken has quit [Quit: rebooty]
imdeni has quit [Read error: Connection reset by peer]
Guest21477 has quit [Read error: Connection reset by peer]
dcompoze has quit [Ping timeout: 245 seconds]
mikolalysenko has quit [Ping timeout: 245 seconds]
thesocialdev has quit [Read error: Connection reset by peer]
mp has quit [Ping timeout: 258 seconds]
Laurian___ has quit [Ping timeout: 258 seconds]
tperson has quit [Read error: Connection reset by peer]
dignifiedquire has quit [Read error: Connection reset by peer]
adrianbrink has quit [Read error: Connection reset by peer]
hmat has quit [Read error: Connection reset by peer]
ShadowJonathan has quit [Read error: Connection reset by peer]
jimpick has quit [Read error: Connection reset by peer]
chicoxyzzy has quit [Read error: Connection reset by peer]
lanzafame has quit [Ping timeout: 258 seconds]
tperson has joined #ipfs
imdeni has joined #ipfs
benjamin_w has quit [Ping timeout: 245 seconds]
adrianbrink has joined #ipfs
ShadowJonathan has joined #ipfs
thesocialdev has joined #ipfs
xinbenlv has quit [Ping timeout: 258 seconds]
jimpick has joined #ipfs
dignifiedquire has joined #ipfs
thattommyhall has quit [Ping timeout: 246 seconds]