Skip to content

Commit c47cef5

Browse files
committed
Fix readme
1 parent 0317056 commit c47cef5

File tree

5 files changed

+99
-29
lines changed

5 files changed

+99
-29
lines changed

.github/workflows/test.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
unit-tests:
11+
name: Unit Tests
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
18+
- name: Set up JDK 17
19+
uses: actions/setup-java@v4
20+
with:
21+
java-version: "17"
22+
distribution: "temurin"
23+
24+
- name: Cache Gradle packages
25+
uses: actions/cache@v4
26+
with:
27+
path: |
28+
~/.gradle/caches
29+
~/.gradle/wrapper
30+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
31+
restore-keys: |
32+
${{ runner.os }}-gradle-
33+
34+
- name: Grant execute permission for gradlew
35+
run: chmod +x gradlew
36+
37+
- name: Run unit tests
38+
run: ./gradlew :atlantis:testDebugUnitTest
39+
40+
- name: Upload test results
41+
if: always()
42+
uses: actions/upload-artifact@v4
43+
with:
44+
name: test-results
45+
path: atlantis/build/reports/tests/
46+
retention-days: 14

PUBLISHING.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,16 +143,16 @@ afterEvaluate {
143143

144144
developers {
145145
developer {
146-
id.set("nicksantamaria")
147-
name.set("Nghia Tran")
148-
email.set("nicksantamaria@proxyman.io")
146+
id.set("proxymanllc")
147+
name.set("Proxyman LLC")
148+
email.set("support@proxyman.com")
149149
}
150150
}
151151

152152
scm {
153153
url.set("https://github.com/ProxymanApp/atlantis")
154-
connection.set("scm:git:git://github.com/ProxymanApp/atlantis.git")
155-
developerConnection.set("scm:git:ssh://git@github.com/ProxymanApp/atlantis.git")
154+
connection.set("scm:git:git://github.com/ProxymanApp/atlantis-android.git")
155+
developerConnection.set("scm:git:ssh://git@github.com/ProxymanApp/atlantis-android.git")
156156
}
157157
}
158158
}

README.md

Lines changed: 39 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ Capture HTTP/HTTPS traffic from Android apps and send to Proxyman for debugging.
44

55
## Overview
66

