Skip to content

The multi-purpose utility command-line tool for web services including Dropbox, Figma, GitHub, etc.

License

Notifications You must be signed in to change notification settings

watermint/toolbox

Repository files navigation

watermint toolbox

Build Test CodeQL Codecov

watermint toolbox

The multi-purpose utility command-line tool for web services including Dropbox, Dropbox for teams, Google, GitHub, etc.

Licensing & Disclaimers

watermint toolbox is licensed under the Apache License, Version 2.0. Please see LICENSE.md or LICENSE.txt for more detail.

Please carefully note:

Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.

Built executable

Pre-compiled binaries can be found in Latest Release. If you are building directly from the source, please refer BUILD.md.

Installing using Homebrew on macOS/Linux

First, you need to install Homebrew. Please refer the instruction on the official site. Then run following commands to install watermint toolbox.

brew tap watermint/toolbox
brew install toolbox

Product lifecycle

Maintenance policy

This product itself is experimental and is not subject to the maintained to keep quality of service. The project will try to fix critical bugs and security issues with the best effort. But that is also not guaranteed.

The product will not release any patch release of a certain major releases. The product will apply fixes as next release when those fixes accepted to do.

Specification changes

The deliverables of this project are stand-alone executable programs. The specification changes will not be applied unless you explicitly upgrade your version of the program.

The following policy will be used to make changes in new version releases.

Command paths, arguments, return values, etc. will be upgraded to be as compatible as possible, but may be discontinued or changed.Addition of arguments, etc. The general policy is as follows.

  • Changes that do not break existing behavior, such as the addition of arguments or changes to messages, will be implemented without notice.
  • Commands that are considered infrequently used will be discontinued or moved without notice.
  • Changes to other commands will be announced 30-180 days or more in advance.

Changes in specifications will be announced at Announcements. Please refer to Specification Change for a list of planned specification changes.

Availability period for each release

In general, new security issues are discovered every day. In order not to leave these security and critical issues unaddressed by continuing to use older watermint toolbox releases, a maximum availability period has been set for release 130 and above. Please see #815 for more details.

Announcements

Security and privacy

The watermint toolbox is designed to simplify the use of cloud service APIs. It will not use the data in any way that is contrary to your intentions.

The watermint toolbox does not store the data it retrieves via the linked cloud service API on a separate server, contrary to the intent of the specified command.

For example, if you use the watermint toolbox to retrieve data from a cloud service, those data will only be stored on your PC. Furthermore, in the case of commands that upload files or data to a cloud service, they will only be stored in the location specified by your account.

Data protection

When you use the watermint toolbox to retrieve data from the cloud service API, your data is stored on your PC as report data or log data. More sensitive information, such as the authentication token for the cloud service API, is also stored on your PC.

It is your responsibility to keep these data stored on your PC secure.

Important information such as authentication tokens are obfuscated so that their contents cannot be easily read. However, this obfuscation is not intended to enhance security, but to prevent unintentional operational errors. If a malicious third party copies your token information to another PC, they may be able to access cloud services that you did not intend.

Use

As previously stated, the watermint toolbox is designed to store data on your PC or in your cloud account. Processes other than your intended operation include data retrieval for release lifecycle management, as outlined below.

The watermint toolbox has the capability to deactivate specific releases that have critical bugs or security issues. This is achieved by retrieving data from a repository hosted on GitHub approximately every 30 days to assess the status of a release. This access does not collect any private data (such as your cloud account information, local files, token, etc.). It merely checks the release status, but as a side effect, your IP address is sent to GitHub when downloading data.

Please be aware that this access information (date, time and IP address) may be used in the future to estimate the usage of each release.

Sharing

The watermint toolbox project does not currently manage or obtain data including IP addresses, information that only GitHub, the company that hosts the project, has the possibility to access. However, the project may in the future make this information available, and may disclose anonymised release-by-release usage to project members if deemed necessary for the operation of the project.

Any such changes will be announced on the announcement page and this security & privacy policy page at least 30 days before the change takes effect.

Usage

tbx have various features. Run without an option for a list of supported commands and options. You can see available commands and options by running executable without arguments like below.

