quickly upload files to a remote server via rsync
1# hop
2
3quick file upload to remote server via rsync.
4
5## installation
6
7hop is macos-only (uses pbcopy for clipboard, macos screenshot/record tools).
8
9```bash
10bun install
11bun run build
12
13# move the binary to your path
14install hop /usr/local/bin/
15```
16
17## configuration
18
19on first run, hop will create a config file at `~/.config/hop/config.json`:
20
21```json
22{
23 "server": "user@domain.tld",
24 "remotePath": "/var/www/",
25 "baseUrl": "https://domain.tld"
26}
27```
28
29edit this file with your server details.
30
31## usage
32
33```
34hop - quick file upload to remote server via rsync
35
36usage: hop [options] <file>
37
38options:
39 -h, --help show this help message and exit
40 -v, --verbose enable verbose output
41 -k, --keep-filename keep original filename (don't hash)
42 -f, --filename <name> use custom filename
43 -s, --screenshot capture fullscreen and upload
44 -sr, --screenshot-region capture region/window and upload
45 -r, --record record screen (silent)
46 -ra, --record-audio record with microphone audio
47```
48
49output:
50```
51✓ uploaded file.png to https://domain.tld/hash.png
52```
53
54the url is also copied to your clipboard automatically.
55
56## features
57
58- **sha256 hash-based filenames** - content-addressable storage with 7-character hashes
59- **rsync upload with progress** - visual spinner showing upload progress
60- **detailed error messages** - human-readable rsync error codes (permission denied, connection failed, etc.)
61- **automatic clipboard copy** - url copied to clipboard on macos (via pbcopy)
62- **verbose mode** - debug rsync issues with `-v` flag