Categorygithub.com/watermint/toolbox
modulepackage
0.0.0-20250314101922-b3b7969d501c
Repository: https://github.com/watermint/toolbox.git
Documentation: pkg.go.dev

# README

watermint toolbox

Build Test CodeQL Codecov

watermint toolbox

The watermint toolbox is the multi-purpose utility command-line tool for web services including Dropbox, Figma, GitHub, etc. The purpose of the tool is to provide users of cloud services and system administrators with a way to automate workflows and provide a work-around for some issues.

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-2025 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           |       |
| github  | GitHub commands          |       |
| license | Show license information |       |
| local   | Commands for local PC    |       |
| log     | Log utilities            |       |
| slack   | Slack commands           |       |
| util    | Utilities                |       |
| version | Show version             |       |

Commands

DeepL

CommandDescription
deepl translate textTranslate text

Dropbox (Individual account)

CommandDescription
dropbox file account featureList Dropbox account features
dropbox file account filesystemShow Dropbox file system version
dropbox file account infoDropbox account info
dropbox file compare accountCompare files of two accounts
dropbox file compare localCompare local folders and Dropbox folders
dropbox file copyCopy files
dropbox file deleteDelete file or folder
dropbox file export docExport document
dropbox file export urlExport a document from the URL
dropbox file import batch urlBatch import files from URL
dropbox file import urlImport file from the URL
dropbox file infoResolve metadata of the path
dropbox file listList files and folders
dropbox file lock acquireLock a file
dropbox file lock all releaseRelease all locks under the specified path
dropbox file lock batch acquireLock multiple files
dropbox file lock batch releaseRelease multiple locks
dropbox file lock listList locks under the specified path
dropbox file lock releaseRelease a lock
dropbox file mergeMerge paths
dropbox file moveMove files
dropbox file replicationReplicate file content to the other account
dropbox file request createCreate a file request
dropbox file request delete closedDelete all closed file requests on this account.
dropbox file request delete urlDelete a file request by the file request URL
dropbox file request listList file requests of the individual account
dropbox file restore allRestore files under given path
dropbox file restore extRestore files with a specific extension
dropbox file revision downloadDownload the file revision
dropbox file revision listList file revisions
dropbox file revision restoreRestore the file revision
dropbox file search contentSearch file content
dropbox file search nameSearch file name
dropbox file share infoRetrieve sharing information of the file
dropbox file sharedfolder infoGet shared folder info
dropbox file sharedfolder leaveLeave from the shared folder
dropbox file sharedfolder listList shared folder(s)
dropbox file sharedfolder member addAdd a member to the shared folder
dropbox file sharedfolder member deleteDelete a member from the shared folder
dropbox file sharedfolder member listList shared folder member(s)
dropbox file sharedfolder mount addAdd the shared folder to the current user's Dropbox
dropbox file sharedfolder mount deleteThe current user unmounts the designated folder.
dropbox file sharedfolder mount listList all shared folders the current user mounted
dropbox file sharedfolder mount mountableList all shared folders the current user can mount
dropbox file sharedfolder shareShare a folder
dropbox file sharedfolder unshareUnshare a folder
dropbox file sharedlink createCreate shared link
dropbox file sharedlink deleteRemove shared links
dropbox file sharedlink file listList files for the shared link
dropbox file sharedlink infoGet information about the shared link
dropbox file sharedlink listList of shared link(s)
dropbox file sizeStorage usage
dropbox file sync downDownstream sync with Dropbox
dropbox file sync onlineSync online files
dropbox file sync upUpstream sync with Dropbox
dropbox file tag addAdd a tag to the file/folder
dropbox file tag deleteDelete a tag from the file/folder
dropbox file tag listList tags of the path
dropbox file template applyApply file/folder structure template to the Dropbox path
dropbox file template captureCapture file/folder structure as template from Dropbox path
dropbox file watchWatch file activities
dropbox paper appendAppend the content to the end of the existing Paper doc
dropbox paper createCreate new Paper in the path
dropbox paper overwriteOverwrite existing Paper document
dropbox paper prependAppend the content to the beginning of the existing Paper doc
util tidy pack remotePackage remote folder into the zip file

Dropbox Sign

CommandDescription
dropbox sign request listList signature requests
dropbox sign request signature listList signatures of requests

Dropbox for teams