% ./tbx

watermint toolbox xx.x.xxx
==========================

© 2016-2024 Takayuki Okazaki
Licensed under open source licenses. Use the `license` command for more detail.

Tools for Dropbox and Dropbox for teams

Usage:
======

./tbx  command

Available commands:
===================

| Command      | Description                     | Notes |
|--------------|---------------------------------|-------|
| asana        | Asana commands                  |       |
| config       | CLI configuration               |       |
| deepl        | DeepL commands                  |       |
| dropbox      | Dropbox commands                |       |
| figma        | Figma commands                  |       |
| file         | File operation                  |       |
| filerequest  | File request operation          |       |
| github       | GitHub commands                 |       |
| google       | Google commands                 |       |
| group        | Group management                |       |
| license      | Show license information        |       |
| local        | Commands for local PC           |       |
| log          | Log utilities                   |       |
| member       | Team member management          |       |
| services     | Commands for services           |       |
| sharedfolder | Shared folder                   |       |
| sharedlink   | Shared Link of Personal account |       |
| slack        | Slack commands                  |       |
| team         | Commands of Dropbox for teams   |       |
| teamfolder   | Team folder management          |       |
| teamspace    | Team space commands             |       |
| util         | Utilities                       |       |
| version      | Show version                    |       |

Commands

Dropbox (Individual account)

Command Description
dropbox file account feature List Dropbox account features
dropbox file account filesystem Show Dropbox file system version
dropbox file account info Dropbox account info
dropbox file compare account Compare files of two accounts
dropbox file compare local Compare local folders and Dropbox folders
dropbox file copy Copy files
dropbox file delete Delete file or folder
dropbox file export doc Export document
dropbox file export url Export a document from the URL
dropbox file import batch url Batch import files from URL
dropbox file import url Import file from the URL
dropbox file info Resolve metadata of the path
dropbox file list List files and folders
dropbox file lock acquire Lock a file
dropbox file lock all release Release all locks under the specified path
dropbox file lock batch acquire Lock multiple files
dropbox file lock batch release Release multiple locks
dropbox file lock list List locks under the specified path
dropbox file lock release Release a lock
dropbox file merge Merge paths
dropbox file move Move files
dropbox file replication Replicate file content to the other account
dropbox file request create Create a file request
dropbox file request delete closed Delete all closed file requests on this account.
dropbox file request delete url Delete a file request by the file request URL
dropbox file request list List file requests of the individual account
dropbox file restore all Restore files under given path
dropbox file revision download Download the file revision
dropbox file revision list List file revisions
dropbox file revision restore Restore the file revision
dropbox file search content Search file content
dropbox file search name Search file name
dropbox file share info Retrieve sharing information of the file
dropbox file sharedfolder leave Leave from the shared folder
dropbox file sharedfolder list List shared folder(s)
dropbox file sharedfolder member add Add a member to the shared folder
dropbox file sharedfolder member delete Delete a member from the shared folder
dropbox file sharedfolder member list List shared folder member(s)
dropbox file sharedfolder mount add Add the shared folder to the current user's Dropbox
dropbox file sharedfolder mount delete The current user unmounts the designated folder.
dropbox file sharedfolder mount list List all shared folders the current user mounted
dropbox file sharedfolder mount mountable List all shared folders the current user can mount
dropbox file sharedfolder share Share a folder
dropbox file sharedfolder unshare Unshare a folder
dropbox file sharedlink create Create shared link
dropbox file sharedlink delete Remove shared links
dropbox file sharedlink file list List files for the shared link
dropbox file sharedlink info Get information about the shared link
dropbox file sharedlink list List of shared link(s)
dropbox file size Storage usage
dropbox file sync down Downstream sync with Dropbox
dropbox file sync online Sync online files
dropbox file sync up Upstream sync with Dropbox
dropbox file tag add Add a tag to the file/folder
dropbox file tag delete Delete a tag from the file/folder
dropbox file tag list List tags of the path
dropbox file template apply Apply file/folder structure template to the Dropbox path
dropbox file template capture Capture file/folder structure as template from Dropbox path
dropbox file watch Watch file activities
dropbox paper append Append the content to the end of the existing Paper doc
dropbox paper create Create new Paper in the path
dropbox paper overwrite Overwrite existing Paper document
dropbox paper prepend Append the content to the beginning of the existing Paper doc
teamspace file list List files and folders in team space
util monitor client Start device monitor client
util tidy pack remote Package remote folder into the zip file

