[PR #66] [MERGED] Doing Method Swizzle for WebSocket #127

Closed
opened 2026-03-03 19:12:00 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/ProxymanApp/atlantis/pull/66
Author: @NghiaTranUIT
Created: 4/13/2021
Status: Merged
Merged: 4/16/2021
Merged by: @NghiaTranUIT

Base: mainHead: feat/websocket


📝 Commits (10+)

📊 Changes

14 files changed (+555 additions, -18 deletions)

View changed files

.swiftpm/xcode/package.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (+8 -0)
📝 .swiftpm/xcode/xcshareddata/xcschemes/Atlantis.xcscheme (+14 -0)
Atlantis-Example/iOS Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (+8 -0)
Objc/AtlantisHelper.h (+18 -0)
Objc/AtlantisHelper.m (+38 -0)
Objc/internal/Header.h (+13 -0)
📝 Package.swift (+7 -5)
📝 Sources/Atlantis.swift (+133 -4)
📝 Sources/Message.swift (+5 -0)
📝 Sources/NetworkInjector+URLSession.swift (+187 -5)
📝 Sources/NetworkInjector.swift (+21 -0)
📝 Sources/Packages.swift (+89 -3)
📝 Sources/Runtime.swift (+12 -0)
📝 atlantis-proxyman.podspec (+2 -1)

📄 Description

Description

Able to capture all WS/WSS traffic from URLSessionWebsocketTask

Original Ticket

https://github.com/ProxymanApp/Proxyman/issues/586#issuecomment-821054334

Install

  1. Download this Proxyman Beta: https://proxyman.s3.us-east-2.amazonaws.com/beta/Proxyman_2.23.0_Capture_WebSocket_Atlantis.dmg
  2. Get Atlantis on the main branch (It's not released yet)
pod 'atlantis-proxyman', :git => 'https://github.com/ProxymanApp/atlantis.git', :branch => 'main'
  1. Add Atlantis to iOS apps
  2. Calling WS request

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/ProxymanApp/atlantis/pull/66 **Author:** [@NghiaTranUIT](https://github.com/NghiaTranUIT) **Created:** 4/13/2021 **Status:** ✅ Merged **Merged:** 4/16/2021 **Merged by:** [@NghiaTranUIT](https://github.com/NghiaTranUIT) **Base:** `main` ← **Head:** `feat/websocket` --- ### 📝 Commits (10+) - [`9f43ca3`](https://github.com/ProxymanApp/atlantis/commit/9f43ca33069940bd513b5de059d3ef8368ef573a) Try to swizzle WS Send method - [`e373486`](https://github.com/ProxymanApp/atlantis/commit/e373486f3e57751a2f978ab2a9f030e45123cfc9) Try to swizzle WS Receive - [`2ed1cf0`](https://github.com/ProxymanApp/atlantis/commit/2ed1cf0a475ef4a15d1f1f1a06e63d29f661bfb2) Add injector - [`19155ab`](https://github.com/ProxymanApp/atlantis/commit/19155abb300e2f1a571ede4145883f5f0e179c43) Improve swizzle - [`6744de4`](https://github.com/ProxymanApp/atlantis/commit/6744de487ce5a3a2e08bcadc8e0223e111d36adc) Attempt to get private web socket class - [`a8fa3cd`](https://github.com/ProxymanApp/atlantis/commit/a8fa3cd0dacb95db8e93c24afd8921e0e07b030f) Add Objc Target to Atlantis - [`991b899`](https://github.com/ProxymanApp/atlantis/commit/991b899db7307bb347205356c88770915dbd5cab) Attempt fix Cocoapod for objc - [`996e7f0`](https://github.com/ProxymanApp/atlantis/commit/996e7f0966f0c87dd630f4407a16ab735394fe66) Integrate Objc to cocoapod - [`39b9123`](https://github.com/ProxymanApp/atlantis/commit/39b9123f36c7313a1074110da85980f334fc787d) POC Swizzle Receive WS - [`957e6a1`](https://github.com/ProxymanApp/atlantis/commit/957e6a14f627b57c61f1f6dc3796927ad1caa1f1) Swizzle Send WS Message ### 📊 Changes **14 files changed** (+555 additions, -18 deletions) <details> <summary>View changed files</summary> ➕ `.swiftpm/xcode/package.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings` (+8 -0) 📝 `.swiftpm/xcode/xcshareddata/xcschemes/Atlantis.xcscheme` (+14 -0) ➕ `Atlantis-Example/iOS Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist` (+8 -0) ➕ `Objc/AtlantisHelper.h` (+18 -0) ➕ `Objc/AtlantisHelper.m` (+38 -0) ➕ `Objc/internal/Header.h` (+13 -0) 📝 `Package.swift` (+7 -5) 📝 `Sources/Atlantis.swift` (+133 -4) 📝 `Sources/Message.swift` (+5 -0) 📝 `Sources/NetworkInjector+URLSession.swift` (+187 -5) 📝 `Sources/NetworkInjector.swift` (+21 -0) 📝 `Sources/Packages.swift` (+89 -3) 📝 `Sources/Runtime.swift` (+12 -0) 📝 `atlantis-proxyman.podspec` (+2 -1) </details> ### 📄 Description ### Description Able to capture all WS/WSS traffic from URLSessionWebsocketTask ### Original Ticket https://github.com/ProxymanApp/Proxyman/issues/586#issuecomment-821054334 ### Install 1. Download this Proxyman Beta: https://proxyman.s3.us-east-2.amazonaws.com/beta/Proxyman_2.23.0_Capture_WebSocket_Atlantis.dmg 2. Get Atlantis on the `main` branch (It's not released yet) ``` pod 'atlantis-proxyman', :git => 'https://github.com/ProxymanApp/atlantis.git', :branch => 'main' ``` 3. Add Atlantis to iOS apps 4. Calling WS request --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 19:12:00 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/atlantis#127
No description provided.