pcolby / bipolar

Free your data from Polar FlowSync
GNU General Public License v3.0
115 stars 16 forks source link

Would love to help but am on Mac, any idea how to introduce hook on Mac? #8

Closed dfeist closed 10 years ago

pcolby commented 10 years ago

Assuming FlowSync is not available on Mac (AFAIK), then I don't see any way to make the hook work on Mac currently.

The hook itself just captures specific network packets from the WebSync app. It still depends on WebSync to do all of the hardware (V800 / loop) communications, as well as the flow website communications. The hook just listens in, prior to the TLS encryption being layered on.

If Polar ever ports their Qt-based FlowSync app to Mac (they really should), then I'll build a Mac version of the hooked Qt network library too.

FWIW, the GUI app I'm writing will use Qt and be able to be built on Windows, OSX and Linux; which will be handy if Polar ever does port their app to OSX and/or Linux sometime.

dfeist commented 10 years ago

It is already available on mac. On 2 Jul 2014 22:53, "Paul Colby" notifications@github.com wrote:

Assuming FlowSync is not available on Mac (AFAIK), then I don't see any way to make the hook work on Mac currently.

The hook itself just captures specific network packets from the WebSync app. It still depends on WebSync to do all of the hardware (V800 / loop) communications, as well as the flow website communications. The hook just listens in, prior to the TLS encryption being layered on.

If Polar ever ports their Qt-based FlowSync app to Mac (they really should), then I'll build a Mac version of the hooked Qt network library too.

FWIW, the GUI app I'm writing will use Qt and be able to be built on Windows, OSX and Linux; which will be handy if Polar ever does port their app to OSX and/or Linux sometime.

— Reply to this email directly or view it on GitHub https://github.com/pcolby/bipolar/issues/8#issuecomment-47841977.

pcolby commented 10 years ago

It is already available on mac.

Oh, cool! I couldn't find any download link... didn't look too hard though.

I've been looking for a reason to dust off my Mac Mini :smile:

In the meantime, any chance you could get a listing of the files included in Mac app?

dfeist commented 10 years ago

https://d9snzuuztz987.cloudfront.net/connect/download/FlowSync_2.1.5.pkg

Contents of FlowSync.pkg -Applications --FlowSync.app ---Contents ----_CodeSignature -----CodeResources ----Frameworks -----libpolar2.0.dylib -----libwslib.1.dylib -----QtCore.framework ------Resources ------Versions -------5 --------QtCore -----QtGui.framework ------Resources ------Versions -------5 --------QtGui -----QtMultimedia.framework ------Resources ------Versions -------5 --------QtMultimedia -----QtMultimediaWidgets.framework ------Resources ------Versions -------5 --------QtMultimediaWidgets -----QtNetwork.framework ------Resources ------Versions -------5 --------QtNetwork -----QtOpenGL.framework ------Resources ------Versions -------5 --------QtOpenGL -----QtPrintSupport.framework ------Resources ------Versions -------5 --------QtPrintSupport -----QtQml.framework ------Resources ------Versions -------5 --------QtQml -----QtQuick.framework ------Resources ------Versions -------5 --------QtQuick -----QtScript.framework ------Resources ------Versions -------5 --------QtScript -----QtSensors.framework ------Resources ------Versions -------5 --------QtSensors -----QtSql.framework ------Resources ------Versions -------5 --------QtSql -----QtV8.framework ------Resources ------Versions -------5 --------QtV8 -----QtWebKit.framework ------Resources ------Versions -------5 --------QtWebKit -----QtWebKitWidgets.framework ------Resources ------Versions -------5 --------QtWebKitWidgets -----QtWidgets.framework ------Resources ------Versions -------5 --------QtWidgets -----QtXml.framework ------Resources ------Versions -------5 --------QtXml ----Info.plist ----MacOS -----FlowSync ----PkgInfo ----PlugIns -----accessible ------libqtaccessiblequick.dylib ------libqtaccessiblewidgets.dylib -----imageformats ------libqgif.dylib ------libqico.dylib ------libqjpeg.dylib ------libqmng.dylib ------libqtga.dylib ------libqtiff.dylib ------libqwbmp.dylib -----mediaservice ------libqavfcamera.dylib ------libqavfmediaplayer.dylib ------libqqt7engine.dylib ------libqtmedia_audioengine.dylib -----platforms ------libqcocoa.dylib -----printsupport ------libcocoaprintersupport.dylib -----sqldrivers ------libqsqlite.dylib ------libqsqlodbc.dylib ----Resources -----empty.lproj -----flowsync.icns -----qt.conf

pcolby commented 10 years ago

Definitely Qt5 based, so should be possible to build / run the hook on Mac too :smile:

dfeist commented 10 years ago

BTW, while we know Polar use protobuf between FlowSync and their servers, any idea whats used between FlowSync and V800? Is there any way to hook in there, could it potentially be an easier format to work with or open up more possibilities?

pcolby commented 10 years ago

any idea whats used between FlowSync and V800? Is there any way to hook in there

No idea... it could use protobuf there too, but just as likely doesn't. Getting a hook into there probably requires some knowledge of the USB stack on the platform (Windows vs Mac)... perhaps some stracing on Mac would give some hints? (I've never tried sniffing USB devices)

pcolby commented 10 years ago

Just FYI, I've created a Bipolar group on Google Groups - http://groups.google.com/d/forum/bipolar-app

Feel free to continue the conversation here or there - whichever is easiest for you :smile:

Cheers.

pcolby commented 10 years ago

The OSX hook is working on my dev machine :smile:

Now on to packaging up the hook.

pcolby commented 10 years ago

All the unit tests pass on OSX... good sign.

pcolby commented 10 years ago

Mac supported add in the just-released version 0.2 :smile: