kakaroto / swproxy Goto Github PK
View Code? Open in Web Editor NEWSummoners War Data Extractor and Parser
License: GNU Lesser General Public License v3.0
Summoners War Data Extractor and Parser
License: GNU Lesser General Public License v3.0
When running the GUI on Windows, it was just showing just a generic icon that made it look like there was an icon missing.
Threw this together for if you wanted to have an icon for the exe or top corner icon on Windows. Been awhile since I've used Linux or OS X, so I can't remember if they have the icon showing anywhere on open windows.
If you would like to use, I'm open to any tweaks and I can turn it into an actual ICO file.
Hi, when the problem with IOS will be fixed ? :)
When I run SWproxy.py i get this, and when i open my SW the data doesnt gathers.
Admins-iMac-2:~ admin$ /Users/admin/Downloads/SWProxy-0.99.1/SWProxy.py ; exit;
Written by:
KaKaRoTo
Authors:
Plugins:
Licensed under LGPLv3 and available at:
https://github.com/kakaroto/SWProxy
# ## Failed to load GUI dependencies. Switching to CLI mode
Running Proxy server at 192.xxx.x.x on port 8080
Creating a new issue to track this issue
Error loading Python lib '/var/folders/g6/g6xWIqVUGuO6CmDUxKu2Rk+++TI/-Tmp-/_MEI7ueMOb/Python': dlopen(/var/folders/g6/g6xWIqVUGuO6CmDUxKu2Rk+++TI/-Tmp-/_MEI7ueMOb/Python, 10): Symbol not found: ___sincos_stret
Referenced from: /var/folders/g6/g6xWIqVUGuO6CmDUxKu2Rk+++TI/-Tmp-/_MEI7ueMOb/Python
Expected in: /usr/lib/libSystem.B.dylib
in /var/folders/g6/g6xWIqVUGuO6CmDUxKu2Rk+++TI/-Tmp-/_MEI7ueMOb/Python
logout
I tested it and get nothing, maybe they changed the encryption key?
Edit: Checked the proxy.log and it is transmitting the data ok, just not processing it
Does it no longer support windows? Well, I'm sure it does because windows supports python... but there isn't a guide for using it on windows. It only explains mac and linux.
http://puu.sh/nUkvt/c85b2f1556.png
Edit: Just saw in an unrelated / closed issue, that it wasn't ready for .exes to be built yet. Did someone jump the gun by posting to reddit? :p
I'm assuming that as @kakaroto is back he will create the release. Do we have any issue blocking the release or any kind of test to do ? @azrethos organized the issue tracker but I'm unsure if everybody is on the same page
Also, are we going to release a non-QT (console) version of SW Proxy ?
I can do the release if someone creates the mac package for me. I have already created a draft with the windows package
Two issues at hand:
In the installation instructions for Mac users. Under the "setup.py install" an additional note about using "python setup.py install" would be very helpful for some users. I ran into this issues personally. Using Mac OS 10.10.5 with Python 2.7.11 installed. Sorry if this is the wrong place to submit this. First time posting in GitHub.
I have solved this problem
Modify compatibility to Windows 7 can be performed !!
Sorry, causing distress
Do I need to uninstall the previous version of the SWProxy?
Do I then follow the same steps as before for installing this new version or did something change? It seems that there are a few differences in starting it up so I wanted to check.
I tried following the steps show, but it keeps telling me "No such file or directory" so I'm not sure what I have done wrong.
Last login: Sun Mar 27 13:34:22 on ttys000
[] ruby-2.2.1 $ sudo -H easy_install pycrypt dpkt yapsy] ruby-2.2.1 $
Searching for pycrypt
Reading https://pypi.python.org/simple/pycrypt/
Couldn't find index page for 'pycrypt' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
No local packages or download links found for pycrypt
error: Could not find suitable distribution for Requirement.parse('pycrypt')
[
Also apparently the yapsky plugins do not exist in these packages. Please help!
I am not sure if this is the appropriate place for suggestion, etc.
A chat plugin or some functionality would be helpful. Something that captures the chat messages and echos to console or store in file. I know I would find it useful to be alert when I get raid invites or certain individuals chat.
I do not think chat uses http so I a different kind of packet would need to be captured/parsed.
Hi,
u include ur jsons in the release file. Not sure if that was ur plan ;)
Greetings
I get the following error when running on a Mac using python 2.7.6
ERROR - Exception while executing plugin "DemoPlugin": 'command'
Traceback (most recent call last):
File "SWProxy.py", line 51, in onResponse
plugin.plugin_object.process_request(req_json, resp_json)
File "/Users/jfry/Downloads/SWParser-master/plugins/DemoPlugin.py", line 6, in process_request
print "Found Summoners War API request : %s" % req_json['command']
KeyError: 'command'
This is on the login screen very early in the process (Checking for Updates...)
As guildmaster i would like monitoring attacks of my guildmates.
Please make detailed List of Attacks from Guild Battle Log with next breakdown:
OppGuild_name, Guildmate_name, Oppguildmate_name, win/loss, Guildpoints_acquired, Max_guildpoints_from_GuildBattle.
Thanks
A lot of people are having issues running the proxy, either because of a router or firewall problem or because they don't have wifi and only have 3G on their phone, etc.. so the best way to make the proxy work for them would be to use a public server for the proxy.
I'm thinking it would be nice to have a server that users can set as the proxy, and when they access it as a web server, it would give them their csv/json files.
Since there's no authentication possible for the proxy, it could either list the files based on IP address (not practical if user wants access from PC and they are on different networks, which is the reason to use this in the first place). Or it could list (in last access order) all captured usernames, and then you can select your username to get the data. Disadvantage is the loss of privacy (you can already visit users, but you can't see their inventory runes)...
In either case, IF such a thing is developed, it would need a big huge DISCLAIMER stating that the user needs to trust 100% the server, because it will capture user information, and could be used to hack/hijack user accounts. And point to the FAQ on how to use/troubleshoot SWProxy locally run, and tell the user that this needs to be a last resort solution to be used only if they trust the server and to use at their own risks, etc...
This is low priority and just an idea, doesn't mean it will get implemented.
I don't know whether or not this is a reasonable request...but the idea of a mobile version of the proxy is very cool. To explain, I mean running the proxy on an additional mobile device and connecting your SW device through the second device the same as you would a PC. I play two accounts on a pair of old galaxy phones and often hotspot my main phone (nexus) and connect the two SW devices through my main phone's broadcast network. It would be cool to be able to run the proxy on my main (hotspot) device to capture the data of the two SW devices.
Eventually, I'd like to have a GUI pop open where you could start/stop the proxy, select the port for the proxy, it would have a status icon (red that turns green after the first request is received) so users know if they configured their phone/network correctly...
I'm sure there's plenty of other stuff that it could do too.
Running version 0.94:
Traceback (most recent call last):
File "SWParser.py", line 85, in parse_pcap
parse_login_data(resp_json)
File "/Users/justin.papez/Downloads/SWParser-0.94/SWParser/parser.py", line 244, in parse_login_data
wizard = data['wizard_info']
KeyError: 'wizard_info'
So is it just me or we can't sync the swproxy with the game again prior to the latest application?
Find and confirm the id of Legendary Scrolls and update inventory_map in plugins/GenerateRunes.py. Right now our best guess is that it's 7
First off, I'm not very good with Python, in fact besides SWProxy I have very little experience with Python.
When that's said, what's with all the loose files that py2exe generates? When trying to compile the repo locally I don't even get working exes using the command python setup.py py2exe
However, running pyinstaller on SWProxy.py writes a new SWProxy.spec file that produces all the loose dependencies, I'm not sure why it's doing that. Is it supposed to be doing that?
Also, does most windows users need both the GUI and the console? I'm attaching my own .SPEC file that consolidates all dependencies into a single executable and disables the console. Maybe someone with some more knowledge can educate a simple peasant.
The barion efficiency formula would benefit from being its own plugin, now with the new plugin system, it would be nice to even allow one plugin (rune extractor) to use other plugins to extend its functionality (add a new csv column).
I'm thinking plugins would have access to the plugins list, and we could use a csv.DictWriter, and plugins could have the method :
def process_csv_row(row, type, data)
row['new_column'] = 'value'
return row
where 'type' argument would be 'rune' or 'monster' or 'friend_rune', or 'scenario_run',etc.. these could be anything that the plugin that creates a CSV wants it to be (they'd need to be unique among plugins), and 'data' argument would be specific to the plugin, so for example 'rune' type would have a rune dictionary as 'data', etc...
I'm using windows 10 and my phone is a Samsung s6
After following all steps, I open up SW and nothing loads in the window, but I can get into the game.
I've tried everything typed here in the comments:
https://www.reddit.com/r/summonerswar/comments/4c9tol/swproxy_not_working_windows_10/
I've also tried the SWProxy FAQ
but nothing seems to work :(
help?
Heya. I have been unable to get a log for a while now. I run swproxy.exe, get the phone connected to the proxy, but it makes no proxy.log or any of the various log files for the optimzer or swarfarm. I know the proxy is working at the correct port, because I cannot load any web pages as soon as I turn off the proxy. I am perplexed as to why I am not getting a proxy.log or anything. I do have it unzipped to c:\SWProxy as I had heard that is where it works by default. Anyone have any ideas?
on the new version 0.99.1 i cant download my awdata anymore, and i didnt change anything... last time i used version 0.97 which functioned perfectly and this version does nothing the only differents between them is their IP Adress, so can this be the problem?
(i have tried all solutions to solve the problem which you have wrote into the info)
![version99](https://cloud.githubusercontent.com/assets/10314332/14206469/9e52aa30-f813-11e5-9452-35c71c8d9f2f.png
here it doesnt work
Just a few minor improvements to the UI...
The UI should auto scroll to the bottom as new items are added to the list.
Also, "Found Summoners War API Request: ##" could include the summoner's id. I have multiple accounts running on the proxy so it would be useful to see which account each item is associated with.
https://www.quakenet.org/help/security/what-is-an-open-proxy-g-line-for
Aside from not being able to use quakenet, I believe this is a seriously vulnerability if I understand what quakenet is saying on the topic.
Is there anyway you can restrict it from the internet and only allow on local network?
The project has a GPL license, but the decryption code is a compiled binary only. This is not definitely not compatible with the GPL.
Out of curiosity, is there any reason the smon_decrypt library is not available as source?
I just noticed that with the logging changes I did, if we get an ERROR from the proxy module, it doesn't show anymore in stdout, i.e: try running it twice, the 'Address already in use' exception only shows in proxy.log but not in stdout, and the app exits without any information on why.
0.99.1 for windows cant run in windows pro 10
can run in windows 7
0.94 can run ,but cant grab anything
I see so many people completely lost on Mac, they don't even know how to change directory in a terminal. Having a single .app that they can double click and it opens for them (bundled with the dependencies) would be great. Would probably require the gui (issue #20) to be done first.
"First thing I noticed was that the IP on the cmd seemed to be using my local IP, whereas on the GUI version it was using a non local IP."
https://www.reddit.com/r/summonerswar/comments/490u23/swproxy_new_version_released/d0odyvb
I traced this relevant code change back to ffa2ff1
some interesting report :
". I have little observation, my pc have several network devices (virtual box, vpn, wifi, ethernet) and the app is not taking by default the wifi IP you should put to ignore 169.X.X.X IP following the standards of IP range i doubt most of ppl use those numbers"
https://www.reddit.com/r/summonerswar/comments/490u23/swproxy_new_version_released/d0ofux2
We need a extra method the plugin system so we would be able integrate sw proxy with tools like google spreadsheet or the Rune Opitimizer
OS: Ubuntu 14.04
Python: 2.7.6
Hi,
When launching SWProxy with -p parameter, an error it throwed and the process is stopped.
./SWProxy.py -g -d -p8085
########################################
# SWParser v0.98 - Summoners War Proxy #
########################################
Written by:
KaKaRoTo
Authors:
Youness Alaoui
Leonardo Stern
Azrethos
Plugins:
Generate Visit Friend
Print Unit Collection
Barion Rune Efficiency Plugin
Generate Runes
Demo Plugin
Licensed under LGPLv3 and available at:
https://github.com/kakaroto/SWProxy
Running Proxy server at 91.121.211.44 on port [8085]
Traceback (most recent call last):
File "./SWProxy.py", line 206, in <module>
start_proxy_server(options)
File "./SWProxy.py", line 174, in start_proxy_server
p.run()
File "/var/www/vhosts/shinsoft.fr/sw/swparser/SWProxy/proxy.py", line 554, in run
self.socket.close()
AttributeError: 'HTTP' object has no attribute 'socket'
And the error in proxy.log
2016-03-22 17:11:30,946: proxy - ERROR - Exception while running the server TypeError('%d format: a number is required, not list',)
Traceback (most recent call last):
File "SWProxy/proxy.py", line 540, in run
logger.info('Starting server on %s, port %d' % (self.hostname, self.port))
TypeError: %d format: a number is required, not list
2016-03-22 17:11:30,947: proxy - INFO - Closing server socket
sudo -H easy_install pycrypt dpkt yapsyo
Instead of using f.write, we should use csv.writer or csv.DictWriter (https://docs.python.org/2/library/csv.html) so that it will properly escape commas and quotes if it's in a username.
Is the data for unused grindstones & enchant gems buries somewhere (it must be)? I would be nice if this data could be packaged up and added to the optimizer file so it could at least list in a tab similar to the "adv rune" tab.
I have a mac/ios and when I open the swproxy and do everything, the game doesn't load and the info doesnt download to swproxy. Not sure what I'm doing wrong as I followed every step from tutorials.
Hello.. as the title states.. they have made some changes on the login process that makes the game to stop if you're using the proxy.. Don't know what, because if you start the game, login, and then change the proxy settings on your phone the requests gets detected by the proxy.. but if you close the game and open it again it will stay after the "reading data files" with the spinner animation only and nothing happens... Maybe they have changed the login system to be TCP or UDP based and the rest of the game stills HTTP?
@kakaroto do you remember at one point there was logging code; i believe it logged cairos runs to a csv file; it certainly was a good candidate for a plugin, (AFAIK the code is not in master in any form now). I wanted to explore moving it to a plugin; perhaps disabled by default?
Additionally how do you suggest we setup the concept of "disabled" plugins, (perhaps a folder? similar to sites-available
sites-enabled
for apache etc, [then they could be enabled via drag in drop by users])
Just curious if in your exploration of the protocol you have determined what the "binary_cookie" field in the "HubUserLogin" request is. I'm curious because I don't recognize the encoding (alphanumeric + underscores) and it seems to change pretty often.
Find and confirm the id of Water/Fire/Wind Scrolls and add them to inventory_map in plugins/GenerateRunes.py. Right now our best guess is that they're 4,5,6 but we're unsure of the order
Since SWProxy seems to be having some issues at the moment, I used Charles and Wireshark to grab a pcap file and I'm trying to put it through the decryption routine (Skroll did this successfully in #83).
I'm trying this in the SWProxy project folder:
> python SWParser.py myPCAPfile.pcap
But I'm getting this error:
Traceback (most recent call last):
File "SWParser.py", line 3, in <module>
from SWParser import parse_login_data, parse_visit_data
ImportError: cannot import name parse_login_data
Am I doing something wrong or is this because SWParser is no longer meant to be run by itself?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.