TamperDAV
A WebDAV-like server to sync Tampermonkey scripts and edit them with an external editor.
WARNING: this is not a 100% WebDAV-compliant server. Many clients should, but don't necessarily have to work!
Usage
Make sure Node.js greater than v4.9 is installed.
Windows
execute TamperDAV.bat
Linux
$ ./tamperdav.sh
Clients
Tampermonkey (4.7.5823+)
Notes:
- in order to allow Tampermonkey to use the full TamperDAV feature set, please make sure TamperDAV is running when Tampermonkey is started.
- Tampermonkey will sync all scripts into a subfolder of the configured dav-directory i.e.
Tampermonkey/sync
using it's internally generated UUID for the filename. The actual file to edit can easily be found by runningnode find_script_in_meta.js --name="My Script Name"
. Alternatively you can find the the UUID via Tampermonkey's UI by navigating to the script and retrieving it from the address bar.
mount
sudo mount -t davfs http://localhost:7000 /mnt
nautilus
dav://localhost:7000/
Development
# Install dependencies
$ npm install
# run
$ mkdir dav
$ node server.js --path=dav/
Config
All options can be set via config.json and/or command line. username
and password
can be set via environment as well.
Command Line Example
$ TD_USERNAME=derjanb TD_PASSWORD=secret node server.js --path=dav/ --port=6000
Config File Example
config.json
:
{
"path": "dav",
"no-auth-warning": false,
"username": "derjanb",
"password": "secret",
"port": "7000",
"host": "localhost",
"max-cursors": 512,
"open-in-editor": "sublime_text",
"meta-touch": true,
"debug": true
}
All Options
path
a relative path from where the files should be servedno-auth-warning
don't show a warning if no username and password is setusername
username for authentication (basic auth)password
passwordport
TCP port to listen athost
network address to bind onmax-cursors
number of cached changesopen-in-editor
if "true" then if Windows "notepad" editor is used, elsexgd-open
; or the executable as string i.e. "gedit", "notepad", ...meta-touch
touch a sync entries's meta file automatically to make Tampermonkey start a sync on script changesno-dialog
Disables the use of a dialog to show messages to the userheadless
Implies --no-dialog and disables editor openingdebug
print debug information