{"id":23673639,"url":"https://github.com/oil3/therm-app-mac","last_synced_at":"2026-07-22T14:32:59.360Z","repository":{"id":270091399,"uuid":"909312194","full_name":"Oil3/therm-app-mac","owner":"Oil3","description":"Mac OS app for Opgal's \"Therm-app\" thermal camera. work-in-progress, that works.","archived":false,"fork":false,"pushed_at":"2025-01-03T12:18:24.000Z","size":314,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"oil3","last_synced_at":"2026-07-22T14:32:57.594Z","etag":null,"topics":["flir","therm-app","thermal-camera","thermapp","usb"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Oil3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-28T10:24:26.000Z","updated_at":"2025-10-07T09:13:07.000Z","dependencies_parsed_at":"2024-12-28T11:24:42.313Z","dependency_job_id":"0bd6208e-89d5-4d74-88ae-42f655d4a0f2","html_url":"https://github.com/Oil3/therm-app-mac","commit_stats":null,"previous_names":["oil3/therm-app-mac"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Oil3/therm-app-mac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oil3%2Ftherm-app-mac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oil3%2Ftherm-app-mac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oil3%2Ftherm-app-mac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oil3%2Ftherm-app-mac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Oil3","download_url":"https://codeload.github.com/Oil3/therm-app-mac/tar.gz/refs/heads/oil3","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oil3%2Ftherm-app-mac/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35766428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flir","therm-app","thermal-camera","thermapp","usb"],"created_at":"2024-12-29T12:52:37.560Z","updated_at":"2026-07-22T14:32:59.318Z","avatar_url":"https://github.com/Oil3.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"## therm-app-mac \n\nMac OS app for Opgal's \"Therm-app\" thermal camera. work-in-progress, that works.\n\nNo driver nor kernel nor 'sudo' needed.  \n\n\n## jan2025 : now we can see something.\nhttps://github.com/user-attachments/assets/d551f93d-7b25-4452-9184-69ab6e19cdb3\n\nhttps://github.com/user-attachments/assets/d2dffa27-8ca5-4594-8966-9e2b99d725fc\n\n\n###  I found the proper offsets\n\nThe command line tools use [libusb](https://libusb.info/) (so does the official Android apk), and are based on the [public debug code](https://github.com/Pidbip/ThermAppCam). \n\nThe Swift app is 100% native and is inspired from [Didaktek's Simple-USB](https://github.com/didactek/deft-simple-usb) and [ftdi-synchronous-serial](https://github.com/didactek/ftdi-synchronous-serial).  \n\nEverything is notarized and hardened.\n### Download from [Releases](https://github.com/Oil3/therm-app-mac/releases) or the Zip files directly, or compile yourself:\n### Compiling the CLI tools in terminal\n`clang thermapp.c thermapp_main.c -I/opt/homebrew/include \\\n-L/opt/homebrew/lib -lusb-1.0 -lpthread \\\n-o thermapp`\nor `thermapp_ffmpeg.c` instead of `thermapp_main.c`.  \nI installed `libusb` with `brew install libusb` . Besides trying to update Python (insane thing), Homebrew has never made me lose time.\n### Compiling the  CLI tools in Xcode\nCommand-line-tool as target, C as language, add info.plist in build settings, set a bundle name, set search paths for the libusb, setup hardened runtime in capability and authorize the library, automatic signing management with a Developper ID Application certificate, ,,, , compile and archive, zip the executable and finally upload for notarization via 'notarytool'.\n\nHow:\nboth command line tools expect libusb at `/opt/homebrew/lib/libusb-1.0.dylib` \nnotarized/gatekeeper approved but might need to be launched from terminal.\nOne can check notarization of command-line tools with `spctl -assess --verbose --type install filepath` (or any filetype that can't have an embedded staple).\n\nThe swift app technically needs nothing, but until the why is figured out, it only recognizes the device after one of the command line tools has connected and exited at least once. Doing so actually creates a new row `\"Current Required\"`, inside macOS' System Information:\n![image](https://github.com/user-attachments/assets/35390954-fd6f-4a34-9524-690b52cae8a0)\n\n\n\n\n\nCLI \n`mac-thermapp-libusb` fetches and saves 50 raw frames (frame_%04d.raw).\n`thermapp_ffmpeg` uses ffmpeg to fetch 1000 frames and saves a .mp4 (out.mp4) video.\n\n\nI use a micro-usb to usb-c Anker branded cable.    \nGetting better, it's 25celcius, I don't know why image is flipped and rotated.\n\nhttps://github.com/user-attachments/assets/d551f93d-7b25-4452-9184-69ab6e19cdb3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foil3%2Ftherm-app-mac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foil3%2Ftherm-app-mac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foil3%2Ftherm-app-mac/lists"}