Dropbox for teams

Command Description
dropbox team activity batch user Scan activities for multiple users
dropbox team activity daily event Report activities by day
dropbox team activity event Event log
dropbox team activity user Activities log per user
dropbox team admin group role add Add the role to members of the group
dropbox team admin group role delete Delete the role from all members except of members of the exception group
dropbox team admin list List admin roles of members
dropbox team admin role add Add a new role to the member
dropbox team admin role clear Remove all admin roles from the member
dropbox team admin role delete Remove a role from the member
dropbox team admin role list List admin roles of the team
dropbox team backup device status Dropbox Backup device status change in the specified period
dropbox team content legacypaper count Count number of Paper documents per member
dropbox team content legacypaper export Export entire team member Paper documents into local path
dropbox team content legacypaper list List team member Paper documents
dropbox team content member list List team folder & shared folder members
dropbox team content member size Count number of members of team folders and shared folders
dropbox team content mount list List all mounted/unmounted shared folders of team members.
dropbox team content policy list List policies of team folders and shared folders in the team
dropbox team device list List all devices/sessions in the team
dropbox team device unlink Unlink device sessions
dropbox team feature Team feature
dropbox team filerequest list List all file requests in the team
dropbox team filesystem Identify team's file system version
dropbox team group add Create new group
dropbox team group batch add Bulk adding groups
dropbox team group batch delete Delete groups
dropbox team group clear externalid Clear an external ID of a group
dropbox team group delete Delete group
dropbox team group folder list List folders of each group
dropbox team group list List group(s)
dropbox team group member add Add a member to the group
dropbox team group member batch add Bulk add members into groups
dropbox team group member batch delete Delete members from groups
dropbox team group member batch update Add or delete members from groups
dropbox team group member delete Delete a member from the group
dropbox team group member list List members of groups
dropbox team group rename Rename the group
dropbox team group update type Update group management type
dropbox team info Team information
dropbox team insight scan Scans team data for analysis
dropbox team legalhold add Creates new legal hold policy.
dropbox team legalhold list Retrieve existing policies
dropbox team legalhold member batch update Update member list of legal hold policy
dropbox team legalhold member list List members of the legal hold
dropbox team legalhold release Releases a legal hold by Id
dropbox team legalhold revision list List revisions of the legal hold policy
dropbox team legalhold update desc Update description of the legal hold policy
dropbox team legalhold update name Update name of the legal hold policy
dropbox team linkedapp list List linked applications
dropbox team member batch delete Delete members
dropbox team member batch detach Convert Dropbox for teams accounts to a Basic account
dropbox team member batch invite Invite member(s)
dropbox team member batch reinvite Reinvite invited status members to the team
dropbox team member batch suspend Bulk suspend members
dropbox team member batch unsuspend Bulk unsuspend members
dropbox team member clear externalid Clear external_id of members
dropbox team member feature List member feature settings
dropbox team member file lock all release Release all locks under the path of the member
dropbox team member file lock list List locks of the member under the path
dropbox team member file lock release Release the lock of the path as the member
dropbox team member file permdelete Permanently delete the file or folder at a given path of the team member.
dropbox team member folder list List folders for each member
dropbox team member folder replication Replicate a folder to another member's personal folder
dropbox team member list List team member(s)
dropbox team member quota batch update Update team member quota
dropbox team member quota list List team member quota
dropbox team member quota usage List team member storage usage
dropbox team member replication Replicate team member files
dropbox team member suspend Suspend a member
dropbox team member unsuspend Unsuspend a member
dropbox team member update batch email Member email operation
dropbox team member update batch externalid Update External ID of team members
dropbox team member update batch invisible Enable directory restriction to members
dropbox team member update batch profile Update member profile
dropbox team member update batch visible Disable directory restriction to members
dropbox team namespace file list List all files and folders of the team namespaces
dropbox team namespace file size List all files and folders of the team namespaces
dropbox team namespace list List all namespaces of the team
dropbox team namespace member list List members of shared folders and team folders in the team
dropbox team namespace summary Report team namespace status summary.
dropbox team runas file batch copy Batch copy files/folders as a member
dropbox team runas file list List files and folders run as a member
dropbox team runas file sync batch up Batch sync up that run as members
dropbox team runas sharedfolder batch leave Batch leave from shared folders as a member
dropbox team runas sharedfolder batch share Batch share folders for members
dropbox team runas sharedfolder batch unshare Batch unshare folders for members
dropbox team runas sharedfolder isolate Unshare owned shared folders and leave from external shared folders run as a member
dropbox team runas sharedfolder list List shared folders run as the member
dropbox team runas sharedfolder member batch add Batch add members to member's shared folders
dropbox team runas sharedfolder member batch delete Batch delete members from member's shared folders
dropbox team runas sharedfolder mount add Add the shared folder to the specified member's Dropbox
dropbox team runas sharedfolder mount delete The specified user unmounts the designated folder.
dropbox team runas sharedfolder mount list List all shared folders the specified member mounted
dropbox team runas sharedfolder mount mountable List all shared folders the member can mount
dropbox team sharedlink cap expiry Set expiry cap to shared links in the team
dropbox team sharedlink cap visibility Set visibility cap to shared links in the team
dropbox team sharedlink delete links Batch delete shared links
dropbox team sharedlink delete member Delete all shared links of the member
dropbox team sharedlink list List of shared links
dropbox team sharedlink update expiry Update expiration date of public shared links within the team
dropbox team sharedlink update password Set or update shared link passwords
dropbox team sharedlink update visibility Update visibility of shared links
dropbox team teamfolder add Add team folder to the team
dropbox team teamfolder archive Archive team folder
dropbox team teamfolder batch archive Archiving team folders
dropbox team teamfolder batch permdelete Permanently delete team folders
dropbox team teamfolder batch replication Batch replication of team folders
dropbox team teamfolder file list List files in team folders
dropbox team teamfolder file lock all release Release all locks under the path of the team folder
dropbox team teamfolder file lock list List locks in the team folder
dropbox team teamfolder file lock release Release lock of the path in the team folder
dropbox team teamfolder file size Calculate size of team folders
dropbox team teamfolder list List team folder(s)
dropbox team teamfolder member add Batch adding users/groups to team folders
dropbox team teamfolder member delete Batch removing users/groups from team folders
dropbox team teamfolder member list List team folder members
dropbox team teamfolder partial replication Partial team folder replication to the other team
dropbox team teamfolder permdelete Permanently delete team folder
dropbox team teamfolder policy list List policies of team folders
dropbox team teamfolder replication Replicate a team folder to the other team
dropbox team teamfolder sync setting list List team folder sync settings
dropbox team teamfolder sync setting update Batch update team folder sync settings
teamspace asadmin file list List files and folders in team space run as admin
teamspace asadmin folder add Create top level folder in the team space
teamspace asadmin folder delete Delete top level folder of the team space
teamspace asadmin folder permdelete Permanently delete top level folder of the team space

