Brian Warner
5c3e153d0e
cli: tahoe stats/manifest: change --verbose to --raw, since I want -v for --verify for check/deep-check/repair
2008-11-18 18:36:08 -07:00
Brian Warner
918970b63a
'tahoe create-key-generator': fix help text
2008-11-18 01:47:58 -07:00
Brian Warner
8473a96ada
#330 : convert stats-gatherer into a .tac file service, add 'tahoe create-stats-gatherer'
2008-11-18 01:46:20 -07:00
Brian Warner
cae54ab118
tahoe.cfg: add controls for k and N (and shares-of-happiness)
2008-11-18 00:29:44 -07:00
Brian Warner
ead0e4d6ca
cli: add tests for 'tahoe stats --verbose'
2008-11-17 22:11:14 -07:00
Brian Warner
94de73ddc0
cli: add --verbose to 'tahoe manifest', to show the raw JSON data
2008-11-17 22:02:19 -07:00
Brian Warner
5a60086dbc
CLI: add 'tahoe stats', to run start-deep-stats and print the results
2008-11-13 19:43:50 -07:00
francois
c1f639d230
Fix an filename encoding issue with "tahoe cp"
2008-11-11 14:08:03 -07:00
Brian Warner
0d93d6244e
CLI: add 'tahoe manifest', which takes a directory and returns a list of things you can reach from it
2008-11-12 20:17:25 -07:00
Brian Warner
c9175de0f2
create_node.py: also remove now-unused import of pkg_resources
2008-11-12 18:47:16 -07:00
Brian Warner
9976bd439a
tahoe.cfg: add tub.location, to override the location hints we include in our FURL. This replaces advertised_ip_addresses, which doesn't remain useful enough to retain it. Helps with #517 (Tor).
2008-11-12 18:44:58 -07:00
Zooko O'Whielacronx
74ce1cdc00
setup: remove pkg_resources.require() from create_node.py and add it to runner.py
...
Brian correctly points out that the latter is an entry point.
2008-11-12 15:25:03 -07:00
Zooko O'Whielacronx
1aed9fcfa1
setup: the .tac files created by create_node.py call pkg_resources.require() so that they can load tahoe and twisted packages which were installed with setuptools multi-version mode
...
Also the create_node.py script itself uses pkg_resources.require() for the same reason.
1970-01-01 17:50:05 -07:00
Brian Warner
a2e195df3e
debug catalog-shares: tolerate even more errors on bad files/directories
2008-10-30 14:54:47 -07:00
Brian Warner
d97c34d622
debug/test_cli: fix error handling for catalog-shares, to make the test stop failing on windows
2008-10-30 12:06:51 -07:00
Brian Warner
6a7d5b893b
create_node.py: add 'web.static = public_html' to the initial tahoe.cfg
2008-10-29 17:13:36 -07:00
Brian Warner
a9101112a4
catalog-shares command: tolerate errors, log them to stderr, handle v2-immutable shares
2008-10-29 15:10:10 -07:00
Brian Warner
7338440d86
scripts/create_node.py: remove empty-string defaults for --introducer= and --nickname=
2008-10-23 16:02:35 -07:00
Brian Warner
fd32d72b20
scripts/debug.py: emit the immutable-share version number, tolerate v2
2008-10-09 18:34:22 -07:00
Brian Warner
a0250e320b
debug.py: oops, add missing import for ReadBucketProxy
2008-10-09 17:29:22 -07:00
Brian Warner
288d55825c
storage: split WriteBucketProxy and ReadBucketProxy out into immutable/layout.py . No behavioral changes.
2008-10-09 17:08:00 -07:00
Brian Warner
dbc2337639
CLI: remove 'tahoe admin generate-keypair', since the pycryptopp ecdsa API is about to change incompatibly. We'll undo this once pycryptopp is updated
2008-10-06 17:23:20 -07:00
Brian Warner
034364c80b
scripts/admin: split up generate_keypair code so that unit tests can use it more easily
2008-10-01 16:52:38 -07:00
Brian Warner
cd26f58305
#518 : replace various BASEDIR/* config files with a single BASEDIR/tahoe.cfg, with backwards-compatibility of course
2008-09-30 16:21:49 -07:00
Brian Warner
935d185696
tolerate simplejson-2.0.0 and newer, which frequently return bytestrings instead of unicode objects. Closes #523
2008-09-30 15:21:06 -07:00
robk-tahoe
ed9873c2a9
CLI: rework webopen, and moreover its tests w.r.t. path handling
...
in the recent reconciliation of webopen patches, I wound up adjusting
webopen to 'pass through' the state of the trailing slash on the given
argument to the resultant url passed to the browser. this change
removes the requirement that arguments must be directories, and allows
webopen to be used with files. it also broke the tests that assumed
that webopen would always normalise the url to have a trailing slash.
in fixing the tests, I realised that, IMHO, there's something deeply
awry with the way tahoe handles paths; specifically in the combination
of '/' being the name of the root path within an alias, but a leading
slash on paths, e.g. 'alias:/path', is catagorically incorrect. i.e.
'tahoe:' == 'tahoe:/' == '/'
but 'tahoe:/foo' is an invalid path, and must be 'tahoe:foo'
I wound up making the internals of webopen simply spot a 'path' of
'/' and smash it to '', which 'fixes' webopen to match the behaviour
of tahoe's path handling elsewhere, but that special case sort of
points to the weirdness.
(fwiw, I personally found the fact that the leading / in a path was
disallowed to be weird - I'm just used to seeing paths qualified by
the leading / I guess - so in a debate about normalising path handling
I'd vote to include the /)
2008-09-24 09:45:23 -07:00
robk-tahoe
2c9a854f10
CLI: reconcile webopen changes
...
I think this is largely attributable to a cleanup patch I'd made
which never got committed upstream somehow, but at any rate various
conflicting changes to webopen had been made. This cleans up the
conflicts therein, and hopefully brings 'tahoe webopen' in line with
other cli commands.
2008-09-24 08:20:02 -07:00
robk-tahoe
8f28d64d77
cli: cleanup webopen command
...
moved the body of webopen out of cli.py into tahoe_webopen.py
made its invocation consistent with the other cli commands, most
notably replacing its 'vdrive path' with the same alias parsing,
allowing usage such as 'tahoe webopen private:Pictures/xti'
2008-06-18 13:19:40 -07:00
Brian Warner
53f53b7c82
add --syslog argument to 'tahoe start' and 'tahoe restart', used to pass --syslog to twistd for non-Tahoe nodes (like cpu-watcher)
2008-09-24 18:03:02 -07:00
Brian Warner
6607fdc586
CLI: add 'tahoe admin generate-keypair' command
2008-09-18 17:11:33 -07:00
Brian Warner
f00d1961d2
startstop_node.py: find twistd in our supportlib if we had to build Twisted as a setuptools dependency. This is a form of cgalvan's #505 patch, simplified because now 'setup.py trial' takes care of sys.path and PYTHONPATH
2008-09-11 19:51:38 -07:00
Brian Warner
7a206421b4
CLI: tolerate blank lines in the aliases file
2008-08-12 19:50:50 -07:00
Brian Warner
014c9b5969
CLI: add 'tahoe debug corrupt-share', and use it for deep-verify tests, and fix non-deep web checker API to pass verify=true into node
2008-08-12 17:05:01 -07:00
Brian Warner
67e7333955
'tahoe debug dump-share': add --offsets, to show section offsets
2008-08-12 14:46:56 -07:00
Brian Warner
acb0297806
scripts/debug: split out dump_immutable_share
2008-08-12 13:55:17 -07:00
Brian Warner
533afd039f
scripts/debug: clean up use of stdout/stderr
2008-08-12 13:52:42 -07:00
Brian Warner
1711b5591f
CLI: move the 'repl' command to 'tahoe debug repl'
2008-08-12 13:40:17 -07:00
Brian Warner
bb33e3e4c2
CLI: move all debug commands (dump-share, dump-cap, find-shares, catalog-shares) into a 'debug' subcommand, and improve --help output
2008-08-12 13:37:32 -07:00
Brian Warner
376df2eb5a
CLI: make 'tahoe webopen' command accept aliases like 'tahoe ls'
2008-08-11 18:20:23 -07:00
Brian Warner
f7d2fcc233
CLI: change one-arg forms of 'tahoe put' to make an unlinked file, fix replace-mutable #441
2008-08-01 19:27:29 -07:00
Brian Warner
2eec38279d
CLI: add create-alias command, to merge mkdir and add-alias into a single (secure-from-argv-snooping) step
2008-08-01 19:10:41 -07:00
Brian Warner
f181a0458a
CLI: simplify argument-passing, use options= for everthing, including stdout
2008-08-01 11:46:24 -07:00
Brian Warner
60725ed065
storage: add add_lease/update_write_enabler to remote API, revamp lease handling
2008-07-09 18:06:55 -07:00
Brian Warner
9b6f23ac05
'tahoe dump-share': show verify-cap too
2008-07-07 14:11:02 -07:00
Brian Warner
02ce46cfb4
catalog-shares: ignore incoming/
2008-06-26 11:23:44 -07:00
Brian Warner
beb502ac18
CLI: make 'tahoe webopen' use the 'tahoe:' alias properly, instead of the old --dir-cap option
2008-06-02 17:55:54 -07:00
Brian Warner
3e8d58767f
CLI: improve docs w.r.t. aliases, add examples to 'tahoe put' and 'tahoe get' help output. Addresses part of #431
2008-06-02 17:54:56 -07:00
Brian Warner
0f8f213baf
CLI: remove the '-r' shortcut for --dir-cap, to make it available for cp -r
2008-05-21 17:55:32 -07:00
Brian Warner
457248f023
tahoe_cp: rewrite, make --recursive work
2008-05-21 17:35:21 -07:00
Brian Warner
15fbe05092
tahoe_ls: improve error message when the target is missing
2008-05-21 17:34:52 -07:00
Brian Warner
282e22abcf
scripts/common_http.py: add comment about why we need .seek
2008-05-21 17:31:19 -07:00
Brian Warner
7ae432abf8
tahoe_cp.py: fix pyflakes complaint
2008-05-21 12:09:13 -07:00
Brian Warner
7afd869854
cli: initial implementation of 'cp -r', probably doesn't work yet
2008-05-21 11:49:22 -07:00
Brian Warner
0df663b7ae
CLI: implement the easy part of cp (no -r, only two arguments)
2008-05-20 16:56:03 -07:00
Brian Warner
1d8e452184
CLI: add 'list-aliases', factor out get_aliases
2008-05-20 14:36:04 -07:00
Brian Warner
1236bc3408
CLI: add 'ln', just like move but without the delete
2008-05-20 13:30:31 -07:00
Brian Warner
3803d591cf
tahoe_ls: improve output formatting
2008-05-20 13:07:50 -07:00
Brian Warner
abe4addbdb
CLI mv: if we can't created the new child, don't delete the old one
2008-05-20 12:49:47 -07:00
Brian Warner
a8ed3208ba
CLI ls: add --readonly-uri to display readonly URIs for all children
2008-05-20 12:49:11 -07:00
Brian Warner
e889463f0c
CLI: add put --mutable, enhance ls to show mutable vs immutable as rw/r-
2008-05-20 12:36:55 -07:00
Brian Warner
8e92dfcb50
overhaul CLI: not quite complete but it works a lot better than it used to. The new scheme uses 'tahoe add-alias' and rsync/scp-style 'alias:foo/bar.txt' arguments
2008-05-19 19:28:50 -07:00
Brian Warner
b2f8c22fb8
debug dump-share: print size of encprivkey and signature too
2008-05-19 14:24:41 -07:00
Zooko O'Whielacronx
78829dcf08
key_generator: make default key size be a constructor argument instead of a class variable, pass default key size of 522 (the smallest that we can do) in unit tests to make them faster
2008-04-22 12:28:18 -07:00
Brian Warner
d4230d1781
mutable WIP: split mutable.py into separate files. All tests pass.
2008-04-11 14:31:16 -07:00
Zooko O'Whielacronx
0a6b2b5ff2
doc: slightly clarify an error message
2008-04-14 11:43:05 -07:00
robk-tahoe
8e9e56fdd0
key_generator: fix a typo in the .tac generating create-key-generator
...
verbose is an object attribute, no longer settable via init args
2008-04-08 11:06:06 -07:00
robk-tahoe
5578559b85
added offloaded key generation
...
this adds a new service to pre-generate RSA key pairs. This allows
the expensive (i.e. slow) key generation to be placed into a process
outside the node, so that the node's reactor will not block when it
needs a key pair, but instead can retrieve them from a pool of already
generated key pairs in the key-generator service.
it adds a tahoe create-key-generator command which initialises an
empty dir with a tahoe-key-generator.tac file which can then be run
via twistd. it stashes its .pem and portnum for furl stability and
writes the furl of the key gen service to key_generator.furl, also
printing it to stdout.
by placing a key_generator.furl file into the nodes config directory
(e.g. ~/.tahoe) a node will attempt to connect to such a service, and
will use that when creating mutable files (i.e. directories) whenever
possible. if the keygen service is unavailable, it will perform the
key generation locally instead, as before.
2008-04-01 18:45:13 -07:00
robk-tahoe
21f2d03203
runner: tweaked runner to make it easier to extend with additional subcommands
...
runner provides the main point of entry for the 'tahoe' command, and
provides various subcommands by default. this provides a hook whereby
additional subcommands can be added in in other contexts, providing a
simple way to extend the (sub)commands space available through 'tahoe'
2008-02-19 17:05:14 -07:00
Brian Warner
92a6ab6e86
'tahoe start': only create logs/ if we're starting a tahoe node
2008-02-18 00:31:28 -07:00
Brian Warner
6ff98a3c0b
'tahoe start': allow this to start arbitrary .tac file -bearing directories (like the log gatherer)
2008-02-18 00:28:17 -07:00
Zooko O'Whielacronx
fc0d637523
docs: update install and usage docs, improve cli "usage" output, make new example directories, add unit test that fails code which prints out sentences that don't end with punctuation marks
2008-02-15 13:11:02 -07:00
Zooko O'Whielacronx
7c6de95bc6
switch from base62 to base32 for storage indices, switch from z-base-32 to rfc 3548 base-32 for everything, separate out base32 encoding from idlib
2008-02-14 19:27:47 -07:00
Brian Warner
41045fba0f
'tahoe catalog-shares': add SDMF filesize to the output, update misc/find-share-anomalies.py to match
2008-02-13 15:12:06 -07:00
Zooko O'Whielacronx
e89edf8803
fix a few unused imports and suchlike, discovered by pyflakes
2008-02-13 07:38:08 -07:00
Zooko O'Whielacronx
3f8df27063
use base62 encoding for storage indexes, on disk and in verifier caps, and in logging and diagnostic tools
...
base62 encoding fits more information into alphanumeric chars while avoiding the troublesome non-alphanumeric chars of base64 encoding. In particular, this allows us to work around the ext3 "32,000 entries in a directory" limit while retaining the convenient property that the intermediate directory names are leading prefixes of the storage index file names.
2008-02-12 20:48:37 -07:00
Brian Warner
1f7b980a51
catalog-shares: add expiration time to output
2008-02-11 18:44:54 -07:00
Brian Warner
ca27b8e5ad
add 'tahoe catalog-shares' tool, to make a one-line summary of each share file. This can help do cross-server correlation of sharefiles, looking for anomalies
2008-02-11 18:17:01 -07:00
Brian Warner
d6fb0bf039
tahoe dump-share: remove --filename option, just take it from argv
2008-02-06 14:15:33 -07:00
Brian Warner
b4c9409138
dump-share: tweak formatting a little bit, to make dumping multiple shares in a row easier to read
2008-02-06 13:37:43 -07:00
Brian Warner
2dcac796e9
add 'tahoe find-shares' command, to locate share files on a local node's disk
2008-02-06 13:19:51 -07:00
Brian Warner
e92a2b5ab2
dump-cap: include UEB_hash in output
2008-02-06 12:48:19 -07:00
Brian Warner
4cdb252d5a
cli scripts: remove the for-educational-purposes standalone clauses. Closes #261 .
2008-01-16 00:08:51 -07:00
Brian Warner
37b7f136ce
'tahoe dump-cap': accept http:// -prefixed URLs too
2008-01-14 14:12:27 -07:00
Brian Warner
6ca0efeef6
add 'tahoe dump-cap' command, to show storage index, lease secrets, etc
2008-01-14 13:43:25 -07:00
robk-tahoe
198f593cad
fix dumb typo in tahoe run
2008-01-10 20:14:00 -07:00
robk-tahoe
0b097ac485
change default node-directory on windows to do registry lookup, not ~/.tahoe
2008-01-10 19:32:18 -07:00
robk-tahoe
8f4f3bf6cc
add 'run' command to tahoe
...
adds a 'run' commands to bin/tahoe / tahoe.exe
it loads a client node into the tahoe process itself,
running in the base dir specified by --basedir/-C and
defaulting to the current working dir.
it runs synchronously, and the tahoe process blocks until
the reactor is stopped.
2008-01-09 19:54:12 -07:00
robk-tahoe
08f445a562
added a 'repl' command to tahoe.exe
...
this is probably not of very high utility in the unix case of bin/tahoe
but is useful when working with native builds, e.g. py2exe's tahoe.exe,
to examine and debug the runtime environment, linking problems etc.
2008-01-09 19:19:52 -07:00
robk-tahoe
4e3f089257
tweak running to make node start/stop code optional
...
add a 'install_node_control' flag to runner.run(), default True
this enables the start/stop node commands
which are not too useful on windows
2008-01-08 19:51:18 -07:00
Zooko O'Whielacronx
4223f7216d
rename "dir-uri" to "dir-cap"
2008-01-08 10:41:27 -07:00
robk-tahoe
6fa70befd5
added "tahoe webopen" command
...
taking the same arguments as tahoe ls, it does a webbrowser.open to the page
specified by those args. hence "tahoe webopen" will open a browser to the
root dir specified in private/root_dir.cap by default.
this might be a good alternative to the start.html page.
2008-01-04 18:34:10 -07:00
Zooko O'Whielacronx
ab4303609d
cmdline: give useful error messages about the --dir-uri and ~/.tahoe/private/root_dir.cap
2008-01-03 17:35:35 -07:00
Zooko O'Whielacronx
23961448da
a few formatting tidy-ups
2008-01-03 17:14:19 -07:00
Zooko O'Whielacronx
5995d11a3c
remove automatic private dir
...
* rename my_private_dir.cap to root_dir.cap
* move it into the private subdir
* change the cmdline argument "--root-uri=[private]" to "--dir-uri=[root]"
2008-01-03 17:02:05 -07:00
Brian Warner
7fb37209ee
create_node.py: need to create private/ dir in create-client so we can touch the my_private_dir.cap file
2007-12-18 15:42:18 -07:00
Brian Warner
60d6728ab3
oops, touch private/my_private_dir.cap when creating the client
2007-12-18 15:36:59 -07:00
Brian Warner
8b9f86fb17
remove the slash-to-bang conversion from CLI tools and webapi.txt
2007-12-17 20:22:26 -07:00
Zooko O'Whielacronx
a983f6d60c
rename "my_private_dir.uri" to "my_private_dir.cap"
2007-12-17 18:35:25 -07:00
Zooko O'Whielacronx
caa69b007e
refactor the feature of getting versions of packages, include the version numbers of more of the packages that we use
2007-12-12 19:37:37 -07:00
Brian Warner
d6f2dbbac7
mutable: handle bad hashes, improve test coverage, rearrange slightly to facilitate these
2007-11-13 23:08:15 -07:00