Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/YacTeam/ohtipi
iMessage AutoFill in any browser on macOS 🔐
https://github.com/YacTeam/ohtipi
app macos
Last synced: about 2 months ago
JSON representation
iMessage AutoFill in any browser on macOS 🔐
- Host: GitHub
- URL: https://github.com/YacTeam/ohtipi
- Owner: YacTeam
- Created: 2021-03-10T23:22:04.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-21T23:33:21.000Z (over 2 years ago)
- Last Synced: 2024-06-27T09:34:50.742Z (3 months ago)
- Topics: app, macos
- Language: JavaScript
- Homepage: https://ohtipi.com
- Size: 3.67 MB
- Stars: 100
- Watchers: 5
- Forks: 10
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ohtipi
iMessage OTP AutoFill in any browser on macOS
### How's it work?
OhTipi relies on a local macOS app that looks for incoming texts with OTP codes in them. The macOS app copies those codes to your clipboard along with a notification. Everything happens locally and nothing is ever sent to a server.
[![OpenGraph Image.](https://sofriendly.s3.amazonaws.com/ohtipiopengraph.png "OpenGraph")](https://ohtipi.com/)
Download for macOS at [Ohtipi.com](https://ohtipi.com/)
***
## Run for development
```shell
npm run install;
npm run dev;
```💡 Note: During development, Full Disk Access permission must be granted to whichever app is running the `npm run dev` command (usually `Terminal.app` or `Visual Studio Code.app`). [More info...](https://github.com/Yac-Team/ohtipi/issues/6)
## Find the important bits
* [Main process](https://github.com/Yac-Team/ohtipi/blob/main/src/index.js)
* [iMessage service](https://github.com/Yac-Team/ohtipi/tree/main/src/libs/imessage) which queries the local `sqlite` database
* [Modified fork](https://github.com/Yac-Team/ohtipi/tree/main/src/libs/parse-otp-message) of [`parse-otp-message`](https://github.com/transitive-bullshit/parse-otp-message), includes [service list](https://github.com/Yac-Team/ohtipi/blob/main/src/libs/parse-otp-message/lib/known-services.js), [service patterns](https://github.com/Yac-Team/ohtipi/blob/main/src/libs/parse-otp-message/lib/service-patterns.js) and [auth words](https://github.com/Yac-Team/ohtipi/blob/main/src/libs/parse-otp-message/lib/auth-words.js). Particuarly difficult cases can otherwise be caught and handled within [custom filters](https://github.com/Yac-Team/ohtipi/blob/main/src/libs/parse-otp-message/lib/custom-filters.js)## Release flow
The following will only function with proprietary signing keys, etc. It is for internal use only.
### Standard release
```shell
npm run install;
npm run release;
```### Setapp release
Open `config.js` and set `{ build.setApp }` to `true`.
Make sure all `.node` native modules are compiled against the correct version of Node, Electron, etc. This project currently uses `sqlite3`, `node-mac-permissions` and `setapp-nodejs-wrapper`. The build script can be seen in `./build/build-setapp.sh`. `lipo` is used to cross-compile `.node` modules for both `arm64` and `x64`.
```shell
npm run build:setapp;
```Distribution can now be found in `/dist/mac-universal`.
💡 Note: You may need to re-codesign the Universal app bundle:
```shell
codesign -fv --deep -s CBA[..................] ./dist/mac-universal/Ohtipi.app
```