Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DKFN/bunnycdn-cli
An unofficial CLI for the BunnyCDN provider
https://github.com/DKFN/bunnycdn-cli
Last synced: 3 months ago
JSON representation
An unofficial CLI for the BunnyCDN provider
- Host: GitHub
- URL: https://github.com/DKFN/bunnycdn-cli
- Owner: DKFN
- License: mit
- Created: 2019-02-18T10:52:21.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-02-29T22:51:27.000Z (9 months ago)
- Last Synced: 2024-02-29T23:39:15.518Z (9 months ago)
- Language: TypeScript
- Homepage: https://dkfn.github.io/bunnycdn-cli/
- Size: 646 KB
- Stars: 16
- Watchers: 3
- Forks: 4
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bnycdn
![SonarQuality](https://sonarcloud.io/api/project_badges/quality_gate?project=DKFN_bunnycdn-cli)
======Simple cli for BunnyCDN service. This app is not an official one.
[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)
* [bnycdn](#bnycdn)
* [Usage](#usage)
* [Commands](#commands)# Usage
```sh-session
$ npm install -g bnycdn
$ bnycdn COMMAND
running command...
$ bnycdn (-v|--version|version)
bnycdn/0.3.0 linux-x64 node-v18.16.0
$ bnycdn --help [COMMAND]
USAGE
$ bnycdn COMMAND
...
```# Commands
* [`bnycdn billing`](#bnycdn-billing)
* [`bnycdn cp [FROM] [TO]`](#bnycdn-cp-from-to)
* [`bnycdn help [COMMAND]`](#bnycdn-help-command)
* [`bnycdn key [COMMAND] [KEY_NAME] [KEY_VALUE]`](#bnycdn-key-command-key_name-key_value)
* [`bnycdn ls PATH`](#bnycdn-ls-path)
* [`bnycdn pz [COMMAND] [VALUE]`](#bnycdn-pz-command-value)
* [`bnycdn rm`](#bnycdn-rm)
* [`bnycdn stats`](#bnycdn-stats)## `bnycdn billing`
This command is to get statics for your account
```
USAGE
$ bnycdn billingOPTIONS
-h, --help show CLI help
-k, --key=key Key to use to get the billing informations
```_See code: [src/commands/billing.ts](https://github.com/DKFN/bnycdn/blob/v0.3.0/src/commands/billing.ts)_
## `bnycdn cp [FROM] [TO]`
This is the cp-like command for BunnyCDN storages.
```
USAGE
$ bnycdn cp [FROM] [TO]OPTIONS
-R, --R
-f, --from=from
-h, --help show CLI help
-r, --R2
-s, --storage=storage
-t, --to=toEXAMPLE
Maximum async file operations is 4. You can change this value:
https://dkfn.github.io/bunnycdn-cli/docs/set-workers
Version >= 0.3.0 style
One file upload
$ bnycdn cp -s testcdn ./dist/deb/bnycdn_0.3.0-1_amd64.deb /tetelincdn/nightly/deb/test.deb
⌛ [UP] /tetelincdn/nightly/deb/test.deb => 8.97 MB
✔ [OK] /tetelincdn/nightly/deb/test.deb => 8.97 MBRecursive file upload
bnycdn cp -s testcdn -R --from ./dist/ --to /tetelincdn/sample/nightly/
↻ [WT] ./dist/deb/Packages => 1.04 KB
↻ [WT] [ ∞ 1| ⇅ 0 | o 0] ./dist/deb/Packages.bz2 => 663 B
↻ [WT] [ ∞ 2| ⇅ 0 | o 0] ./dist/deb/Packages.gz => 598 B
↻ [WT] [ ∞ 3| ⇅ 0 | o 0] ./dist/deb/Packages.xz => 652 B
↻ [WT] [ ∞ 4| ⇅ 0 | o 0] ./dist/deb/Release => 1.96 KB
↻ [WT] [ ∞ 5| ⇅ 0 | o 0] ./dist/deb/bnycdn_0.3.0-1_amd64.deb => 8.97 MB
↻ [WT] [ ∞ 6| ⇅ 0 | o 0] ./dist/deb/bnycdn_0.3.0-1_armel.deb => 7.85 MB
⌛ [UP] [ ∞ 6| ⇅ 1 | o 0] /tetelincdn/sample/nightly/deb/bnycdn_0.3.0-1_armel.deb => 7.85 MB
⌛ [UP] [ ∞ 5| ⇅ 2 | o 0] /tetelincdn/sample/nightly/deb/bnycdn_0.3.0-1_amd64.deb => 8.97 MB
⌛ [UP] [ ∞ 4| ⇅ 3 | o 0] /tetelincdn/sample/nightly/deb/Release => 1.96 KB
⌛ [UP] [ ∞ 3| ⇅ 4 | o 0] /tetelincdn/sample/nightly/deb/Packages.xz => 652 B
✔ [OK] [ ∞ 3| ⇅ 3 | o 0] /tetelincdn/sample/nightly/deb/Packages.xz => 652 B
⌛ [UP] [ ∞ 2| ⇅ 4 | o 1] /tetelincdn/sample/nightly/deb/Packages.gz => 598 B
✔ [OK] [ ∞ 2| ⇅ 3 | o 1] /tetelincdn/sample/nightly/deb/Release => 1.96 KB
⌛ [UP] [ ∞ 1| ⇅ 4 | o 2] /tetelincdn/sample/nightly/deb/Packages.bz2 => 663 B
✔ [OK] [ ∞ 1| ⇅ 3 | o 2] /tetelincdn/sample/nightly/deb/Packages.gz => 598 B
⌛ [UP] [ ∞ 0| ⇅ 4 | o 3] /tetelincdn/sample/nightly/deb/Packages => 1.04 KB
✔ [OK] [ ∞ 0| ⇅ 3 | o 3] /tetelincdn/sample/nightly/deb/Packages.bz2 => 663 B
✔ [OK] [ ∞ 0| ⇅ 2 | o 4] /tetelincdn/sample/nightly/deb/Packages => 1.04 KB
⌛ [WT] [ ∞ 0| ⇅ 2 | o 5] It seems that I am still waiting for 2 files to process. Please wait ...
⌛ [UP] [ ∞ 0| ⇅ 2 | o 5] ./dist/deb/bnycdn_0.3.0-1_armel.deb => 7.85 MB
⌛ [UP] [ ∞ 0| ⇅ 2 | o 5] ./dist/deb/bnycdn_0.3.0-1_amd64.deb => 8.97 MB
---------------------------------------------------
✔ [OK] [ ∞ 0| ⇅ 1 | o 5] /tetelincdn/sample/nightly/deb/bnycdn_0.3.0-1_armel.deb => 7.85 MB
✔ [OK] /tetelincdn/sample/nightly/deb/bnycdn_0.3.0-1_amd64.deb => 8.97 MB
Download single file
bnycdn cp -s testcdn /tetelincdn/nightly/deb/test.deb ./myfolder/mydeb.deb
⌛ [DL] ./myfolder/mydeb.deb => ?
⌛ [IO] ./myfolder/mydeb.deb => 8.97 MB
✔ [OK] ./myfolder/mydeb.deb => 8.97 MB
Recursive file download
bnycdn cp -R -s testcdn /tetelincdn/nightly/deb/ ./myfolder/mydebs/
↻ [WT] /tetelincdn/nightly/deb/test.deb => 8.97 MB
↻ [WT] [ ∞ 1| ⇅ 0 | o 0] /tetelincdn/nightly/deb/Release => 1.96 KB
↻ [WT] [ ∞ 2| ⇅ 0 | o 0] /tetelincdn/nightly/deb/Packages.xz => 656 B
↻ [WT] [ ∞ 3| ⇅ 0 | o 0] /tetelincdn/nightly/deb/Packages.gz => 597 B
↻ [WT] [ ∞ 4| ⇅ 0 | o 0] /tetelincdn/nightly/deb/Packages.bz2 => 656 B
↻ [WT] [ ∞ 5| ⇅ 0 | o 0] /tetelincdn/nightly/deb/Packages => 1.04 KB
↻ [WT] [ ∞ 6| ⇅ 0 | o 0] /tetelincdn/nightly/deb/bnycdn_0.0.2-1_armel.deb => 7.65 MB
↻ [WT] [ ∞ 7| ⇅ 0 | o 0] /tetelincdn/nightly/deb/bnycdn_0.0.2-1_amd64.deb => 8.78 MB
⌛ [DL] [ ∞ 7| ⇅ 1 | o 0] ./myfolder/mydebs/bnycdn_0.0.2-1_amd64.deb => 8.78 MB
⌛ [DL] [ ∞ 6| ⇅ 2 | o 0] ./myfolder/mydebs/bnycdn_0.0.2-1_armel.deb => 7.65 MB
⌛ [DL] [ ∞ 5| ⇅ 3 | o 0] ./myfolder/mydebs/Packages => 1.04 KB
⌛ [DL] [ ∞ 4| ⇅ 4 | o 0] ./myfolder/mydebs/Packages.bz2 => 656 B
⌛ [IO] [ ∞ 4| ⇅ 4 | o 0] ./myfolder/mydebs/Packages => 1.04 KB
✔ [OK] [ ∞ 4| ⇅ 3 | o 1] ./myfolder/mydebs/Packages => 1.04 KB
⌛ [DL] [ ∞ 3| ⇅ 4 | o 1] ./myfolder/mydebs/Packages.gz => 597 B
⌛ [IO] [ ∞ 3| ⇅ 4 | o 1] ./myfolder/mydebs/Packages.bz2 => 656 B
✔ [OK] [ ∞ 3| ⇅ 3 | o 2] ./myfolder/mydebs/Packages.bz2 => 656 B
⌛ [DL] [ ∞ 2| ⇅ 4 | o 2] ./myfolder/mydebs/Packages.xz => 656 B
⌛ [IO] [ ∞ 2| ⇅ 4 | o 2] ./myfolder/mydebs/Packages.gz => 597 B
✔ [OK] [ ∞ 2| ⇅ 3 | o 3] ./myfolder/mydebs/Packages.gz => 597 B
⌛ [IO] [ ∞ 2| ⇅ 3 | o 3] ./myfolder/mydebs/Packages.xz => 656 B
✔ [OK] [ ∞ 2| ⇅ 2 | o 4] ./myfolder/mydebs/Packages.xz => 656 B
⌛ [DL] [ ∞ 1| ⇅ 3 | o 4] ./myfolder/mydebs/Release => 1.96 KB
⌛ [DL] [ ∞ 0| ⇅ 4 | o 4] ./myfolder/mydebs/test.deb => 8.97 MB
⌛ [IO] [ ∞ 0| ⇅ 4 | o 4] ./myfolder/mydebs/bnycdn_0.0.2-1_armel.deb => 7.65 MB
✔ [OK] [ ∞ 0| ⇅ 3 | o 5] ./myfolder/mydebs/bnycdn_0.0.2-1_armel.deb => 7.65 MB
⌛ [IO] [ ∞ 0| ⇅ 3 | o 5] ./myfolder/mydebs/Release => 1.96 KB
✔ [OK] [ ∞ 0| ⇅ 2 | o 6] ./myfolder/mydebs/Release => 1.96 KB
⌛ [IO] [ ∞ 0| ⇅ 2 | o 6] ./myfolder/mydebs/bnycdn_0.0.2-1_amd64.deb => 8.78 MB
✔ [OK] [ ∞ 0| ⇅ 1 | o 7] ./myfolder/mydebs/bnycdn_0.0.2-1_amd64.deb => 8.78 MB
⌛ [IO] [ ∞ 0| ⇅ 1 | o 7] ./myfolder/mydebs/test.deb => 8.97 MB
✔ [OK] ./myfolder/mydebs/test.deb => 8.97 MB
Version < 0.3.0 style
One file upload
$ bnycdn cp -s testcdn --from ./dist/deb/bnycdn_0.0.2-1_amd64.deb --to /testcdn/nightly/deb/test.deb
⌛[UP] /testcdn/nightly/deb/test.deb => 8.78 MB
✔[OK] /testcdn/nightly/deb/test.deb => 8.78 MB
Recursive file upload
$ bnycdn cp -s dkfn -R --from ./dist --to /dkfn/nightly
⌛[UP] [ ∞ 0| ⇈ 1] /dkfn/nightly/deb/Packages => 1.04 KB
⌛[UP] [ ∞ 0| ⇈ 2] /dkfn/nightly/deb/Packages.bz2 => 656 B
⌛[UP] [ ∞ 0| ⇈ 3] /dkfn/nightly/deb/Packages.gz => 597 B
⌛[UP] [ ∞ 0| ⇈ 4] /dkfn/nightly/deb/Packages.xz => 656 B
✔[OK] [ ∞ 3| ⇈ 3] /dkfn/nightly/deb/Packages.xz => 656 B
✔[OK] [ ∞ 3| ⇈ 2] /dkfn/nightly/deb/Packages.gz => 597 B
⌛[UP] [ ∞ 2| ⇈ 3] /dkfn/nightly/deb/bnycdn_0.0.2-1_amd64.deb => 8.78 MB
⌛[UP] [ ∞ 1| ⇈ 4] /dkfn/nightly/deb/bnycdn_0.0.2-1_armel.deb => 7.65 MB
✔[OK] [ ∞ 1| ⇈ 3] /dkfn/nightly/deb/Packages => 1.04 KB
✔[OK] [ ∞ 1| ⇈ 2] /dkfn/nightly/deb/Packages.bz2 => 656 B
⌛[UP] [ ∞ 0| ⇈ 3] /dkfn/nightly/deb/Release => 1.96 KB
✔[OK] [ ∞ 0| ⇈ 2] /dkfn/nightly/deb/Release => 1.96 KB
✔[OK] [ ∞ 0| ⇈ 1] /dkfn/nightly/deb/bnycdn_0.0.2-1_armel.deb => 7.65 MB
✔[OK] /dkfn/nightly/deb/bnycdn_0.0.2-1_amd64.deb => 8.78 MB
```_See code: [src/commands/cp.ts](https://github.com/DKFN/bnycdn/blob/v0.3.0/src/commands/cp.ts)_
## `bnycdn help [COMMAND]`
display help for bnycdn
```
USAGE
$ bnycdn help [COMMAND]ARGUMENTS
COMMAND command to show help forOPTIONS
--all see all commands in CLI
```_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v2.1.6/src/commands/help.ts)_
## `bnycdn key [COMMAND] [KEY_NAME] [KEY_VALUE]`
To add / delete / set a key for account pullzones or a storage
```
USAGE
$ bnycdn key [COMMAND] [KEY_NAME] [KEY_VALUE]OPTIONS
-d, --del=del Deletes a key with given name
-h, --help show CLI help
-l, --list lists all keys stored and their names
-s, --set=set Sets a key with given name
-t, --type=type Type of the key ( pullzones OR storages )
-v, --value=value Gives a value for add and set operationsEXAMPLE
$ bnycdn key list
==== API Keys:
name value
------- ------------------------------------------------------------------------
default XXXX-XXXX_XXXX_XXXX==== Storages:
name value
------- -----------------------------------------
testcdn XXXX-XXXX_XXXX_XXXX
Version >= 0.3.0 style
Add a default API Key
$ bnycdn key set default XXXX-XXXX-XXXX-XXXX
ⓘ Key successfully set: default
Add a storage key
$ bnycdn key set testcdn XXXX-XXXX-XXXX-XXXX -t storages
ⓘ Key successfully set: testcdn
Add a default storage key
$ bnycdn key set default XXXX-XXXX-XXXX-XXXX -t storages
ⓘ Key successfully set: testcdn
Deletes a key
$ bnycdn key del default
ⓘ Successfully deleted key : default
Deletes a storage key
$ bnycdn key del mykey -t storages
ⓘ Successfully deleted key : mykeyVersion < 0.3.0 style
Add default API Key:
$ bnycdn key -s default -v my_api_key_from_panel
ⓘ Successfully deleted key : defaultAdd aliased API Key (If you have multiple accounts):
$ bnycdn key -s myKeyName -v my_api_key_from_panel
ⓘ Successfully deleted key : myKeyNameAdd a storage Key:
$ bnycdn key -s mynewkey -t storages -v my_storage_ftp_password
ⓘ Key successfully set: mynewkeyAdd a default storage Key:
$ bnycdn key -s default -t storages -v my_storage_ftp_password
ⓘ Key successfully set: mynewkeyDelete a key
$ bnycdn key -d mynewkey -t storages
ⓘ Successfully deleted key : mynewkey
```_See code: [src/commands/key.ts](https://github.com/DKFN/bnycdn/blob/v0.3.0/src/commands/key.ts)_
## `bnycdn ls PATH`
describe the command here
```
USAGE
$ bnycdn ls PATHOPTIONS
-d, --dir=dir
-h, --help show CLI help
-s, --storage=storageEXAMPLE
$ bnycdn ls /teststorage/sample/ -s mystoragename
type lastChanged size path
--------- ----------------------- --------- ---------------------------------------------
[ DIR ] 2019-04-13T13:20:45.874 0 B /testcdn/sample/finalUpTest/node_modules
[ DIR ] 2019-04-13T13:21:03.133 0 B /testcdn/sample/finalUpTest/.idea
[ DIR ] 2019-04-13T13:21:03.329 0 B /testcdn/sample/finalUpTest/.git
[ FILE ] 2019-04-13T13:20:52.59 1.89 MB /testcdn/sample/finalUpTest/samplesml.mkv
[ FILE ] 2019-04-13T13:21:50.066 18.82 MB /testcdn/sample/finalUpTest/samplemid1.mkv
[ FILE ] 2019-04-13T13:23:57.191 56.45 MB /testcdn/sample/finalUpTest/samplebig.mkv
[ FILE ] 2019-04-13T13:20:45.876 173.59 KB /testcdn/sample/finalUpTest/paris.jpg
[ FILE ] 2019-04-13T13:21:04.011 171 B /testcdn/sample/finalUpTest/.editorconfigYou can also still use 0.2.x style
$ bnycdn ls -d /teststorage/mydirectory/ -s mystoragename
```_See code: [src/commands/ls.ts](https://github.com/DKFN/bnycdn/blob/v0.3.0/src/commands/ls.ts)_
## `bnycdn pz [COMMAND] [VALUE]`
This is the subcommand for pullzone operations
```
USAGE
$ bnycdn pz [COMMAND] [VALUE]OPTIONS
-a, --addHost=addHost Adds an hostname to a pull zone
-b, --ban=ban Bans an IP from a pullzone
-c, --create=create Creates a new pullzone
-d, --delHost=delHost Deletes an hostname from a pull zone
-g, --grace=grace Unbans an IP from a pullzone
-h, --help show CLI help
-k, --key=key specify a key if you use anorther one than default
-l, --list lists all pull zones
-p, --purge=purge purge cache for pullzone in id
-t, --target=target Target for the given operation
-v, --value=value Value for add hostname / purge pullzoneEXAMPLE
COMMANDS
list
purge
add
del
ban
grace
$ bnycdn pz list
id cacheQuality name hostnames
----- ------------ --------------- ------------------------------------------------------------
58516 75 citybuilderscdn [82062] citybuilderscdn.b-cdn.net ;
59831 75 tetelincdn [84195] tetelincdn.b-cdn.net ; [84196] cdn.infra.tetel.in ;
$ bnycdn pz -l
id cacheQuality name hostnames
----- ------------ --------------- ------------------------------------------------------------
58516 75 citybuilderscdn [82062] citybuilderscdn.b-cdn.net ;
59831 75 tetelincdn [84195] tetelincdn.b-cdn.net ; [84196] cdn.infra.tetel.in ;
$ bnycdn pz add example.com -t tetelincdn
✔ Successfully added hostname$ bnycdn pz ban 8.8.8.8 -t tetelincdn
✔ Successfully added blockedIp 8.8.8.8
$ bnycdn pz grace 8.8.8.8 -t tetelincdn
✔ Successfully removed blocked ip : 8.8.8.8
```_See code: [src/commands/pz.ts](https://github.com/DKFN/bnycdn/blob/v0.3.0/src/commands/pz.ts)_
## `bnycdn rm`
This is the rm-like command for BunnyCDN storages.
```
USAGE
$ bnycdn rmOPTIONS
-R, --R Recursive flag
-f, --from=from Path to remove (from)
-h, --help show CLI help
-s, --storage=storage Name of the target storageEXAMPLE
This command is used to remove file and directory recursivly on the given storage
```_See code: [src/commands/rm.ts](https://github.com/DKFN/bnycdn/blob/v0.3.0/src/commands/rm.ts)_
## `bnycdn stats`
This command is to get statics for your account
```
USAGE
$ bnycdn stats
```_See code: [src/commands/stats.ts](https://github.com/DKFN/bnycdn/blob/v0.3.0/src/commands/stats.ts)_