Skip to content

IamthatIam777/Squirrel.Server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Squirrel Server

This Rack application implements the server side component for Squirrel.Mac. It is Heroku compatible and should get you started setting up your own Squirrel server.

Bootstrap

Updates are read from db/releases.json which is a JSON array of Squirrel releases. Add your releases to this file before running or deploying.

Running locally

  1. Run script/bootstrap.
  2. Run script/server

The updates are served locally for testing, to use your local server set your update URL host to localhost:9393 for testing, see Configuring your client.

Deploying the server

  1. Install the Heroku Toolbelt.
  2. Run script/heroku-deploy to create the app on Heroku and push the code.

Configuring your client

Once you've deployed your sever, you need to configure a client to query it for updates.

The example server compares a version query parameter to determine whether an update is required.

The update resource is /releases/latest, configure your client SQRLUpdater.updateRequest:

NSURLComponents *components = [[NSURLComponents alloc] init];

components.scheme = @"http";

BOOL useLocalServer = NO;
if (useLocalServer) {
  components.host = @"localhost";
  components.port = @(9393);
} else {
  components.host = @"my-server.herokuapp.com";
}

components.path = @"/releases/latest";

NSString *bundleVersion = NSBundle.mainBundle.sqrl_bundleVersion;
components.query = [[NSString stringWithFormat:@"version=%@", bundleVersion] stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet]

self.updater = [[SQRLUpdater alloc] initWithUpdateRequest:components.URL];

About

Implements the server side of the Squirrel client frameworks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 87.4%
  • Shell 12.6%