CommandDescription
dropbox team activity batch userScan activities for multiple users
dropbox team activity daily eventReport activities by day
dropbox team activity eventEvent log
dropbox team activity userActivities log per user
dropbox team admin group role addAdd the role to members of the group
dropbox team admin group role deleteDelete the role from all members except of members of the exception group
dropbox team admin listList admin roles of members
dropbox team admin role addAdd a new role to the member
dropbox team admin role clearRemove all admin roles from the member
dropbox team admin role deleteRemove a role from the member
dropbox team admin role listList admin roles of the team
dropbox team backup device statusDropbox Backup device status change in the specified period
dropbox team content legacypaper countCount number of Paper documents per member
dropbox team content legacypaper exportExport entire team member Paper documents into local path
dropbox team content legacypaper listList team member Paper documents
dropbox team content member listList team folder & shared folder members
dropbox team content member sizeCount number of members of team folders and shared folders
dropbox team content mount listList all mounted/unmounted shared folders of team members.
dropbox team content policy listList policies of team folders and shared folders in the team
dropbox team device listList all devices/sessions in the team
dropbox team device unlinkUnlink device sessions
dropbox team featureTeam feature
dropbox team filerequest listList all file requests in the team
dropbox team filesystemIdentify team's file system version
dropbox team group addCreate new group
dropbox team group batch addBulk adding groups
dropbox team group batch deleteDelete groups
dropbox team group clear externalidClear an external ID of a group
dropbox team group deleteDelete group
dropbox team group folder listList folders of each group
dropbox team group listList group(s)
dropbox team group member addAdd a member to the group
dropbox team group member batch addBulk add members into groups
dropbox team group member batch deleteDelete members from groups
dropbox team group member batch updateAdd or delete members from groups
dropbox team group member deleteDelete a member from the group
dropbox team group member listList members of groups
dropbox team group renameRename the group
dropbox team group update typeUpdate group management type
dropbox team infoTeam information
dropbox team insight scanScans team data for analysis
dropbox team legalhold addCreates new legal hold policy.
dropbox team legalhold listRetrieve existing policies
dropbox team legalhold member batch updateUpdate member list of legal hold policy
dropbox team legalhold member listList members of the legal hold
dropbox team legalhold releaseReleases a legal hold by Id
dropbox team legalhold revision listList revisions of the legal hold policy
dropbox team legalhold update descUpdate description of the legal hold policy
dropbox team legalhold update nameUpdate name of the legal hold policy
dropbox team linkedapp listList linked applications
dropbox team member batch deleteDelete members
dropbox team member batch detachConvert Dropbox for teams accounts to a Basic account
dropbox team member batch inviteInvite member(s)
dropbox team member batch reinviteReinvite invited status members to the team
dropbox team member batch suspendBulk suspend members
dropbox team member batch unsuspendBulk unsuspend members
dropbox team member clear externalidClear external_id of members
dropbox team member featureList member feature settings
dropbox team member file lock all releaseRelease all locks under the path of the member
dropbox team member file lock listList locks of the member under the path
dropbox team member file lock releaseRelease the lock of the path as the member
dropbox team member file permdeletePermanently delete the file or folder at a given path of the team member.
dropbox team member folder listList folders for each member
dropbox team member folder replicationReplicate a folder to another member's personal folder
dropbox team member listList team member(s)
dropbox team member quota batch updateUpdate team member quota
dropbox team member quota listList team member quota
dropbox team member quota usageList team member storage usage
dropbox team member replicationReplicate team member files
dropbox team member suspendSuspend a member
dropbox team member unsuspendUnsuspend a member
dropbox team member update batch emailMember email operation
dropbox team member update batch externalidUpdate External ID of team members
dropbox team member update batch invisibleEnable directory restriction to members
dropbox team member update batch profileUpdate member profile
dropbox team member update batch visibleDisable directory restriction to members
dropbox team namespace file listList all files and folders of the team namespaces
dropbox team namespace file sizeList all files and folders of the team namespaces
dropbox team namespace listList all namespaces of the team
dropbox team namespace member listList members of shared folders and team folders in the team
dropbox team namespace summaryReport team namespace status summary.
dropbox team runas file batch copyBatch copy files/folders as a member
dropbox team runas file listList files and folders run as a member
dropbox team runas file sync batch upBatch sync up that run as members
dropbox team runas sharedfolder batch leaveBatch leave from shared folders as a member
dropbox team runas sharedfolder batch shareBatch share folders for members
dropbox team runas sharedfolder batch unshareBatch unshare folders for members
dropbox team runas sharedfolder isolateUnshare owned shared folders and leave from external shared folders run as a member
dropbox team runas sharedfolder listList shared folders run as the member
dropbox team runas sharedfolder member batch addBatch add members to member's shared folders
dropbox team runas sharedfolder member batch deleteBatch delete members from member's shared folders
dropbox team runas sharedfolder mount addAdd the shared folder to the specified member's Dropbox
dropbox team runas sharedfolder mount deleteThe specified user unmounts the designated folder.
dropbox team runas sharedfolder mount listList all shared folders the specified member mounted
dropbox team runas sharedfolder mount mountableList all shared folders the member can mount
dropbox team sharedlink cap expirySet expiry cap to shared links in the team
dropbox team sharedlink cap visibilitySet visibility cap to shared links in the team
dropbox team sharedlink delete linksBatch delete shared links
dropbox team sharedlink delete memberDelete all shared links of the member
dropbox team sharedlink listList of shared links
dropbox team sharedlink update expiryUpdate expiration date of public shared links within the team
dropbox team sharedlink update passwordSet or update shared link passwords
dropbox team sharedlink update visibilityUpdate visibility of shared links
dropbox team teamfolder addAdd team folder to the team
dropbox team teamfolder archiveArchive team folder
dropbox team teamfolder batch archiveArchiving team folders
dropbox team teamfolder batch permdeletePermanently delete team folders
dropbox team teamfolder batch replicationBatch replication of team folders
dropbox team teamfolder file listList files in team folders
dropbox team teamfolder file lock all releaseRelease all locks under the path of the team folder
dropbox team teamfolder file lock listList locks in the team folder
dropbox team teamfolder file lock releaseRelease lock of the path in the team folder
dropbox team teamfolder file sizeCalculate size of team folders
dropbox team teamfolder listList team folder(s)
dropbox team teamfolder member addBatch adding users/groups to team folders
dropbox team teamfolder member deleteBatch removing users/groups from team folders
dropbox team teamfolder member listList team folder members
dropbox team teamfolder partial replicationPartial team folder replication to the other team
dropbox team teamfolder permdeletePermanently delete team folder
dropbox team teamfolder policy listList policies of team folders
dropbox team teamfolder replicationReplicate a team folder to the other team
dropbox team teamfolder sync setting listList team folder sync settings
dropbox team teamfolder sync setting updateBatch update team folder sync settings

