contented/_dist
2017-10-08 17:12:26 +13:00
..
image1.png doc: add image 2017-10-08 17:12:17 +13:00
README.txt doc: tweak SDK information 2017-10-08 17:12:26 +13:00

A file / image / paste upload server with a focus on embedding.

Written in Go

You can use contented as a standalone upload server, or you can use the SDK to embed its upload widget into another website.

=FEATURES=

- Drag and drop uploader, or fallback classic uploader, or pastebin-style uploader
- Multiple files upload
- Pastebin upload
- SDK-oriented design for embedding, including CORS support
- Mobile friendly HTML interface
- Preserves uploaded filename and content-type metadata
- Hash verification (SHA512/256)
- Detect duplicate upload content and reuse storage
- Options to limit the upload filesize and the upload bandwidth
- Short URLs (using [url=http://hashids.org]Hashids[/url] algorithm)

=USAGE (SERVER)=

`Usage of contented:
  -data string
        Directory for stored content (default "")
  -db string
        Path for metadata database (default "contented.db")
  -listen string
         (default "127.0.0.1:80")
  -max int
        Maximum size of uploaded files in MiB (set zero for unlimited) (default 8)
  -speed int
        Maximum upload speed in bytes/sec (set zero for unlimited)
  -title string
        Title used in web interface (default "contented")
`

=USAGE (HTTP)=

The server responds on the following URLs:

- `/get/{ID}`: Download item content
- `/info/{ID}`: Get item content metadata (JSON)
- `/about`: Get server metadata (JSON)

=USAGE (EMBEDDING FOR WEB)=

Your webpage should load the SDK from the contented server, then call the `contented.init` function to display the upload widget over the top of an existing DOM element. Your callback will be passed an array of file IDs of any uploaded items. The SDK depends on jQuery.

`<script type="text/javascript" src="SERVER_ADDR/sdk.js"></script>
contented.init("#target", function(/* String[] */ items) {});
`

=CHANGELOG=

2017-10-08: 1.0.0
- Initial public release