Türkçe

Open-source software in Tellop

Tellop includes open-source software. Where a licence asks us to share the source code, you can download it here.

The full list of licences is inside the app: in Settings, under About, Open source licences.

For Tellop 0.4.0, the version on the download page:

Using your own FFmpeg build

You may replace the FFmpeg library inside Tellop with your own build of it, in your own copy of Tellop (the GNU Lesser General Public License version 2.1, section 6). Tellop opens such a copy only when every other file in it is what we published (apart from the signatures the steps below make again), the copy is signed as below, and you have turned it on. Do every step in Terminal: Finder can add files to the copy, and Tellop refuses a copy with any file added, removed or changed but that library.

  1. Copy Tellop into a new, empty folder of your own, keeping the name Tellop.app, and give the folder, the copy and its library short names for the steps after. The folder here is an example (keep the quotes if you change it), and if your Tellop is in ~/Applications (the Applications folder in your home folder), write ~/Applications/Tellop.app for /Applications/Tellop.app here and in the next step. The find line deletes from the copy the .DS_Store files Finder leaves in any folder of Tellop you have opened (with Show Package Contents): your Tellop opens with them, but Tellop compares a modified copy with what we published, file by file, and refuses it with any file added:

    DIR="$HOME/Desktop/Modified"
    mkdir -p "$DIR"
    ditto /Applications/Tellop.app "$DIR/Tellop.app"
    APP="$DIR/Tellop.app"
    find "$APP" -name .DS_Store -delete
    LIB="$APP/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib"
  2. Save the permissions Tellop is signed with (its entitlements). Tellop refuses a copy signed with any others:

    codesign -d --entitlements - --xml /Applications/Tellop.app > "$DIR/entitlements.plist"
  3. Put your build of the library in place of the one Tellop ships. Its source and build steps are in the FFmpeg archive above:

    cp /path/to/your/libffmpeg.dylib "$LIB"
  4. Sign the library, then the framework that holds it, then the app, in that order:

    codesign --force --sign - "$LIB"
    codesign --force --sign - "$APP/Contents/Frameworks/Electron Framework.framework"
    codesign --force --sign - --options runtime --entitlements "$DIR/entitlements.plist" "$APP"
  5. Turn the copy on, after signing. The file this writes names your signed library, and Tellop opens a modified copy only while the two match. It is your Mac account's, so it covers every copy you open; delete it to turn this off. A copy we signed never reads it:

    mkdir -p ~/Library/Application\ Support/Tellop
    shasum -a 256 "$LIB" | cut -c1-64 > ~/Library/Application\ Support/Tellop/modified-ffmpeg.sha256
  6. Quit Tellop if it is open (one Tellop runs at a time), clear the download mark the copy keeps from the original (macOS checks a marked app for Apple's approval, which a copy you signed yourself does not have), and open the copy. The first time the copy opens, macOS may ask for your Mac password so it can use what Tellop saved in your keychain.

    xattr -dr com.apple.quarantine "$APP"
    open "$APP"

We do not sign or support a modified copy (Tellop's terms, section 17).

A modified copy does not update itself: Tellop still finds and downloads a new version, but the updater inside Tellop checks it against the copy's own signature and refuses it, so the update ends with “The update didn’t finish”. To move to a new version, delete your old copy, download Tellop again and repeat these steps. If the copy does not open, delete its folder and repeat these steps.

Go to the download page