Skip to content

Commit b65fcef

Browse files
Merge pull request #339 from lidel/patch-1
Update wikitemplate-IPFS.md with lots of solid cleanup and additions, from @lidel
2 parents cdf78e1 + 5ada47d commit b65fcef

File tree

1 file changed

+73
-36
lines changed

1 file changed

+73
-36
lines changed

wikitemplate-IPFS.md

+73-36
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
- [ ] Run the `Import and Sharing` (page, image, text, video) section.
1616

1717
### `go-updater node update`
18-
18+
1919
- [ ] Verify, using the above profile, that restarting Brave with `--use-dev-goupdater-url`, and clicking on `Restart` via `brave://ipfs` downloads and installs the latest in-development (release) candidate.
2020
- [ ] Confirm that `Method to resolve IPFS resources` is `Local node` in `brave://settings/ipfs`.
2121
- [ ] Confirm that keys and imports are intact, post-migration.
@@ -86,12 +86,12 @@
8686

8787
Note: For the other types, downloading from the IPFS webui (My Node) and ensuring they still play in a media player, is enough.
8888

89-
### `Sharing a local file using IPFS (without keys)`
89+
### `Sharing a local file using IPFS (without IPNS keys)`
9090

9191
- [ ] Verify the IPFS item is available in the main app menu. Go to `IPFS -> Share Local File Using IPFS` select and import any local file.
9292
- [ ] Verify the file is downloaded and imported successfully,
9393
- [ ] Verify the import folder is opened upon successful completion.
94-
- [ ] Verify the shareable link is copied to the clipboard, and opens when pasting into a new tab.
94+
- [ ] Verify the shareable link starting with `https://dweb.link/ipfs/` is copied to the clipboard, and opens when pasting into a new tab.
9595
- [ ] Share the following filetypes:
9696
- [ ] .avi
9797
- [ ] .txt
@@ -103,67 +103,101 @@
103103
- [ ] .wav
104104
- [ ] .webm
105105

106-
### `Sharing a local folder using IPFS (without keys)`
106+
### `Sharing a local folder using IPFS (without IPNS keys)`
107107

108108
- [ ] Go to `IPFS -> share Local Folder Using IPFS`, and select and import any local folder.
109109
- [ ] Verify the whole folder is downloaded and imported successfully.
110110
- [ ] Verify the import folder opens upon successful import.
111111
- [ ] Verify the shareable link is copied to the clipboard, and opens when pasting into a new tab.
112112

113-
## Automatic redirects to IPFS
113+
## Address bar
114114

115-
### Redirect via configured IPFS gateway
116-
- [ ] Via `brave://settings/ipfs`, set `Redirect IPFS resources to the configured IPFS gateway` to `On`. Load `https://en.wikipedia-on-ipfs.org/` and confirm it redirects to
117-
`http://en.wikipedia-on-ipfs.org.ipns.localhost:48081/wiki/`.
115+
### Badge shown only when IPFS support is enabled
118116

119-
### Redirect via DNSLink
120-
- [ ] Verify with `Automatically redirect to IPFS pages via DNSLink when possible` set to `On`, visiting `https://en.wikipedia-on-ipfs.org/wiki` redirects to `ipns://en.wikipedia-on-ipfs.org/wiki`.
117+
- [ ] Verify, on a new profile, you can load `https://en.wikipedia-on-ipfs.org`, switch `Method to resolve IPFS resources` to either `Gateway` or `Local node` in `brave://settings/ipfs`, and then see an `Open using IPFS` badge/icon in the URL bar.
121118

122-
### Interstitial page (`Ask` mode in `brave://settings/ipfs`)
123-
- [ ] Verify when loading an IPFS/IPNS resource it triggers an interstitial page with the choice to install and use via local node or a public gateway.
124-
- [ ] Load `ipns://brantly.eth` while using `Local node` for the resolver, and confirm there's a clickable info badge to the left of the URL, which says `This content was loaded over the IPFS protocol.`
125119

126-
## DNSLink
120+
### Badge on a public gateway
127121

128122
- [ ] Verify that loading `https://dweb.link/ipfs/QmT5NvUtoM5nWFfrQdVrFtvGfKFmG7AHE8P34isapyhCxX/wiki/Mars.html` redirects you seamlessly to `https://bafybeicgmdpvw4duutrmdxl4a7gc52sxyuk7nz5gby77afwdteh3jc5bqa.ipfs.dweb.link/wiki/Mars.html`, and there's an `Open using IPFS` badge/button in the URL bar. Confirm that clicking `Open using IPFS` goes to `ipfs://bafybeicgmdpvw4duutrmdxl4a7gc52sxyuk7nz5gby77afwdteh3jc5bqa/wiki/Mars.html`.
129123
- [ ] Verify that loading `https://ipfs.io/ipns/libp2p.io/` shows an `Open using IPFS` button in the URL bar, and clicking it redirects to `ipns://libp2p.io/`. Confirm it resolves and loads.
130124

125+
### Badge on DNSlink websites
126+
127+
- [ ] Verify clicking on `Open using IPFS` on `https://en.wikipedia-on-ipfs.org/wiki/Asia/#Economy` loads `ipns://en.wikipedia-on-ipfs.org/wiki/Asia/#Economy` in a new tab.
128+
- [ ] Verify clicking on `Open using IPFS` on `https://blog.ipfs.io/24-uncensorable-wikipedia` loads `ipns://blog.ipfs.io/24-uncensorable-wikipedia/` in a new tab.
129+
130+
### Protocol info popup
131+
132+
- [ ] Load `ipns://brantly.eth` while using `Local node` for the resolver, and confirm there's a clickable info badge "IPFS" to the left of the URL, with on click pop-up that says `This content was loaded over the IPFS protocol.`
133+
134+
## Automatic redirects to IPFS
135+
136+
- [ ] Via `brave://settings/ipfs`, set `Redirect IPFS resources to the configured IPFS gateway` to `On`.
137+
- [ ] Load `https://ipfs.io/ipfs/QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR` and confirm it redirects to `ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi`.
138+
- [ ] Load `https://en.wikipedia-on-ipfs.org/wiki/` and confirm it redirects to `ipns://en.wikipedia-on-ipfs.org/wiki/`.
139+
140+
131141
## IPFS Companion
132142

133143
- [ ] Verify that toggling `IPFS Companion` to `On` via `brave://settings/ipfs` prompts you to install the extension. After clicking `Add extension`, confirm you get a notification that IPFS Companion was added to Brave, and are then taken to the `Set your IPFS preference` interstitial page.
134-
- [ ] Verify that clicking on the puzzle-piece icon on the browser toolbar, then `IPFS Companion`, will load a popup. Click on the gears (settings) icon and confirm it loads the `Companion Preferences` page.
144+
- [ ] Verify that clicking on the puzzle-piece icon on the browser toolbar, then `IPFS Companion`, will load a popup.
145+
- [ ] Click on the gears (settings) icon and confirm it loads the `Companion Preferences` page.
146+
- [ ] Click on `My Node` and confirm it opens the same ipfs-webui interface as `My Node` at `brave://ipfs-internals`
135147

136148
## IPFS URLs
137149

138150
- [ ] Ensure each of the following IPFS URLs load over both `Gateway` and `Local node` modes:
139-
- [ ] `ipfs://bafybeiemxf5abjwjbikoz4mc3a3dla6ual3jsgpdr4cjr3oz3evfyavhwq/wiki/Vincent_van_Gogh.html`
151+
- [ ] `ipfs://bafybeiemxf5abjwjbikoz4mc3a3dla6ual3jsgpdr4cjr3oz3evfyavhwq/wiki/Vincent_van_Gogh.html#Life`
140152
- [ ] `ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi/`
141153
- [ ] `ipfs://QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/Tokyo_National_Museum.html`
142154
- [ ] `ipfs:QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme`
143155

