The short story: I wrote a custom Gyazo client and server script that lets you name your screenshots, save as PNG or JPG (the original allows only PNG), and an option to save the file locally.
The long story: I’ve been using Gyazo for instant screencaptures for the past few years now. Back in mid-2010 I thought “the provided tool is cool, but I want to host the images on my own domain!” and found this post by Ben Alman that had a cool PHP script that let you do that. This handled the server-side stuff, but the problem was that tutorial was written for the Mac version of the Gyazo client, and I used the Windows version, which was significantly more difficult to modify. After some tinkering with the source code I managed to hardcode my website in there, and my custom Gyazo has been working fine since then. I helped some other people set it up on their domains too.
However, using it over the past two years or so, I felt it was a bit lacking. I have about 1000+ images uploaded to my domain using custom Gyazo, and they were all in a single directory, with randomly-generated file names (after a while I changed it so that they were named sequentially, but still). This made it really difficult to find images without depending on thumbnails or seeing the full images. Also, while PNG images are great, I found that often I wanted to just upload JPG images, so I could screenshot a larger variety of things without ending up with a 2MB image. In addition, I didn’t want to have to modify the source code every time I wanted to change the host info (I’ve never had to do it except when helping other people set it up, but I didn’t like the fact that I had to hardcode domains in the source each time).
So I spent the past few days trying to learn Visual C++ (after a futile attempt to do it all without having to install a bloated IDE) and how to edit Gyazo to do what I want. I ended up with a client I’m calling Gyazaux (I dunno, it looks like a cool name).
Run the program and select a rectangular region. A dialog will pop up, asking you to name the file and choose an extension (PNG or JPG). Click OK and it will upload the file to the server with the name you choose (assuming you use the PHP script I modified from Ben Alman’s). You can specify host settings in a .ini file, along with a few default options. There’s also an option to specify a local folder to save to (maybe even Dropbox sharing?). You can even disable the dialog box, and it’ll use the default settings.
As for the server-side PHP script, there’s an option to automatically upload the file to a directory based on the current date (e.g., example.com/images/2013/01/imagename.png), which can help avoid having 1000+ images in the same directory. It checks the files to determine whether it’s a png or a jpg before saving the image to the specified directory.
Anyway, that’s it. Go try it out if this interests you, and if you find any issues, let me know! Download the executable and other files in a zip file here. There’s lots of other forks of the Gyazowin repo that seem to have a lot of cool features too.