{"id":1070,"url":"https://github.com/kasketis/netfox","last_synced_at":"2025-05-14T07:10:12.416Z","repository":{"id":39380530,"uuid":"46502055","full_name":"kasketis/netfox","owner":"kasketis","description":"A lightweight, one line setup, iOS / OSX network debugging library! 🦊","archived":false,"fork":false,"pushed_at":"2024-03-21T14:08:46.000Z","size":8661,"stargazers_count":3716,"open_issues_count":43,"forks_count":380,"subscribers_count":59,"default_branch":"develop","last_synced_at":"2025-05-11T03:39:54.339Z","etag":null,"topics":["afnetworking","alamofire","carthage","certificate-pinning","charles","cocoapods","debugging","http","http-monitor","ios","network-debug","network-monitoring","networking","request","response","swift","urlprotocol","urlrequest","urlsession","xcode"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kasketis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["kasketis"]}},"created_at":"2015-11-19T15:40:29.000Z","updated_at":"2025-05-06T05:22:43.000Z","dependencies_parsed_at":"2024-06-18T11:27:41.645Z","dependency_job_id":null,"html_url":"https://github.com/kasketis/netfox","commit_stats":{"total_commits":364,"total_committers":56,"mean_commits":6.5,"dds":0.8681318681318682,"last_synced_commit":"706cbc104b6ab3eddbfac15e9a2d8f11b38a0af5"},"previous_names":[],"tags_count":55,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasketis%2Fnetfox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasketis%2Fnetfox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasketis%2Fnetfox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasketis%2Fnetfox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kasketis","download_url":"https://codeload.github.com/kasketis/netfox/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253823412,"owners_count":21969846,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["afnetworking","alamofire","carthage","certificate-pinning","charles","cocoapods","debugging","http","http-monitor","ios","network-debug","network-monitoring","networking","request","response","swift","urlprotocol","urlrequest","urlsession","xcode"],"created_at":"2024-01-05T20:15:38.269Z","updated_at":"2025-05-14T07:10:07.387Z","avatar_url":"https://github.com/kasketis.png","language":"Swift","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"netfox-logo.svg\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"Version\" src=\"https://img.shields.io/badge/version-1.21.0-green.svg?style=flat-square\" /\u003e\n\u003ca href=\"https://travis-ci.org/kasketis/netfox\"\u003e\u003cimg alt=\"CI Status\" src=\"http://img.shields.io/travis/kasketis/netfox.svg?style=flat-square\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://cocoapods.org/pods/netfox\"\u003e\u003cimg alt=\"Cocoapods Compatible\" src=\"https://img.shields.io/cocoapods/v/netfox.svg?style=flat-square\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Carthage/Carthage\"\u003e\u003cimg alt=\"Carthage Compatible\" src=\"https://img.shields.io/badge/carthage-compatible-4BC51D.svg?style=flat-square\" /\u003e\u003c/a\u003e\n\u003cimg alt=\"Platform\" src=\"https://img.shields.io/cocoapods/p/netfox.svg?style=flat-square\" /\u003e\n\u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-MIT-orange.svg?style=flat-square\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\nNetfox provides a quick look on all executed network requests performed by your iOS or OSX app.\nIt grabs all requests - of course yours, requests from 3rd party libraries (such as AFNetworking, Alamofire or else), UIWebViews, and more\n\nVery useful and handy for network related issues and bugs\n\nSupports Swift 5 and above - bridged also for Objective-C.\n\nFor Swift 4 support, use version [1.19.0](https://github.com/kasketis/netfox/releases/tag/1.19.0).\n\nFor Swift 3.2 support, use version [1.12.1](https://github.com/kasketis/netfox/releases/tag/1.12.1).\n\nFeel free to contribute :)\n\n### Overview\n| ![](https://raw.githubusercontent.com/kasketis/netfox/master/assets/overview1_5_3.gif)  | ![](https://cloud.githubusercontent.com/assets/1402212/12893260/78f90916-ce90-11e5-830a-d1a1b91b2ac4.png) |\n|---|---|\n\n## Installation\n\n### SPM (beta, only iOS)\n\nThe [Swift Package Manager](https://swift.org/package-manager/) is a tool for automating the distribution of Swift code and is integrated into the `swift` compiler.\n\nTo add `netfox` as a package dependency to your Xcode project, select `File \u003e Add Packages` and enter as repository URL the `https://github.com/kasketis/netfox` (always choose the latest release)\n\nFor more info, please check [here](https://developer.apple.com/documentation/swift_packages/adding_package_dependencies_to_your_app)\n\n### CocoaPods\n\n[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. To integrate netfox into your Xcode project using CocoaPods, specify it in your `Podfile`:\n\n\u003cpre\u003e\nuse_frameworks!\npod 'netfox'\n\u003c/pre\u003e\n\nTo bundle only on some build configurations specify them after pod.\n\n\u003cpre\u003e\nuse_frameworks!\npod 'netfox', :configurations =\u003e ['Debug', 'Test']\n\u003c/pre\u003e\n\n### Carthage\n\n[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate netfox into your Xcode project using Carthage, specify it in your `Cartfile`:\n\n\u003cpre\u003e\ngithub \"kasketis/netfox\"\n\u003c/pre\u003e\n### Manually\n\nIf you prefer not to use dependency managers, you can integrate netfox into your project manually.\n\nYou can do it by copying the \"netfox\" folder in your project (make sure that \"Create groups\" option is selected)\n\nThe above folder contains 3 subfolders: Core, iOS and OSX. \n\n- If you target on iOS keep only Core and iOS folders (remove OSX folder)\n- If you target on OSX keep only Core and OSX folders (remove iOS folder)\n\n## Start\n\n#### Swift\n```swift\n// AppDelegate\nimport netfox\nNFX.sharedInstance().start() // in didFinishLaunchingWithOptions:\n```\n\n\u003c/pre\u003e\n\n#### Objective-C\n```objective-c\n// AppDelegate\n[NFX.sharedInstance start]; // in didFinishLaunchingWithOptions:\n```\n\nJust simple as that!\n\nNote: Please wrap the above line with\n```c\n#if DEBUG\n. . .\n#endif\n```\nto prevent library’s execution on your production app.\n\nYou can add the DEBUG symbol with the -DDEBUG entry. Set it in the \"Swift Compiler - Custom Flags\" section -\u003e \"Other Swift Flags\" line in project’s \"Build Settings\"\n\n## Usage \n\nJust shake your device and check what's going right or wrong! \nShake again and go back to your app!\n![](https://raw.githubusercontent.com/kasketis/netfox/master/assets/shake.png)\n\n## Stop\n\nCall\n```swift\nNFX.sharedInstance().stop()\n```\nto stop netfox and clear all saved data. \nIf you stop netfox its view will not be displayed until you call start method again. \n\nIf you want to just enable/disable logging functionality or clear the data please use the buttons provided in the settings view\n\n## Custom gestures\n\nBy default the library registers for shake motion. If you want to open the logs with a different gesture, add the following line after the installation one\n```swift\nNFX.sharedInstance().setGesture(.custom)\n```\nThen you can use\n```swift\nNFX.sharedInstance().show()\n```\nwhen you want to show the logs and\n```swift\nNFX.sharedInstance().hide()\n```\nwhen you want to hide them.\n\n## Prevent logging for specific URLs\n\nUse the following method to prevent requests for specified URL from being logged. You can ignore as many URLs as you want\n```swift\nNFX.sharedInstance().ignoreURL(\"the_url\")\n```\nTip: You can use the url of the host (for example \"https://www.github.com\") to ignore all paths of it \n\n## Features\n\n- Search: You can easily search among requests via\n\t- Request url: github.com, .gr, or whatever you want\n\t- Request method: GET, POST, etc\n\t- Response type: Like json, xml, html, image and more \n- Sharing: You can share your log via email with backend devs or someone who can help.\n\t- Simple log option includes only request/response headers and small request/response bodies (when applicable)\n\t- Full log option includes request/response headers and request/response bodies (as attachments)\n- Filtering: Select what types of responses (JSON/XML/HTML/Image/Other) you want to see\n- Enable/disable logging within the app\n- Clear data within the app\n- Statistics: Check cool things like average response time, total response size and more for your selected types of responses\n- Info: Check your IP address, your app version and build number and other things within the app\n- More to come.. ;)\n\n## Integrations\n\n[Droar](https://github.com/myriadmobile/netfox-Droar): A modular, single-line installation debugging window.\n\n## Other\n\n- If you experience any problems with request logging please check [this](https://github.com/kasketis/netfox/blob/master/Workarounds.md). If you don't get your answer please open an [issue](https://github.com/kasketis/netfox/issues)\n- Due to the large size of request/response bodies, the library provides disk storage for low memory overhead\n\n## Sponsors\n\n\u003ca href=\"https://www.emergetools.com\"\u003e\u003cimg alt=\"EmergeTools\" src=\"assets/sponsors/emerge-tools-black.svg\" width=\"200\" /\u003e\u003c/a\u003e\n\n## Thanks\n\nSpecial thanks to [tbaranes](https://github.com/tbaranes) and [vincedev](https://github.com/vincedev) for their contribution on OSX library!\n\n## Licence\n\nAll source code is licensed under [MIT License](https://github.com/kasketis/netfox/blob/master/LICENSE). Which means you could do virtually anything with the code. I will appreciate it very much if you keep an attribution where appropriate.\n\n","funding_links":["https://github.com/sponsors/kasketis"],"categories":["Debugging","Libs","\u003ca id=\"58cd9084afafd3cd293564c1d615dd7f\"\u003e\u003c/a\u003e工具","Swift","Networking","HarmonyOS","Network [🔝](#readme)"],"sub_categories":["Getting Started","Network","\u003ca id=\"d0108e91e6863289f89084ff09df39d0\"\u003e\u003c/a\u003e新添加的","Other free courses","Linter","Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasketis%2Fnetfox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkasketis%2Fnetfox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasketis%2Fnetfox/lists"}