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. | |