Coder Social home page Coder Social logo

wanghongenpin / network_proxy_flutter Goto Github PK

View Code? Open in Web Editor NEW
4.9K 4.9K 391.0 6.06 MB

Open source free capture HTTP(S) traffic software ProxyPin, supporting full platform systems

License: Apache License 2.0

Dart 80.04% CMake 1.82% C++ 2.57% C 0.13% Swift 2.89% Ruby 0.27% Kotlin 9.89% Objective-C 0.01% Shell 0.08% Java 2.30%
http httpdebug proxy proxypin zhuabao

network_proxy_flutter's Introduction

ProxyPin

English | 中文

开源免费抓包工具,支持Windows、Mac、Android、IOS、Linux 全平台系统

您可以使用它来拦截、检查和重写HTTP(S)流量,ProxyPin基于Flutter开发,UI美观易用。

核心特性

  • 手机扫码连接: 不用手动配置Wifi代理,包括配置同步。所有终端都可以互相扫码连接转发流量。
  • 域名过滤: 只拦截您所需要的流量,不拦截其他流量,避免干扰其他应用。
  • 请求重写: 支持重定向,支持替换请求或响应报文,也可以根据增则修改请求或或响应。
  • 请求屏蔽: 支持根据URL屏蔽请求,不让请求发送到服务器。
  • 脚本: 支持编写JavaScript脚本来处理请求或响应。
  • 搜索:根据关键词响应类型多种条件搜索请求
  • 其他:收藏、历史记录、工具箱等

Mac首次打开会提示不受信任开发者,需要到系统偏好设置-安全性与隐私-允许任何来源。

国内下载地址: https://gitee.com/wanghongenpin/network-proxy-flutter/releases

iOS国内TF下载地址(有1万名额限制,满了会清理不使用的用户): https://testflight.apple.com/join/gURGH6B4

TG: https://t.me/proxypin_tg

接下来会持续完善功能和体验,UI优化。

image. image

network_proxy_flutter's People

Contributors

caofengbin avatar gentlemanxzh avatar wanghongenpin avatar yunyuyan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

network_proxy_flutter's Issues

mac上发起请求问题

问题:发起请求报错

机器: MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)

mac系统版本:11.2

ProxyPin版本:Version 1.0.2 (3)

具体描述:

  • 点击 "发起请求"后,在页面发起GET请求,此时只输入了url,点击 发送按钮后 ResponseCode为400,在浏览器中输入url正常,response body显示如下

    •   <!doctype html><html lang="en"><head><title>HTTP Status 400 – Bad Request</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 400 – Bad Request</h1></body></html>
  • 经测试:用spring-boot起的本地服务有这个问题,访问www.baidu.com 没有问题,另外在报400的时候,在请求头中增加HOST配置也没有问题,烦请看下。

报错

2023-09-09_211422_报错

加HOST后正常

2023-09-09_211714_正常

使用了一下,功能还能薄弱

我抓PC版微信小程序,只能抓到image,对比之下charles可以抓到完整记录
希望作者能找到自己的优势地方,比如针对ssl spinning问题提出比较好的解决方案,而不是简单照搬一般抓包软件已有的功能

非常不错

使用环境:mac os 12.6.5,黑苹果

尝试使用两天:提一点小建议

  1. 软件关闭的时候,没有自动停止代理,这个导致我每次关闭软件之后都无法正常访问网络,只能重新打开软件,手动停止代理,再关闭软件,才能正常访问。
  2. 返回的JSON响应体,希望能折叠(现状:格式化显示JSON,这个很友好,如果能折叠更好)
  3. 希望添加单个请求路径的二级分组,目前只支持域名一级分组

最后,最希望能增加一个功能:能配置某一个请求,把该请求的响应体,转发到自己的服务器。

功能建议

能否增加自定义中间件脚本功能

比如可以通过自定义中间件脚本后拦截修改某个请求的参数, 返回值等, 然后这个自定义的脚本可以分享给别人用

关于linux下的默认中文字体

大佬好,我在一台arm uos 设备上尝试编译项目。不过uos的字体设置跟其他常见linux不同。几乎所有flutter的项目中文字体都无法识别,是一堆口口。想问下您本项目如何指定系统字体。uos的默认字体叫做Noto Sans CJK SC。

ios抓包失败

抓取app包时提示以下信息,stream软件可以正常抓包。

URL SessionTask failed with error: 发生了
SSL 错误,无法建立与该服务器的安全连接。

安卓版使用后的一点小建议

1、希望能在域名白名单的基础上添加app应用白名单功能。
2、希望在全部请求的列表项支持删除单个的功能。
3、希望在域名列表中能按app应用做一级分类,按域名做二级分类。

对接postman

看到最新的更新日志支持一键复制到postman,有个功能建议:

app上引入postman key,对接api,app上抓包的api一键保存到postman账号上,这样在pc上登录postaman就可以不用复制来复制去的直接就可以测试抓包的api。

功能建议:批量导出

很不错的软件,目前在windows用。

希望增加一键导出所选请求的Response Body,因为请求多,一个一个导出太麻烦了。

功能建议

