aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2014-09-09 00:06:10 +0200
committerMaximilian Hils <git@maximilianhils.com>2014-09-09 00:06:10 +0200
commit5f5af9535aedd0e42ee5cff3d96c056b17fbcfdb (patch)
tree7a3a0851884414c12009cd8241fc3c25fe86fb55
parent5fdec6b7cbb9111ac79c7ff94be0d31fcd2b30fe (diff)
downloadmitmproxy-5f5af9535aedd0e42ee5cff3d96c056b17fbcfdb.tar.gz
mitmproxy-5f5af9535aedd0e42ee5cff3d96c056b17fbcfdb.tar.bz2
mitmproxy-5f5af9535aedd0e42ee5cff3d96c056b17fbcfdb.zip
update distribution: pip install now works on Windows
-rw-r--r--requirements.txt18
-rw-r--r--setup.py105
-rw-r--r--test/requirements.txt5
3 files changed, 74 insertions, 54 deletions
diff --git a/requirements.txt b/requirements.txt
index 8c03d364..c364d3a4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,15 +1,3 @@
-Flask>=0.9
-Jinja2>=2.7
-MarkupSafe>=0.18
-Pillow>=2.3.0,<2.4
-Werkzeug>=0.8.3
-lxml>=3.2.1
-netlib>=0.10
-pathod>=0.9.2
-pyOpenSSL>=0.14
-pyasn1>=0.1.7
-requests>=1.2.2
-urwid>=1.1.1
-wsgiref>=0.1.2
-jsbeautifier>=1.4.0
-cssutils>=1.0,<1.1 \ No newline at end of file
+-e git+https://github.com/mitmproxy/netlib.git#egg=netlib
+-e git+https://github.com/mitmproxy/pathod.git#egg=pathod
+-e .[dev, contentviews] \ No newline at end of file
diff --git a/setup.py b/setup.py
index df9c712f..a18dda3c 100644
--- a/setup.py
+++ b/setup.py
@@ -70,43 +70,80 @@ def findPackages(path, dataExclude=[]):
package_data[module] = acc
return packages, package_data
+
with open(os.path.join(pdir(), "README.txt")) as f:
long_description = f.read()
packages, package_data = findPackages("libmproxy")
+
+
+scripts = ["mitmdump"]
+if os.name != "nt":
+ scripts.append("mitmproxy")
+
+deps = {
+ "netlib>=%s" % version.MINORVERSION,
+ "pyasn1>0.1.2",
+ "requests>=2.4.0",
+ "pyOpenSSL>=0.14",
+ "Flask>=0.10.1"
+}
+script_deps = {
+ "mitmproxy": {
+ "urwid>=1.1",
+ "lxml>=3.3.6",
+ "Pillow>=2.3.0",
+ },
+ "mitmdump": set()
+}
+for script in scripts:
+ deps.update(script_deps[script])
+if os.name == "nt":
+ deps.add("pydivert>=0.0.4") # Transparent proxying on Windows
+console_scripts = ["%s = libmproxy.main:%s" % (s, s) for s in scripts]
+
+
+
setup(
- name = "mitmproxy",
- version = version.VERSION,
- description = "An interactive, SSL-capable, man-in-the-middle HTTP proxy for penetration testers and software developers.",
- long_description = long_description,
- author = "Aldo Cortesi",
- author_email = "aldo@corte.si",
- url = "http://mitmproxy.org",
- packages = packages,
- package_data = package_data,
- scripts = ["mitmproxy", "mitmdump"],
- classifiers = [
- "License :: OSI Approved :: MIT License",
- "Development Status :: 5 - Production/Stable",
- "Environment :: Console",
- "Environment :: Console :: Curses",
- "Operating System :: MacOS :: MacOS X",
- "Operating System :: POSIX",
- "Programming Language :: Python",
- "Programming Language :: Python :: 2",
- "Topic :: Security",
- "Topic :: Internet",
- "Topic :: Internet :: WWW/HTTP",
- "Topic :: Internet :: Proxy Servers",
- "Topic :: Software Development :: Testing"
- ],
- install_requires=[
- "netlib>=%s"%version.MINORVERSION,
- "urwid>=1.1",
- "pyasn1>0.1.2",
- "requests>=1.2.2",
- "pyopenssl>=0.14",
- "Pillow>=2.3.0",
- "lxml",
- "flask"
+ name="mitmproxy",
+ version=version.VERSION,
+ description="An interactive, SSL-capable, man-in-the-middle HTTP proxy for penetration testers and software developers.",
+ long_description=long_description,
+ author="Aldo Cortesi",
+ author_email="aldo@corte.si",
+ url="http://mitmproxy.org",
+ packages=packages,
+ package_data=package_data,
+ classifiers=[
+ "License :: OSI Approved :: MIT License",
+ "Development Status :: 5 - Production/Stable",
+ "Environment :: Console",
+ "Environment :: Console :: Curses",
+ "Operating System :: MacOS :: MacOS X",
+ "Operating System :: POSIX",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 2",
+ "Topic :: Security",
+ "Topic :: Internet",
+ "Topic :: Internet :: WWW/HTTP",
+ "Topic :: Internet :: Proxy Servers",
+ "Topic :: Software Development :: Testing"
+ ],
+ entry_points={
+ 'console_scripts': console_scripts
+ },
+ install_requires=list(deps),
+ extras_require={
+ 'dev': [
+ "mock>=1.0.1",
+ "nose>=1.3.0",
+ "nose-cov>=1.6",
+ "coveralls>=0.4.1",
+ "pathod>=%s" % version.MINORVERSION
],
+ 'contentviews': [
+ "pyamf>=0.6.1",
+ "protobuf>=2.5.0",
+ "cssutils>=1.0"
+ ]
+ }
)
diff --git a/test/requirements.txt b/test/requirements.txt
deleted file mode 100644
index 89e4aa0a..00000000
--- a/test/requirements.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-mock>=1.0.1
-nose>=1.3.0
-nose-cov>=1.6
-coveralls>=0.4.1
-pathod>=0.10 \ No newline at end of file