►
Description
We'll be showcasing how IPFS can have deep integration with web protocol handlers, and will be answering the question "What does it mean to POST to ipfs://
?"
A
A
So
specifically,
this
is
done
whenever
you
try
to
load
web
pages
images,
media
like
audio
and
video
or
website
content
like
style
sheets
and
scripts.
The
JavaScript
in
your
browser
can
also
programmatically
trigger
things
with
these
URLs,
using
either
the
fetch
API
to
programmatically,
make
requests
or
things
like
Event,
Source
or
other
higher
level
apis
that
just
kind
of
automatically
do
something
or
other
behind
the
scenes.
A
A
It
mixes
a
bunch
of
peer-to-peer
protocols
for
browsing
peer-to-peer
websites,
while
keeping
support
for
HTTP
and
https
to
browse
the
Legacy
web
like
regular
web
browser
I've
mostly
been
focused
on
keeping
the
core
of
agrigore
as
minimal
as
possible
and
leaving
as
many
features
as
possible
to
web
extensions,
which
can
be
dynamically
authored
by
users.
A
Similarly,
earlier
this
year
we
had
a
Dev
Grant
from
filecoin,
which
let
us
put
together
a
mobile
version
of
agrigore
by
forking
chromium
and
messing
with
the
c
plus
to
add
custom
protocol
handlers.
At
the
moment,
mobile
is
not
quite
as
feature-rich
as
desktop
since
we
ran
into
some
snags,
but
it
supports
ipfs
loading
and
uploading.
So
it's
already
a
good
Baseline
for
peer-to-peer
web
apps.
A
So
on
desktop,
we've
got
support
for
a
bunch
of
protocol
handlers,
we've
got
ipfs
and
it's
related
Brethren
like
ipns,
ipld
and
Pub
sub
and
as
well.
We've
got
support
for
stuff
like
the
hypercore
protocol,
which
is
another
peer-to-peer
protocol
with
a
slightly
different
take
on
how
their
data
Works
we've
got
first
class
support
for
loading
bittorrents,
so
you
can
browse
a
torrent
just
like
you
could
any
website.
We've
also
got
the
ability
to
load
SSB
URLs,
to
use
the
browser
as
a
viewer
and
just
for
fun.
A
We've
got
Gemini
in
there,
which
is
kind
of
like
an
indie
web
gopher
type
thing.
It's
not
even
peer-to-peer,
but
it's
radish
heck
so
for
ipfs
in
particular.
We're
able
to
load
data
from
ipfs,
ipns
or
ipld,
which
is
similar
to
what
browsers
like
Brave
and
cappyloon,
do
with
being
able
to
get
some
data
from
a
Gateway
or
otherwise.
But
the
thing
that
aggregore
does,
which
other
browsers
don't
yet
is
the
ability
to
then
upload
data
via
the
same
protocol
handlers
and
as
well
as
just
uploading
data
to
ipfs.
A
You
can
also
update
ipns
keys
in
your
browser
so
that
you
can
have
mutable
websites
all
without
needing
an
extra
DNS
link
or
whatever
else.
We've
also
got
methods
for
managing
keys.
So
you
can
have
a
bunch
of
websites
that
you
can
use
as
data
storage
backends
to
share
between
applications
a
little
bit
experimental.
A
We've
actually
got
support
for
the
lib
P2P
Pub
sub
API
wrapped
in
a
protocol
Handler,
and
this
is
important
for
having
ephemeral
messaging
on
applications
since,
even
though
it's
useful
to
be
able
to
upload
and
download
some
content
with
ipfs
for
a
lot
of
cases.
You
also
want
to
have
some
sort
of
real-time
communication
around
a
topic,
and
so
this
is
a
really
key
feature
for
enabling
things
like
chat,
apps
or
collaborative
editing.
A
You
should
come
to
my
ipld
talks
later.
If
you
want
to
learn
more
there
cool
so
now,
I'm
going
to
attempt
fate
and
do
a
live
demo
and
we'll
we'll
see
what
this
even
looks
like
okay.
So
what
we're
gonna
do
is
quickly
make
a
website
in
agragore
by
uploading
some
stuff
to
ipfs,
so
I'm
just
going
to
copy
paste
this
one
bit
and
then
I'll
walk
you
through
some
live
coding.
A
So
I'm
going
to
do
this
blind
so
first
thing
we're
going
to
do
is
open
up
Chrome,
Dev
tools,
so
other
browsers
that
have
done
similar
things
in
the
past
have
relied
on
building
custom,
Dev
tools
and
all
of
that
I
just
kind
of
use.
What's
built
into
chromium
and
I'm
planning
on
extending
it
a
little
bit
just
to
make
things
nicer.
A
So
what
we're
going
to
do
is
we're
going
to
do
a
fetch
request
to
that
special
URL.
A
A
A
So
I'm
going
to
use
the
Marquee
tag,
since
you
know
we're
back
in
the
90s
and.
A
We're
gonna
use
some
cool
emojis
because
that's
one
of
the
things
we
didn't
have
in
that
90s,
which
is
good
to
have
now
so
this
here
is
enough
to
send
a
request
to
upload
some
data.
However,
at
the
moment,
if
I
want
to
get
back
the
URL
of
the
page
that
gets
created
I'm
going
to
look
at
the
headers
and
I'm
going
to
get
the
location
header
for
the
newly
created
resource,
so
bam
as
you
can
see
there
it.
A
Oh
where's,
my
as
you
can
see
there,
we've
got
an
ipfs
baffy
URL,
we're
gonna
copy
the
link
and
load
it
up.
So
if
someone
is
quick
at
typing,
they
can
use
that
and
Bam
we've
got
a
website,
so
one
other
thing
I
wanted
to
show
off
is
that
we
can
actually
take
this
ipfs
hash
and
change
the
url
scheme
to
ipld,
and
here
you
can
actually
browse
through
the
ipld
data
set.
So
if
there's
any
cids
in
there,
you
can
actually
just
click
through
and
explore
the
data
set.
A
A
A
A
Okay,
great,
so
that
was
the
live
demo
here,
I
think
I
could
take,
and
thank
you
for
my
love
me
lovely
assistant,
Dietrich
cool.
So
what's
the
point
of
all
of
this
I've
been
thinking
about
this
concept.
A
Lot
called
local
first
software,
it's
software,
which
works
offline
fully,
which
can
also
automatically
operate
over
local
networks
like
a
Wi-Fi
hotspot
or
a
mesh,
and
which
can
also
seamlessly
scale
to
work
over
the
internet.
A
If
you
need
it
to
it's,
software
that
preserves
user
agency
by
keeping
data
controlled
local
to
the
user's
device
and
giving
them
an
obvious
path
to
migrating
it
between
apps.
Basically,
it's
the
opposite
of
what
the
cloud
first
apps
give
you
out
of
the
box
and
basing
the
web
on
these
peer-to-peer
protocol
handlers
and
ipfs
enables
all
of
this
functionality
without
any
extra
effort
on
the
developers.
A
Part
My
Hope
here
is
that
we
can
simplify
web
development
and
make
it
more
accessible
to
people
I'd
love
to
see
more
folks,
building
smaller
scale,
apps,
which
don't
need
megabytes
of
build
tools
and
beefy
developers.
Machines
just
to
get
them
running,
I
want
to
make
it
easy
to
publish
and
distribute
that
distribute.
Apps
the
same
way
you
would
any
data
on
the
network.
A
I
also
want
to
have
a
clear
path
for
to
take
existing
software
and
to
tweak
it
where
you
can
just
view
the
source,
make
some
small
changes
and
have
your
own
version
of
an
app.
These
approaches
also
work
great
with
community-run
mesh
networks,
such
as
those
run
by
the
groups
in
the
association
for
Progressive,
communication
or
APC.
It
enables
communities
to
reduce
the
overall
amount
of
bandwidth
that
needs
to
go
over
the
Internet,
which
can
reduce
costs
in
areas
where
the
internet
could
be
expensive
to
run.
A
A
The
resilience
is
important
to
look
at
now
as
a
global
climate
change
and
political
turmoil
starts
destroying
physical
and
digital
infrastructure
worldwide.
Worldwide.
Part
of
my
hope
is
that
the
learning
we
can
get
from
these
smaller
scale
communities
can
be
applied
to
larger
scales
around
the
world
and
so
that
we
can
have
resilience
and
community
be
the
default
rather
than
whatever
effects
of
external
forces.