个人建议:①可以加一个保留抓包日志的功能,②快捷复制请求头这些

启动就奔溃了,原因不详


Translated Report (Full Report Below)

Incident Identifier: 478EAA17-C873-41F5-8B3C-24A22CFBB82C
CrashReporter Key: 4719C95E-6ECF-3371-8293-480789219AEC
Hardware Model: MacBookPro15,4
Process: ProxyPin [723]
Path: /Applications/ProxyPin.app/Contents/MacOS/ProxyPin
Identifier: com.network.proxy
Version: 1.0.0 (1)
Code Type: X86-64 (Native)
Role: Default
Parent Process: launchd [1]
Coalition: com.network.proxy [713]

Date/Time: 2023-07-06 19:01:04.1560 +0800
Launch Time: 2023-07-06 19:01:04.1270 +0800
OS Version: macOS 12.6.5 (21G531)
Release Type: User
Report Version: 104

Exception Type: EXC_CRASH (SIGKILL (Code Signature Invalid))
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: CODESIGNING 1

Triggered by Thread: 0

Thread 0 Crashed:
0 � 0x1194d1ae0 _dyld_start + 0
1 ??? 0x1 ???

Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000000 rcx: 0x0000000000000000 rdx: 0x0000000000000000
rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp: 0x0000000000000000 rsp: 0x00007ff7b23b7c00
r8: 0x0000000000000000 r9: 0x0000000000000000 r10: 0x0000000000000000 r11: 0x0000000000000000
r12: 0x0000000000000000 r13: 0x0000000000000000 r14: 0x0000000000000000 r15: 0x0000000000000000
rip: 0x00000001194d1ae0 rfl: 0x0000000000000200 cr2: 0x0000000000000000

Logical CPU: 0
Error Code: 0x00000000
Trap Number: 0

Binary Images:
0x1194cd000 - 0x119538fff � () <6376ba16-20f7-3c31-a5c5-a10648ae7b56> �
0x0 - 0xffffffffffffffff ??? (
) <00000000-0000-0000-0000-000000000000> ???

Error Formulating Crash Report:
dyld_process_snapshot_get_shared_cache failed

EOF


Full Report

{"app_name":"ProxyPin","timestamp":"2023-07-06 19:01:06.00 +0800","app_version":"1.0.0","slice_uuid":"de6191de-ff72-3ab3-8e5a-285e3c20b510","build_version":"1","platform":0,"bundleID":"com.network.proxy","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.6.5 (21G531)","incident_id":"478EAA17-C873-41F5-8B3C-24A22CFBB82C","name":"ProxyPin"}
{
"uptime" : 68,
"procLaunch" : "2023-07-06 19:01:04.1270 +0800",
"procRole" : "Default",
"version" : 2,
"userID" : 501,
"deployVersion" : 210,
"modelCode" : "MacBookPro15,4",
"procStartAbsTime" : 68728499686,
"coalitionID" : 713,
"osVersion" : {
"train" : "macOS 12.6.5",
"build" : "21G531",
"releaseType" : "User"
},
"captureTime" : "2023-07-06 19:01:04.1560 +0800",
"incident" : "478EAA17-C873-41F5-8B3C-24A22CFBB82C",
"bug_type" : "309",
"pid" : 723,
"procExitAbsTime" : 68751081168,
"cpuType" : "X86-64",
"procName" : "ProxyPin",
"procPath" : "/Applications/ProxyPin.app/Contents/MacOS/ProxyPin",
"bundleInfo" : {"CFBundleShortVersionString":"1.0.0","CFBundleVersion":"1","CFBundleIdentifier":"com.network.proxy"},
"storeInfo" : {"deviceIdentifierForVendor":"23ACEC91-279F-5318-999F-BB03E0C4C3A2","thirdParty":true},
"parentProc" : "launchd",
"parentPid" : 1,
"coalitionName" : "com.network.proxy",
"crashReporterKey" : "4719C95E-6ECF-3371-8293-480789219AEC",
"sip" : "enabled",
"isCorpse" : 1,
"exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGKILL (Code Signature Invalid)"},
"termination" : {"namespace":"CODESIGNING","flags":66,"code":1},
"extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
"faultingThread" : 0,
"threads" : [{"triggered":true,"id":5963,"threadState":{"r13":{"value":0},"rax":{"value":0},"rflags":{"value":512},"cpu":{"value":0},"r14":{"value":0},"rsi":{"value":0},"r8":{"value":0},"cr2":{"value":0},"rdx":{"value":0},"r10":{"value":0},"r9":{"value":0},"r15":{"value":0},"rbx":{"value":0},"trap":{"value":0},"err":{"value":0},"r11":{"value":0},"rip":{"value":4719450848,"matchesCrashFrame":1},"rbp":{"value":0},"rsp":{"value":140701823892480},"r12":{"value":0},"rcx":{"value":0},"flavor":"x86_THREAD_STATE","rdi":{"value":0}},"frames":[{"imageOffset":19168,"symbol":"_dyld_start","symbolLocation":0,"imageIndex":0},{"imageOffset":1,"imageIndex":1}]}],
"usedImages" : [
{
"source" : "P",
"arch" : "x86_64",
"base" : 4719431680,
"size" : 442368,
"uuid" : "6376ba16-20f7-3c31-a5c5-a10648ae7b56",
"path" : "\u0004",
"name" : "\u0004"
},
{
"size" : 0,
"source" : "A",
"base" : 0,
"uuid" : "00000000-0000-0000-0000-000000000000"
}
],
"vmSummary" : "ReadOnly portion of Libraries: Total=680K resident=0K(0%) swapped_out_or_unallocated=680K(100%)\nWritable regions: Total=8192K written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=8192K(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nSTACK GUARD 56.0M 1 \nStack 8192K 1 \nVM_ALLOCATE 8K 2 \n__DATA 32K 2 \n__DATA_CONST 80K 1 \n__LINKEDIT 256K 4 \n__TEXT 448K 2 \n=========== ======= ======= \nTOTAL 64.8M 13 \n",
"legacyInfo" : {
"threadTriggered" : {

}
},
"trialInfo" : {
"rollouts" : [
{
"rolloutId" : "60f8ddccefea4203d95cbeef",
"factorPackIds" : {

  },
  "deploymentId" : 240000025
},
{
  "rolloutId" : "5fb4245a1bbfe8005e33a1e1",
  "factorPackIds" : {

  },
  "deploymentId" : 240000021
}

],
"experiments" : [
{
"treatmentId" : "c28e4ee6-1b08-4f90-8e05-2809e78310a3",
"experimentId" : "6317d2003d24842ff850182a",
"deploymentId" : 400000012
}
]
},
"reportNotes" : [
"dyld_process_snapshot_get_shared_cache failed"
]
}