Figma

CommandDescription
figma account infoRetrieve current user information
figma file export all pageExport all files/pages under the team
figma file export frameExport all frames of the Figma file
figma file export nodeExport Figma document Node
figma file export pageExport all pages of the Figma file
figma file infoShow information of the figma file
figma file listList files in the Figma Project
figma project listList projects of the team

GitHub

CommandDescription
github content getGet content metadata of the repository
github content putPut small text content into the repository
github issue listList issues of the public/private GitHub repository
github profileGet the authenticated user
github release asset downloadDownload assets
github release asset listList assets of GitHub Release
github release asset uploadUpload assets file into the GitHub Release
github release draftCreate release draft
github release listList releases
github tag createCreate a tag on the repository
util release installDownload & install watermint toolbox to the path

Utilities

CommandDescription
config auth deleteDelete existing auth credential
config auth listList all auth credentials
config feature disableDisable a feature.
config feature enableEnable a feature.
config feature listList available optional features.
config license installInstall a license key
config license listList available license keys
dropbox team insight report teamfoldermemberReport team folder members
licenseShow license information
local file template applyApply file/folder structure template to the local path
local file template captureCapture file/folder structure as template from local path
log api jobShow statistics of the API log of the job specified by the job ID
log api nameShow statistics of the API log of the job specified by the job name
log cat curlFormat capture logs as curl sample
log cat jobRetrieve logs of specified Job ID
log cat kindConcatenate and print logs of specified log kind
log cat lastPrint the last job log files
log job archiveArchive jobs
log job deleteDelete old job history
log job listShow job history
util archive unzipExtract the zip archive file
util archive zipCompress target files into the zip archive
util cert selfsignedGenerate self-signed certificate and key
util database execExecute query on SQLite3 database file
util database queryQuery SQLite3 database
util date todayDisplay current date
util datetime nowDisplay current date/time
util decode base32Decode text from Base32 (RFC 4648) format
util decode base64Decode text from Base64 (RFC 4648) format
util desktop openOpen a file or folder with the default application
util encode base32Encode text into Base32 (RFC 4648) format
util encode base64Encode text into Base64 (RFC 4648) format
util feed jsonLoad feed from the URL and output the content as JSON
util file hashPrint file digest
util git cloneClone git repository
util image exifPrint EXIF metadata of image file
util image placeholderCreate placeholder image
util json queryQuery JSON data
util net downloadDownload a file
util qrcode createCreate a QR code image file
util qrcode wifiGenerate QR code for WIFI configuration
util table format xlsxFormatting xlsx file into text
util text case downPrint lower case text
util text case upPrint upper case text
util text encoding fromConvert text encoding to UTF-8 text file from specified encoding.
util text encoding toConvert text encoding to specified encoding from UTF-8 text file.
util text nlp english entitySplit English text into entities
util text nlp english sentenceSplit English text into sentences
util text nlp english tokenSplit English text into tokens
util text nlp japanese tokenTokenize Japanese text
util text nlp japanese wakatiWakati gaki (tokenize Japanese text)
util tidy move dispatchDispatch files
util tidy move simpleArchive local files
util time nowDisplay current time
util unixtime formatTime format to convert the unix time (epoch seconds from 1970-01-01)
util unixtime nowDisplay current time in unixtime
util uuid timestampParse UUID timestamp
util uuid ulidGenerate ULID (Universally Unique Lexicographically Sortable Identifier)
util uuid v4Generate UUID v4 (random UUID)
util uuid v7Generate UUID v7
util uuid versionParse version and variant of UUID
util xlsx createCreate an empty spreadsheet
util xlsx sheet exportExport data from the xlsx file
util xlsx sheet importImport data into xlsx file
util xlsx sheet listList sheets of the xlsx file
versionShow version

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author