Dropbox Sign

Command Description
dropbox sign request list List signature requests
dropbox sign request signature list List signatures of requests

DeepL

Command Description
deepl translate text Translate text

Figma

Command Description
figma account info Retrieve current user information
figma file export all page Export all files/pages under the team
figma file export frame Export all frames of the Figma file
figma file export node Export Figma document Node
figma file export page Export all pages of the Figma file
figma file info Show information of the figma file
figma file list List files in the Figma Project
figma project list List projects of the team

GitHub

Command Description
dev release checkin Check in the new release
github content get Get content metadata of the repository
github content put Put small text content into the repository
github issue list List issues of the public/private GitHub repository
github profile Get the authenticated user
github release asset download Download assets
github release asset list List assets of GitHub Release
github release asset upload Upload assets file into the GitHub Release
github release draft Create release draft
github release list List releases
github tag create Create a tag on the repository
util release install Download & install watermint toolbox to the path

Google Calendar

Command Description
google calendar event list List Google Calendar events

Google GMail

Command Description
google mail filter add Add a filter.
google mail filter batch add Batch adding/deleting labels with query
google mail filter delete Delete a filter
google mail filter list List filters
google mail label add Add a label
google mail label delete Delete a label
google mail label list List email labels
google mail label rename Rename a label
google mail message label add Add labels to the message
google mail message label delete Remove labels from the message
google mail message list List messages
google mail message processed list List messages in processed format.
google mail sendas add Creates a custom "from" send-as alias
google mail sendas delete Deletes the specified send-as alias
google mail sendas list Lists the send-as aliases for the specified account
google mail thread list List threads