Model: MacBookPro15,4, BootROM 1715.81.2.0.0, 6 processors, 6-Core Intel Core i7, 1.6 GHz, 16 GB, SMC
Graphics: Intel Iris Plus Graphics 645, Intel Iris Plus Graphics 645, Built-In
Display: spdisplays_display, 2560 x 1600, Main, MirrorOff, Online
Display: PHL 241i8, 1920 x 1080 (1080p FHD - Full High Definition), MirrorOff, Online
Memory Module: BANK 0/ChannelA-DIMM0, 8 GB, DDR4, 2667 MHz, Micron, 4ATF1G64HZ-3G2B1
Memory Module: BANK 2/ChannelB-DIMM0, 8 GB, DDR4, 2667 MHz, Micron, 4ATF1G64HZ-3G2B1
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x117), Broadcom BCM43xx 1.0 (7.77.111.1 AirPortDriverBrcmNIC-1710.4)
AirPort:
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB31Bus
USB Device: USB3.1 Hub
USB Device: BRCM20702 Hub
USB Device: Bluetooth USB Host Controller
USB Device: USB2.1 Hub
USB Device: USB 2.0 Hub
USB Device: BillBoard Device
USB Device: Integrated Camera
Thunderbolt Bus:

image

win11 一直报错呢.

错误 错误应用程序名称: ProxyPin.exe,版本: 1.0.0.1,时间戳: 0x64c76d61
错误模块名称: flutter_windows.dll,版本: 0.0.0.0,时间戳: 0x64aefcb8
异常代码: 0xc0000005
错误偏移量: 0x0000000000010541
错误进程 ID: 0x0x46B0
错误应用程序启动时间: 0x0x1D9C4DF14EC7B4D

功能建议: 请求重定向

有些时候需要改写加载的js 希望能将url重定向到自己的静态资源文件实现 虽然说rewrite也能实现 但是rewrite的话 每一次静态资源文件改动 所有设备都要一起改

无法抓取Android局域网请求

打开手机端代理工具后, 访问本地局域网的应用均无法使用, 且无法通过代理工具抓包
连接到mac端同样无法抓取局域网的包

iOS的证书无法安装

点击下载根证书,跳转到safai打开提示about:blank
你这个证书的下载地址是在哪?这里有点问题.

[bug] 异常时不显示请求体

http请求失败的时候request body里面不会显示原始的请求内容,这个应该可以优化一下

SocketException: Failed host lookup: 'n1.itc.cn' (OS Error: No address associated with hostname, errno = 7)

【建议】:指定进程

作者您好,请问可以新增一个指定进程的功能,例如我想只抓取微信进程的流量

目前不能够完全能使用

感谢开源

但是目前不能够完全能使用,尤其是重写和抓包记录方面。 建议向Http Catcher和stormsniffer取取经,取其长,避其短。

应用崩溃

java.lang.RuntimeException: Unable to start service com.network.proxy.ProxyVpnService@d93766c with Intent { act=DISCONNECT cmp=com.network.proxy/.ProxyVpnService }: f4.p: lateinit property vpnInterface has not been initialized
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4864)
at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2254)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:210)
at android.os.Looper.loop(Looper.java:299)
at android.app.ActivityThread.main(ActivityThread.java:8247)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954)
Caused by: f4.p: lateinit property vpnInterface has not been initialized
at com.network.proxy.ProxyVpnService.c(Unknown Source:6)
at com.network.proxy.ProxyVpnService.onStartCommand(Unknown Source:17)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4846)
... 9 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.