New Platform: iOS #13
Labels
No Label
android
arch
backlog
blocked-on-external
bug
bugbash
component/bindings
component/bine
component/connectivity
component/cwtch
component/tapir
component/ui
cwtch-1.14
cwtch-1.15
cwtch-beta-1.1
cwtch-beta-1.10
cwtch-beta-1.11
cwtch-beta-1.12
cwtch-beta-1.13
cwtch-beta-1.2
cwtch-beta-1.3
cwtch-beta-1.4
cwtch-beta-1.5
cwtch-beta-1.5.x
cwtch-beta-1.6
cwtch-beta-1.7
cwtch-beta-1.8
cwtch-beta-1.9
design
duplicate
enhancement
flutter
funding-needed
help wanted
hybrid-groups
in-nightly
in-progress
invalid
ios
linux
mac
need-replication-or-investigation
ops
packaging
post-stable
question
questionable
requires-more-effort-than-we-can-spare
rust
scheduled
stable-blocker
tails
testing-needed
tests
tor
waiting-on-fix-confirmation
waiting-on-new-flutter-feature
whonix
windows
wontfix
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: cwtch.im/cwtch-ui#13
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
we have some proto PRs for this and a few interested people. What we need is time, and possibly resources ourselves to participate (we dont have any macs or iphones) lol.
But yes, at some point I'd like to set up a Mac/iOS work group and work with volunteers to move this along, time permitting :)
Is there still interest in this? If there's no one working on this at the moment, I could try taking this on next week!
EDIT: Also just to check, this is the existing branch for this right? https://git.openprivacy.ca/cwtch.im/cwtch-ui/src/branch/ios_build_port
EDIT 2: I should've checked the open PRs! #140
@NimaBoscarino definitely interested!
This one is definitely quite big and has many moving pieces. I'll try to summarize the current state.
See also #140 for some other discussion. (And flutter/flutter_app#78 for some much older discussion)
The main challenges with iOS revolve around getting an architecture that will work on the iPhone.
For Android there is Android specific server code (under
android/
) that manages the lifecycles (roughly: https://git.openprivacy.ca/cwtch.im/cwtch-ui/src/branch/trunk/cwtch-android-lifecycle.png although it has changed since we first implemented it)We would basically need a similar analysis for iOS - in particular focusing on how Tor connections would actually work there.
Work here might further be complicated by issues that Briar have previously looked into (https://code.briarproject.org/briar/briar/-/issues/445)
Ultimately, it may be that we need to introduce another (asymmetric) anonymous communication network (research pending) - to get Cwtch working suitable on iOS, but until then any work to push the build forward, make sure it builds nicely and/or formulating an architecture that would be acceptable to iOS policies is very welcome.
So with our recent improvements to tor management/start speed, and android stabalization work, we are almost in a spot where we feel it might be possible to investigatge this but we don't have the developer bandwidth to support it currently.
to start, we'd need a ios compiled tor binary,
then I'll need to review the ios branch work done in #140
and we currently can't test as we have no iphones, and I'm not sure what compiling for it looks like. We do at least have tentative support in libcwtch-go to compile for ios
I think the lack of an iOS version will reduce CWTCH adoption for all platforms because 50% of the U.S. population (and 20% of the world population) has an iPhone. While I would like to stop communicating with iPhone users, that is not entirely practical, and some security is better than none. 😟
You dont necessarily need them - you just need RAM to run Mac OS in a virtual machine
Free cloud builder service on Mac OS M1 virtual machine
https://codemagic.io/pricing/
The download page at https://cwtch.im/download/ should link to some page that explains all of the issues blocking release of an iOS version. Be more specific about your needs, and request hardware donations if desired.
A lot has changed in 6 years - are you sure those issues are still valid today?
Briar says: "To protect metadata, Briar can not use push messages"
'Jami' uses APN but does not send messages through push notifications: they send empty notification to wake up the app, and the app retrieves messages itself.
'Status' messenger supports iOS - https://status.im/
https://github.com/status-im/status-mobile
Discussion of push notification methods in Status
Discussion of alternative transport mechanisms
There is a TOR client for iOS: https://orbot.app/en/
https://github.com/guardianproject/orbot-apple
Brave browser has a built-in TOR proxy and runs on iOS...
https://github.com/brave/brave-core/tree/master/browser/tor
https://github.com/brave/brave-core/tree/master/components/tor
"Tor.framework is the easiest way to embed Tor in your iOS application. The API is not stable yet, and subject to change."
https://github.com/iCepa/Tor.framework
decentral1se referenced this issue2023-06-11 21:34:30 +00:00
Another project’s search for the best compromise on iOS - and doing a pretty good job of documenting their work, I think...
iOS push notifications
"Our iOS approach"
https://apps.apple.com/us/app/simplex-chat/id1605771084
https://github.com/simplex-chat/simplex-chat/blob/stable/README.md
https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md
https://simplex.chat/blog/
Android app supports access via Tor using Orbot SOCKS proxy
https://simplex.chat/blog/20220808-simplex-chat-v3.1-chat-groups.html
“Check out the last talk at MoneroKon - we do plan lightweight 2-hop onion routing as part of the protocol/network design, that would provide sender transport anonymity without noticeable latency costs…”
(#237: referencing the other thread here just for the sake of consolidating issues)