Skip to content
This repository has been archived by the owner on Mar 15, 2021. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
brifordwylie committed Aug 4, 2014
2 parents f51e741 + 0b9a7f0 commit 554d6b6
Show file tree
Hide file tree
Showing 13 changed files with 170 additions and 15 deletions.
11 changes: 6 additions & 5 deletions CONTRIBUTING.rst
Expand Up @@ -80,7 +80,7 @@ Workbench (Server/CLI/All)
::

$ make clean
# pip install -e . # Do we need to do this?
# pip install -e .
$ python setup.py sdist
$ cd dist
$ tar xzvf workbench-0.x.y.tar.gz
Expand Down Expand Up @@ -127,15 +127,16 @@ Workbench CLI (Just CLI)

::

$ cd workbench_cli
$ make clean
$ python setup_cli.py sdist
$ python setup.py sdist
$ cd dist
$ tar xzvf workbench_cli-0.x.y.tar.gz
$ cd workbench_cli-0.x.y/
$ python setup_cli.py install
$ python setup.py install
$ workbench (play around do at least one load_sample)
$ vi workbench_cli/version.py (change version)
$ python setup_cli.py publish
$ vi workbench_cli/workbench_cli/version.py (change version)
$ python setup.py publish

.. important:: Revert the default server in workbench_cli/config.ini to 'server_uri = localhost'

