FreenetWiki : FCP2p0ClientPut

HomePage :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register

ClientPut


This is a message of the Freenet Client Protocol 2.0 (FCP 2.0).
It is sent from a client program to the Freenet node.

It is used to specify an insert into Freenet of a single file. This may be provided by referring to a file on disk, including the data directly, or redirecting to another key.

A filename may be specified using the TargetFilename option. This is mostly useful with CHKs. The effect is to create a single file manifest which contains only the filename given, and points to the data just inserted. Thus the provided filename becomes the last part of the URI, and must be provided when fetching the data. See here for details.

Example

ClientPut
URI=CHK@
Metadata.ContentType=text/html
Identifier=My Test Insert
Verbosity=0
MaxRetries=10
PriorityClass=1
GetCHKOnly=false
Global=true
DontCompress=true
ClientToken=Hello!!!
UploadFrom=disk
Filename=/home/toad/something.html
TargetFilename=me.html
FileHash=Base64String
BinaryBlob=false
EndMessage


Field Possible values Mandatory? Default Description
URI CHK@
KSK@name
SSK@privateKey/docname-1
USK@privateKey/docname/0/
Yes The type of key to insert. When inserting an SSK key, you explicitly specifiy the version number. For a USK key, use a zero and it should automatically use the correct version number.
Metadata.ContentType Any MIME type No application/octet-stream The MIME type of the data being inserted. For text, if charset is not specified, node should auto-detect it and force the auto-detected version
Identifier Arbitrary text string Yes This is just for client to be able to identify files that have been inserted.
Verbosity Bitmask. At present only bits 1 and 512 are supported. No 0 0: report when complete, 1: SimpleProgress messages, 512: send StartedCompression and FinishedCompression messages
MaxRetries Integer -1 to 999999+? No ? Number of times to retry if the first time doesn't work. -1 means retry forever.
PriorityClass Number 0 (maximum priority) to 6 (minimum priority) No 2 (Semi-interactive priority class) How to prioritise the insert.
GetCHKOnly false, true No false If set to true, it won't actually insert the data, just return the key it would generate.
If the key is USK, you may want to transform it into a SSK, to prevent the node spending time searching for an unused index.
Global true, false No false Whether the insert is visible on the global queue or not.
DontCompress true, false No Hint to node: don't try to compress the data, it's already compressed
ClientToken Arbitrary string No Sent back to client on the PersistentPut if this is a persistent request
Persistence connection, reboot, forever No connection Whether the insert stays on the queue across new client connections, freenet restarts, or forever
TargetFilename A filename (no slashes) No Extracted from URI or Filename Filename to be appended to a CHK insert. Technically it creates a one-file manifest with this filename pointing to the file being uploaded. Ignored for all types other than CHK, since other types have human-readable filenames anyway. Empty means no filename.
EarlyEncode false, true No False See EarlyEncode
UploadFrom direct, disk, redirect No direct Whether the FCP message includes the actual data, just the disk filename and path, or a redirection to an existing freenet key. If you upload from disk, you have to do a TestDDARequest.
Only valid if UploadFrom is direct:
DataLength Integer from 0 to ? Yes The length of the data file being included in this FCP message
Only valid if UploadFrom is disk:
Filename The full path of a file Yes The full name and path of the file you wish to insert to Freenet
Only valid if UploadFrom is redirect:
TargetURI A freenet URI Yes This is an existing freenet URI such as KSK@sample.txt. The idea is that you insert a new key that redirects to this one.
EndMessage Indicates the end of the message. If UploadFrom is direct, then the data follows this line. (Immediately after the newline).
FileHash a Base64 encoded SHA256 hash of the content you want the node to insert (only useful if you use UploadFrom=disk) No This field will allow you to override any TestDDA restriction if you provide a hash of the content which should be inserted. It should be computed like that : Base64Encode(SHA256( NodeHello.identifier + '-' + Identifier + '-' + content)). That setting has been introduced in 1027.
BinaryBlob false, true No If true, insert a binary blob (a collection of keys used in the downloading of a specific key or site). Implies no metadata, no URI.
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.2
Page was generated in 0.0625 seconds