{"id":26157132,"url":"https://github.com/dfeyer/flow-debugproxy","last_synced_at":"2025-08-18T07:05:12.349Z","repository":{"id":53707745,"uuid":"38337192","full_name":"dfeyer/flow-debugproxy","owner":"dfeyer","description":"A Flow Framework Debug proxy for xDebug, written in Go","archived":false,"fork":false,"pushed_at":"2021-03-18T21:51:31.000Z","size":80,"stargazers_count":24,"open_issues_count":4,"forks_count":12,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-14T08:57:31.523Z","etag":null,"topics":["flowframework","neoscms"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/dfeyer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-30T22:53:28.000Z","updated_at":"2023-06-19T07:39:45.000Z","dependencies_parsed_at":"2022-09-19T07:40:18.171Z","dependency_job_id":null,"html_url":"https://github.com/dfeyer/flow-debugproxy","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/dfeyer/flow-debugproxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfeyer%2Fflow-debugproxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfeyer%2Fflow-debugproxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfeyer%2Fflow-debugproxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfeyer%2Fflow-debugproxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfeyer","download_url":"https://codeload.github.com/dfeyer/flow-debugproxy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfeyer%2Fflow-debugproxy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270956546,"owners_count":24674957,"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","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["flowframework","neoscms"],"created_at":"2025-03-11T09:55:17.414Z","updated_at":"2025-08-18T07:05:12.310Z","avatar_url":"https://github.com/dfeyer.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Flow Framework Debug Proxy for xDebug\n-------------------------------------\n\nFlow Framework is a web application platform enabling developers creating\nexcellent web solutions and bring back the joy of coding. It gives you fast\nresults. It is a reliable foundation for complex applications.\n\nThe biggest pain with Flow Framework come from the the proxy class, the\nframework do not execute your own code, but a precompiled version. This is\nrequired for advanced feature, like AOP and the security framework. So working\nwith Flow is a real pleasure, but adding xDebug in the setup can be a pain.\n\nThis project is an xDebug proxy, written in Go, to take care of the mapping\nbetween your PHP file and the proxy class.\n\nBuild your own\n--------------\n\n    # Get the dependecies\n    go get\n    # Build\n    go build\n\nRun the proxy\n-------------\n\n    # Don't forget to change the configuration of your IDE to use port 9010\n    flow-debugproxy -vv --framework flow\n\nHow to debug the proxy class directly\n-------------------------------------\n\nYou can disable to path mapping, in this case the proxy do not process xDebug\nprotocol:\n\n    ./flow-debugproxy --framework dummy\n\nShow help\n---------\n\n    ./flow-debugproxy help\n\nUse with Docker\n---------------\n\nUse the [official docker image](https://hub.docker.com/r/dfeyer/flow-debugproxy/) and follow the instruction for the configuration.\n\n##### PHP configuration\n\n```\n[Xdebug]\nzend_extension=/.../xdebug.so\nxdebug.remote_enable=1\nxdebug.idekey=PHPSTORM\n; The IP or name of the proxy container\nxdebug.remote_host=debugproxy\n; The proxy port (9010 by default, to not have issue is you use PHP FPM, already on port 9000)\nxdebug.remote_port=9010\n;xdebug.remote_log=/tmp/xdebug.log\n```\n\nYou can use the `xdebug.remote_log` to debug the protocol between your container and the proxy, it's useful to catch network issues.\n\n##### Docker Compose\n\nThis is an incomplete Docker Compose configuration:\n\n```\nservices:\n  debugproxy:\n    image: dfeyer/flow-debugproxy:latest\n    volumes:\n      - .:/data\n    environment:\n      # This MUST be the IP address of the IDE (your computer)\n      - \"IDE_IP=192.168.1.130\"\n      # This is the default value, need to match the xdebug.remote_port on your php.ini\n      - \"XDEBUG_PORT=9010\"\n      # Use this to enable verbose debugging on the proxy\n      # - \"ADDITIONAL_ARGS=-vv --debug\"\n    networks:\n      - backend\n\n  # This is your application containers, you need to link it to the proxy\n  app:\n    # The proxy need an access to the project files, to be able to do the path mapping\n    volumes:\n      - .:/data\n    links:\n      - debugproxy\n```\n\n**Options summary:**\n* `IDE_IP` The primary local W-/LAN IP of your machine where your IDE runs on\n* `IDE_PORT` The Port your IDE is listening for incoming xdebug connections. (The port the debug proxy will try to connect to)\n* `XDEBUG_PORT` The port on which xdebug will try to establish a connection (to this container)\n* `FRAMEWORK` Currently supported values: `flow` and `dummy`\n* `ADDITIONAL_ARGS` For any additional argument like verbosity flags (`-vv`) or debug mode (`--debug`) (or both)\n\n**Debugging the debugger**\n\nStart the debug proxy with verbose flags if it does not connect to your IDE.\nThe debug proxy does not quit after stopping the process that started it.\nYou have to kill it in the container manually.\n\nHint:\n\nIf you use the env variable `FLOW_PATH_TEMPORARY_BASE`, please be sure to keep\n`Data/Temporary` inside the path, without this the mapper will not detect the\nproxy classes.\n\n```\nFLOW_PATH_TEMPORARY_BASE=/tmp/flow/Data/Temporary\n```\n\nUsing with --framework dummy\n----------------------------\n\nIf your debugging target is the code generated by Flow's AOP Framework then you can start the debugging proxy with `--framework dummy`.\n\nIn that case it won't remap from the generated code to your source but \"pass through\" the debugger steps.\nTo see what's going on you have to have the generated code in a folder visible to your IDE (in your project).\nYou can either abstain from `FLOW_PATH_TEMPORARY_BASE` or set it to a path that is in your IDE's project.\n\nAcknowledgments\n---------------\n\nDevelopment sponsored by [ttree ltd - neos solution provider](http://ttree.ch).\n\nThis project is highly inspired by the PHP based Debug proxy:\nhttps://github.com/sandstorm/debugproxy thanks to the Sandstorm team. The goal\nof the Go version of the proxy is to solve the performance issue that the PHP\nversion has.\n\nWe try our best to craft this package with a lots of love, we are open to\nsponsoring, support request, ... just contact us.\n\nLicense\n-------\n\nLicensed under MIT, see [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfeyer%2Fflow-debugproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfeyer%2Fflow-debugproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfeyer%2Fflow-debugproxy/lists"}