====== Unhelpful documentation for BTproxy ======
Note: there's not much point in reading this - just skip back to [[.:#more_helpful_instructions_for_running_btproxy|some documentation that works]] and carry on from there.
==== BTproxy doing man-in-the-middle interception ====
[[https://github.com/conorpp/btproxy|The documentation]] says that you need a machine running Linux and BlueZ 4 with at least one Bluetooth interface.
I'm slightly impressed that it claims to work as a Man-in-the-middle with only one interface, but that does keep things simpler.
To get things going, I ran:
# aptitude install bluez{,-utils} {libbluetooth,python}-dev
# mkdir btproxy
# cd btproxy
# wget https://github.com/conorpp/btproxy/blob/master/setup.py
# python setup.py install
This failed with:File "setup.py", line 7
^
SyntaxError: invalid syntax
Okay, so that's clearly not the way to download a Python script from github (despite that being the URL you get if you hover on the "setup.py" link...)
Try again:
# wget https://github.com/conorpp/btproxy/raw/master/setup.py
# python setup.py install
Traceback (most recent call last):
File "setup.py", line 3, in
from setuptools import Extension,setup
ImportError: no module named setuptools
So, a further inauspicious lack of progress. It has at least downloaded a Python script this time, but it doesn't work.
# aptitude search setuptools
p python-setuptools - Python Distutils Enhancements (setuptools compatibility)
v python2.6-setuptools -
v python2.7-setuptools -
p python3-setuptools - Python3 Distutils Enhancements (setuptools compatibility)
v python3.2-setuptools -
Aha - the documentation fails to mention installing this bit...
# aptitude install python-setuptools
# python setup.py install
Traceback (most recent call last):
File "setup.py", line 36, in
long_description=read('README.md').replace('#',''),
File "setup.py", line 6, in read
return open(os.path.join(os.path.dirname(__file__), fname)).read()
IOError: [Errno 2] No such file or directory: 'README.md'
Urgh. Let's download the whole lot then, if that's what's needed...
# wget https://github.com/conorpp/btproxy/archive/master.zip
# unzip master.zip
# cd btproxy-master
# python setup.py install
running install
Checking .pth file support in /usr/local/lib/python2.7/dist-packages/
/usr/bin/python -E -c pass
TEST PASSED: /usr/local/lib/python2.7/dist-packages/ appears to support .pth files
... followed by quite a bit more output, ending with:
Installed /usr/local/lib/python2.7/dist-packages/btproxy-0.1-py2.7-linux-x86_64.egg
Processing dependencies for btproxy==0.1
Searching for pybluez>=0.21
Reading http://pypi.python.org/simple/pybluez/
Couldn't find index page for 'pybluez' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading http://pypi.python.org/simple/
No local packages or download links found for pybluez>=0.21
error: Could not find suitable distribution for Requirement.parse('pybluez>=0.21')
So, it looks like a I need another Python library not mentioned in the requirements...
# aptitude install python-bluez
# python setup.py install
... precisely the same error message as last time.
https://packages.debian.org/jessie/python-bluez reveals that there's no point in trying this on anything lower than Debian Stretch (since the installer is looking for version >= 0.21; Jessie has version 0.20 and Wheezy doesn't even have the package at all).
So, let's find a machine running Stretch and [[.:#more_helpful_instructions_for_running_btproxy|start all over again]].
----
[[.:|Go up]]\\
Return to [[:|main index]].