An utility to easily manage your toolbox applications
Project description
# ToolBoxAssistant
An utility to easily manage your toolbox applications.
## Introduction
ToolBoxAssistant works by reading a JSON file containing the toolbox location and applications information.
By default it searches for a `toolbox.json` in the current directory. It can install applications from a
version control system (git / mercurial / subversion), or directly from an archive URL, and supports build
directives if needed.
## Installation
### From source
python setup.py install
### From PyPI
pip install ToolBoxAssistant
## Usage
```
usage: tba [-h] [-f FILE] [-v] {sync,genspec} ...
Easily manage your toolbox applications.
optional arguments:
-h, --help show this help message and exit
-f FILE, --file FILE toolbox specfile to use (default: toolbox.json)
-v, --verbose display debug information
Subcommands:
{sync,genspec} (use "tba <cmd> -h" for commands help)
sync synchronize installed applications with specfile
genspec generate specfile from installed applications
```
### sync
Reads the specifications file, and automatically install listed applications, or updates them if they are already
installed. If the `-u`/`--unlisted` option is used, a warning is issued if versionned applications are installed
but not listed in the specfile.
```
usage: tba sync [-h] [-u]
optional arguments:
-h, --help show this help message and exit
-u, --unlisted list installed applications missing from specfile
```
### genspec
Searches for versionned applications in given folder and generate a specfile. If the `-m`/`--merge` option is used,
given file is updated.
```
usage: tba genspec [-h] [-m FILE] path
positional arguments:
path toolbox folder to scan for applications
optional arguments:
-h, --help show this help message and exit
-m FILE, --merge FILE
merge found applications with existing specfile
```
## The `toolbox.json` file
The following JSON example shows all the specifications that can be defined within the `toolbox.json` file:
```javascript
{
"path": "/tmp/toolbox-example",
"apps": {
"sqlmap": {
"type": "git",
"url": "https://github.com/sqlmapproject/sqlmap",
"path": "web/sqlmap"
},
"androguard": {
"type": "hg",
"url": "https://code.google.com/p/androguard/",
"path": "mobility/androguard"
},
"skipfish": {
"type": "svn",
"url": "http://skipfish.googlecode.com/svn/trunk/",
"path": "web/skipfish",
"build": [
"make"
]
},
"nmap": {
"type": "archive",
"url": "https://nmap.org/dist/nmap-6.47.tar.bz2",
"path": "network/nmap",
"build": [
"./configure",
"make"
]
}
}
}
```
## Bugs / Feature requests
If you find any bug, or have any feature you would like to see implemented, feel free to fill a ticket in the
issue tracker, or even better, fix/code it by yourself and do a pull-request.
## License
This project is licensed under the GNU GPLv3.
An utility to easily manage your toolbox applications.
## Introduction
ToolBoxAssistant works by reading a JSON file containing the toolbox location and applications information.
By default it searches for a `toolbox.json` in the current directory. It can install applications from a
version control system (git / mercurial / subversion), or directly from an archive URL, and supports build
directives if needed.
## Installation
### From source
python setup.py install
### From PyPI
pip install ToolBoxAssistant
## Usage
```
usage: tba [-h] [-f FILE] [-v] {sync,genspec} ...
Easily manage your toolbox applications.
optional arguments:
-h, --help show this help message and exit
-f FILE, --file FILE toolbox specfile to use (default: toolbox.json)
-v, --verbose display debug information
Subcommands:
{sync,genspec} (use "tba <cmd> -h" for commands help)
sync synchronize installed applications with specfile
genspec generate specfile from installed applications
```
### sync
Reads the specifications file, and automatically install listed applications, or updates them if they are already
installed. If the `-u`/`--unlisted` option is used, a warning is issued if versionned applications are installed
but not listed in the specfile.
```
usage: tba sync [-h] [-u]
optional arguments:
-h, --help show this help message and exit
-u, --unlisted list installed applications missing from specfile
```
### genspec
Searches for versionned applications in given folder and generate a specfile. If the `-m`/`--merge` option is used,
given file is updated.
```
usage: tba genspec [-h] [-m FILE] path
positional arguments:
path toolbox folder to scan for applications
optional arguments:
-h, --help show this help message and exit
-m FILE, --merge FILE
merge found applications with existing specfile
```
## The `toolbox.json` file
The following JSON example shows all the specifications that can be defined within the `toolbox.json` file:
```javascript
{
"path": "/tmp/toolbox-example",
"apps": {
"sqlmap": {
"type": "git",
"url": "https://github.com/sqlmapproject/sqlmap",
"path": "web/sqlmap"
},
"androguard": {
"type": "hg",
"url": "https://code.google.com/p/androguard/",
"path": "mobility/androguard"
},
"skipfish": {
"type": "svn",
"url": "http://skipfish.googlecode.com/svn/trunk/",
"path": "web/skipfish",
"build": [
"make"
]
},
"nmap": {
"type": "archive",
"url": "https://nmap.org/dist/nmap-6.47.tar.bz2",
"path": "network/nmap",
"build": [
"./configure",
"make"
]
}
}
}
```
## Bugs / Feature requests
If you find any bug, or have any feature you would like to see implemented, feel free to fill a ticket in the
issue tracker, or even better, fix/code it by yourself and do a pull-request.
## License
This project is licensed under the GNU GPLv3.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ToolBoxAssistant-0.1.tar.gz
(21.0 kB
view details)
File details
Details for the file ToolBoxAssistant-0.1.tar.gz
.
File metadata
- Download URL: ToolBoxAssistant-0.1.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8664935d6af63ebe4374af66e6654a027cc2603d2b12657cdf6e5a5551f8ee0d |
|
MD5 | c459a70e5dd01709229b06aef072acbb |
|
BLAKE2b-256 | 628e7f23a3f6c0f55e7f9a453de26d871c74fe2bb8b14389ce1162afeef980f4 |