{"id":16677845,"url":"https://github.com/jaemk/upaste-server","last_synced_at":"2026-02-26T18:36:11.729Z","repository":{"id":19483643,"uuid":"85903372","full_name":"jaemk/upaste-server","owner":"jaemk","description":"mini pastebin clone","archived":false,"fork":false,"pushed_at":"2023-04-03T20:31:32.000Z","size":2534,"stargazers_count":5,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T23:24:14.665Z","etag":null,"topics":["hastebin","paste","upaste","upaste-server"],"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/jaemk.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-23T03:34:52.000Z","updated_at":"2022-10-08T07:30:02.000Z","dependencies_parsed_at":"2025-02-15T22:31:48.159Z","dependency_job_id":"815bad1c-0d5b-4114-89f6-3c23eed3707f","html_url":"https://github.com/jaemk/upaste-server","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaemk%2Fupaste-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaemk%2Fupaste-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaemk%2Fupaste-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaemk%2Fupaste-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaemk","download_url":"https://codeload.github.com/jaemk/upaste-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248113346,"owners_count":21049829,"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":["hastebin","paste","upaste","upaste-server"],"created_at":"2024-10-12T13:27:39.884Z","updated_at":"2026-02-26T18:36:06.670Z","avatar_url":"https://github.com/jaemk.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# uPaste Server\n\n\u003e Simple standalone pastebin\n\nSee \"useful shell scripts\" below for aliases to copy/paste from the command line.\n\n\n## Development\n\n* Clone this repo\n* `cargo run -- admin database migrate`\n* `cargo run -- serve`\n\n## Running\n\n* Build a docker image: `./docker.sh build`\n    * env: `REGISTRY` to change the docker registry name used\n* Run the image directly or\n* Run using `./docker.sh run`:\n    * env: `PORT_MAP` to change the container port mapping\n    * Note: The script will pass the `--env-file .env.docker` to inject environment variables into the container\n    \n## Useful shell scripts\n\n* `curl` and `jq` required\n\n### In your *.bashrc*\n```bash\n# paste vars\nexport UPASTE_PASTEROOT=https://doma.in/new\nexport UPASTE_READROOT=https://doma.in\nexport UPASTE_READROOT_RAW=https://doma.in/raw\n\n# Set to a value shared amongst your machines if\n# you want to \"securely\" copy/paste between them.\n# Content is de/encrypted server-side using the key\n# provided. The \"security\" is encryption at rest and\n# preventing others from stumbling on your paste's \"code\".\nexport UPASTE_ENCRYPTION_KEY=\n\n## paste helpers\n# copy from stdin or a file\n# ex.\n#  * copy from stdin: pc\n#  * copy from file:  pc infile.txt\nalias pc='~/bin/pc.sh'\n\n# paste from a url or code\n# ex.\n#  * paste to stdout: pp $code\nalias pp='~/bin/pp.sh'\n```\n\n*pc.sh*\n```bash\n#!/bin/bash\nset -e\n\nif [[ -z \"$UPASTE_TTL_SECONDS\" ]]; then\n    ttl=\nelse\n    ttl=\"ttl_seconds=$UPASTE_TTL_SECONDS\"\nfi\n\nfunction post() {\n    infile=\"@-\"\n    if [[ ! -z \"$1\" ]]; then\n        infile=\"@$1\"\n    fi\n\n    if [[ -z \"$UPASTE_ENCRYPTION_KEY\" ]]; then\n        curl $UPASTE_PASTEROOT?$ttl -s --data-binary $infile\n    else\n        curl $UPASTE_PASTEROOT?$ttl -s --data-binary $infile -H \"x-upaste-encryption-key: $UPASTE_ENCRYPTION_KEY\"\n    fi\n}\n\nif [ -z \"$1\" ]; then\n    post | jq -r .key | echo \"$UPASTE_READROOT_RAW/$(cat -)\"\nelse\n    post $1 | jq -r .key | echo \"$UPASTE_READROOT_RAW/$(cat -)\"\nf\n```\n\n*pp.sh*\n```bash\n#!/bin/bash\nset -e\nif [[ -z \"$1\" ]]; then\n    $0 \"$(head -n 1)\"\nelse\n    if [[ $1 =~ ^http.* ]]; then\n        if [[ -z \"$UPASTE_ENCRYPTION_KEY\" ]]; then\n            curl $1 -s\n        else\n            curl $1 -s -H \"x-upaste-encryption-key: $UPASTE_ENCRYPTION_KEY\"\n        fi\n    else\n        $0 $UPASTE_READROOT_RAW/$1\n    fi\nfi\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaemk%2Fupaste-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaemk%2Fupaste-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaemk%2Fupaste-server/lists"}