programmatūra · 5 min · 31.08.2026

Linux dēmons uzdodas par Apple Watch, lai ievilktu iMessage darbvirsmā

Tether 31. augustā izlaida versiju v0.2.19. Tas bija piektais laidiens četrās dienās. Projekts ir C++ dēmons Linux darbvirsmai, kas parāda iPhone paziņojumus un ļauj lasīt SMS un iMessage sarakstes un atbildēt uz tām. Mac dators starpniecībai nav vajadzīgs.

Repozitorijs GitHub atvērts 12. aprīlī. Kopš tā laika tajā ir 369 revīzijas, no kurām 346 pieder vienam cilvēkam, Zakam Bartelam. Projektam šobrīd ir 1043 zvaigznes, 22 atzarojumi, 13 atvērtas problēmas un MIT licence.

Rīki telefona un darbvirsmas savienošanai uz Linux nav jaunums. KDE Connect šo darbu dara jau gadiem, tikai iPhone gadījumā tas neko nevar izdarīt ar ziņām, jo iOS trešās puses lietotnēm SMS un iMessage saturu neatver. Tether apiet šo robežu caur Bluetooth profiliem, kurus Apple pats atstājis vaļā piederumiem.

Paziņojumi nāk pa ceļu, ko Apple uzbūvēja pulkstenim

Telefons pats no sevis uz Linux neko nesūta. Tether izmanto ANCS jeb Apple Notification Center Service, Bluetooth LE servisu, ko Apple izveidoja piederumiem, piemēram, Apple Watch. Piederums pieslēdzas telefonam, telefons tam padod paziņojumu plūsmu. Linux dēmons šajā shēmā uzdodas par piederumu. Tehniku pirmais parādīja ancs4linux, Python projekts ar 293 zvaigznēm, kuru Tether README nosauc pateicībās.

Pašu ziņu tekstu ANCS nedod. Tam vajag Bluetooth MAP profilu. Šo daļu Bartels balstīja uz projekta iphonebridge izpētes. Lai ziņas sāktu plūst, iPhone iestatījumos pie savienotā datora jāieslēdz divas atsevišķas opcijas: “Show Message Notifications” un “Sync Contacts”. README brīdina, ka tās var parādīties tikai pēc dažām minūtēm.

Divi kanāli vienai ierīcei

Funkcijas sadalītas starp diviem transportiem. Pa Wi-Fi iet starpliktuves sinhronizācija, failu pārsūtīšana un vienreizējo kodu apstrāde. Pa Bluetooth iet ziņas un paziņojumi. Lietotājs var ieslēgt vienu kanālu vai abus.

Wi-Fi pusē iPhone lietotne atrod dēmonu ar Bonjour un mDNS. Tam tā izmanto Apple Network.framework. Savienojums iet pa TLS 1.2. Abas puses uzrāda pašparakstītu X.509 sertifikātu, ko dēmons pēc tam piesprauž.

Uz Linux puses strādā četras daļas: dēmons tetherd, komandrindas rīks tether, GTK lietotne tether-gtk un WebExtension paplašinājums pārlūkam un pasta klientam.

Vienreizējie kodi iet pa četriem ceļiem

Autentifikācijas kodu pārnese ir sadalīta sīkāk nekā pārējās funkcijas. iOS koplietošanas paplašinājums aizsūta kodu no telefona tieši uz Linux starpliktuvi. Thunderbird papildinājums pats izķer kodu no ienākošā e-pasta. Pārlūka paplašinājums to ieliek pieteikšanās formā ar vienu klikšķi. Ceturtais ceļš iet caur Bluetooth: dēmons pamana kodu ienākošajā SMS vai paziņojumā un piedāvā to pārlūkam.

Visi četri ceļi beidzas vienā vietā, dēmonā. Paplašinājumi ar to sarunājas caur native messaging, tāpēc pārlūkam nav jāatver neviens ports. Glabātuve, kurā TOTP noslēpumi paliktu uz Linux puses, README ceļakartē vēl nav atzīmēta kā paveikta.

Kods pārrakstīts, lai licence paliktu MIT

ancs4linux un iphonebridge ir GPL projekti. Bartels Bluetooth daļu uzrakstīja no jauna C++ valodā clean room režīmā, tāpēc Tether var palikt zem MIT licences. Par to raksta It’s FOSS, kas arī citē autora atbildi uz jautājumu par KDE Connect. Tas esot labs rīks, tomēr tas neatrisina tieši to, kas Bartelam vajadzīgs: iMessage un SMS lasīšanu uz Linux, jo operētājsistēmas līmenī tādas piekļuves nav.

Tether mērķis ir atbalstīt visas Apple Continuity funkcijas uz Linux, kas tehniski ir iespējamas. Ja esat pametuši macOS, bet joprojām nēsājat kabatā iPhone, Tether dod trūkstošo ekosistēmas integrāciju.

Tā savu uzdevumu apraksta projekta README pirmajā rindkopā.

Prasības ir šauras

Sistēmas prasību saraksts atsijā lielu daļu darbvirsmu. Vajadzīgs Wayland kompozitors ar wlr-data-control protokolu. README kā piemērus nosauc Hyprland, Sway un Fenriz.

Bluetooth daļai vajag BlueZ 5.86 vai jaunāku ar ieslēgtu eksperimentālo bearer API. Tether šo iestatījumu pats neuzliek. Komanda tether --bt-setup izdrukā tieši tās komandas, kas konkrētajā mašīnā vēl jāizpilda. README paskaidro iemeslu: šie iestatījumi maina datora uzvedību Bluetooth tīklā arī ārpus Tether, tāpēc lēmums paliek lietotāja ziņā.

iPhone pusē lietotne prasa iOS 26.1. Paziņojumu spoguļošana uz iOS 18 un vecākām versijām nestrādā vispār. README tabulā ziņas un paziņojumu spoguļošana vēl atzīmēti kā beta. Starpliktuve, failu pārsūtīšana, iOS lietotne un abi paplašinājumi atzīmēti kā stabili. TOTP glabātuve ar Safari autofill ir plānos.

Arch lietotājiem ir AUR pakotne, ko uzstāda ar yay -S tether. GitHub laidienos ir .deb un .rpm faili. Tos būvē atsevišķi CI darbi Arch, Fedora, Debian un Ubuntu sistēmām. Ir arī Nix flake ar NixOS moduli, kurā Bluetooth eksperimentālais režīms un ugunsmūra atvēršana ir atsevišķi ieslēdzamas opcijas. Pamata ieslēgšana pakotni uzstāda, tomēr dēmonu nepalaiž.

Pirmkoda būvēšanai README dod gatavas atkarību rindas Debian un Fedora sistēmām. Vajag cmake, ninja, pkg-config, kā arī wayland, avahi, openssl, glib2, gtk3 un libnotify izstrādes pakotnes. iOS lietotne App Store veikalā saucas Tether – Linux Companion.

Projektā ir četri kontribūtori. Otrs aktīvākais ir devis 15 revīzijas.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no programmatūrasaistītie