Expand Down
2 changes: 1 addition & 1 deletion MANIFEST.in
Expand Up @@ -4,7 +4,7 @@ include HISTORY.rst
include LICENSE
include README.rst
include workbench/server/config.ini
include workbench_cli/config.ini
include workbench_cli/workbench_cli/config.ini
include workbench/clients/config.ini
include workbench/workers/peid_userdb.txt
recursive-include workbench/data *
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Expand Up @@ -30,9 +30,9 @@
packages=['workbench_cli', 'workbench', 'workbench.server',
'workbench.server.bro', 'workbench.workers',
'workbench.workers.rekall_adapter', 'workbench.clients'],
package_dir={'workbench': 'workbench'},
package_dir={'workbench': 'workbench', 'workbench_cli': 'workbench_cli/workbench_cli'},
include_package_data=True,
scripts=['workbench/server/workbench_server', 'workbench_cli/workbench'],
scripts=['workbench/server/workbench_server', 'workbench_cli/workbench_cli/workbench'],
tests_require=['tox'],
install_requires=['cython', 'colorama', 'distorm3>=0', 'elasticsearch',
'funcsigs', 'flask', 'filemagic', 'ipython', 'mock', 'pefile',
Expand Down
2 changes: 2 additions & 0 deletions workbench_cli/MANIFEST.in
@@ -0,0 +1,2 @@
include workbench_cli/README.rst
include workbench_cli/config.ini
56 changes: 56 additions & 0 deletions workbench_cli/Makefile
@@ -0,0 +1,56 @@
.PHONY: help clean clean-pyc clean-build list test test-all coverage docs release sdist

help:
@echo "clean-build - remove build artifacts"
@echo "clean-pyc - remove Python file artifacts"
@echo "lint - check style with flake8"
@echo "test - run tests quickly with the default Python"
@echo "testall - run tests on every Python version with tox"
@echo "coverage - check code coverage quickly with the default Python"
@echo "docs - generate Sphinx HTML documentation, including API docs"
@echo "release - package and upload a release"
@echo "sdist - package"

clean: clean-build clean-pyc

clean-build:
rm -fr build/
rm -fr dist/
rm -fr *.egg-info

clean-pyc:
find . -name '*.pyc' -exec rm -f {} +
find . -name '*.pyo' -exec rm -f {} +
find . -name '*~' -exec rm -f {} +

lint:
flake8 workbench test

test:
py.test

test-all:
tox

coverage:
coverage run --source workbench setup.py test
coverage report -m
coverage html
open htmlcov/index.html

docs:
rm -f docs/workbench.rst
rm -f docs/modules.rst
sphinx-apidoc -o docs/ workbench
$(MAKE) -C docs clean
$(MAKE) -C docs html
open docs/_build/html/index.html

release: clean
python setup.py sdist upload
python setup.py bdist_wheel upload

sdist: clean
python setup.py sdist
python setup.py bdist_wheel upload
ls -l dist
97 changes: 97 additions & 0 deletions workbench_cli/README.rst
@@ -0,0 +1,97 @@
|Build Status| |Coverage Status| |License| |Fury| |PyPI|

|Code Health| |Project Ready| |Project InProgress| |Gitter chat|


Workbench Command Line Interface
================================

**A Command Line Interface for the Workbench Project.**


Workbench focuses on simplicity, transparency, and easy on-site
customization. As an open source python project it provides light-weight
task management, execution and pipelining for a loosely-coupled set of
python classes.

Workbench Videos
~~~~~~~~~~~~~~~~~~
- `Getting Started with Workbench <http://youtu.be/v4zXhZINdDQ>`_
- `Workbench Command Interface <http://youtu.be/MvSa7aklWTI>`_

Workbench Examples
~~~~~~~~~~~~~~~~~~

- `PCAP to Graph <http://nbviewer.ipython.org/url/raw.github.com/SuperCowPowers/workbench/master/workbench/notebooks/PCAP_to_Graph.ipynb/>`_ (A short teaser)
- `Workbench Demo <http://nbviewer.ipython.org/url/raw.github.com/SuperCowPowers/workbench/master/workbench/notebooks/Workbench_Demo.ipynb/>`_
- `Adding a new Worker <http://nbviewer.ipython.org/url/raw.github.com/SuperCowPowers/workbench/master/workbench/notebooks/Adding_Worker.ipynb/>`_ (super hawt)
- `PCAP to Dataframe <http://nbviewer.ipython.org/url/raw.github.com/SuperCowPowers/workbench/master/workbench/notebooks/PCAP_to_Dataframe.ipynb/>`_
- `PCAP DriveBy Analysis <http://nbviewer.ipython.org/url/raw.github.com/SuperCowPowers/workbench/master/workbench/notebooks/PCAP_DriveBy.ipynb>`_
- `Using Neo4j for PE File Sim Graph <http://nbviewer.ipython.org/url/raw.github.com/SuperCowPowers/workbench/master/workbench/notebooks/PE_SimGraph.ipynb>`_
- `Generator Pipelines Notebook <http://nbviewer.ipython.org/url/raw.github.com/SuperCowPowers/workbench/master/workbench/notebooks/Generator_Pipelines.ipynb>`_
- `Network Stream Analysis Notebook <http://nbviewer.ipython.org/url/raw.github.com/SuperCowPowers/workbench/master/workbench/notebooks/Network_Stream.ipynb>`_
- `PE File Static Analysis Notebook <http://nbviewer.ipython.org/url/raw.github.com/SuperCowPowers/workbench/master/workbench/notebooks/PE_Static_Analysis.ipynb>`_
- `Memory Analysis Notebook <http://nbviewer.ipython.org/url/raw.github.com/SuperCowPowers/workbench/master/workbench/notebooks/Rekall_to_Dataframe.ipynb>`_

Pull the repository
~~~~~~~~~~~~~~~~~~~

**Warning!: The repository contains malcious data samples, be careful, exclude the workbench directory from AV, etc...**

::

git clone https://github.com/supercowpowers/workbench.git


Read the Documentation
~~~~~~~~~~~~~~~~~~~~~~

Workbench documentation: `Workbench Docs <http://workbench.readthedocs.org/en/latest/>`_

Email Lists (Forums)
~~~~~~~~~~~~~~~~~~~~

- Users Email List:
`workbench-users <https://groups.google.com/forum/#!forum/workbench-users>`_
- Developers Email List:
`workbench-devs <https://groups.google.com/forum/#!forum/workbench-devs>`_

.. _Workbench_Docs: http://workbench.readthedocs.org/en/latest/
.. _Users_Email_List: https://groups.google.com/forum/#!forum/workbench-users
.. _Developers_Email_List: https://groups.google.com/forum/#!forum/workbench-devs

.. |Build Status| image:: http://img.shields.io/travis/SuperCowPowers/workbench.svg?style=flat
:target: https://travis-ci.org/SuperCowPowers/workbench
:alt: Build Status

.. |Coverage Status| image:: https://img.shields.io/coveralls/SuperCowPowers/workbench.svg?style=flat
:target: https://coveralls.io/r/SuperCowPowers/workbench

.. |Code Health| image:: https://landscape.io/github/SuperCowPowers/workbench/master/landscape.png
:target: https://landscape.io/github/SuperCowPowers/workbench/master

.. |Project Stats| image:: https://www.ohloh.net/p/workbench/widgets/project_thin_badge.gif
:target: https://www.ohloh.net/p/workbench

.. |Project Ready| image:: https://badge.waffle.io/supercowpowers/workbench.png?label=on_deck&title=On_Deck
:target: https://waffle.io/supercowpowers/workbench

.. |Project InProgress| image:: https://badge.waffle.io/supercowpowers/workbench.png?label=In_Progress&title=In_Progress
:target: https://waffle.io/supercowpowers/workbench

.. |Gitter chat| image:: https://badges.gitter.im/SuperCowPowers/workbench.png
:target: https://gitter.im/SuperCowPowers/workbench

.. |Requirements| image:: https://requires.io/github/SuperCowPowers/workbench/requirements.png?branch=master
:target: https://requires.io/github/SuperCowPowers/workbench/requirements/?branch=master
:alt: Requirements Status

.. |Fury| image:: http://img.shields.io/pypi/v/workbench.svg?style=flat
:target: http://badge.fury.io/py/workbench_cli

.. |PyPI| image:: http://img.shields.io/pypi/dm/workbench.svg?style=flat
:target: https://pypi.python.org/pypi/workbench_cli

.. |License| image:: http://img.shields.io/badge/license-mit-brightgreen.svg?style=flat
:target: https://github.com/SuperCowPowers/workbench/blob/master/LICENSE
:alt: License
5 changes: 2 additions & 3 deletions setup_cli.py → workbench_cli/setup.py
Expand Up @@ -6,7 +6,7 @@


if sys.argv[-1] == 'publish':
os.system('python setup_cli.py sdist upload')
os.system('python setup.py sdist upload')
sys.exit()

readme = open('README.rst').read()
Expand All @@ -16,14 +16,13 @@
-------------
The full documentation is at http://workbench.rtfd.org. '''
history = open('HISTORY.rst').read().replace('.. :changelog:', '')

exec(open('workbench_cli/version.py').read())
setup(
name='workbench_cli',
version=__version__,
description='Command Line Interface for Workbench',
long_description=readme + '\n\n' + doclink + '\n\n' + history,
long_description=readme + '\n\n' + doclink + '\n\n',
author='The Workbench Team',
author_email='support@supercowpowers.com',
url='http://github.com/SuperCowPowers/workbench',
Expand Down
File renamed without changes.
Expand Up @@ -4,8 +4,8 @@
# Server URI (server machine ip or name)
# Default: localhost
# Example: mybigserver or 12.34.56.789
server_uri = workbenchserver.com
# server_uri = localhost
# server_uri = workbenchserver.com
server_uri = localhost

# Server Port
# Default: 4242
Expand Down
@@ -1,3 +1,3 @@
''' Workbench CLI Version '''
__version_info__ = (0, 2, 0)
__version_info__ = (0, 2, 1)
__version__ = '.'.join(map(str, __version_info__))
Expand Up @@ -8,7 +8,7 @@ try:

# Okay this happens when you're running workbench in a debugger so having
# this is super handy and we'll keep it even though it hurts coverage score.
except ImportError:
except (ImportError, ValueError):
import workbench_shell

def run():
Expand Down

0 comments on commit 554d6b6

Please sign in to comment.