Giter Club home page Giter Club logo

ishare's Introduction

ishare logo

ishare

The definitive screen capture utility for macOS, designed with simplicity and efficiency in mind.

Sponsor Ko-FI Discord GitHub

Build and Release App GitHub release License issues stars

Homebrew cask star goal

Homebrew cask star goal progress


Download Latest Release

๐Ÿš€ Features

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Automatic Updates: Always stay on the cutting edge with built-in automatic updates.

  6. Coming Soon - Post Media Task Plugins: Expand the capabilities of the app with plugins that can process your media after capture.

ishare_menu

๐Ÿ“ค Custom Uploader Requests

With ishare, you can easily set up your own custom uploader. Here's a simple guide:

  1. Endpoint and Method: When you use a custom uploader, ishare will send a POST request to the endpoint you provide.

  2. Configurations: All the settings you've defined for your custom uploader will be included in this request.

  3. Adding Your Media:

    • For screenshots: They'll be added to the request body as multipart/form-data under the image key.
    • For recordings: They'll be under the video key.

    (P.S. If you'd like, you can change these default key names)

๐Ÿ›  Custom Uploader Setup

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 out example.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 the multipart/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.

Post Media Task Plugin Specification

Soon, ishare will allow you to script your own plugins that you can use as PMTs (Post Media Tasks).

๐Ÿ™Œ Credits

๐Ÿ“œ License

Released under GPL-3.0 by @castdrian

ishare's People

Contributors

castdrian avatar github-actions[bot] avatar igerman00 avatar aakifnadeem avatar enxg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.