The definitive screen capture utility for macOS, designed with simplicity and efficiency in mind.
Homebrew cask star goal
-
Versatile 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.
-
Coming Soon - Post Media Task Plugins: Expand the capabilities of the app with plugins that can process your media after capture.
With ishare, you can easily set up your own custom uploader. Here's a simple guide:
-
Endpoint and Method: When you use a custom uploader, ishare will send a
POST
request to the endpoint you provide. -
Configurations: All the settings you've defined for your custom uploader will be included in this request.
-
Adding Your Media:
- For screenshots: They'll be added to the request body as
multipart/form-data
under theimage
key. - For recordings: They'll be under the
video
key.
(P.S. If you'd like, you can change these default key names)
- For screenshots: They'll be added to the request body as
If you're looking to integrate a custom endpoint for uploads using ishare, you're in the right place! By default, ishare supports and opens .iscu
files for configuration. They are text files containing JSON data and you can make your own:
๐ Specification
-
name (string):
What would you like to call your custom uploader? This is its display name, making it easy to identify. -
requestUrl (string):
Where should ishare send the files? In the example, swap outexample.com/upload
with your specific upload URL. -
headers (optional, object):
Need to send any extra headers? Add them here as key-value pairs, with the key being the header name and the value being its associated data. -
formData (optional, object):
If you need extra form fields in the upload, specify them here. Similarly, use key-value pairs where the key is the form field name and the value is the field content. -
fileFormName (optional, string):
Want a different file name for themultipart/form-data
request? Specify it here. -
responseProp (string):
Once the file is uploaded, where can we find its URL in the response? Swap out"url"
for the specific JSON property path.
๐ Example Configuration
{
"name": "ishare custom uploader",
"requestUrl": "example.com/upload",
"headers": { "Authorization": "Basic 0123456789" },
"formData": { "key": "value" },
"fileFormName": "image",
"responseProp": "url"
}
Above is an example custom uploader for ishare. It sends uploads to example.com/upload
, uses an authorization header, and includes additional form data. In the response, it expects to receive JSON with the property "url"
containing the URL of your upload.
Soon, ishare will allow you to script your own plugins that you can use as PMTs (Post Media Tasks).
- Special thanks to Inna Strazhnik for the app icon
Released under GPL-3.0 by @castdrian