
Захватывайте HTTP/HTTPS трафик из Android-приложений и отправляйте его в Proxyman для отладки.
Захватывает HTTP/HTTPS трафик из Android приложений и отправляет в Proxyman для отладки.
Atlantis Android — это вспомогательная библиотека для Proxyman, которая позволяет захватывать и просматривать сетевой трафик ваших Android-приложений без настройки прокси или установки сертификатов.
Добавьте репозиторий JitPack в ваш settings.gradle.kts:
dependencyResolutionManagement {
repositories {
maven { url = uri("https://jitpack.io") }
}
}
Затем добавьте зависимость в build.gradle.kts вашего модуля:
dependencies {
debugImplementation("com.github.ProxymanApp:atlantis-android:v1.0.0")
}
Или с помощью Groovy (build.gradle):
dependencies {
debugImplementation 'com.github.ProxymanApp:atlantis-android:v1.0.0'
}
Добавьте зависимость в build.gradle.kts вашего модуля:
dependencies {
debugImplementation("com.proxyman:atlantis-android:1.0.0")
}
Или с помощью Groovy (build.gradle):
dependencies {
debugImplementation 'com.proxyman:atlantis-android:1.0.0'
}
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
if (BuildConfig.DEBUG) {
Atlantis.start(this)
}
}
}
val okHttpClient = OkHttpClient.Builder()
.addInterceptor(Atlantis.getInterceptor())
.build()
Оберните ваш WebSocketListener с помощью Atlantis.wrapWebSocketListener(), чтобы захватывать сообщения WebSocket:
val listener = Atlantis.wrapWebSocketListener(object : WebSocketListener() {
override fun onOpen(webSocket: WebSocket, response: Response) {
// your logic
}
override fun onMessage(webSocket: WebSocket, text: String) {
// your logic
}
// ...
})
okHttpClient.newWebSocket(request, listener)
Откройте Proxyman на вашем Mac, запустите ваше Android-приложение и наблюдайте за появлением трафика!
atlantis-android/
├── atlantis/ # Модуль библиотеки
│ └── src/
│ ├── main/kotlin/
│ │ └── com/proxyman/atlantis/
│ │ ├── Atlantis.kt # Точка входа
│ │ ├── AtlantisInterceptor.kt # Перехватчик OkHttp
│ │ ├── AtlantisWebSocketListener.kt # Захват WebSocket
│ │ ├── Base64Utils.kt # Кодирование Base64
│ │ ├── Configuration.kt # Модель конфигурации
│ │ ├── GzipCompression.kt # Сжатие
│ │ ├── Message.kt # Типы сообщений
│ │ ├── NsdServiceDiscovery.kt # Обнаружение mDNS
│ │ ├── Packages.kt # Модели данных
│ │ └── Transporter.kt # TCP-соединение
│ └── test/kotlin/ # Модульные тесты
├── sample/ # Образец приложения
├── PUBLISHING.md # Руководство по публикации
└── README.md
Просто откройте папку atlantis-android в Android Studio. Она автоматически загрузит обёртку Gradle и синхронизирует проект.
Если у вас локально установлен Gradle:
cd atlantis-android
gradle wrapper --gradle-version 8.7
# Сборка библиотеки
./gradlew :atlantis:build
# Запуск тестов
./gradlew :atlantis:test
# Сборка образца приложения
./gradlew :sample:assembleDebug
./gradlew :atlantis:test
Смотрите PUBLISHING.md для инструкций по публикации в Maven Central или JitPack.
Apache License 2.0