manbeardgames / DiscerningEye

Gathering Companion App For FFXIV
0 stars 0 forks source link

Read me additions #16

Open Th3MadHatter opened 8 years ago

Th3MadHatter commented 8 years ago

I hear a lot of people ask "does Discerning Eye break the EULA?" and "What are all those servers its connecting to? Virus?!" I generally answer "no" on the first one since I don't think it injects anything, reads any memory or alters the game in any way but the second one I usually just say "databases" but I really can't answer that honestly since I don't know what API's you are connecting to and what the reason is.

It would be nice to add to the Read me, especially the part where it does or does not break the EULA, for those a little more tech savvy I've seen it connect to germany, australia and a few other places I can't recall but since they are API's its really hard to "whois" them without just getting a random name from someone.

Either way, awesome program!

manbeardgames commented 8 years ago

DiscerningEye uses a framework for installation and update management called Squirell.Windows. This is configured to check the github release page for DiscerningEye for a newer release than you have installed and download the newest one if you don't have it.

It also uses the GitHub API to check for an updated data file which just contains the data for the items.

That's all the connections it makes, both to github and one using the Squirrel.Windows frameworks

As far as breaking EULA, the app does not do any scraping of data from the game files, nor does it read any game memory. The eorzea time is calculated based on the same method the game uses to calculate eorzea time, it doesn't read it from the game. Essentially it's a glorified spreadsheet.

Can you send me the connections you see it using to go to Germany, Australia, and the other places. Like I said, the only connections the app makes is one startup for the updates and those connect to github. The code for the data file updating can be found in the App.xaml.cs file in the UpdateAlarmData function (https://github.com/dartvalince/DiscerningEye/blob/master/DiscerningEye/App.xaml.cs) The app updating is part of the Squirrell.Windows framework, which isn't wrapper for the exe, which that code is available on github at https://github.com/Squirrel/Squirrel.Windows

Th3MadHatter commented 8 years ago

Oh yeah I noticed it uses Squirrel already, I don't really do any projects on this account I just fork things and make suggestions or add small commits.

The idea behind adding this to the Read me is the fact that you have to (as someone once told me) "act like anyone using your stuff is a total idiot", it sounds extremely harsh but I've had the "does it break EULA" question at least 20 times already. The connections is something someone else noticed, I could set up a sniffer or something and see what exactly it connects to, I so far just saw it connect to a server owned by a Japanese person and I think one connection to australia. I'll try and document it as I go but I too am fairly busy at the moment, I'm just giving user feedback based on feedback I get from others as well :wink: People are always paranoid about losing their FF account so I understand them asking questions about it.

Thanks for the exact link to the update references btw, I haven't had time to check out the entire code yet but I'll be sure to when I have a moment.

manbeardgames commented 8 years ago

Np, like i said, I'd be interested to see where it's connecting to exactly. The only connections it should be making are to GitHub to check for updates, those are the only one's I've coded into it. Unless there is something with the Squirrel wrapper that is making the outgoing connections. I'll research into that, and if so, I'll be dropping Squirrel as the installer.

To be honest, i kinda want to drop Squirrel anyway. I originally went with it to integrate a seemless update experience without having to manually code out an entire module for it, but it was way more hassle to setup than i wanted, and it still has issues that aren't resolved in the current build.