Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
URL Shrink provides a system-wide utility to shorten and expand URLs across multiple services (is.gd, bit.ly, etc.)
Objective-C
tag: 0.1

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Classes
English.lproj
URL Shrink.xcodeproj
Info.plist
README
URL Shrink_Prefix.pch
clipboard.png
main.m

README

URL Shrink
----------
URL Shrink is an OS X tool for converting URLs to shorter permalinks on various web services. It was designed to make it extremely easy to write a bit of code to integrate with other web services, including private URL services. Users can also specify their preferred service which is saved as a default.

License
-------
URL Shrink is licensed under the BSD license, and its adoption within Mac and iPhone applications is encouraged.

Wishlist
--------

- Automatic downtime detection and re-routing
- Compiled .framework and .a for including in Mac and iPhone apps, respectively
- Text service
- Command line client
- Shared default selection across applications (and sync across machines with MobileMe/Dropbox/etc.)

Installation
------------
Grab the source code from GitHub. You'll need to grab the TCDownload class from a different GitHub repository (http://github.com/amazingsyco/technicolor/tree/master). Compile the application and run.

Use
---
Run the application and copy a URL to the clipboard. Then, press Option-Shift-Space (hardwired for now). It will convert the URL to a shrunken URL in the background and replace it. That's all it can do for now.

URL Shrinkers
-------------
There are three shrinkers in the system right now:

1. Loopback - This is mainly for debugging, it simply returns the URL you submitted
2. TinyURL
3. is.gd

Writing a URL Shrinker
----------------------
You need to write three methods in your URL shrinker:

-(void)performShrinkOnURL:(NSURL *)url;
This performs the guts of the shrink. You can schedule asynchronous operations to run, such as NSURLRequests. Whenever the URL is retrieved (which doesn't have to be in this method), you must call doneShrinking:, supplying either the shrunken URL or nil if there was an error.

+(NSString *)name;
Must return a human-readable and unique name for your URL shrinker.

+load{ // just copy this verbatim
	[self registerShrinker];
}
Something went wrong with that request. Please try again.