cppisking / ffrk-inspector

Issues tracker for FFRK Inspector
10 stars 8 forks source link

[Feature Request] Put the code on GitHub #71

Open aoshiwik opened 9 years ago

aoshiwik commented 9 years ago

Crowdsource that code :)

cppisking commented 9 years ago

I've mentioned this a few times, but maybe not here on Github, that one of my concerns is that someone takes the code, changes a few lines that do something important, but doesn't change the database credentials to their own local test instance (because I seriously doubt anyone wants to go through the hassle of setting up a MySQL instance), and messes up the data because they change the way statistics are recorded in a way that's not correct, or something like that. It might just be me being paranoid, but that's the biggest reason it's not open source.

I'm willing to reconsider in the future, and I'm also willing to grant source access to individuals (it's already on GitHub, just that the repo is private) if I think they're serious about wanting to make contributions. If you just want to look at source for the sake of curiosity or to verify that it's not doing anything bad with the data or the proxy, you can use .NET Reflector and Export Source code

LitSarah commented 9 years ago

Maybe you could make a new dev branch on this that has the raw code without the credentials while keeping the master branch with the fully-functional compiled code? I know I'm interested in peeking under the hood to see about Mac/Linux versions.

cppisking commented 9 years ago

Nothing has the credentials embedded, you have to manually enter them, but they're posted on the front page. So if you're running a dev build it's very easy to accidentally point to the live database because you play the game "for real" for a little bit, then forget to change the credentials, make some changes, etc.

I actually have some ideas to at least make it very hard to connect to the production database with a dev build while still being able to make > 90% of the code open source, but it'll take some time and I have to balance it with other features. Plus starting this saturday I'll be completely away for 5 weeks.

I suspect it's going to be a fairly serious amount of work to port this to Mac/Linux. Were you thinking about trying to do it in a way that runs under Mono? Or just use some language other than C# entirely?

LitSarah commented 9 years ago

Just wanted to see what all the current code does and options available for porting (probably a different language entirely). This would definitely be a side-side project, but just thinking about a RasPi dedicated to this seems fun. :)

cppisking commented 9 years ago

Best I can say right now is to use .NET Reflector (it's a decompiler) and use the Export Source Code option. But I'm actively thinking of ways to make the core open source.

On Mon, Jun 8, 2015 at 2:14 PM Sarah Little notifications@github.com wrote:

Just wanted to see what all the current code does and options available for porting (probably a different language entirely). This would definitely be a side-side project, but just thinking about a RasPi dedicated to this seems fun. :)

— Reply to this email directly or view it on GitHub https://github.com/cppisking/ffrk-inspector/issues/71#issuecomment-110142414 .

aoshiwik commented 9 years ago

I have been considering creating a friends tab that will let users see all of their friends and their stats and soul breaks on one sort-able grid.

To accomplish this, i have started playing around with my own new fiddler plugin project. I'm not very far in implementation yet, so far i can break into my empty class that implements the fiddler interface, and i have saved some sample server json responses in text files for use in unit tests.

cppisking commented 9 years ago

I see. I agree it seems like a useful feature. My hands are tied at the moment because I'm leaving soon and I have a lot of things on plate this week to prepare for being away for 5 weeks. When I get back though one of the things I plan to work on is getting the code open-sourceable. No guarantees on the timeline, and plans my change etc so I'm not making any promises etc.

Your friends panel wouldn't really need access to the database though, so I think you could work on that independently of whether FFRK Inspector is open source. And then if/when it happens, you will already have most of the work done, and just need to integrate it into Inspector.

aoshiwik commented 9 years ago

Will do! Do i have permission to copy relevant core parts FFRKProxy to make integration easier and put the code on a GitHub fork of ffrk-inspector if I finish it?

cppisking commented 9 years ago

I would prefer if not. I haven't selected a license or anything yet, and honestly there's not much there you're going to find useful. I don't parse any of the messages having to do with friends, and the way I have the code set up you would end up having to copy quite a bit to fit in with the way I've done the response handling. And everything is going to change anyway when I start working on open sourcing, because I'm going to have to rip a bunch of code out and refactor to separate the open source parts from the non open source part. Plus the decompiled code from .NET Reflector isn't exactly the same as the source, because it has to go backwards from MSIL to C#, and there are many equivalent C# code sequences that compile to the same MSIL. So it won't make integrating any easier.

I think it would actually be easier for you if you just kind of did your own thing and got something functional. You'll probably think of more stuff along the way you want to do. Then when it comes time to actually do it, you'll be familiar enough with your code that it shouldn't be too hard.

Depending on how much progress you could make, I could consider giving you access to the source repo before I get back.

On Mon, Jun 8, 2015 at 10:19 PM aoshiwik notifications@github.com wrote:

Will do! Do i have permission to copy relevant core parts FFRKProxy to make integration easier and put the code on a GitHub fork of ffrk-inspector if I finish it?

— Reply to this email directly or view it on GitHub https://github.com/cppisking/ffrk-inspector/issues/71#issuecomment-110228126 .

aoshiwik commented 9 years ago

Rodger that, so far, my inspector is handling one of the friend responses and deserializing it into an object.

DennisJWheeler commented 9 years ago

I would have a great interest in helping with a Mono change. I'm usually on Ubuntu at work. I do also have c# experience. Did it at my last job for 3 years.

aoshiwik commented 9 years ago

Is there a version of fiddler that runs on linux or mac? As far as I know it is a windows only tool. ffrk-inspector is a fiddler add-on that heavily leverages the proxy work that fiddler does.