Commit Graph

722 Commits

Author SHA1 Message Date
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
Steven Allen
84341d0c5a fix: use the correct context when resolving dnsaddr links 2020-06-17 19:44:28 -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
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
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
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
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
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
Dimitris Apostolou
1e437c7e97
Fix typos and cleanup 2020-04-20 22:00:01 +03:00
Henrique Dias
135c451997
feat: webui 2.7.5 2020-04-17 20:10:21 +01:00
Marcin Rataj
8290ec11c3
fix: subdomain redirect for dir CIDs
Closes #7164

License: MIT
Signed-off-by: Marcin Rataj <lidel@lidel.org>
2020-04-15 23:50:53 +02:00
Marcin Rataj
7d397ac219
feat: webui v2.7.4
(supersedes v2.7.3)

License: MIT
Signed-off-by: Marcin Rataj <lidel@lidel.org>
2020-04-14 17:51:25 +02:00
Hector Sanjuan
7340543615 corehttp: Gateway handler: add Allow headers when returning MethodNotAllowed
Spec says that response with 405 must set Allow headers.
2020-04-05 09:57:57 +02:00
Hector Sanjuan
1b490476e5 HTTP API: Disallow GET requests on API
This commit upgrades go-ipfs-cmds and configures the commands HTTP API Handler
to only allow POST/OPTIONS, disallowing GET and others in the handling of
command requests in the IPFS HTTP API (where before every type of request
method was handled, with GET/POST/PUT/PATCH being equivalent).

The Read-Only commands that the HTTP API attaches to the gateway endpoint will
additional handled GET as they did before (but stop handling PUT,DELETEs).

By limiting the request types we address the possibility that a website
accessed by a browser abuses the IPFS API by issuing GET requests to it which
have no Origin or Referrer set, and are thus bypass CORS and CSRF protections.

This is a breaking change for clients that relay on GET requests against the
HTTP endpoint (usually :5001). Applications integrating on top of the
gateway-read-only API should still work (including cross-domain access).

Co-Authored-By: Steven Allen <steven@stebalien.com>
Co-Authored-By: Marcin Rataj <lidel@lidel.org>
2020-04-05 09:57:57 +02:00
Marcin Rataj
f9567a0a0f fix(gateway): curl without redirect on localhost
When request is sent to http://localhost:8080/ipfs/$cid response has
HTTP 301 status code and "Location" header with redirect destination at
$cid.ipfs.localhost:8080

Redirect is followed by browsersi, but not by commandline tools.
Status 301 is ignored by curl in default mode: it will print response
and won't follow redirect, user needs to add -L for that.

To fix curl, we return correct payload in body of HTTP 301 response,
but set Clear-Site-Data header to ensure Origin sandbox can't be abused.

This requires a surgical workaround:
If Location header is present in ResponseWriter's Header map,
we ensure http.ServeContent() returns HTTP 301

Context: https://github.com/ipfs/go-ipfs/pull/6982

License: MIT
Signed-off-by: Marcin Rataj <lidel@lidel.org>
2020-03-18 08:50:40 -07:00
Marcin Rataj
3ecccd6e1d feat(gateway): subdomain and proxy gateway
License: MIT
Signed-off-by: Marcin Rataj <lidel@lidel.org>
2020-03-18 08:50:38 -07:00
Steven Allen
72490f7ed0 gateway: simplify/improve dnslink rewrite handling
Instead of adding a new fake header (that could be spoofed by the client...),
just read the original request URI from the request object.

This also removes support for suborigins. They have never been implemented in
browsers and it looks like efforts have stalled. We can add support back if we
need it but, well, maintaining support was going to be more trouble than it was
worth.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2020-03-17 19:34:44 -07:00
Steven Allen
11c229bb14 rename ProxyOption to P2PProxyOption
(we're implementing an _actual_ proxy)

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2020-03-17 19:34:44 -07:00
Steven Allen
906f45edd9 fix(tracing): remove event tracing
We've deprecated this system and have yet to move to a new system. We might as
well remove everything, switch to a new system, then deliberately trace the
entire system.
2020-01-28 21:31:12 -08:00
Steven Allen
a53d48059b fix: migrate from deprecated warning function 2020-01-28 21:20:21 -08:00
Steven Allen
725e6844ee gateway: cleanup logic
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2020-01-10 10:19:13 +01:00
Steven Allen
5eea0a4ba0 http: use Method* constants
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2020-01-10 10:19:08 +01:00
Steven Allen
c64eb11992 test(gateway): test the lazy seeker 2020-01-05 16:43:45 -08:00
Steven Allen
6cb03d4dfd fix(gateway): fix seek read length typo 2020-01-05 16:43:45 -08:00
Steven Allen
453b78962b chore(gateway): remove dead code 2020-01-05 16:43:45 -08:00
Steven Allen
1a06fb6e2f fix(gateway): correct symlink content type
We should be _resolving_ symlinks (sometimes, still need to figure out when to
do this WRT IPNS). However, that's a larger feature.
2020-01-05 16:43:44 -08:00
Steven Allen
3859f08bf7 fix(gateway): better seeking/sized
1. Require files to have known sizes. We can add support for unknown sizes
_later_ but we can't use ServeContent for those files.
2. Replace the `sizeReadSeeker` with a `lazySeeker`. This one makes no
assumptions about how it's used so we're less likely to run into weird bugs.
2020-01-05 16:43:44 -08:00
Steven Allen
e8a6c0c050 fix(gateway): gracefully handle files with unknown sizes in directory listings 2020-01-05 16:43:44 -08:00
Steven Allen
62451039ec fix(gateway): serve the index with serveFile 2020-01-05 16:43:44 -08:00
Marcin Rataj
115b2ba6cd
fix: limit SW registration to content root
Introduces hardening proposed in:
https://github.com/ipfs/go-ipfs/issues/4025#issuecomment-342250616

License: MIT
Signed-off-by: Marcin Rataj <lidel@lidel.org>
2019-12-17 02:20:40 +01:00
Henrique Dias
5ab7a70131
feat: web ui 2.7.2 2019-12-04 08:15:58 +00:00
Steven Allen
c19bc362f5
Merge pull request #6743 from dreamski21/fix/gateway/content-type-header
fix #2203: omit the charset attribute when Content-Type is text/html
2019-12-02 14:13:57 -05:00
Henrique Dias
f4a4baccee
feat: web ui 2.7.1 2019-11-12 23:37:40 +00:00
Steven Allen
7ae6f6fa3e chore(gateway): document encoding fix 2019-11-06 11:47:27 +00:00
Steven Allen
69f6e08d9d chore(gateway): remove redundant seek 2019-11-06 11:45:41 +00:00
Steven Allen
a12d2e265e chore(gateway): fix error call 2019-11-06 11:44:56 +00:00
Steven Allen
ebf2e7da36 chore(gateway): fix import ordering 2019-11-06 11:44:32 +00:00
Djalil Dreamski
a29a9dbb98
gateway: ServeFile: use file extension to determine Content-Type
License: MIT
Signed-off-by: Abdeldjalil Hebal <dreamski21@gmail.com>
2019-11-06 01:52:49 +01:00
Djalil Dreamski
69f81a11dd
Update gateway_handler.go 2019-11-05 17:36:26 +01:00
Djalil Dreamski
aefff48654
fix #2203: omit the charset attribute when Content-Type is text/html
License: MIT
Signed-off-by: Abdeldjalil Hebal <dreamski21@gmail.com>
2019-11-02 21:56:54 +01:00
Henrique Dias
29d6d7e3cd
feat: web ui 2.6.0
See https://github.com/ipfs-shipyard/ipfs-webui/releases/tag/v2.6.0.
2019-10-30 17:50:29 +00:00
Steven Allen
4a102207a3
Merge pull request #6643 from ipfs/fix/provide-prometheus-namespace
ipfs namespace is now being provided to prometheus
2019-10-22 20:38:00 -07:00
Adrian Lanzafame
48f25d9ed7
pass opts.Namespace along like before 2019-10-23 10:46:11 +10:00
Henrique Dias
f3f3899a68
Update webui.go 2019-10-21 20:24:15 +01:00
Henrique Dias
a1854101c0
feat: web ui 2.5.8 2019-10-21 08:31:33 +01:00
Henrique Dias
bb59c24947
feat: web ui 2.5.7
Relevant release notes can be found on [v2.5.5](https://github.com/ipfs-shipyard/ipfs-webui/releases/tag/v2.5.5).
2019-10-08 08:33:58 +01:00
Steven Allen
853ed0be5d chore: fix deprecation warnings 2019-09-26 15:38:12 -07:00
Henrique Dias
36acc402aa
feat: web ui 2.5.4 2019-09-23 15:44:21 +01:00
Adrian Lanzafame
03017cb201
ipfs namespace is now being provided to prometheus 2019-09-15 11:08:19 +10:00
Henrique Dias
7c6ba8f724
feat: webui 2.5.3
Superseeds #6635.
2019-09-12 23:09:43 +01:00
Henrique Dias
de87c3aa45
feat: web ui 2.5.1 2019-09-06 09:04:21 +01:00
Henrique Dias
b0f496e79f
feat: web ui 2.5.0 2019-08-13 15:20:13 +01:00
Steven Allen
521a29956b fix and improve the writable gateway
1. Fix handling of PUT. The simple implementation was the correct
   implementation, I have no idea what was going on here.
2. Use MFS everywhere to reduce code duplication and add support for sharded
   directories.
3. _Correctly_ block IPNS.
4. Remove the dependency on `core.IpfsNode`.
5. Remove support for putting empty directories with a well-known CID. It was
   useless as directories are automatically created.
2019-07-25 19:22:56 -07:00
Hector Sanjuan
98a508fdd1 Deps: update go-libp2p-http to its new libp2p location
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2019-06-08 00:51:18 +02:00
Steven Allen
d460150f43 gateway: label get requests latency with the path namespace 2019-06-04 17:47:08 -07:00
Steven Allen
ebd89b4011 gateway: expand get metric metadata 2019-06-04 17:36:42 -07:00
whyrusleeping
846b6b5d95 add unixfs get metric
License: MIT
Signed-off-by: whyrusleeping <why@ipfs.io>
2019-06-04 17:36:42 -07:00
Raúl Kripalani
e8c2852179 migrate to go-libp2p-core.
closes #6391

License: MIT
Signed-off-by: Raúl Kripalani <raul@protocol.ai>
2019-05-31 23:23:52 -07:00
Henrique Dias
5cd15049ad
feat: update Web UI to v2.4.6 2019-05-31 16:51:08 +01:00
Steven Allen
23d35184c3 fix: use http.Error for sending errors
This sets a few headers that prevent browsers from misinterpreting the error
text.
2019-05-25 10:45:17 -07:00
Steven Allen
4924b80e10 chore: fix linter nits
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-05-14 09:38:26 -07:00
tg
d2836de577 core/corehttp/gateway_handler: pass a request ctx instead of the node ctx
License: MIT
Signed-off-by: Georgij Tolstov <tolstov.georgij@gmail.com>
2019-04-23 13:43:32 +03:00
Łukasz Magiera
7046626ecc Move pathresolve
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-04-17 16:56:27 -07:00
Łukasz Magiera
cc2be2e73a Fix goprocess / lifecycle / ctx relations
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-04-17 16:56:27 -07:00
Łukasz Magiera
a54b64bede coreiface: updates for path name refactor
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-04-17 12:03:37 -07:00
Łukasz Magiera
667b7f9927 coreiface: updates for moving path to subpackage
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-04-17 12:03:37 -07:00
Łukasz Magiera
2e77df04ca coreapi: Update path error handling
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-04-17 12:03:37 -07:00
Masashi Salvador Mitsuzawa
04c87264b1 fix the wrong path configuration in root redirection
before: when path = "" => // -> handler
 after: when path = "" => / -> handler

License: MIT
Signed-off-by: Masashi Salvador Mitsuzawa <masashisalvador57f@gmail.com>
2019-04-15 12:35:45 +09:00
Steven Allen
c083e8fcc1 fix(webui): syntax
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-04-03 05:30:50 -07:00
Oli Evans
6ab34b7f8a
feat: update to IPFS Web UI 2.4.4
- Improved MFS file manager
- Opt-in, anonymouse, self-hosted web analytics (see https://github.com/ipfs-shipyard/ipfs-webui/pull/985)
- Bug fixes and UX improvements

https://github.com/ipfs-shipyard/ipfs-webui/releases/tag/v2.4.4

License: MIT
Signed-off-by: Oli Evans <oli@tableflip.io>
2019-04-03 11:43:45 +01:00
Steven Allen
1f293eff1b chore: fix a bunch of issues caught by golangci-lint
Most of these are probably harmless but a few looked like they might actually be
bugs. Most of them are just faulty tests.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-03-29 11:57:45 +00:00
Steven Allen
8c96e3be90
Merge pull request #6019 from ipfs/fix/unixfs-add-wrap
coreapi unixfs: change Wrap logic to make more sense
2019-03-22 21:51:50 -07:00
Steven Allen
b02bb95f4a deps: switch back to jbenet go-is-domain
Also fixes https://github.com/ipfs/go-ipfs/issues/4153.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-03-22 09:29:46 -07:00
Łukasz Magiera
c5b81e918f coreapi: remove hidden file handling in add
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-03-21 19:17:58 +01:00
Łukasz Magiera
2e8bb8c0e6 coreapi add wrap: fix gotests
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-03-21 19:17:58 +01:00
Jakub Sztandera
dc6423f7de gomod/gx: use correct go-is-domain
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-03-05 18:33:58 +01:00
Jakub Sztandera
42e191c017 gx: unrewrite
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-03-05 18:33:56 +01:00
Steven Allen
4b57080fb0
Merge pull request #6050 from ipfs/fix/useless-online
cleanup daemon online logic
2019-03-05 09:11:11 -08:00
Steven Allen
23616af314 fix gateway_test on 32bit oses
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-03-04 19:35:43 -08:00
Steven Allen
3dac4609a8 split 'mode' into IsOnline and IsDaemon flags
1. They don't _have_ to be mutually exclusive.
2. local, mode, etc is _really_ confusing.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-03-04 19:00:47 -08:00
Steven Allen
3fa1bfe1bc gx: update cmds and flatfs
fixes #6028, fixes crash when writing after closing on flatfs.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-03-01 12:17:49 -08:00
Steven Allen
f227862e88 gx: update go-ipfs-cmds, go-bitswap, go-libp2p-kad-dht, and go-mplex
Fixes the latest batch of bugs found in RC testing.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-02-27 12:39:24 -08:00
Hector Sanjuan
6972a9aa4d Gx Bubble. libp2p-6.0.38
License: MIT
Signed-off-by: Hector Sanjuan <code@hector.link>
2019-02-27 01:10:59 +00:00
Steven Allen
e804bafc79
Revert "chore: update to Web UI 2.4.0" 2019-02-26 09:12:43 -07:00
Steven Allen
3c2536dd81 gx: update go-ipfs-cmds
fixes #6021

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-02-25 16:45:43 -07:00
Diogo Silva
ded265fc67 chore: update to Web UI 2.4.0
License: MIT
Signed-off-by: Diogo Silva <fsdiogo@gmail.com>
2019-02-25 16:41:19 +00:00
Steven Allen
fea7ae727f gx: update go-cid
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-02-20 20:29:06 -08:00
Steven Allen
f924f57c61 gx: update go-bitswap and go-libp2p-kad-dht
* go-bitswap: fix some race conditions.
* go-libp2p-kad-dht: fix a goroutine leak.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-02-20 17:19:54 -08:00
Steven Allen
2f17b951c2 gx: update deps
* Updates go-ipfs-cmds to try to get the tests to pass on travis.
* While we're at it, fix duplicate gx deps.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-02-19 13:12:21 -08:00
Steven Allen
91ca5911be coreapi: return coreiface.ErrNotSupported when "catting" symlinks.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-02-19 03:48:04 -08:00
Jakub Sztandera
28cf3de0f9 Update protobuf
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-02-18 20:46:22 +01:00
Steven Allen
cf0d4706e2 gx: update libp2p stuff
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-02-14 14:58:35 -08:00
Steven Allen
e97a60b073 gx: update go-ipfs-files
fix compatibility issue with js-ipfs

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-02-11 10:48:58 -08:00
Łukasz Magiera
648cc40ec3 coreapi: fix import grouping after extracting iface
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-02-09 01:57:26 +01:00
Łukasz Magiera
7ed6b518b6 coreapi: update imports to updated interface
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-02-09 01:42:32 +01:00
Łukasz Magiera
1ff6349729 coreapi: move namesys options to coreapi
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-02-08 19:27:39 +01:00
Steven Allen
2c93eeffc6 gx: update go-libp2p-peer
Switch _back_ to the 0.4.18 style of peer IDs while we figure things out. See
https://github.com/libp2p/specs/issues/138.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-02-07 17:41:39 -08:00
Łukasz Magiera
7c2aa0e9a9 gx: update go-unixfs to propagate archive changes
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-01-30 20:58:32 +01:00
Łukasz Magiera
a49c07a176 Drop some coreunix code
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-01-24 04:16:55 -08:00
Łukasz Magiera
53e55e3314 gx: update go-unixfs to 1.2.14 and go-bitswap to 1.1.21
(and everything else...)

License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-01-23 11:01:38 -08:00
Diogo Silva
e935daa382 chore: update to Web UI v2.3.3
License: MIT
Signed-off-by: Diogo Silva <fsdiogo@gmail.com>
2019-01-16 13:14:32 +00:00
Hector Sanjuan
ab270fbaa7 Bubble go-ipfs-cmds 2.0.10
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2019-01-10 21:31:11 +01:00
Steven Allen
1e9a638af0
Merge pull request #5907 from ipfs/gx/update
gx: update deps
2019-01-09 17:37:10 -08:00
Steven Allen
1b5c71f5a0
Merge pull request #5899 from fsdiogo/chore/update-to-webui-v2.3.2
feat: update to Web UI v2.3.2
2019-01-08 19:53:17 -08:00
Steven Allen
08cc5da55f gx: update deps
Importantly:

* fixes a bunch of MFS bugs
* pulls in some bitswap improvements

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-01-08 19:19:34 -08:00
Steven Allen
42a15ba7e4
Merge pull request #5893 from ipfs/fix/gateway-headers
gateway: fix CORs headers
2019-01-08 13:25:08 -08:00
Steven Allen
a142aecf9b
Merge pull request #5649 from ipfs/feat/gateway-nofetch
Local Gateway option
2019-01-07 10:06:08 -08:00
Diogo Silva
94de5d551f feat: update to Web UI v2.3.2
License: MIT
Signed-off-by: Diogo Silva <fsdiogo@gmail.com>
2019-01-07 14:24:23 +00:00
Łukasz Magiera
818e0e40c7 gateway: cleanup err switch
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-01-05 22:29:46 +01:00
Steven Allen
65fc4b45e9 gateway index: fix check for displaying CID.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-01-05 11:16:17 -08:00
Jack Loughran
9ef1486307 show hash if not in original url
Change the template handler to pass the hash to the directory listing template if the original url doesn't contain the hash. The directory listing template will display the hash in grey under the original url if the hash is passed to it.

License: MIT
Signed-off-by: Jack Loughran <j@ckloughran.com>
2019-01-05 11:16:17 -08:00
Steven Allen
4bbf4cc9a0 gateway, api: canonicalize headers from user config
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-01-04 13:18:16 -08:00
Steven Allen
82629c00ec gateway: fix CORs headers
fixes #5138 -- always add user-agent to access-control-allow-headers.
fixes #5888 -- same with content-type.
fixes #5892 -- extend user-provided headers instead of overriding them.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-01-04 13:18:03 -08:00
Steven Allen
543be29796 api: let the CORs library handle CORs headers
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-01-04 11:18:24 -08:00
Łukasz Magiera
c9168ecf05 gateway: use Api.FetchBlocks for NoFetch
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-01-04 15:56:08 +01:00
Łukasz Magiera
6cee21d39a Fix offline gateway directory logic
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-01-04 02:39:17 +01:00
Łukasz Magiera
aa5daed3cb NoFetch gateway option
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-01-04 02:37:06 +01:00
Łukasz Magiera
7b4ab36817 gx: update go-ipfs-config
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-01-04 02:37:06 +01:00
Steven Allen
5894291139 gx: update go-ipfs-config
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-12-20 10:07:32 -08:00
Łukasz Magiera
c832a32a4c coreapi: global offline option
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-12-20 16:40:09 +01:00
Łukasz Magiera
eed806a58b files2.0: refactored helpers
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-12-20 13:52:20 +01:00
Łukasz Magiera
adc7490755 files2.0: updates for file type split
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-12-20 13:52:20 +01:00
Łukasz Magiera
ce952a5641 files2.0: fix build errors
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-12-20 13:52:20 +01:00
Łukasz Magiera
0618fd77be gx: update go-ipfs-files to 2.0
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-12-20 13:52:20 +01:00
Diogo Silva
58694cb67e feat: update Web UI to v2.3.0
License: MIT
Signed-off-by: Diogo Silva <fsdiogo@gmail.com>
2018-12-18 18:26:27 +00:00
Steven Allen
90926ca5c7 gx: update go-ipfs-cmds
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-12-12 16:35:42 -08:00
Steven Allen
9dcec2b3e2 gx: update go-libp2p-peer
Reverts the changes that allowed small keys (ed25519 keys) to be inlined.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-12-07 15:37:23 -08:00
Dr Ian Preston
8694984992 Add another test case for invalid p2p http proxy path
License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>
2018-11-28 23:17:27 -08:00
Dr Ian Preston
9956630e0c add more p2p http proxy tests
License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>
2018-11-28 23:17:27 -08:00
Hector Sanjuan
3b2ce4a85d Apply suggestions from code review
License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>

Co-Authored-By: ianopolous <ianopolous@protonmail.com>
2018-11-28 23:17:27 -08:00
Steven Allen
b720d1f0b5 uses the global PeerHost and don't expose the P2P one
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-11-28 23:17:27 -08:00
Dr Ian Preston
47d45c7af8 fix tests
License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>
2018-11-28 23:17:27 -08:00
Dr Ian Preston
fd43f473b4 switch to new path format in p2p http proxy
License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>
2018-11-28 23:17:27 -08:00
Dr Ian Preston
13b0483df0 Don't url decode protocol name. It won't work.
License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>
2018-11-28 23:17:27 -08:00
Chris Boddy
3f6b866edc [http_proxy_over_p2p] url-decode the proxy name and fix test
License: MIT
Signed-off-by: Chris Boddy <chris@boddy.im>
2018-11-28 23:17:27 -08:00
Dr Ian Preston
654105a210 fix test
License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>
2018-11-28 23:17:27 -08:00
Hector Sanjuan
42a843d66b Fix request path. Wasn't using proxy correctly
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-11-28 23:17:27 -08:00
Hector Sanjuan
91c919a47e Fix test
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-11-28 23:17:27 -08:00
Hector Sanjuan
2cc1a99566 Let URL's host take precedence
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-11-28 23:17:27 -08:00
Hector Sanjuan
f03efbd200 Use go-libp2p-http
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-11-28 23:17:27 -08:00
Dr Ian Preston
d30c41a5e0 Improve p2p stream closing in http proxy
License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>
2018-11-28 23:17:27 -08:00
Dr Ian Preston
6e24fc609a Use request context in p2p stream http proxy
License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>
2018-11-28 23:17:27 -08:00
Dr Ian Preston
c67d2b4186 Remove unnecessary pointer usage.
Make sure the p2p stream is closed eventually

License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>
2018-11-28 23:17:27 -08:00
Dr Ian Preston
f052d18471 fix non empty paths in p2p http proxy
License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>
2018-11-28 23:17:26 -08:00
Chris Boddy
90f5bad718 [http_proxy_over_p2p] proxy async.
Simultaneously send request-body while reading response-body when
proxying requests.

License: MIT
Signed-off-by: Chris Boddy <chris@boddy.im>
2018-11-28 23:17:26 -08:00
Chris Boddy
5f246e3211 [http_proxy_over_p2p] httputil.ReverseProxy
Reimplement http-request proxying ala httputil.ReverseProxy.

NB: this is proxies the request synchronously (sends all request-body
before reading any response).

License: MIT
Signed-off-by: Chris Boddy <chris@boddy.im>
2018-11-28 23:17:26 -08:00
Chris Boddy
335bca2bb7 [http_proxy_over_p2p] remove now superfluous test
License: MIT
Signed-off-by: Chris Boddy <chris@boddy.im>
2018-11-28 23:17:26 -08:00
Dr Ian Preston
22f3b11621 change handler mount point to /proxy/http/
License: MIT
Signed-off-by: Ian Preston <ianopolous@protonmail.com>
2018-11-28 23:17:26 -08:00
Chris Boddy
1945e44f7f [http_proxy_over_p2p] Add sharness tests for http-proxy-over-p2p
License: MIT
Signed-off-by: Chris Boddy <chris@boddy.im>
2018-11-28 23:17:26 -08:00
Chris Boddy
c862ac1fb4 [http_proxy_over_p2p] more tests, fix build
License: MIT
Signed-off-by: Chris Boddy <chris@boddy.im>
2018-11-28 23:17:26 -08:00
Kevin Atkinson
feb4808975 Gx update go-merkledag and related deps.
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
2018-11-28 17:21:36 -05:00
Steven Allen
cef645936d gx: update go-ipfs-config
* AutoRelay options for #5785.
* Badger truncate-by-default option for #5275, #5625.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-11-26 17:42:13 -08:00
Jeromy
da4674f0b9 Switch to using request.Context()
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2018-11-18 16:11:43 -08:00
hannahhoward
0963c9cdcb Update go-ipfs-delay and assoc deps
License: MIT
Signed-off-by: hannahhoward <hannah@hannahhoward.net>
2018-11-15 18:53:45 -08:00
Steven Allen
0d80fc54c3 gx: update go-log and sha256
fixes #5709

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-11-02 21:17:20 -07:00
Steven Allen
ec9fac7379 gx: update go-ipld-cbor
(might as well do this at the same time)

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-11-02 13:17:44 -07:00
hannahhoward
943a5de974 Update go-mfs and go-unixfs
So we can get go-unixfs v1.2.0

License: MIT
Signed-off-by: hannahhoward <hannah@hannahhoward.net>
2018-11-02 13:16:56 -07:00
Steven Allen
bf69017e25 metrics: we're now recording latency seconds, not microseconds
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-31 05:12:35 -07:00
Steven Allen
4674f19913 fix prometheus concurrent map write bug
fixes #4132

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-30 15:38:49 -07:00
Steven Allen
d98351720a fix expected error message in gateway test
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-30 10:36:16 -07:00
Steven Allen
af53380e8c gx: update go-path
fixes the changed path cat error causing the js-ipfs-api tests to fail

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-30 09:27:41 -07:00
Hector Sanjuan
ef7234d269 Bubble deps
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2018-10-29 18:49:37 +01:00
Dominic Della Valle
38cae95f30 gx: update go-ipfs-cmds to 2.0.5
License: MIT
Signed-off-by: Dominic Della Valle <ddvpublic@gmail.com>
2018-10-26 19:50:32 -04:00
Steven Allen
37f0fd92c7 gx: update go-ipfs-cmds
(no code changes)

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-26 09:26:53 -07:00
Steven Allen
2b0bc7e084 configurable pubsub singing
I'd like to sneak this into the release so we can turn on strict verification
ASAP.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-26 04:00:44 -07:00
Steven Allen
e35d4ea58b gx: update yamux
(fixes a panic due to a race)

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-24 15:01:31 -07:00
Steven Allen
636bbc7e2b gx update go-libp2p
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-24 13:39:48 -07:00
Steven Allen
c97c3459be gx update
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-24 09:59:43 -07:00
Steven Allen
caffa59183
Merge pull request #5627 from ipfs/feat/update-webui-2.1.0
update webui to 2.1.0
2018-10-23 00:57:09 +01:00
Łukasz Magiera
519c67a00c coreapi unixfs: gw handler cleanup
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-10-23 01:14:51 +02:00
Łukasz Magiera
faf5230e69 coreapi unixfs: Return seeker from get
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-10-22 23:38:47 +02:00
Łukasz Magiera
7915d26090 coreapi unixfs: fix Get seeking in gateway
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-10-22 23:37:45 +02:00
Łukasz Magiera
34b1313d82 coreapi unixfs: remove Cat, use sessions
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-10-22 23:37:45 +02:00
Steven Allen
c430e53a17 update webui to 2.1.0
This brings us on-par with js-ipfs.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-22 09:22:21 -07:00
Steven Allen
def2147c48 update the webui
Because the current one is *so* broken it's not worth waiting for an actual
release.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-18 19:05:11 +01:00
Łukasz Magiera
16e6343abe Merge remote-tracking branch 'origin/master' into feat/namestream
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-10-18 12:26:20 +02:00
Łukasz Magiera
59e5a9c652 gx: update to use extracted go-ipfs-files
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-10-18 10:16:31 +02:00
Łukasz Magiera
7dbeb27e5b namesys: review fixes
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-10-16 16:09:55 +02:00
Łukasz Magiera
94bbeffaa9 Merge remote-tracking branch 'origin/master' into feat/namestream
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-10-15 12:05:03 +02:00
Steven Allen
4f53736430 gx: update yamux and refmt
* yamux: fix memory leak.
* refmt: obey the "empty" tag.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-12 16:15:40 +01:00
Steven Allen
8117a2bcee gx: update go-buffer-pool
Turns out that `pool.Put(buf)` had to *allocate* because we needed to turn
`[]byte` into `interface{}`. Apparently, we've never done this correctly we just
never noticed because we never really used buffer pools extensively.

However, since migrating yamux to a buffer-pool backed buffer, this started
showing up in allocation profiles.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-10 14:11:31 +01:00
Łukasz Magiera
0bef4603e8 Merge branch 'master' into feat/namestream
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-10-10 12:10:12 +02:00
Steven Allen
098933ade4 gx: update stuff
* go-datastore and friends: GetSize
* badger: new release, fewer allocations
* go-mplex: send fewer packets
* go-bitswap: pack multiple blocks in a single message, fewer allocations
* go-buffer-pool: replace the buffer pool from go-msgio
* yamux: fixed data race and uses go-buffer-pool for stream read-buffers to
  reduce memory and allocations.
* go-libp2p-secio: get rid of a hot-spot allocation
* go-libp2p-peerstore: reduced allocations (at the cost of some memory)

More?

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-05 14:48:44 -07:00
Steven Allen
0fb2020574
Merge pull request #5564 from ipfs/fix/5369
don't use the domain name as a filename in /ipns/a.com
2018-10-05 11:24:51 -07:00
Steven Allen
f498459ad2 gateway_test: comment on platform dependence
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-05 11:24:36 -07:00
Łukasz Magiera
676403be19 Merge remote-tracking branch 'origin/master' into feat/coreapi/unixfs
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2018-10-05 11:45:37 +02:00
Steven Allen
afd81fd5dd gateway test: document why .man
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-04 21:42:07 -07:00
Steven Allen
47e7f693eb don't use the domain name as a filename in /ipns/a.com
fixes #5369

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-04 17:12:08 -07:00
Kevin Atkinson
d127f1be98 gx update libp2p/go-buffer-pool
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
2018-10-04 20:05:26 -04:00
Kevin Atkinson
2e975add22 gx update go-libp2p-peerstore
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
2018-10-04 20:04:22 -04:00