GitHub - upfilesh/cli: CLI for upfile.sh — instant file uploads from the terminal · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
upfilesh
cli
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>15 Commits<br>15 Commits
.github/workflows
.github/workflows
bin
bin
scripts
scripts
src
src
.gitignore
.gitignore
LICENSE
LICENSE
README.md
README.md
package.json
package.json
tsconfig.json
tsconfig.json
yarn.lock
yarn.lock
View all files
Repository files navigation
upfile-cli
Upload any file from your terminal. Get a permanent URL instantly.
→ upfile.sh
Install
npm install -g upfilesh
Setup
Self-signup (get an API key)
upfile signup --email your@email.com
This creates an account and saves your API key to ~/.upfile/config.json.
Existing API key
upfile config set api-key YOUR_API_KEY
Usage
# Check storage status<br>upfile status
# Public — permanent URL, anyone can access<br>upfile screenshot.png<br># https://cdn.upfile.sh/xK9mZ.png
# Expiring — self-destructs after TTL (seconds)<br>upfile report.pdf --expiry 3600
# Private — auth-gated, only you can access<br>upfile secret.pdf --private
# JSON output — for AI agents and scripts<br>upfile screenshot.png --json
# Pipe from stdin — capture and upload in one line<br>screencapture -x - | upfile<br>cat file.txt | upfile --json
Upgrade
When you hit the 1GB storage limit, upgrade to Pro:
upfile upgrade
You'll receive an email with a checkout link.
Options
Flag<br>Description
--private<br>Private file, requires auth to access
--expiry<br>Expiring URL with TTL in seconds
--json<br>Full JSON response (url, id, visibility, expires_at)
-v, --version<br>Print CLI version
JSON response
"id": "xK9mZaBcDe",<br>"url": "https://cdn.upfile.sh/xK9mZaBcDe.png",<br>"visibility": "public",<br>"size": 84231,<br>"type": "image/png",<br>"expires_at": null,<br>"created_at": "2026-03-02T03:00:00.000Z"
Config
# save API key<br>upfile config set endpoint # self-hosted endpoint<br>upfile config get # view current config">upfile config set api-key key> # save API key<br>upfile config set endpoint url> # self-hosted endpoint<br>upfile config get # view current config
Config stored at ~/.upfile/config.json.
Environment variables
Var<br>Description
UPFILE_API_KEY<br>API key (overrides config file)
Self-hosting
Deploy your own upfile instance on Cloudflare Workers:
github.com/upfilesh/worker
About
CLI for upfile.sh — instant file uploads from the terminal
Resources
Readme
License
MIT license
Uh oh!
There was an error while loading. Please reload this page.
Activity
Custom properties
Stars
stars
Watchers
watching
Forks
forks
Report repository
Releases
v0.2.2
Latest
Jun 17, 2026
Packages
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
TypeScript<br>97.7%
JavaScript<br>2.3%
You can’t perform that action at this time.