Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Change service for geo-ip because of shutdown of freegeoip.net; update docs |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
269ef2bdc2f76b11ebf9d5c0a007c783 |
User & Date: | kevin 2016-04-02 22:20:12 |
Context
2016-04-02
| ||
22:22 | Further tweaks to documentation check-in: e62814de6b user: kevin tags: trunk | |
22:20 | Change service for geo-ip because of shutdown of freegeoip.net; update docs check-in: 269ef2bdc2 user: kevin tags: trunk | |
02:28 | Update help, image files check-in: adac992a96 user: kevin tags: trunk | |
Changes
Changes to QuickWho.py.
︙ | ︙ | |||
504 505 506 507 508 509 510 | self.searchfield.delete(0, 'end') self.searchfield.insert(0, data) self.getInfo() def geo_ip_lookup(self, domain): | | > | | | 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 | self.searchfield.delete(0, 'end') self.searchfield.insert(0, data) self.getInfo() def geo_ip_lookup(self, domain): service = 'http://ip-api.com/' kind = '/json/' ip = domain url = service + kind + ip return json.loads(urllib.request.urlopen(url).read().decode('utf-8')) #get the whois data def getInfo(self): if self.searchfield.get() == "": return domain = self.searchterm.get() self.status.set('Displaying domain information for ' + (str(domain.strip('=')))) self.clearData() #First, check to make sure domain name isn't hijacked by squatters, cf 'apple.com', add '=' if it is. try: self.pyurl = pythonwhois.get_whois(domain, normalized=True) except: self.inserturltext('Unable to retrieve some domain information for ' + (str(domain.strip('='))) + '.\n\n') try: self.bottomcanvas.delete(self.displaymap) self.map.destroy() except: pass #Ok, we have a usable domain. Retrieve and parse data. try: self.pyurl = pythonwhois.get_whois(domain, normalized=True) self.search_ip = domain.strip('=') self.domaindata = self.geo_ip_lookup(self.search_ip) self.latitude = self.domaindata['lat'] self.longitude = self.domaindata['lon'] #Isolate image creation from the domain text output. try: base_url = "http://open.mapquestapi.com/staticmap/v4/getmap?key=Fmjtd%7Cluubn9u82h%2Cr2%3Do5-902lq0&size=600,600&zoom=10&imageType=png¢er=" final_url = base_url+str(self.latitude)+","+str(self.longitude) f = urllib.request.urlopen(final_url) baseimage = os.path.join(self.cachedir, 'mapquest.png') |
︙ | ︙ | |||
600 601 602 603 604 605 606 | ) self.inserturltext("Creation Date: " + "\t" + ", ".join(['%s' % i for i in self.pyurl["creation_date"]]) + "\n") self.inserturltext("Expiration Date: "+ "\t" + ", ".join(['%s' % i for i in self.pyurl["expiration_date"]]) + "\n") self.inserturltext("Name Servers: " + "\t" + ", ".join(['%s' % i for i in self.pyurl["nameservers"]]) + "\n" ) self.inserturltext("Updated: " + "\t" + ", ".join(['%s' % i for i in self.pyurl["updated_date"]]) + "\n") self.inserturltext("Whois Server: " + "\t" + ", ".join(['%s' % i for i in self.pyurl["whois_server"]]) + "\n") | | | | | | | > | | | | | | | 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 | ) self.inserturltext("Creation Date: " + "\t" + ", ".join(['%s' % i for i in self.pyurl["creation_date"]]) + "\n") self.inserturltext("Expiration Date: "+ "\t" + ", ".join(['%s' % i for i in self.pyurl["expiration_date"]]) + "\n") self.inserturltext("Name Servers: " + "\t" + ", ".join(['%s' % i for i in self.pyurl["nameservers"]]) + "\n" ) self.inserturltext("Updated: " + "\t" + ", ".join(['%s' % i for i in self.pyurl["updated_date"]]) + "\n") self.inserturltext("Whois Server: " + "\t" + ", ".join(['%s' % i for i in self.pyurl["whois_server"]]) + "\n") self.inserturltext('IP Address:\t\t ' + self.domaindata['query'] + '\n\n') self.inserturltext('Latitude:\t\t ' + str(self.domaindata['lat']) + '\n') self.inserturltext('Longitude:\t\t ' + str(self.domaindata['lon']) + '\n') self.inserturltext('City:\t\t ' + self.domaindata['city'] + '\n') self.inserturltext('Region:\t\t '+ self.domaindata['region'] + '\n') self.inserturltext('Country:\t\t ' + self.domaindata['country'] + '\n\n') self.inserturltext('* * * * *\n\n') self.inserturltext('Geolocation powered by http://ip-api.com') self.inserturltext('\n\n') self.update() except KeyError: raise # self.inserturltext('\n'.join(self.pyurl['raw']) + '\n\n') # self.inserturltext('* * * * *\n\n') # self.inserturltext('Geolocation powered by http://ip-api.com') # self.inserturltext('\n\n') # self.update() # pass #If everything goes haywire, return an error message. except: raise self.inserturltext('Unable to retrieve domain information for' + (str(domain.strip('='))) + '.\n\n') try: self.bottomcanvas.delete(self.displaymap) |
︙ | ︙ |
Changes to buildapp.
︙ | ︙ | |||
60 61 62 63 64 65 66 | <channel> <title>QuickWho</title> <link>http://www.codebykevin.com/quickwho.html</link> <language>en</language> <item> <title>QuickWho $1</title> | | | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | <channel> <title>QuickWho</title> <link>http://www.codebykevin.com/quickwho.html</link> <language>en</language> <item> <title>QuickWho $1</title> <sparkle:minimumSystemVersion>10.11</sparkle:minimumSystemVersion> <pubDate>$PUBDATE</pubDate> <author>Code by Kevin</author> <description><![CDATA[ <p>This version of QuickWho has the following features and improvements: $RELEASE_NOTES ]]></description> <link>http://www.codebykevin.com/quickwho.html</link> |
︙ | ︙ |
Changes to scriptlibs/machelp/help.tcl.
︙ | ︙ | |||
160 161 162 163 164 165 166 | variable state catch {destroy $TOP} toplevel $TOP wm title $TOP "Help" frame $TOP.bottom -bd 2 -relief ridge | | | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | variable state catch {destroy $TOP} toplevel $TOP wm title $TOP "Help" frame $TOP.bottom -bd 2 -relief ridge ttk::button $TOP.b -text "Print" -command [list ::Help::PrintHelp $TOP] pack $TOP.bottom -side bottom -fill both pack $TOP.b -side bottom -expand 1 -pady 10 -in $TOP.bottom set P $TOP.p if {1} { ;# Need tags on treeview set state(haveTOC) 1 ::ttk::panedwindow $P -orient horizontal |
︙ | ︙ | |||
196 197 198 199 200 201 202 | # # ::Help::CreateTOC -- Creates a TOC display from tile's treeview widget # proc ::Help::CreateTOC {TOC} { variable W set W(tree) $TOC.tree | | | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | # # ::Help::CreateTOC -- Creates a TOC display from tile's treeview widget # proc ::Help::CreateTOC {TOC} { variable W set W(tree) $TOC.tree ttk::scrollbar $TOC.sby -orient vert -command "$W(tree) yview" #scrollbar $TOC.sbx -orient hori -command "$W(tree) xview" ::ttk::treeview $W(tree) -padding {0 0 0 0} -selectmode browse \ -yscrollcommand "$TOC.sby set" ;#$ -xscrollcommand "$TOC.sbx set" grid $W(tree) $TOC.sby -sticky news #grid $TOC.sbx -sticky ew |
︙ | ︙ |
Changes to scriptlibs/machelp/help.txt.
1 2 3 4 5 6 7 | title: QuickWho User Help alias: TOC - [Overview of QuickWho] - [Installing QuickWho] - [Using QuickWho] - [Scriptability and Services] | < < > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | title: QuickWho User Help alias: TOC - [Overview of QuickWho] - [Installing QuickWho] - [Using QuickWho] - [Scriptability and Services] - [Help] - [Acknowledgments] - [History] - [License] ------------------- title: Overview of QuickWho alias: Overview QuickWho provides a rich array of information about specific Internet domains that surpasses other command-line, GUI or web-based "whois" tools. Are you curious about who owns a particular domain name? Do you want to contact them, or gather more information about them? QuickWho can help you with these tasks. |
︙ | ︙ | |||
40 41 42 43 44 45 46 | QuickWho provides a rich array of information about specific Internet domains. It offers several ways to get information about a domain. The fastest way is to type in the name of the domain name you are querying in the search field, hit return or the "information" toolbar button, and view the data in the text display. You can also select "Get Information" from the "whois" menu. [quickwho-main] Here is an overview of what QuickWho provides: | | < < > > | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | QuickWho provides a rich array of information about specific Internet domains. It offers several ways to get information about a domain. The fastest way is to type in the name of the domain name you are querying in the search field, hit return or the "information" toolbar button, and view the data in the text display. You can also select "Get Information" from the "whois" menu. [quickwho-main] Here is an overview of what QuickWho provides: * Distills basic whois data to an at-a-glance list, with both domain information and geographic information about the domain. This is done through a mix of approaches: the Python pythonwhois library, for basic information about the domain; and the ip-api domain information server, which retrieves geographic information about the domain (city/state/country, latitude, longitude) based on the IP address. The raw whois data can also be displayed; this can be configured in the preferences. The result is that more precise, accurate whois data is delivered. * Displays the text data as rich text with clickable URL's for domain names and e-mail addresses, to facilitate e-mailing or displaying domain information in a browser. * Displays map information from the domain, based on OpenMapquest ([http://open.mapquestapi.com/staticmap/]) for map data.This can be useful for gathering more information about the domain. ------------------- title: Scriptability and Services alias: Scripting '''Mac Scripting''' QuickWho offers basic AppleScript support with the "get domain" AppleScript command. The "get domain" call takes a domain name as a parameter, and will display data about that domain in the QuickWho GUI and will also log the data information to standard output for use in other applications. To use QuickWho's AppleScript support, create an AppleScript like this: tell application "QuickWho" get domain "apple.com" end tell |
︙ | ︙ | |||
73 74 75 76 77 78 79 | end tell end tell QuickWho can also be called from the Mac's Services menu. To call QuickWho from the services menu, highlight a domain name in a Services-aware application (such as Safari, Mail or TextEdit) and select "QuickWho: Display Domain Information" from the Services menu. That domain name will be passed to QuickWho and the domain information displayed in QuickWho's main window. QuickWho also supports the ability to call other Mac applications from the Services menu. To call another application's service--for instance, to display a domain in Safari--simply highlight the text in QuickWho and then select the appropriate item from the Services menu. | < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < | < < | > > > > > | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | end tell end tell QuickWho can also be called from the Mac's Services menu. To call QuickWho from the services menu, highlight a domain name in a Services-aware application (such as Safari, Mail or TextEdit) and select "QuickWho: Display Domain Information" from the Services menu. That domain name will be passed to QuickWho and the domain information displayed in QuickWho's main window. QuickWho also supports the ability to call other Mac applications from the Services menu. To call another application's service--for instance, to display a domain in Safari--simply highlight the text in QuickWho and then select the appropriate item from the Services menu. '''Windows Scripting''' Windows scripting is currently under development. ------------------- title: Help alias: Help QuickWho provides comprehensive user documentation from the "Help" menu, and also provides tooltips for the toolbar buttons. Additional user support is available via the "Contact Code by Kevin" item in the Help menu. ------------------- title: Acknowledgments alias: Acknowledgments The following open-source technologies have gone into the development of QuickWho: * The Tcl/Tk GUI toolkit. Website: http://www.tcl.tk. License: [http://www.tcl.tk/software/tcltk/license.html] * The Python programming language. Website: http://www.python.org. License: [http://www.python.org]. * Ip-API ([http://www.ip-api.com]) for geo/IP data. * OpenMapquest ([http://open.mapquestapi.com/staticmap/]) for map data. * App icon from the Gnome project. Website: [http://www.gnome.org]. License: [http://creativecommons.org/licenses/by-sa/3.0/]. * Toolbar icons from Iconic project. Website and license: [https://github.com/somerandomdude/Iconic]. * Help viewer by Keith Vetter: [http://wiki.tcl.tk/19649]. * pythonwhois library. Website and license: [https://pypi.python.org/pypi/pythonwhois/2.4.3] ------------------- title: QuickWho Version History alias: History '''6.0 (May 1, 2016):''' * Updated whois library returns much better results. * Update to Python 3 modernizes development. * Initial port to Windows. '''5.1 (April 15, 2014):''' * Improvements to Sparkle update engine. * Minor bug fixes. '''5.0 (January 1, 2014):''' * Updated, modern UI with support for Retina displays. * Fullscreen support. |
︙ | ︙ | |||
206 207 208 209 210 211 212 | * Enhanced GUI with toolbar and keyboard shortcuts. * Quickly query multiple servers for whois information by browsing tree view. * Configure text display through preferences menu. * Save and print whois information. '''1.0 (December 1, 2008):''' * Initial commercial release. | > > > > > > > > > > > > > > > > | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | * Enhanced GUI with toolbar and keyboard shortcuts. * Quickly query multiple servers for whois information by browsing tree view. * Configure text display through preferences menu. * Save and print whois information. '''1.0 (December 1, 2008):''' * Initial commercial release. ------------------- title: License alias: License '''The MIT License (MIT)''' QuickWho source code: [http://fossil.codebykevin.com/fossil.cgi/quickwho/] Copyright (c) 2016 WordTech Communications LLC Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
Changes to scriptlibs/machelp/images.tcl.
more than 10,000 changes