Commit Graph

95 Commits

Author SHA1 Message Date
Jackson Coxson
7782df8bd9 Set RemoteXPC initial root ID to 0 2026-02-17 07:33:51 -07:00
Jackson Coxson
93d2f1b28c Merge master into rppairing-try2 2026-02-14 13:32:14 -07:00
Jackson Coxson
a523f0cb9c Bump version 2026-02-13 12:10:20 -07:00
Jackson Coxson
77ea34f820 Bump version 2026-01-22 15:34:15 -07:00
fulln
9a71279fe9 feat(springboard): add get_icon_state and set_icon_state methods (#63)
* feat(springboard): add get_icon_state method for reading home screen layout

Add get_icon_state() method to SpringBoardServicesClient that retrieves
the current home screen icon layout from iOS devices.

Features:
- Read complete home screen layout including icon positions and folders
- Support for optional formatVersion parameter
- Works on all iOS versions (tested on iOS 18.7.3)
- Comprehensive documentation with usage examples

Note: This PR intentionally does NOT include set_icon_state() as that
functionality is non-operational on iOS 18+ (see issue #62 for details).

Tested on:
- Device: iPhone 16,2 (iPhone 15 Pro)
- iOS: 18.7.3 (Build 22H217)

* feat(springboard): add set_icon_state method with date precision fix

- Implement set_icon_state() to modify home screen layout
- Implement set_icon_state_with_version() with format_version parameter
- Add truncate_dates_to_seconds() to convert nanosecond precision dates to second precision
- Fix iOS compatibility issue where high-precision dates were rejected
- Successfully tested on iOS 18.7.3 (previously believed to be restricted)
- Follows pymobiledevice3 implementation pattern

* refactor(utils): extract truncate_dates_to_seconds to utils::plist module

- Move date truncation logic from springboardservices to reusable utils::plist module
- Add comprehensive unit tests for date truncation functionality
- Add public API documentation for the utility function
- This makes the date normalization logic available for other services that may need it

* perf(springboard): normalize dates on read instead of write

- Move date truncation from set_icon_state to get_icon_state
- Eliminates unnecessary clone() operation in set_icon_state
- Better performance when setting icon state multiple times
- Cleaner API: data from get_icon_state is directly usable in set_icon_state
- Users don't need to worry about date precision issues

* refactor(springboard): address PR feedback - use Option<&str> and add error validation

- Change format_version parameter from Option<String> to Option<&str> for consistency
- Remove outdated iOS 18+ restriction comments since setIconState works on iOS 18+
- Add error validation to get_icon_state method similar to get_icon_pngdata
- Update documentation to reflect accurate iOS compatibility

* Fix cargo clippy warnings

* Fix clippy warnings in plist.rs

* Add springboard CLI commands

---------

Co-authored-by: Jackson Coxson <jkcoxson@gmail.com>
2026-01-22 15:32:01 -07:00
Jackson Coxson
189dd5caf2 Refactor idevice tools into single binary 2026-01-03 16:58:36 -07:00
Jackson Coxson
2eebbff172 Bump reqwest 2026-01-03 16:58:36 -07:00
Jackson Coxson
6d9f0987c1 Migrate to plist_macro crate for utils 2025-12-31 21:21:37 -07:00
Jackson Coxson
f8c5010b34 Start work on iOS rppairing 2025-12-31 16:12:47 -07:00
Jackson Coxson
081cb2f8d8 Bump version 2025-12-28 19:33:59 -07:00
Jackson Coxson
637758ad7f Create pair_rsd_ios tool 2025-12-23 07:23:26 -07:00
Jackson Coxson
d6e7b9aef4 Use idevice-srp crate 2025-12-18 21:32:40 -07:00
Jackson Coxson
4bea784260 Initial rppairing support 2025-12-18 21:21:30 -07:00
Jackson Coxson
a708db6307 Bump version 2025-11-27 11:12:39 -07:00
Ylarod
c432627659 tools: add iproxy (#37)
* tools: add iproxy

* cargofmt and clippy cleanup

---------

Co-authored-by: Jackson Coxson <jkcoxson@gmail.com>
2025-11-27 11:11:06 -07:00
Jackson Coxson
f11a1bafff Enable SSL on iOS < 5 2025-11-17 12:27:45 -07:00
Jackson Coxson
c9ca113239 Merge branch 'master' into openssl 2025-11-17 11:01:54 -07:00
Jackson Coxson
08d6b41536 Add debug derives for all possible structures 2025-11-15 12:01:10 -07:00
Jackson Coxson
db894120da Add OpenSSL dependency 2025-11-15 11:45:34 -07:00
Jackson Coxson
247acb192d Bump version 2025-11-07 16:12:47 -07:00
Jackson Coxson
c8e5f52ccd Bump version 2025-11-07 12:13:30 -07:00
Jackson Coxson
7da735f141 Rewrite async runtime handling and port to tracing 2025-10-23 12:29:59 -06:00
Jackson Coxson
a297eed156 Replace log crate with tracing 2025-10-23 09:49:38 -06:00
Jackson Coxson
aff3ef589f Bump version
a
2025-10-18 11:49:25 -06:00
Jackson Coxson
ef14b7669d Bump version 2025-10-18 00:15:51 -06:00
Jackson Coxson
9a656a2a0e Bump dependencies 2025-10-17 16:06:11 -06:00
Jackson Coxson
7507b9609c Remove bt_packet_logger advisory check 2025-10-14 10:50:32 -06:00
Jackson Coxson
9f7e57bb21 Add cpp bindings for image mounter 2025-09-25 10:04:55 -06:00
Abdullah Al-Banna
da17fa01dc support installing .ipcc packages (#25)
* resolve conflicts

Signed-off-by: abdullah-albanna <abdu.albanna@proton.me>

* resolve conflicts

Signed-off-by: abdullah-albanna <abdu.albanna@proton.me>

* fix typos

* fix clippy

---------

Signed-off-by: abdullah-albanna <abdu.albanna@proton.me>
2025-09-16 13:54:00 -06:00
Jackson Coxson
378c84e6ef Bump version 2025-09-09 09:44:58 -06:00
Jackson Coxson
3a9c9f4705 RSD checkin for pcapd 2025-09-05 08:12:02 -06:00
Jackson Coxson
b6f93d7a06 Bump version 2025-08-24 17:53:24 -06:00
Jackson Coxson
82c3328afc Update FFI for app launch arguments 2025-08-24 17:53:05 -06:00
Jackson Coxson
104b5c1543 Implement ser/de for OsTraceRelay outputs 2025-08-23 09:01:58 -06:00
Jackson Coxson
47dbab0155 Implement bt_packet_logger 2025-08-17 20:44:53 -06:00
Jackson Coxson
2b75fe1c05 Diagnosticsservice FFI and CPP bindings 2025-08-16 12:21:47 -06:00
Jackson Coxson
ef7811b3a6 Implement diagnosticsservice 2025-08-15 20:19:37 -06:00
Jackson Coxson
da8c5ce377 Bump plist_ffi 2025-08-15 13:50:18 -06:00
Jackson Coxson
876e88d6fb Bump version 2025-08-13 08:03:24 -06:00
Jackson Coxson
618500fd0c Use platform-independent socket for FFI
Windows is truly awful

Remove config.toml
2025-08-12 11:36:29 -06:00
Jackson Coxson
4c9977157b Use downloaded plist.h 2025-08-12 07:52:44 -06:00
Jackson Coxson
c79fb2226a Add companion proxy support 2025-08-11 16:40:04 -06:00
Jackson Coxson
0a0899cd8a Create concurrent TCP handle and implement RSD for non-lifetime structs 2025-08-11 10:41:58 -06:00
Jackson Coxson
8549a82b55 Remove tokio rustls default features 2025-07-31 11:35:06 -06:00
Jackson Coxson
9f2de4d340 Partial diagnostics relay implementation 2025-07-30 15:47:54 -06:00
Jackson Coxson
6c7906b026 Replace libplist with plist_ffi crate 2025-07-30 14:39:32 -06:00
Jackson Coxson
bc25ceecec Remove testing pcap from app service tool 2025-07-21 16:26:13 -06:00
Jackson Coxson
6abad65f39 Obfuscate service names 2025-07-09 21:18:18 -06:00
Jackson Coxson
7832d851a8 Remove empty expect header 2025-06-12 15:29:31 -06:00
Jackson Coxson
868f44e7b0 Build .xcframework 2025-06-03 09:12:56 -06:00