{"id":27103068,"url":"https://github.com/stuartellis/sideboard","last_synced_at":"2025-07-04T16:35:20.114Z","repository":{"id":36959999,"uuid":"332877959","full_name":"stuartellis/sideboard","owner":"stuartellis","description":"Convenient short-term file storage and sharing with AWS","archived":false,"fork":false,"pushed_at":"2023-01-26T08:12:08.000Z","size":216,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-14T05:21:13.267Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stuartellis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-25T20:42:34.000Z","updated_at":"2021-07-24T14:32:33.000Z","dependencies_parsed_at":"2023-02-14T15:16:21.290Z","dependency_job_id":null,"html_url":"https://github.com/stuartellis/sideboard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuartellis%2Fsideboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuartellis%2Fsideboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuartellis%2Fsideboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuartellis%2Fsideboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stuartellis","download_url":"https://codeload.github.com/stuartellis/sideboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247516622,"owners_count":20951706,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-06T16:38:49.524Z","updated_at":"2025-04-06T16:38:49.924Z","avatar_url":"https://github.com/stuartellis.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Sideboard\n=========\n\nConvenient short-term file storage and sharing.\n\nThis command-line tool creates and manages a storage bucket on AWS for you.\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![License](https://img.shields.io/github/license/stuartellis/sideboard.svg)](https://github.com/stuartellis/sideboard)\n![tests](https://github.com/stuartellis/sideboard/workflows/tests/badge.svg)\n\n\u003c!-- toc --\u003e\n\n\u003c!-- tocstop --\u003e\n\u003c!-- installation --\u003e\n## Installation \n\nTo run this command-line utility from a Git clone of the repository, use *npm link* to register it on your system:\n\n    npm link\n\nUse *oclif-dev* to build native packages:\n\n    npx oclif-dev pack:win\n\n\u003e To build Windows packages, you must run this command on a Windows system that has [7-Zip](https://www.7-zip.org/) installed.\n\u003c!-- deploymentstop --\u003e\n## Usage\n\nEnsure that you have an AWS configuration on your computer, with a profile.\n\n\u003c!-- usage --\u003e\n```sh-session\n$ sb init\nSideboard: Initializing\nGenerating configuration. Bucket: xcinat26g5r-qhokbxs2jr-eu-west-1 in eu-west-1\nNew configuration saved to /Users/you/.config/sideboard\nCreated the S3 bucket. Bucket: xcinat26g5r-qhokbxs2jr-eu-west-1 in eu-west-1\nTo access this bucket, use the S3 address s3://xcinat26g5r-qhokbxs2jr-eu-west-1\nExample: aws s3 ls s3://xcinat26g5r-qhokbxs2jr-eu-west-1 --region eu-west-1\n```\n\nUse the *list* subcommand to see the contents of the bucket: \n\n```sh-session\n❯ sb list\nSideboard: List\nListing contents of the S3 bucket xcinat26g5r-qhokbxs2jr-eu-west-1 in eu-west-1\n┌──────────────────────────────────────────────────┬──────────┐\n│ Object                                           │ Size     │\n├──────────────────────────────────────────────────┼──────────┤\n│ example.docx                                     │ 1049     │\n└──────────────────────────────────────────────────┴──────────┘\n```\n\nUse the *presign* subcommand to get a URL for any file in the bucket:\n\n\u003c!-- usage --\u003e\n```sh-session\n$ sb presign -f example.docx\nhttps://xcinat26g5r-qhokbxs2jr-eu-west-1.s3.eu-west-1.amazonaws.com/example.docx?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Content-Sha256=UNSIGNED-PAYLOAD\u0026X-Amz-Credential=AKIAU3K6EMT53PLHZSE2%2F20210518%2Feu-west-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20210518T194421Z\u0026X-Amz-Expires=3600\u0026X-Amz-Signature=070ff99887327a688f91b3375022b4ec60611773fc01c7a87d45cf0095c3b2d5\u0026X-Amz-SignedHeaders=host\u0026x-amz-user-agent=aws-sdk-js%2F3.6.0%20os%2Fdarwin%2F19.6.0%20lang%2Fjs%20md%2Fnodejs%2F12.22.1%20api%2Fs3%2F3.6.0\u0026x-id=GetObject\n```\n\nOnce it has been generated, a presigned URL can be used by *anyone* to download the file. They do not need to have an AWS account.\n\n\u003e Each presigned URL is only valid for a specified length of time. By default, *sideboard presign* generates URLs that valid for one hour.\n\nYou can empty or delete the S3 bucket at any time. Use the *destroy* subcommand to empty the bucket and remove it from AWS:\n\n```sh-session\n$ sb destroy\nSideboard: Destroy\nDeleted the contents of the S3 bucket. Bucket: xcinat26g5r-qhokbxs2jr-eu-west-1 in eu-west-1\nDestroyed the S3 bucket. Bucket: xcinat26g5r-qhokbxs2jr-eu-west-1 in eu-west-1\n```\n\n\u003c!-- usagestop --\u003e\n\n\u003c!-- commands --\u003e\n* [`sb destroy`](#sb-destroy)\n* [`sb flush`](#sb-flush)\n* [`sb help [COMMAND]`](#sb-help-command)\n* [`sb info`](#sb-info)\n* [`sb init`](#sb-init)\n* [`sb list`](#sb-list)\n* [`sb presign`](#sb-presign)\n\n## `sb destroy`\n\nDestroys the S3 bucket.\n\n```\nUSAGE\n  $ sb destroy\n\nOPTIONS\n  -d, --dryrun  dry run\n\nDESCRIPTION\n  This deletes all of the files in the bucket, and destroys the bucket.\n```\n\n_See code: [src/commands/destroy.js](https://github.com/stuartellis/sideboard/blob/v0.1.0/src/commands/destroy.js)_\n\n## `sb flush`\n\nEmpties the S3 bucket.\n\n```\nUSAGE\n  $ sb flush\n\nOPTIONS\n  -d, --dryrun  dry run\n\nDESCRIPTION\n  This deletes all of the files in the S3 bucket.\n```\n\n_See code: [src/commands/flush.js](https://github.com/stuartellis/sideboard/blob/v0.1.0/src/commands/flush.js)_\n\n## `sb help [COMMAND]`\n\nDisplay help information for the Sideboard tool.\n\n```\nUSAGE\n  $ sb help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.1/src/commands/help.ts)_\n\n## `sb info`\n\nShows the current configuration of Sideboard.\n\n```\nUSAGE\n  $ sb info\n\nOPTIONS\n  -a, --all  show all settings\n\nDESCRIPTION\n  By default, this only shows the settings from the configuration file.\n  Use the -a option to see the automatically calculated settings as well.\n```\n\n_See code: [src/commands/info.js](https://github.com/stuartellis/sideboard/blob/v0.1.0/src/commands/info.js)_\n\n## `sb init`\n\nCreates a configuration and the S3 bucket.\n\n```\nUSAGE\n  $ sb init\n\nOPTIONS\n  -d, --dryrun         dry run\n  -f, --force          force reinitialization\n  -n, --name=name      name of the S3 bucket\n  -r, --region=region  AWS region for the S3 bucket\n\nDESCRIPTION\n  Creates the configuration file and the S3 bucket.\n  If you do not specify a name for the S3 bucket, the bucket will be created with a random name.\n```\n\n_See code: [src/commands/init.js](https://github.com/stuartellis/sideboard/blob/v0.1.0/src/commands/init.js)_\n\n## `sb list`\n\nLists the current contents of the S3 bucket.\n\n```\nUSAGE\n  $ sb list\n\nOPTIONS\n  -d, --dryrun  dry run\n\nDESCRIPTION\n  Displays a list of the files in the bucket\n```\n\n_See code: [src/commands/list.js](https://github.com/stuartellis/sideboard/blob/v0.1.0/src/commands/list.js)_\n\n## `sb presign`\n\nProvides a presigned URL for a file in the S3 bucket.\n\n```\nUSAGE\n  $ sb presign\n\nOPTIONS\n  -d, --duration=7200 duration of URL in seconds (optional)\n  -f, --file=path     path of file in S3 bucket\n\nDESCRIPTION\n  ...\n  Provides a presigned URL for getting a file in the S3 bucket\n```\n\n_See code: [src/commands/presign.js](https://github.com/stuartellis/sideboard/blob/v0.1.0/src/commands/presign.js)_\n\u003c!-- commandsstop --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuartellis%2Fsideboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstuartellis%2Fsideboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuartellis%2Fsideboard/lists"}