EidoGo
EidoGo is a web-based, open source SGF editor and Go application. Its homepage is http://eidogo.com/. Features include:
- SGF editing, saving, and uploading
- Joseki tutor based on Kogo's Joseki Dictionary
- Pattern search: click and drag at any time to select a search region. Powered by Kombilo
- Web-friendly permanent links. Examples: taisha joseki, pro games with taisha, taisha in an actual game
- (GNU Go) (no longer available due to excessive bandwidth usage)
- Latest tournament games as listed on KIN's Go Topics
- Representative sample of pro games from throughout history, many of which come from GoGoD (used with permission)
- iPhone-friendly
The EidoGo source code is licensed under the AGPLv3. The code project is hosted on GitHub at https://github.com/jkk/eidogo. It is maintained by Justin Kramer.
WARNING: Security Vulnerabilities in EidoGo
The embedded EidoGo SGF player is susceptible to Cross-Site Scripting (XSS) attacks via maliciously crafted SGF input. This issue may make websites embedding the EidoGo SGF player susceptible to XSS attacks as well.
This security issue was made public on June 14, 2015 (see GitHub Issue Report), two months after private disclosure to the developer and prior notification of several major websites affected by the issue. A patch attempting to resolve this issue was submitted as a pull request on May 13, 2015. However, currently the pull request has not yet been accepted, and hence the patch has not yet been incorporated into the main project code.
An updated minified Javascript file incorporating the patch has been prepared by the OGS developers and is available at http://cdn.online-go.com/eidogo.min.js. Several other websites have also adopted this file.
EidoGo Embedded SGF Player
The EidoGo Player (SGF viewer and editor) is an independent piece and can be embedded into any webpage. The basic Player is entirely client-side (HTML, CSS, JavaScript). It does not include the joseki tutor, pattern searching, saving, or GNU Go features. To use these features, you must set up code server-side.
The Player works in Firefox, Internet Explorer 6 and 7, Safari, Opera, and Chrome.
Here is an example of the stand-alone Player. To download it, see the Google Code project page
EidoGo Firefox Extension
EidoGo WordPress Plugin
There is a third-party plugin available to simplify adding EidoGo to a WordPress-powered blog or website.
Latest Updates
12 April 2008
Finished version 1.2 with many updates. Here's the changelog:
Site Features * Game archive, game info search * GNU Go handicap, color chooser * Kombilo-based joseki tutor * "Show pro games with this position" link in joseki tutor * Multi-page pattern search results Embedded SGF Player Features * View-only mode * Edit game info tool * Clear marker tool * Prompt to delete move when all properties are removed * "Jump to move" tool * French, Spanish, and Portuguese translations * New example using <iframe> that activates keyboard shortcuts only when the Player has focus * Refactored internal game tree structures to support future features such as collaborative editing Bug fixes * Multiple KGS comments no longer mess up SGF upon saving to server * Non-regular board sizes open as 19x19 instead of breaking * Most errors now allow you to continue playing or loading games
12 March 2008
I put up a simple, searchable Game Archive with around 10,000 games. These are the games that back the pattern search; I just made them available via name/event/date search.
Also fixed a problem with the pattern search dying and being unreliable.
I've switched to Git for a versioning system; the code is now hosted at http://github.com/jkk/eidogo.
Work continues on refactoring the guts of EidoGo to accommodate collaborative editing features.
21 January 2008
I've just released EidoGo version 1.1. Here's what's new:
Features
- Problem mode, crop/shrink-to-fit option -- see http://eidogo.com/example_problem.html
- Score estimate (server-side)
- Decoupled Player from BoardRenderer, which opens the door for alternative kinds of board renderers, like Flash
- Proof-of-concept Flash board renderer -- see http://eidogo.com/example_flash.html
Bug fixes
- Messed up or missing board coordinates
- Pass causing errant stone to be placed on board when skipping ahead
- Error for multiple game info properties within same node
--Jk
User Documentation
HarryFearnley: I could not find all the user documentation that I wanted in one place. I have used Eidogo to provide an interactive version of (a previous version of) Thomas Redecker's great page on the Most Difficult Problem Ever. My interactive version contains some detailed notes for users on how to use most of the features of Eidogo.
Questions and Concerns
rodney: I am looking for a tool to display Go games on webpage and found Eidogo just now. It's great tool. There is one question/problem I am seeking a good solution but not sucessful yet.
There are lots of online SGF files for Go games from Chinese sites. For example: http://weiqi.sports.tom.com/qipu/200902/13lg-f-2a.sgf The problem about this kind of sgf file is that, the comments are encoded in GB2312 or GB18030. Javascript code would treat them as unicode and display choas characters on the web page even if you set <meta http-equiv="Content-Type" content="text/html; charset=GB2312"/> in HTML.
So I think it may need some javascript code to convert GB2312 encoding string to unicode string. Do you have any good idea about how to solve this problem?
Thanks a lot.
axd: How to you upload SGF from URL? Any documentation on that? Is it possible to delete games (to avoid cluttering the server with useless game pieces)
Jk Go to the "Upload" page and enter the URL of the SGF you want to upload in the provided box and submit. There's no way to delete games; I'm not worried about clutter -- SGFs are pretty small.
Malcolm (2008-01-31) I really like this. I'm sure it will be very useful. One comment however - there doesn't seem to be a way to delete a move or a subtree of variations. Also, it would be lovely for this site to have a more complete database, or even a bit more search function on the games available. Anyway thanks for this resource.
Jk Glad you like it. Deleting moves is on the to-do list, along with removing markers and editing game info. I'm unsure to what extent I can/want to provide a complete game archive with browsing and searching, for a few reasons:
- I don't own a complete game archive, so would need to use the games from an existing collection such as GoGoD. I'm relatively certain I could strip all comments from such a collection and use it legally, but that may not be the most ethical or considerate thing to do. I make no money from EidoGo and give it all away under an open source license, but still.
- I don't currently have the server resources necessary to allow pattern searches on more than about ten thousand games. Most pro game archives have forty to fifty thousand games.
- Other sites like GoBase and Go4Go exist with plenty of games, so I would be reinventing the wheel (albeit in a free an open source manner)
Anonymous: The latest version, as of 2008-03-02, allows illegal moves like moving where you automatically die.
Jk Thanks for the feedback. Under certain rulesets, suicide is actually a legal move. See Suicide. I've deliberately left this in so it's possible for EidoGo to replay games that contain suicide moves. Implementing proper rulesets may happen but isn't a priority yet.
Harleqin: Could you add full support for the SGF (FF[4]) Size tag? Currently, rectangular boards do not work.
golearner (July 10, 2010) -- I don't understand how to make a center search. When I go to "pattern search" (at the top), step 3 says choose corner search or center search, but I only see a "search" button after I select a region not including the edge, and clicking on it produces "For corner searches, your selection must touch two adjacent edges of the board." (It's been a great tool otherwise!)
- Uberdude You can no longer do a centre search. I too was puzzled and emailed the creator Justin, he said
"Sorry for the misleading instructions. There used to be a center search but I removed it because it was taking up too much CPU time on the server. It may return at some point, but for now there's only corner search.
Justin"
Comments
Klay This is fantastic. Some of the sweetest go-code i've seen (and i've seen all the open source stuff, and a lot of it sucks, esp. on non-standard distros). I can't wait to try embedding it! Nice work Justin!
AmonAmarth I agree, that's a solid bit of code you did there. I am in no way even close to really understanding it, but it still is easy to use for someone like me. I use it on my (currently growing...) website http://www.kyu2dan.com , which effectively would not exist if it weren't for EidoGo. Thanks a million!
pio: I created a scoring tool for Eidogo, please test it out! http://owgs.org/static/example.php
pio: I also just added ko and suicide rule checks to Eidogo. Simple ko, not superko (which I plan on adding later as a separate option). Same URL.
Bug reports
tderz: Is SGF-download from EidoGo possible? I do not succeed.
Sorry, it works now.
atimholt: I just played against GnuGo, and I accidentally played on a point that I should not have been able to, due to ko. See move 28 (and 27) of this game: http://eidogo.com/#1Zhb0vn
In a related vein, is there a way to 'take back' against Gnu Go, i.e., to be able to review a game in such a way that I will be able to see what would have happened had I played differently a dozen moves previous?
Lawrie Hodges: I have recently downloaded and experimented with the embedded player and am pleased with it.
BUT Setting showGameInfo = false; does not work properly (it seems to me). It prepends the Game Information to the first comment. Setting true separates them and dislays the game information beneath the board. But in no way can I supress it entirely.