Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Put the code on GitHub #71

Open
aoshiwik opened this issue Jun 7, 2015 · 12 comments
Open

[Feature Request] Put the code on GitHub #71

aoshiwik opened this issue Jun 7, 2015 · 12 comments

Comments

@aoshiwik
Copy link

aoshiwik commented Jun 7, 2015

Crowdsource that code :)

@cppisking
Copy link
Owner

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
Copy link

LitSarah commented Jun 8, 2015

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
Copy link
Owner

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
Copy link

LitSarah commented Jun 8, 2015

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
Copy link
Owner

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
#71 (comment)
.

@aoshiwik
Copy link
Author

aoshiwik commented Jun 9, 2015

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
Copy link
Owner

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
Copy link
Author

aoshiwik commented Jun 9, 2015

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
Copy link
Owner

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
#71 (comment)
.

@aoshiwik
Copy link
Author

aoshiwik commented Jun 9, 2015

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

@DennisJWheeler
Copy link
Collaborator

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
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants