2012-05-27 01:11:19 +00:00
|
|
|
The webapp is a web server that displays a shiny interface.
|
|
|
|
|
|
|
|
## security
|
|
|
|
|
2012-07-26 09:21:05 +00:00
|
|
|
* Listen only to localhost. **done**
|
2012-05-27 01:11:19 +00:00
|
|
|
* Instruct the user's web browser to open an url that contains a secret
|
2012-07-26 09:21:05 +00:00
|
|
|
token. This guards against other users on the same system. **done**
|
2012-07-26 09:22:17 +00:00
|
|
|
(I would like to avoid passwords or other authentication methods,
|
|
|
|
it's your local system.)
|
2012-07-26 17:47:41 +00:00
|
|
|
* Don't pass the url with secret token directly to the web browser,
|
|
|
|
as that exposes it to `ps`. Instead, write a html file only the user can read,
|
|
|
|
that redirects to the webapp. **done**
|
2012-05-31 19:48:26 +00:00
|
|
|
* Alternative for Linux at least would be to write a small program using
|
|
|
|
GTK+ Webkit, that runs the webapp, and can know what user ran it, avoiding
|
|
|
|
needing authentication.
|
2012-05-27 01:11:19 +00:00
|
|
|
|
|
|
|
## interface
|
|
|
|
|
2012-07-29 01:53:04 +00:00
|
|
|
* list of files uploading and downloading **done**
|
2012-05-27 01:11:19 +00:00
|
|
|
* progress bars for each file
|
|
|
|
* drag and drop to reorder
|
|
|
|
* cancel and pause
|
2012-07-31 20:13:19 +00:00
|
|
|
* button to open file browser on repo (`xdg-open $DIR`)
|
2012-05-29 23:17:38 +00:00
|
|
|
* keep it usable w/o javascript, and accessible to blind, etc
|
2012-05-27 01:11:19 +00:00
|
|
|
|
2012-05-31 19:28:04 +00:00
|
|
|
## other features
|
|
|
|
|
|
|
|
* there could be a UI to export a file, which would make it be served up
|
|
|
|
over http by the web app
|
2012-06-06 20:54:39 +00:00
|
|
|
* Display any relevant warning messages. One is the `inotify max_user_watches`
|
2012-07-29 17:45:56 +00:00
|
|
|
exceeded message.
|
2012-08-03 13:00:03 +00:00
|
|
|
* possibly add a desktop file to the top of the repository that can be used
|
|
|
|
to open the webapp (rather than using the menus). Would be complicated
|
|
|
|
some by the path to git-annex sometimes needing to be hardcoded and varying
|
|
|
|
across systems, so it would need to be a symlink to `.git/annex/desktop`
|
|
|
|
which would be per-system.
|
2012-05-31 19:28:04 +00:00
|
|
|
|
2012-07-31 20:13:19 +00:00
|
|
|
## first start
|
|
|
|
|
2012-08-02 01:38:12 +00:00
|
|
|
* make git repo **done**
|
|
|
|
* generate a nice description like "joey@hostname Desktop/annex"
|
|
|
|
* record repository that was made, and use it next time run
|
|
|
|
* write a pid file, to prevent more than one first-start process running
|
|
|
|
at once
|
2012-07-31 20:13:19 +00:00
|
|
|
|
2012-05-27 01:11:19 +00:00
|
|
|
## implementation
|
|
|
|
|
2012-07-26 15:53:18 +00:00
|
|
|
* possibly lose the ugly auth= token past the first page,
|
|
|
|
and use a client-side session. It could be encrypted using the token
|
|
|
|
as the `encryptKey`. Note: Would need to set the session duration
|
|
|
|
to infinite (how?)
|