144156
## IPNS URLs
145157

146158
- [ ] Ensure each of the following IPNS URLs load over both `Gateway` and `Local node` modes:
147-
- [ ] `ipns://brantly.eth`
148159
- [ ] `ipns://en.wikipedia-on-ipfs.org`
149-
- [ ] `ipns://libp2p.io/`
150-
- [ ] `ipns://en.wikipedia-on-ipfs.org/wiki/Tokyo`
151-
- [ ] `ipns://ipfs.io`
160+
- [ ] `ipns://en.wikipedia-on-ipfs.org/wiki/Tokyo#Islands`
161+
- [ ] `ipns://docs.ipfs.io`
162+
- [ ] `ipns://brantly.eth` (ENS)
163+
- [ ] `ipns://brave.crypto` (Unstoppable Domains)
152164

153-
## Gateway
165+
## Gateway choice
154166

155-
- [ ] Verify, on a new profile, you can change the IPFS public gateway address to `https://cf-ipfs.com/` via `Settings -> IPFS -> Change`.
156-
- [ ] Verify visiting `ipns://en.wikipedia-on-ipfs.org` loads the interstitial page.
157-
- [ ] Verify selecting `Use a public gateway` with `ipns://en.wikipedia-on-ipfs.org` loaded opens `https://en-wikipedia--on--ipfs-org.ipns.cf-ipfs.com/wiki/`.
158-
- [ ] Verify, on a new profile, you can load `https://en.wikipedia-on-ipfs.org`, switch `Method to resolve IPFS resources` to either `Gateway` or `Local node` in `brave://settings/ipfs`, and then see an `Open using IPFS` badge/icon in the URL bar.
159-
- [ ] Verify clicking on `Open using IPFS` on `https://blog.ipfs.io/24-uncensorable-wikipedia` loads `ipfs://bafybeiaieqdmhtnehaau7kqoj2lmdfqc7juk34cjyb7dxr35vahp22bquu/24-uncensorable-wikipedia/`.
167+
## The interstitial page
168+
169+
- [ ] Confirm a fresh profile has `Method to resolve IPFS resources` set to `Ask` in `brave://settings/ipfs`.
170+
- [ ] Verify visiting `ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi` loads the interstitial page.
171+
- [ ] Verify visiting `ipns://en.wikipedia-on-ipfs.org` in a new tab loads the same interstitial page.
172+
- [ ] Verify selecting `Use a public gateway` loads `https://cf-ipfs.com/ipns/en.wikipedia-on-ipfs.org/wiki/` which then redirect to unique Origin at `https://en-wikipedia--on--ipfs-org.ipns.cf-ipfs.com/wiki/`.
173+
- [ ] Verify selecting `Use local node` loads `ipns://en.wikipedia-on-ipfs.org/wiki/`.
174+
175+
### Public Path gateway
176+
177+
- [ ] Verify, on a new profile, you can't change the IPFS public gateway address to `https://cloudflare-ipfs.com/` via `Settings -> IPFS -> IPFS public gateway address -> Change`.
178+
- [ ] An error stating `Only a valid IPFS gateway with Origin isolation enabled can be used in Brave` is displayed ([example](https://github.com/brave/brave-browser/issues/18212#issuecomment-923632150)).
179+
180+
### Public Subdomain Gateway
181+
182+
- [ ] Verify, on a new profile, you can change the IPFS public gateway address to `https://cf-ipfs.com/` via `Settings -> IPFS -> IPFS public gateway address
183+
-> Change`.
184+
- [ ] Verify opening `ipns://en.wikipedia-on-ipfs.org/wiki/` and selecting `Use a public gateway` loads `https://cf-ipfs.com/ipns/en.wikipedia-on-ipfs.org/wiki/` which then redirect to unique Origin at `https://en-wikipedia--on--ipfs-org.ipns.cf-ipfs.com/wiki/` Verify loads `https://cf-ipfs.com/ipns/en.wikipedia-on-ipfs.org/wiki/` which then redirect to unique Origin at `https://en-wikipedia--on--ipfs-org.ipns.cf-ipfs.com/wiki/`.
160185

161186
### Protocol system handler/OS integration
162187

188+
#### ipfs://
189+
163190
- [ ] Verify (`Windows`) that pressing `Win+R`, typing `open ipfs://bafkreigcnxudvpojjfwncmauociy5q46zsq46oe66cxbyzie3imabuoege`, and pressing `Enter` opens Brave and loads an HTML page with the word `PASS`.
164191
- [ ] Verify (`macOS`): opening Terminal, and typing `open ipfs://bafkreigcnxudvpojjfwncmauociy5q46zsq46oe66cxbyzie3imabuoege`, and pressing `Enter` opens Brave and loads an HTML page with the word `PASS`.
165192
- [ ] Verify (`Linux`) that opening a shell and typing `xdg-open ipfs://bafkreigcnxudvpojjfwncmauociy5q46zsq46oe66cxbyzie3imabuoege` and pressing `Enter` opens Brave and loads an HTML page with the word `PASS`.
166193

194+
#### ipns://
195+
196+
- [ ] Verify (`Windows`) that pressing `Win+R`, typing `open ipns://en.wikipedia-on-ipfs.org/wiki/Tokyo#Islands`, and pressing `Enter` opens Brave and loads an HTML page scrolled to the header `Islands`.
197+
- [ ] Verify (`macOS`): opening Terminal, and typing `open ipns://en.wikipedia-on-ipfs.org/wiki/Tokyo#Islands`, and pressing `Enter` opens Brave and loads an HTML page scrolled to the header `Islands`.
198+
- [ ] Verify (`Linux`) that opening a shell and typing `xdg-open ipns://en.wikipedia-on-ipfs.org/wiki/Tokyo#Islands`, and pressing `Enter` opens Brave and loads an HTML page scrolled to the header `Islands`.
199+
200+
167201
## Peers
168202

169203
- [ ] Prerequisites: local node launched and local gateway configured on two machines, locally networked (LAN, can be over Wi-Fi).
@@ -173,6 +207,7 @@
173207
- [ ] Verify when you go to `brave://settings/ipfs/peers` and click on the `Add` button, it prompts you to enter a new peer-connection string. Confirm that entering an incorrect string yields `This name is not valid` upon clicking `Submit`. (Acceptable ones are only CIDs or something like `**/p2p/**` format.)
174208
- [ ] Verify if a peer is added and node is started, it proposes to restart node to apply changes.
175209
- [ ] Verify the local node is restarted by clicking `Restart` button; happen it shows error message and suggests to see more on diagnostic page.
210+
- [ ] Verify that `Peering.Peers` section of IPFS node config file got updated (either via `My Node → Settings → IPFS Config` or by manually inspecting `brave_ipfs/config` file).
176211

177212
### `Removing`
178213

@@ -182,34 +217,34 @@
182217

183218
- [ ] Prerequisites: local node launched and local gateway configured. Go to `Settings -> IPFS`, there should be an available `Set up your IPNS keys` option, which opens `brave://settings/ipfs/keys`
184219

185-
### `Sharing a local file using an IPFS key`
220+
### `Publishing a local file using an IPNS key`
186221

187-
- [ ] Verify you're able to share a local file via `IPFS > Share local file using IPFS`.
222+
- [ ] (after [brave/brave-browser#16998](https://github.com/brave/brave-browser/issues/16998) lands) Verify you're able to share a local file via `IPFS -> Share local file using IPNS -> self`.
188223
- [ ] Verify once the file is imported, the import folder is opened and the file can be downloaded.
189-
- [ ] Once the import is successful, verify a shareable link is copied to the clipboard by opening a new tab and pasting from the context menu or `CTRL+V`.
190-
- [ ] Verify you see the IPFS key (e.g. `k51qzi5uqu5dgxhiv8w8cdvmgdhbvy3t9gn4jwpwwro18fots0xtdabpcxxzwc`) before the `?filename=filename.ext` from the copied text.
224+
- [ ] Once the import is successful, verify a shareable link starting with `https://dweb.link/ipns/` is copied to the clipboard by opening a new tab and pasting from the context menu or `CTRL+V`.
225+
- [ ] Verify you see the IPNS key (e.g. `k51q...`) before the `?filename=filename.ext` from the copied text.
191226

192-
### `Sharing a local folder using an IPFS key`
227+
### `Publishing a local folder using an IPNS key`
193228

194-
- [ ] Verify you're able to share a local file via `IPFS > Share local folder using IPFS`.
229+
- [ ] (after [brave/brave-browser#16998](https://github.com/brave/brave-browser/issues/16998) lands) Verify you're able to share a local file via `IPFS > Share local folder using IPNS -> self`.
195230
- [ ] Verify once the file is imported, the import folder is opened and the file can be downloaded.
196-
- [ ] Once the import is successful, verify a shareable link is copied to clipboard by opening a new tab and pasting from context menu or `CTRL+V`.
197-
- [ ] Verify you see the IPFS key (e.g. `k51qzi5uqu5dgxhiv8w8cdvmgdhbvy3t9gn4jwpwwro18fots0xtdabpcxxzwc`) before the `?filename=filename.ext` from the copied text.
231+
- [ ] Once the import is successful, verify a shareable link starting with `https://dweb.link/ipns/` is copied to clipboard by opening a new tab and pasting from context menu or `CTRL+V`.
232+
- [ ] Verify you see the IPNS key (e.g. `k51q...`) before the `?filename=filename.ext` from the copied text.
198233

199234
### `Importing keys`
200235

201236
- [ ] Verify adding a new key by clicking on the `Import` button and choosing an existing key file to import.
202237
- [ ] Verify imported key is available with entered name; verify entering `self` will yield `This name cannot be used`.
203238
- [ ] Verify you cannot import keys with the same name; each key name must be unique.
204239

205-
### `Pinning content with IPNS key`
240+
### `Publishing content with IPNS key`
206241

207242
- [ ] Verify keys are available in all import menus in order to pin content by selected key; the import link should contain the selected key.
208243

209244
### `Add/Remove/Rotate keys`
210245

211246
- [ ] Verify when you click `Add`, it prompts for a key name and generates a new key.
212-
- [ ] Verify clicking on `Add` and entering an existing key name shows a `This name cannot be used` error message.
247+
- [ ] Verify clicking on `Add` and entering an existing key name shows a `This name cannot be used` error message.
213248
- [ ] Verify clicking on the Rotate key icon for the `self` key prompts for a key name. Enter a valid, unique name and click `Rotate`. Confirm the key is created with your entered name, original hash, and a new `self` key (with a new hash value) is generated.
214249
- [ ] Verify clicking on the 3-dots menu to the right of a key gives you two options: `Export key` and `Remove key`. Choose `Export key` and confirm you get prompted to save the key. Click `Save` and ensure the key is saved to disk. Delete the key from `brave://settings/ipfs/keys` and now click `Add` to confirm the same key as the original is added from disk.
215250
- [ ] Verify clicking on the 3-dots menu and choosing `Remove key` removes the key from the UI.
@@ -224,6 +259,8 @@
224259
- [ ] Verify the setting is enabled by default.
225260
- [ ] Verify disable/enable setting is retained between browser launch/restarts.
226261
- [ ] Verify setting state is retained during upgrade.
262+
- [ ] Verify you can't change the IPFS public gateway address to `https://cloudflare-ipfs.com/` (An error `Only a valid IPFS gateway with Origin isolation enabled can be used in Brave` is displayed – [example](https://github.com/brave/brave-browser/issues/18212#issuecomment-923632150)).
263+
- [ ] Verify you can change the IPFS public gateway address to `https://cf-ipfs.com/` (passes the Origin isolation test).
227264

228265
### `IPFS/IPNS URI`
229266

0 commit comments

Comments
 (0)