Skip to content

khcrysalis/Protokolle

Repository files navigation

Protokolle

GitHub Release GitHub License

The iOS/iPadOS equivalent to macOS's Console.app. This app uses idevice and lockdownd pairing to stream messages from the trace relay, allowing you to see messages from other processes within iOS. Along with having advanced filtering and options for advanced debugging and performance.

Demo

Demo of streaming trace logs
Demo of streaming trace logs from Feather-idevice

Features

  • Stream system logs (messages)
  • View system logs with immense detail (i.e. pid, name, message, sendor, date, type).
  • Advanced filtering options for log types, keywords, and process ID's.
  • Performance options for logs, to prevent any excessive ram usage, and general usability of the app.
  • Ability to import/export logs to be viewed later.
  • Of course, open source and free.

Download

Download on the App Store

How does it work?

  • Establish a heartbeat with a TCP provider (the app will need this for later).
    • For it to be successful, we need a pairing file from JitterbugPair and a VPN.
    • Once we have these and the connection was successfully established, we can move on to the streaming part.
    • Before streaming, we need to check for the connection to the socket that has been created, routed to 10.7.0.1, if this succeeds we're ready.
  • When preparing the stream, we need to establish another connection but for syslog_relay using our TCP provider and heartbeat provider.
  • Then using out connection use a loop to get each message and feed it to a delegate, where its used to update our UI.

Due to how it works right now we need both a VPN and a lockdownd pairing file, this means you will need a computer for its initial setup.

Building

Minimum requirements

  • Xcode 16
  • Swift 5.9
  • iOS 16
  1. Clone repository

    git clone https://github.com/khcrysalis/Protokolle
  2. Compile

    cd Protokolle
    gmake
  3. Updating

    git pull

Using the makefile will automatically create an adhoc ipa inside the packages directory, using this to debug or report issues is not recommend. When making a pull request or reporting issues, it's generally advised you've used Xcode to debug your changes properly.

Sponsors

Thanks to all my sponsors!!
"samara is cute" - Vendicated

Star History

Star History Chart

Acknowledgements

  • Samara - The maker
  • Antoine - Code for filtering, refresh, and the sole reason why I even made this.
  • idevice - Backend functionality, uses os_trace_relay to retrieve messages.

License

This project is licensed under the GPL-3.0 license. You can see the full details of the license here. Code from Antoine is going to be under MIT, if you figure out where that is.

By contributing to this project, you agree to license your code under the GPL-3.0 license as well (including agreeing to license exceptions), ensuring that your work, like all other contributions, remains freely accessible and open.

About

The iOS/iPadOS equivalent to macOS's Console.app, for stock devices.

Resources

License

GPL-3.0, MIT licenses found

Licenses found

GPL-3.0
LICENSE
MIT
LICENSE_ANTOINE

Stars

Watchers

Forks

Sponsor this project

 

Contributors 2

  •  
  •  

Languages