The definitive screen capture utility for macOS, designed with simplicity and efficiency in mind.
brew install --cask ishareVersatile Screen Capture
- Custom Region: Instantly and easily define and capture specific portions of your screen.
- Window Capture: Capture individual application windows without any clutter.
- Entire Display Capture: Snapshot your whole screen with a single action.
Flexible Screen Recording
- Video Recording: Record videos of entire screens or specific windows.
- GIF Recording: Capture your moments in GIF format, perfect for quick shares.
- Customizable Codecs and Compression: Fine-tune the parameters of the output video files.
Easy Uploading
- Custom Upload Destinations: Define your own server or service to upload your media.
- Built-in Imgur Uploader: Quickly upload your results to Imgur automatically.
High Customizability
- Custom Keybinds: Set keyboard shortcuts that match your workflow.
- File Format Preferences: Choose the formats for your screenshots (e.g. PNG, JPG) and recordings.
- Custom File Naming: Define your own prefix for filenames, so you always know which app took the shot.
- Custom Save Path: Decide where exactly on your system you want to save your captures and recordings.
- Application Exclusions: Exclude specific apps from being recorded.
Automatic Updates
Always stay on the cutting edge with built-in automatic updates.
By default, ishare supports and opens .iscu files for configuration. They are text files containing JSON data according to the iscu spec:
Note: Version 2.0.0 introduces breaking changes. Follow the migration guide for updates and consider reinstallation if you encounter issues post-update.
π Specification (2.0.0 and newer)
The custom uploader specification since version 2.0.0+ has the following structure:
{
"name": "Custom Uploader Name",
"requestURL": "https://uploader.com/upload",
"headers": { // optional
"Authorization": "Bearer YOUR_AUTH_TOKEN"
},
"formData": { // optional
"additionalData": "value"
},
"fileFormName": "file", // optional
"requestBodyType": "multipartFormData", // optional, can be "multipartFormData" or "binary"
"responseURL": "https://uploader.com/{{jsonproperty}}",
"deletionURL": "https://uploader.com/{{jsonproperty}}", // optional
"deleteRequestType": "DELETE" // optional, can be "DELETE" or "GET"
}All properties are case insensitive.
This new specification allows for more dynamic URL construction and handles deletion URLs.
For responseURL and deletionURL, JSON properties that are derived from the response payload can be defined as {{jsonProperty}}. There is support for nesting (upload.url) and arrays (files[0].url).
Click to expand
responseURLreplacesresponseProp.- New optional field
deletionURL. - Updated URL templating syntax.
- Replace
responsePropwithresponseURL, ensuring the URL includes placeholders for dynamic values. - If your service provides a deletion link, add the
deletionURLfield. - Update URL placeholders to match the new syntax:
For example,
"responseProp": "fileId"Turns into:
"responseURL": "{{fileId}}"Before:
{
"name": "uploader",
"requestURL": "https://uploader.com/upload",
"responseProp": "fileUrl"
}After:
{
"name": "uploader",
"requestURL": "https://uploader.com/upload",
"responseURL": "{{fileUrl}}" // also supported: "https://uploader.com/{{fileId}}"
}ishare is confirmed to be compatible with the following upload services:
- Special thanks to Inna Strazhnik for the app icon
Released under GPL-3.0 by @castdrian
