mirror of
https://github.com/osnr/TabFS.git
synced 2024-05-21 15:06:47 +02:00
more improvement to README.md and install.sh.
This commit is contained in:
parent
f378df12ae
commit
52484f6e0a
32
README.md
32
README.md
|
@ -4,7 +4,7 @@ Mount your browser tabs as a filesystem.
|
||||||
|
|
||||||
## Examples of stuff you can do
|
## Examples of stuff you can do
|
||||||
|
|
||||||
(assuming your shell is in the `fs` subdirectory)
|
(assuming your shell is in the `fs` subdirectory of this repo)
|
||||||
|
|
||||||
### List the titles of all the tabs you have open
|
### List the titles of all the tabs you have open
|
||||||
|
|
||||||
|
@ -39,12 +39,12 @@ First, install the browser extension.
|
||||||
|
|
||||||
Then, install the C filesystem.
|
Then, install the C filesystem.
|
||||||
|
|
||||||
### Install the browser extension
|
### 1. Install the browser extension
|
||||||
|
|
||||||
(I think it will work on Edge or Opera or whatever, too. You'll need to
|
(I think it will work on Edge or Opera or whatever, too. You'll need to
|
||||||
change the native messaging path in install.sh in those cases.)
|
change the native messaging path in install.sh in those cases.)
|
||||||
|
|
||||||
#### Chrome
|
#### in Chrome
|
||||||
|
|
||||||
Go to the [Chrome extensions page](chrome://extensions). Enable
|
Go to the [Chrome extensions page](chrome://extensions). Enable
|
||||||
Developer mode (top-right corner).
|
Developer mode (top-right corner).
|
||||||
|
@ -54,10 +54,18 @@ Load-unpacked the `extension/` folder in this repo.
|
||||||
Make a note of the extension ID. Mine is
|
Make a note of the extension ID. Mine is
|
||||||
`jimpolemfaeckpjijgapgkmolankohgj`. We'll use this later.
|
`jimpolemfaeckpjijgapgkmolankohgj`. We'll use this later.
|
||||||
|
|
||||||
#### Firefox
|
#### in Firefox
|
||||||
|
|
||||||
|
You'll need to install as a "temporary extension", so it'll only last
|
||||||
|
in your current FF session.
|
||||||
|
|
||||||
### Install the C filesystem
|
Go to [about:debugging#/runtime/this-firefox](about:debugging#/runtime/this-firefox).
|
||||||
|
|
||||||
|
Load Temporary Add-on...
|
||||||
|
|
||||||
|
Choose manifest.json in the extension subfolder of this repo.
|
||||||
|
|
||||||
|
### 2. Install the C filesystem
|
||||||
|
|
||||||
First, make sure you `git submodule update --init` to get the
|
First, make sure you `git submodule update --init` to get the
|
||||||
`fs/cJSON` and `fs/base64` dependencies.
|
`fs/cJSON` and `fs/base64` dependencies.
|
||||||
|
@ -88,15 +96,17 @@ or
|
||||||
$ ./install.sh chromium jimpolemfaeckpjijgapgkmolankohgj
|
$ ./install.sh chromium jimpolemfaeckpjijgapgkmolankohgj
|
||||||
```
|
```
|
||||||
|
|
||||||
### Ready
|
### 3. Ready!
|
||||||
|
|
||||||
Reload the extension in `chrome://extensions`.
|
Go back to `chrome://extensions` or
|
||||||
|
`about:debugging#/runtime/this-firefox` and reload the extension.
|
||||||
|
|
||||||
Now your browser tabs should be mounted in `fs/mnt`!
|
Now your browser tabs should be mounted in `fs/mnt`!
|
||||||
|
|
||||||
Open the background page inspector (click "background page" next to
|
Open the background page inspector to see the filesystem operations
|
||||||
"Inspect views" in the extension's entry in the Chrome extensions
|
stream in. (in Chrome, click "background page" next to "Inspect views"
|
||||||
page) to see the filesystem operations stream in.
|
in the extension's entry in the Chrome extensions page; in Firefox,
|
||||||
|
click "Inspect")
|
||||||
|
|
||||||
<img src="doc/inspector.png" width="600">
|
<img src="doc/inspector.png" width="600">
|
||||||
|
|
||||||
|
@ -114,6 +124,8 @@ operations, even when I don't feel like I'm actually doing anything.)
|
||||||
- `fs/`: Native FUSE filesystem, written in C
|
- `fs/`: Native FUSE filesystem, written in C
|
||||||
- [`tabfs.c`](fs/tabfs.c): Talks to FUSE, implements fs operations, talks to extension.
|
- [`tabfs.c`](fs/tabfs.c): Talks to FUSE, implements fs operations, talks to extension.
|
||||||
|
|
||||||
|
<!-- TODO: concretize this -->
|
||||||
|
|
||||||
When you, say, `cat` a file in the tab filesystem:
|
When you, say, `cat` a file in the tab filesystem:
|
||||||
|
|
||||||
1. `cat` makes something like a `read` syscall,
|
1. `cat` makes something like a `read` syscall,
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/bash -eux
|
#!/bin/bash -eux
|
||||||
|
|
||||||
if [[ ! ( ( "$1" == "firefox" && "$#" -eq 1 ) ||
|
if [[ ! ( ( "$1" == "firefox" && "$#" -eq 1 ) ||
|
||||||
( "$1" == "chrome" && "$#" -eq 2 && ${#2} -eq 32) ||
|
( "$1" == "chrome" && "$#" -eq 2 && ${#2} -eq 32 ) ||
|
||||||
( "$1" == "chromium" && "$#" -eq 2 && ${#2} -eq 32) ) ]]; then
|
( "$1" == "chromium" && "$#" -eq 2 && ${#2} -eq 32 ) ) ]]; then
|
||||||
echo "Usage: $0 <chrome EXTENSION_ID | chromium EXTENSION_ID | firefox>"
|
echo "Usage: $0 <chrome EXTENSION_ID | chromium EXTENSION_ID | firefox>"
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue