Skip to content

Commit f6694fb

Browse files
authored
Merge branch 'dependabot-april' into dependabot/go_modules/golang.org/x/net-0.23.0
2 parents ce776e4 + 106f432 commit f6694fb

17 files changed

+492
-424
lines changed

.github/workflows/ci.yaml

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Build and Release
2+
3+
on: push
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v4
10+
- name: Setup Go
11+
uses: actions/setup-go@v5
12+
with:
13+
go-version: "1.21"
14+
- name: Install Depends
15+
run: go get .
16+
- name: Build amd64
17+
run: GOOS=darwin GOARCH=amd64 go build -v -o ./facetime_macos_amd64
18+
- name: Build arm64
19+
run: GOOS=darwin GOARCH=arm64 go build -v -o ./facetime_macos_arm64
20+
- name: Upload Build Artifacts
21+
uses: actions/upload-artifact@v4
22+
with:
23+
name: facetime-builds
24+
path: |
25+
./facetime_macos_amd64
26+
./facetime_macos_arm64
27+
release:
28+
needs: build
29+
if: github.ref == 'refs/heads/master'
30+
runs-on: ubuntu-latest
31+
permissions:
32+
contents: write
33+
steps:
34+
- name: Download Artifacts
35+
uses: actions/download-artifact@v4
36+
with:
37+
name: facetime-builds
38+
- name: Generate Tag
39+
id: tag_version
40+
uses: mathieudutour/github-tag-action@v6.2
41+
with:
42+
github_token: ${{ secrets.GITHUB_TOKEN }}
43+
- name: Generate Release
44+
uses: softprops/action-gh-release@v2
45+
with:
46+
name: Release ${{ steps.tag_version.outputs.new_tag }}
47+
tag_name: ${{ steps.tag_version.outputs.new_tag }}
48+
files: |
49+
./facetime_macos_amd64
50+
./facetime_macos_arm64

README.MD

+26-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# holysoles-facetime
2-
A Go webserver that wraps the FaceTime application on MacOS for interoperability using AppleScript.
2+
3+
A Go webserver that wraps the FaceTime application on macOS for interoperability using AppleScript.
4+
5+
## Overview
6+
7+
In macOS 12, Apple [introduced the ability](https://support.apple.com/guide/facetime/join-a-call-from-a-facetime-link-fctm2cd42547/5.0/mac/13.0) to create a link to a FaceTime call, that both others who have Apple devices can join in the native FaceTime apps, or other users via Chromium web browsers. Since this functionality also works on mobile, those who own a Mac but not an iPhone aren't able to initiate FaceTime calls to friends and family.
8+
9+
This runs on a Mac to wrap the native FaceTime application and its interaction with FaceTime links, using AppleScript and its ability to interact with applications.
10+
11+
## Setup
12+
13+
- Support has only been verified on macOS Ventura (13.6+) but may work on others.
14+
- After downloading, ensure you set execute permissions on the executable: `chmod u=rwx ./facetime_macos_arm64`
15+
- the environment variable `TRUSTED_PROXIES` should be set with the IP addresses/ranges that should be treated as proxy sources for Gin.
16+
17+
### Registering Daemon
18+
19+
A plist file for configuring a launchd daemon for running the web server is provided in the `/lib` folder of this repo. It can be loaded and unloaded with:
20+
21+
```bash
22+
launchctl load -w ~/Library/LaunchAgents/localhost.facetime-service.plist
23+
launchctl unload -w ~/Library/LaunchAgents/localhost.facetime-service.plist
24+
```
325

426
## API Call Examples
527

@@ -33,6 +55,9 @@ curl --location --request DELETE 'http://localhost:8080/link' \
3355
--data '{"link":"https://facetime.apple.com/join#v=1\u0026p=1bv0//lFFe6uYY7be8h5vw\u0026k=fkA7tz4FRASGFLc5345_pkFJ_rCQJAdJH6F8z2OGrIZ"}'
3456
```
3557

58+
## Contributing
59+
- Commits should follow [Angular Commit Guidelines](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines) for the Github Tag workflow's parsing.
60+
3661
## Credits
3762
Special thanks to the following projects for providing essential resources:
3863
- [gin-gonic/gin](https://github.com/gin-gonic/gin)

0 commit comments

Comments
 (0)