{"id":17080569,"url":"https://github.com/kylef/ucp","last_synced_at":"2026-04-28T21:04:47.817Z","repository":{"id":1644986,"uuid":"2370498","full_name":"kylef/ucp","owner":"kylef","description":"A simple and universal command line tool for capturing screenshots and uploading to the web.","archived":false,"fork":false,"pushed_at":"2015-12-17T00:47:53.000Z","size":8,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-28T19:14:11.909Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kylef.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":"2011-09-12T10:46:01.000Z","updated_at":"2020-11-02T12:25:32.000Z","dependencies_parsed_at":"2022-07-21T12:03:53.433Z","dependency_job_id":null,"html_url":"https://github.com/kylef/ucp","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/kylef%2Fucp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylef%2Fucp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylef%2Fucp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kylef%2Fucp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kylef","download_url":"https://codeload.github.com/kylef/ucp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245104462,"owners_count":20561377,"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":"2024-10-14T12:45:50.819Z","updated_at":"2026-04-28T21:04:47.810Z","avatar_url":"https://github.com/kylef.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# URL Copy\n\nA simple and universal command line tool for capturing screenshots and\nuploading to the web.\n\nIt's built in bash and highly extensible and customisable. Allowing you to\neasily add support for custom screencapture apps and services.\n\n## Usage\n\nUCP can be used by setting configuration inside `~/.ucp`, see below for more\ninformation on available providers.\n\n```bash\nCAPTURE_PROVIDER=screencapture_select\nCLIPBOARD_PROVDER=pbcopy\nUPLOAD_PROVIDER=sftp\n\nSFTP_HOST=fuller.li\nSFTP_DIR=/srv/www/snapshots\nBASEURL=\"https://snapshots.fuller.li/\"\n```\n\nOnce configured, you can run `ucp` to capture and upload files.\n\n### Capture\n\nCapture and upload a screenshot to your configured service.\n\n```shell\n$ ucp capture\nhttps://screenshots.fuller.li/Rniol.png\n```\n\n### Upload\n\nUpload a file to your configured service.\n\n```shell\n$ ucp upload test.tar.xz\nhttps://screenshots.fuller.li/test.tar.xz\n```\n\n### Capture Provides\n\n#### `screencapture`\n\nMac OS X Full Screen Capture\n\n#### `screencapture_select`\n\n#### `scrot`\n\nUse scrot to take a full screen capture.\n\n#### `scrot_select`\n\nUse scrot to take a selective capture\n\n### Clipboard Provider\n\n#### `empty`\n\nThis provider disables copying the URL to the clipboard.\n\n#### `pbcopy`\n\nMac OS X System Clipboard.\n\n#### `xsel`\n\nAn X server command for managing the clipboard.\n\n### Upload Provider\n\n#### `sftp`\n\nUploads to SFTP. This provider requires additional configuration:\n\n```bash\nSFTP_USER=kyle # Defaults to current username\nSFTP_HOST=fuller.li\nSFTP_PORT=22 # Defaults to 22\n\n## Base directory to upload file to, must end in / (unless empty)\nSFTP_DIR=/srv/www/fuller.li/screenshots\n```\n\n#### `ftp`\n\nUploads to FTP. This provider requires additional configuration:\n\n```bash\nFTP_USER=kyle\nFTP_PASSWORD=super-secret\nFTP_HOST=fuller.li\n\n## Base directory to upload file to, must end in / (unless empty)\nFTP_DIR=/srv/www/fuller.li/screenshots\n```\n\n#### `bacon`\n\nThis service is shutdown :(.\n\n#### Custom Upload Providers\n\nA custom upload provider can be created using a bash function in your config\nfile. For example:\n\n```bash\nUPLOAD_PROVIDER=custom_provider\n\ncustom_provider() {\n  local file=$1\n  # Upload file...\n  URL=\"https://foo.com/$file\"\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkylef%2Fucp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkylef%2Fucp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkylef%2Fucp/lists"}