Google Sheets

Command Description
google sheets sheet append Append data to a spreadsheet
google sheets sheet clear Clears values from a spreadsheet
google sheets sheet create Create a new sheet
google sheets sheet delete Delete a sheet from the spreadsheet
google sheets sheet export Export sheet data
google sheets sheet import Import data into the spreadsheet
google sheets sheet list List sheets of the spreadsheet
google sheets spreadsheet create Create a new spreadsheet

Utilities

Command Description
config auth delete Delete existing auth credential
config auth list List all auth credentials
config feature disable Disable a feature.
config feature enable Enable a feature.
config feature list List available optional features.
config license list List available license keys
dropbox team insight report teamfoldermember Report team folder members
license Show license information
local file template apply Apply file/folder structure template to the local path
local file template capture Capture file/folder structure as template from local path
log api job Show statistics of the API log of the job specified by the job ID
log api name Show statistics of the API log of the job specified by the job name
log cat curl Format capture logs as curl sample
log cat job Retrieve logs of specified Job ID
log cat kind Concatenate and print logs of specified log kind
log cat last Print the last job log files
log job archive Archive jobs
log job delete Delete old job history
log job list Show job history
util archive unzip Extract the zip archive file
util archive zip Compress target files into the zip archive
util cert selfsigned Generate self-signed certificate and key
util database exec Execute query on SQLite3 database file
util database query Query SQLite3 database
util date today Display current date
util datetime now Display current date/time
util decode base32 Decode text from Base32 (RFC 4648) format
util decode base64 Decode text from Base64 (RFC 4648) format
util desktop display list List displays of the current machine
util desktop open Open a file or folder with the default application
util desktop screenshot interval Take screenshots at regular intervals
util desktop screenshot snap Take a screenshot
util encode base32 Encode text into Base32 (RFC 4648) format
util encode base64 Encode text into Base64 (RFC 4648) format
util file hash Print file digest
util git clone Clone git repository
util image exif Print EXIF metadata of image file
util image placeholder Create placeholder image
util net download Download a file
util qrcode create Create a QR code image file
util qrcode wifi Generate QR code for WIFI configuration
util table format xlsx Formatting xlsx file into text
util text case down Print lower case text
util text case up Print upper case text
util text encoding from Convert text encoding to UTF-8 text file from specified encoding.
util text encoding to Convert text encoding to specified encoding from UTF-8 text file.
util text nlp english entity Split English text into entities
util text nlp english sentence Split English text into sentences
util text nlp english token Split English text into tokens
util text nlp japanese token Tokenize Japanese text
util text nlp japanese wakati Wakati gaki (tokenize Japanese text)
util tidy move dispatch Dispatch files
util tidy move simple Archive local files
util time now Display current time
util unixtime format Time format to convert the unix time (epoch seconds from 1970-01-01)
util unixtime now Display current time in unixtime
util uuid v4 Generate UUID v4 (random UUID)
util video subtitles optimize Optimize subtitles file
util xlsx create Create an empty spreadsheet
util xlsx sheet export Export data from the xlsx file
util xlsx sheet import Import data into xlsx file
util xlsx sheet list List sheets of the xlsx file
version Show version