7-
Atlantis Android is a companion library to [Proxyman](https://proxyman.io) that allows you to capture and inspect network traffic from your Android applications without configuring a proxy or installing certificates.
7+
Atlantis Android is a companion library to [Proxyman](https://proxyman.com) that allows you to capture and inspect network traffic from your Android applications without configuring a proxy or installing certificates.
88

99
## Features
1010

1111
- Automatic OkHttp traffic interception
12+
- WebSocket message capture (send, receive, close)
1213
- Works with Retrofit 2.9+ and Apollo Kotlin 3.x/4.x
1314
- Network Service Discovery (NSD) for automatic Proxyman detection
1415
- Direct connection support for emulators
@@ -63,7 +64,25 @@ val okHttpClient = OkHttpClient.Builder()
6364
.build()
6465
```
6566

66-
### 3. Run Your App
67+
### 3. Capture WebSocket Traffic (Optional)
68+
69+
Wrap your `WebSocketListener` with `Atlantis.wrapWebSocketListener()` to capture WebSocket messages:
70+
71+
```kotlin
72+
val listener = Atlantis.wrapWebSocketListener(object : WebSocketListener() {
73+
override fun onOpen(webSocket: WebSocket, response: Response) {
74+
// your logic
75+
}
76+
override fun onMessage(webSocket: WebSocket, text: String) {
77+
// your logic
78+
}
79+
// ...
80+
})
81+
82+
okHttpClient.newWebSocket(request, listener)
83+
```
84+
85+
### 4. Run Your App
6786

6887
Open Proxyman on your Mac, run your Android app, and watch the traffic appear!
6988

@@ -72,18 +91,23 @@ Open Proxyman on your Mac, run your Android app, and watch the traffic appear!
7291
```
7392
atlantis-android/
7493
├── atlantis/ # Library module
75-
│ └── src/main/kotlin/
76-
│ └── com/proxyman/atlantis/
77-
│ ├── Atlantis.kt # Main entry point
78-
│ ├── AtlantisInterceptor.kt # OkHttp interceptor
79-
│ ├── Configuration.kt # Config model
80-
│ ├── Message.kt # Message types
81-
│ ├── Packages.kt # Data models
82-
│ ├── Transporter.kt # TCP connection
83-
│ ├── NsdServiceDiscovery.kt # mDNS discovery
84-
│ └── GzipCompression.kt # Compression
94+
│ └── src/
95+
│ ├── main/kotlin/
96+
│ │ └── com/proxyman/atlantis/
97+
│ │ ├── Atlantis.kt # Main entry point
98+
│ │ ├── AtlantisInterceptor.kt # OkHttp interceptor
99+
│ │ ├── AtlantisWebSocketListener.kt # WebSocket capture
100+
│ │ ├── Base64Utils.kt # Base64 encoding
101+
│ │ ├── Configuration.kt # Config model
102+
│ │ ├── GzipCompression.kt # Compression
103+
│ │ ├── Message.kt # Message types
104+
│ │ ├── NsdServiceDiscovery.kt # mDNS discovery
105+
│ │ ├── Packages.kt # Data models
106+
│ │ └── Transporter.kt # TCP connection
107+
│ └── test/kotlin/ # Unit tests
85108
├── sample/ # Sample app
86-
└── PUBLISHING.md # Publishing guide
109+
├── PUBLISHING.md # Publishing guide
110+
└── README.md
87111
```
88112

89113
## Setup
@@ -98,7 +122,7 @@ If you have Gradle installed locally:
98122

99123
```bash
100124
cd atlantis-android
101-
gradle wrapper --gradle-version 8.4
125+
gradle wrapper --gradle-version 8.7
102126
```
103127

104128
## Building
@@ -126,4 +150,4 @@ See [PUBLISHING.md](PUBLISHING.md) for instructions on publishing to Maven Centr
126150

127151
## License
128152

129-
Apache License 2.0 - see [LICENSE](../LICENSE)
153+
Apache License 2.0

atlantis/src/main/kotlin/com/proxyman/atlantis/Atlantis.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ import java.util.concurrent.atomic.AtomicBoolean
4343
* - Network Service Discovery to find Proxyman
4444
* - Direct connection support for emulators
4545
*
46-
* @see <a href="https://proxyman.io">Proxyman</a>
47-
* @see <a href="https://github.com/nicksantamaria/atlantis">GitHub Repository</a>
46+
* @see <a href="https://proxyman.com">Proxyman</a>
47+
* @see <a href="https://github.com/ProxymanApp/atlantis">GitHub Repository</a>
4848
*/
4949
object Atlantis {
5050

@@ -421,7 +421,7 @@ object Atlantis {
421421
private fun printStartupMessage(hostName: String?) {
422422
Log.i(TAG, "---------------------------------------------------------------------------------")
423423
Log.i(TAG, "---------- \uD83E\uDDCA Atlantis Android is running (version $BUILD_VERSION)")
424-
Log.i(TAG, "---------- GitHub: https://github.com/nicksantamaria/atlantis")
424+
Log.i(TAG, "---------- GitHub: https://github.com/ProxymanApp/atlantis-android")
425425
if (hostName != null) {
426426
Log.i(TAG, "---------- Looking for Proxyman with hostname: $hostName")
427427
} else {

gradle.properties

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,18 @@ kotlin.code.style=official
2929
android.nonTransitiveRClass=true
3030

3131
# Library version
32-
VERSION_NAME=1.33.0
33-
VERSION_CODE=13300
32+
VERSION_NAME=1.0.0
33+
VERSION_CODE=10
3434
GROUP=com.proxyman
3535
POM_ARTIFACT_ID=atlantis-android
3636

3737
# Maven publishing
3838
POM_NAME=Atlantis Android
3939
POM_DESCRIPTION=Capture HTTP/HTTPS traffic from Android apps and send to Proxyman for debugging
40-
POM_URL=https://github.com/ProxymanApp/atlantis
41-
POM_SCM_URL=https://github.com/ProxymanApp/atlantis
42-
POM_SCM_CONNECTION=scm:git:git://github.com/ProxymanApp/atlantis.git
43-
POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/ProxymanApp/atlantis.git
40+
POM_URL=https://github.com/ProxymanApp/atlantis-android
41+
POM_SCM_URL=https://github.com/ProxymanApp/atlantis-android
42+
POM_SCM_CONNECTION=scm:git:git://github.com/ProxymanApp/atlantis-android.git
43+
POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/ProxymanApp/atlantis-android.git
4444
POM_LICENCE_NAME=Apache License, Version 2.0
4545
POM_LICENCE_URL=https://www.apache.org/licenses/LICENSE-2.0.txt
4646
POM_LICENCE_DIST=repo

0 commit comments

Comments
 (0)