Commit Graph

3389 Commits

Author SHA1 Message Date
rendaw
a0656402ed
Key import and export cli commands 2020-07-16 22:25:37 +09:00
Petar Maymounkov
b3e5ffc41a
feat: add flag to ipfs key and list to output keys in b36/CIDv1 (#7531)
* add flag to "ipfs key gen" to output keys in b36 CIDv1
* add flag to "ipfs key list" to output keys in b36 CIDv1
* add and modify corresponding sharness tests
2020-07-13 12:08:34 -04:00
Marcin Rataj
231fab811d feat: support ED25519 libp2p-key in subdomains
This:

- adds subdomain gateway support for ED25519 CIDs in a way that fits in
  a single DNS label to enable TLS for every IPNS website.

- cleans up subdomain redirect logic and adds more explicit error
  handling.

TL;DR on router logic:

When CID is longer than 63 characters, router at /ipfs/* and /ipns/*
converts to Base36, and if that does not help, returns a human readable
400 Bad Request error.

Addressing code review:
https://github.com/ipfs/go-ipfs/pull/7441#pullrequestreview-440043209

refactor: use b36 for all libp2p-keys in subdomains
Consensus reached in
https://github.com/ipfs/go-ipfs/pull/7441#discussion_r452372828
https://github.com/ipfs/go-ipfs/pull/7441#discussion_r451477890
https://github.com/ipfs/go-ipfs/pull/7441#discussion_r452500272
2020-07-10 16:25:20 -04:00
Michael Muré
87dfc46e03 feat: support X-Forwarded-Host when doing gateway redirect 2020-07-10 14:13:11 -04:00
Rafael Ramalho
4c38ea748a chore:bump webui version to 2.10.1 2020-06-23 16:28:38 +01:00
Rafael Ramalho
cc4a136360 chore: bump webui version 2020-06-22 17:39:30 +01:00
Adin Schmahmann
19d6230cde Merge branch 'release' into master 2020-06-19 20:04:30 -04:00
Steven Allen
84341d0c5a fix: use the correct context when resolving dnsaddr links 2020-06-17 19:44:28 -07:00
Steven Allen
5f19f3bbe8 fix: cancel resolve search context
We probably don't need to do this, but it can't hurt.
2020-06-17 19:43:20 -07:00
Steven Allen
3ce725dd96 fix: upgrade warning to error 2020-06-16 15:15:51 -07:00
Steven Allen
e164af1f2a feat: add a transport config section
This way, users can disable transports (especially QUIC), and set muxer/security
transport priorities.
2020-06-16 15:15:47 -07:00
Steven Allen
cee60700b9 fix: use bitswap sessions for ipfs refs
This isn't perfect (we only use sessions after resolving the root cid) but it's
better than what we have. The real solution is #7198 so we can use sessions
everywhere.

(cherry picked from commit 62f61c588d)
2020-06-02 17:36:30 -07:00
Marcin Rataj
5be7e0f8de feat: webui v2.9.0
(cherry picked from commit 0f76ed79f9)
2020-06-02 17:36:30 -07:00
Shotaro Yamada
bd9382fe41 chore: update WebUI to 2.8.0
(cherry picked from commit 58aac04a53)
2020-06-02 17:36:30 -07:00
Steven Allen
0cdde03824
Merge pull request #7389 from ipfs/fix/refs-sessions
fix: use bitswap sessions for ipfs refs
2020-06-02 11:17:12 -07:00
Steven Allen
22dc1ad397
Merge pull request #7397 from ipfs/fix/id-addr-format
fix(commands): print consistent addresses in ipfs id
2020-06-02 10:46:28 -07:00
Steven Allen
3aa86f8ed9 fix(commands): print consistent addresses in ipfs id
Consistently append `/p2p/QmMyId` to addresses when calling `ipfs id Me` and `ipfs id NotMe`.

Fixes https://github.com/ipfs/go-ipfs/issues/7378.
2020-05-29 18:48:53 -07:00
Steven Allen
c58e3e4c7d fix: remove pubsub discovery hack
Pubsub handles this internally now.
2020-05-29 16:42:10 -07:00
Steven Allen
ac8a88d054 fix(pubsub): flood publish
When publishing a value, flood. This ensures that our messages make it to the
network even if some of our peers are bad and/or overloaded.
2020-05-29 16:42:10 -07:00
Steven Allen
62f61c588d fix: use bitswap sessions for ipfs refs
This isn't perfect (we only use sessions after resolving the root cid) but it's
better than what we have. The real solution is #7198 so we can use sessions
everywhere.
2020-05-28 17:15:56 -07:00
Marcin Rataj
0f76ed79f9
feat: webui v2.9.0 2020-05-28 23:04:35 +02:00
Shotaro Yamada
58aac04a53 chore: update WebUI to 2.8.0 2020-05-28 10:53:25 +09:00
Steven Allen
d48b80b30e feat: add noise support
We can add a proper configuration option in a followup patch after the RC.
2020-05-25 23:46:48 -07:00
Steven Allen
978091a626 feat: implement peering service
MVP for #6097

This feature will repeatedly reconnect (with a randomized exponential backoff)
to peers in a set of "peered" peers.

In the future, this should be extended to:

1. Include a CLI for modifying this list at runtime.
2. Include additional options for peers we want to _protect_ but not connect to.
3. Allow configuring timeouts, backoff, etc.
4. Allow groups? Possibly through textile threads.
5. Allow for runtime-only peering rules.
6. Different reconnect policies.

But this MVP should be a significant step forward.
2020-05-25 20:24:41 -07:00
Steven Allen
707b5506ba
Merge pull request #7360 from ipfs/feat/better_dir_etag
Include the git blob id of the dir-index bundle in the ETag
2020-05-25 13:21:55 -07:00
Steven Allen
c17bcbd4e0
Merge pull request #7340 from ipfs/feat/boostrap-when-low
feat: bootstrap in dht when the routing table is empty
2020-05-25 13:01:08 -07:00
Peter Rabbitson
2d5f8b4ebe Include the git blob id of the dir-index bundle in the ETag
While the content of raw files retrieved via the gateway should never
change, the look and feel of the directory index can and will change
between versions of go-ipfs.

Incorporate the hash of assets/bindata.go into the ETag when appropriate
2020-05-25 18:42:07 +00:00
Steven Allen
ff17485cbb feat: bootstrap in dht when the routing table is empty
Otherwise, we could end up with only DHT clients and never re-bootstrap.

I've left the default go-ipfs bootstrapping code in for now as it's technically
possible to disable the DHT entirely.
2020-05-24 22:55:30 -07:00
Steven Allen
4714c0cecc feat: enable QUIC by default
But only if private networks are disabled.
2020-05-22 13:48:58 -07:00
Steven Allen
03c1f769d7 fix: remove strict signature verification option
Signature verification is now always strict.
2020-05-22 13:48:26 -07:00
@RubenKelevra
2dc1f691f1 quic: remove experimental status and add it to the default config 2020-05-22 04:54:19 +02:00
Steven Allen
6a2fe0a20d fix: support directory listings even if a 404 page is present
fixes https://github.com/ipfs/go-ipfs/pull/4233#issuecomment-631454543

Basically, there's a trade-off here:

1. We can support directory listings while supporting 404 pages (this PR).
2. If a 404 page is present, directory listings don't work.

Given that option 1 is more flexible and users shouldn't be _too_ confused if
they land on a directory with no index.html page, I've gone with that option.
2020-05-20 19:11:50 -07:00
Steven Allen
0a8b2f117b chore: update deps
And remove use of mafilter library (now rolled into go-multiaddr).
2020-05-20 17:51:04 -07:00
Steven Allen
febdc3bed6
Merge pull request #7335 from ipfs/chore/update-libp2p
chore: update libp2p
2020-05-20 17:42:15 -07:00
Steven Allen
69ccf99915 chore: update libp2p 2020-05-20 16:56:22 -07:00
Peter Wu
d4952f2a73 fix(gateway): ensure directory listings have Content-Type text/html
Files already have an explicit Content-Type set. Be sure to do this for
directory listings as well to avoid a fallback to autodetection in
net/http. That fallback fails when a ResponseWriter is installed that
performs compression.
2020-05-20 15:20:33 +02:00
Peter Wu
7c7888c4db fix(gateway): fix status code for HEAD on redirects
Report a consistent status code for HEAD requests that end up in a
redirect.
2020-05-20 14:03:58 +02:00
JP Hastings-Spital
dfceafdbd3 Gateway renders pretty 404 pages if available
In the same way that an `index.html` file is rendered, if one is present, when the
requested path is a directory, now an `ipfs-404.html` file is rendered if
the requested file is not present within the specified IPFS object.

`ipfs-404.html` files are looked for in the directory of the requested path and each
parent until one is found, falling back on the well-known 404 error message.

License: MIT
Signed-off-by: JP Hastings-Spital <jphastings@gmail.com>
2020-05-19 14:41:21 -07:00
Steven Allen
5751917f49 feat: add a stats dht command
Currently, it just prints out the routing tables.
2020-05-14 23:32:18 -07:00
Steven Allen
3339ce3b0e
Merge pull request #6774 from MichaelMure/pincoreapi
pin: implement pin/ls with only CoreApi
2020-05-05 18:49:19 -07:00
Michael Muré
6388f5a1c2
pin: honor the context more accurately 2020-05-05 14:19:38 +02:00
Michael Muré
6ef190f5a6 pin: implement pin/ls with only CoreApi 2020-05-04 18:02:50 -07:00
Steven Allen
0189e42bcb
Merge pull request #7061 from RubenKelevra/patch-1
README.md: typo
2020-05-04 17:53:52 -07:00
Gowtham G
e93f2002f5 optimize import order 2020-05-02 14:19:01 +05:30
Gowtham G
214d29ebf8 #7252 - print error message 2020-05-01 22:37:20 +05:30
Gowtham G
9201b1dde6 #7252 - read content directly instead of sending 512bytes 2020-05-01 20:29:32 +05:30
Gowtham G
2e87ac88a3 Fixes #7252 - Uses gabriel-vasile/mimetype to support additional content types 2020-05-01 12:19:36 +05:30
RubenKelevra
a048008c5b fix typo in command texts 2020-04-30 20:36:00 +02:00
Steven Allen
46ae021733 feat: show the absolute path every time
Even for dnslink websites.

fixes https://github.com/ipfs/go-ipfs/issues/7205
2020-04-26 17:19:17 -07:00
Steven Allen
d8bc5c991e feat: always show the hash
Previously, we only showed this /ipns paths. However, knowing the hash of the
current directory is useful regardless.
2020-04-26 16:09:02 -07:00