{"id":13438327,"url":"https://github.com/rohanrhu/gdb-frontend","last_synced_at":"2025-05-13T18:12:16.659Z","repository":{"id":39549920,"uuid":"222551495","full_name":"rohanrhu/gdb-frontend","owner":"rohanrhu","description":"☕ GDBFrontend is an easy, flexible and extensible gui debugger.","archived":false,"fork":false,"pushed_at":"2024-12-27T09:31:13.000Z","size":32608,"stargazers_count":2933,"open_issues_count":11,"forks_count":106,"subscribers_count":52,"default_branch":"master","last_synced_at":"2025-05-11T07:51:19.198Z","etag":null,"topics":["c","cpp","debug","debugger","debugger-gdb","debugging","debugging-tool","debugging-tools","gdb","gdb-extension","gdb-frontend","gdb-gui","gdb-plugin","gdb-ui"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rohanrhu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"rohanrhu","patreon":"EvrenselKisilik","open_collective":"gdbfrontend"}},"created_at":"2019-11-18T21:50:55.000Z","updated_at":"2025-05-10T02:19:28.000Z","dependencies_parsed_at":"2024-11-06T20:40:42.663Z","dependency_job_id":"a1b2ed0d-4f6d-48c8-af79-eeebba9542b1","html_url":"https://github.com/rohanrhu/gdb-frontend","commit_stats":{"total_commits":471,"total_committers":7,"mean_commits":67.28571428571429,"dds":0.02547770700636942,"last_synced_commit":"88f14fe0dc835585ab7a1f8a915909ac5e08e8b8"},"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohanrhu%2Fgdb-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohanrhu%2Fgdb-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohanrhu%2Fgdb-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohanrhu%2Fgdb-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rohanrhu","download_url":"https://codeload.github.com/rohanrhu/gdb-frontend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000857,"owners_count":21997442,"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":["c","cpp","debug","debugger","debugger-gdb","debugging","debugging-tool","debugging-tools","gdb","gdb-extension","gdb-frontend","gdb-gui","gdb-plugin","gdb-ui"],"created_at":"2024-07-31T03:01:04.570Z","updated_at":"2025-05-13T18:12:16.622Z","avatar_url":"https://github.com/rohanrhu.png","language":"JavaScript","funding_links":["https://github.com/sponsors/rohanrhu","https://patreon.com/EvrenselKisilik","https://opencollective.com/gdbfrontend","https://www.patreon.com/evrenselkisilik"],"categories":["HarmonyOS","JavaScript","Development Environment","\u003ca name=\"debug\"\u003e\u003c/a\u003edebug","JavaScript (485)"],"sub_categories":["Windows Manager","Debugging and Tracing"],"readme":"# [![GDBFrontend](media/gdbfrontend.png)](https://oguzhaneroglu.com/projects/gdb-frontend/)\r\n\r\n[![GitHub release](https://img.shields.io/github/release/rohanrhu/gdb-frontend.svg?style=flat-square\u0026color=informational)](https://github.com/rohanrhu/gdb-frontend/releases)\r\n[![GitHub issues](https://img.shields.io/github/issues/rohanrhu/gdb-frontend?style=flat-square\u0026color=red)](https://github.com/rohanrhu/gdb-frontend/issues)\r\n[![GitHub forks](https://img.shields.io/github/forks/rohanrhu/gdb-frontend?style=flat-square)](https://github.com/rohanrhu/gdb-frontend/network)\r\n[![GitHub stars](https://img.shields.io/github/stars/rohanrhu/gdb-frontend?style=flat-square)](https://github.com/rohanrhu/gdb-frontend/stargazers)\r\n[![GDBFrontend Discord](https://img.shields.io/discord/780821881783713813.svg?color=7289da\u0026label=Discord\u0026logo=discord\u0026style=flat-square)](https://discord.gg/RyVY9MtB4S)\r\n[![Support me on Patreon](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3DEvrenselKisilik%26type%3Dpatrons\u0026style=flat-square)](https://patreon.com/EvrenselKisilik)\r\n\r\nGDBFrontend is an easy, flexible and extensionable gui debugger.\r\n\r\n![gdb-frontend](media/gdbfrontend-screenshots.png \"GDBFrontend is an easy, flexible and extensionable gui debugger.\")\r\n\r\n## Installing\r\n\r\n### Requirements\r\n\r\n* GDB =\u003e 8.2 (with python3)\r\n* python3 =\u003e 3.6\r\n* tmux\r\n\r\n### PIP Package (Python Wheel) [Recommended]\r\n\r\nYou can install GDBFrontend with `pip`.\r\n\r\n```bash\r\nsudo python3 -m pip install gdbfrontend\r\n```\r\n\r\nif it is already installed and you are upgrading\r\n\r\n```bash\r\nsudo python3 -m pip install --upgrade gdbfrontend\r\n```\r\n\r\nor if you want to install specific GIT snapshot:\r\n\r\n```bash\r\nsudo python3 setup.py install\r\n```\r\n\r\nand you can run\r\n\r\n```bash\r\ngdbfrontend\r\n```\r\n\r\n### Running From GIT\r\n\r\nYou can download latest source and run it.\r\n\r\nYou can run gdb-frontend with following commands:\r\n\r\n```bash\r\ngit clone https://github.com/rohanrhu/gdb-frontend.git gdb-frontend\r\ncd gdb-frontend\r\n./gdbfrontend\r\n```\r\n\r\nand you can open it with:\r\n\r\n```\r\nhttp://127.0.0.1:5550/\r\n```\r\n\r\nYou can open GDB shell with the command:\r\n\r\n```bash\r\ntmux a -t gdb-frontend\r\n```\r\n\r\n### Arch Linux (AUR)\r\n\r\nYou can install Arch Linux package for Arch-based distributions. ([AUR Package](https://aur.archlinux.org/packages/gdb-frontend-bin/))\r\n\r\n```bash\r\nyay -S gdb-frontend-bin\r\n```\r\n\r\nand you can run it:\r\n\r\n```bash\r\ngdbfrontend\r\n```\r\n\r\n### Flatpak\r\n\r\nFlatpak package is a TODO.\r\n\r\n## [Debugging Dockerized C/C++ apps with GDBFrontend](https://meowingcat.io/blog/posts/how-to-debug-dockerized-c-cpp-apps-with-gdbfrontend)\r\n\r\nFollow [this tutorial](https://meowingcat.io/blog/posts/how-to-debug-dockerized-c-cpp-apps-with-gdbfrontend) to learn how to debug Dockerized C/C++ apps with GDBFrontend.\r\n\r\n## [Embedded Debugging with GDBFrontend](https://rohanrhu.github.io/gdb-frontend/tutorials/embedded-debugging/)\r\n\r\nFollow [this quick tutorial](https://rohanrhu.github.io/gdb-frontend/tutorials/embedded-debugging/) for debugging embedded devices with GDBFrontend.\r\n\r\n## [Python C Extension Debugging with GDBFrontend](https://rohanrhu.github.io/gdb-frontend/tutorials/python-c-extension-debugging/)\r\n\r\nFollow [this quick tutorial](https://rohanrhu.github.io/gdb-frontend/tutorials/python-c-extension-debugging/) for debugging native C Python extensions with GDBFrontend.\r\n\r\n## [How to develop GDBFrontend plugins?](https://rohanrhu.github.io/gdb-frontend/tutorials/plugin-development/)\r\n\r\nGDBFrontend has powerful and extensible APIs. Follow [this quick tutorial](https://rohanrhu.github.io/gdb-frontend/tutorials/plugin-development/) to learn developing GDBFrontend plugins.\r\n\r\n## [How to integrate GDBFrontend with your Makefile?](https://rohanrhu.github.io/gdb-frontend/tutorials/makefile-integration/)\r\n\r\nFollow [this quick tutorial](https://rohanrhu.github.io/gdb-frontend/tutorials/makefile-integration/) for integration ideas for special development/debugging requirements.\r\n\r\n## [STM32 Debugging using OpenOCD, GDB \u0026 GDBFrontend on Linux](https://elrobotista.com/en/posts/stm32-debug-linux/)\r\n\r\nFollow [this tutorial](https://elrobotista.com/en/posts/stm32-debug-linux/) for debugging STM32 with OpenOCD and GDBFrontend.\r\n\r\n## Features\r\n\r\n### Expression Evaluator\r\n\r\nGDBFrontend has an expression evaluator that you can use multiple in sametime.\r\n\r\n![](media/expression-evaluater.png)\r\n\r\n### Pointer Visualisation\r\n\r\n![](media/pointer-visualisation.png)\r\n\r\n### Linked-List Visualization\r\n\r\n![](media/linked-list-visualisation.png)\r\n\r\n### Conditional Breakpoints\r\n\r\nRight click to a breakpoint for setting its condition.\r\n\r\n![](media/conditional-breakpoint.png)\r\n\r\n![](media/conditional-breakpoint-2.png)\r\n\r\n### Connected Expressions\r\n\r\nExpressions of all variables, members and items are connected in GDBFrontend's VariablesExplorer.\r\n\r\n![](media/connected-expressions.png)\r\n\r\n### Process Manager\r\n\r\nYou can watch, filter or manage processes with Process Manager.\r\n\r\n![](media/process-manager.png)\r\n\r\n### Array-Graph Visualization\r\n\r\n![](media/array-graph-visualisation.png)\r\n\r\n### Enhanced Collabration\r\n\r\nGDBFrontend has a set of some features for collabration named as \"Enhanced Collabration\".\r\n\r\n![](media/enhanced-collabration.png)\r\n\r\n#### Collabration Draw\r\n\r\nCollabration draw is available when you enable Enhanced Collabration. Click to Draw or use **Ctrl + Shift + X** shortcut to draw and **Ctrl + Shift + C** to clear all drawings.\r\n\r\n![](media/enhanced-collabration-draw.png)\r\n\r\n#### Synced Source Viewing\r\n\r\nWith Enhanced Collabration all debugger clients are synchronized on source viewing.\r\n\r\n### Expression hover popup variable explorer\r\n\r\n![](media/expression-popup.png)\r\n\r\n### Extensibility\r\n\r\nGDBFrontend is very extensible and has powerful APIs. Some examples of GDBFrontend's extensibility.\r\n\r\n![](media/extensibility-1.png)\r\n\r\n![](media/extensibility-2.png)\r\n\r\n## `./gdbfrontend`\r\n\r\n```bash\r\n$ gdbfrontend --help\r\nGDBFrontend is a easy, flexible and extensionable gui debugger.\r\n\r\nOptions:\r\n  --help, -h:                                   Shows this help message.\r\n  --version, -v:                                Shows version.\r\n  --gdb-args=\"ARGS\", -G \"ARGS\":                 Specifies GDB command line arguments. (Optional)\r\n  --gdb-executable=PATH, -g PATH:               Specifies GDB executable path (Default is \"gdb\" command on PATH environment variable.)\r\n  --tmux-executable=PATH, -tmux PATH:           Specifies Tmux executable path (Default is \"tmux\" command on PATH environment variable.)\r\n  --terminal-id=NAME, -t NAME:                  Specifies tmux terminal identifier name (Default is \"gdb-frontend\".)\r\n  --credentials=USER:PASS, -c USER:PASS:        Specifies username and password for accessing to debugger.\r\n  --host=IP, -H IP:                             Specifies current host address that you can access via for HTTP and WS servers.\r\n  --listen=IP, -l IP:                           Specifies listen address for HTTP and WS servers.\r\n  --port=PORT, -p PORT:                         Specifies HTTP port. (0 for random port.)\r\n  --url-base=PATH, -u PATH:                     Specifies URL base path. (Default: /)\r\n  --readonly, -r:                               Makes code editor readonly. (Notice: This option is not related to security.)\r\n  --workdir, -w:                                Specifies working directory.\r\n  --plugin-dir, -P:                             Specifies plugins directory.\r\n  --dontopenuionstartup, -D:                    Avoids opening UI just after startup.\r\n  --verbose, -V:                                Enables verbose output.\r\n```\r\n\r\n### Options\r\n\r\n#### `--help`, `-h`\r\n\r\nShows help text.\r\n\r\n#### `--version`, `-v`\r\n\r\nShows version.\r\n\r\n#### `--gdb-args=\"ARGS\", -G \"ARGS\"`\r\n\r\nSpecifies GDB command line arguments. (Optional)\r\n\r\n#### `--gdb-executable=PATH`, `-g PATH`\r\n\r\nYou can specify GDB executable path like `gdbfrontend --gdb-executable=/path/to/gdb`. (Optional)\r\n\r\n#### `--tmux-executable=PATH`, `-tmux PATH`\r\n\r\nYou can specify Tmux executable path like `gdbfrontend --tmux-executable=/path/to/tmux`. (Optional)\r\n\r\n#### `--terminal-id=PATH`, `-t PATH`\r\n\r\nYou can specify Tmux terminal id like `gdbfrontend --terminal-id=terminal-name`. (Default: `gdb-frontend`)\r\n\r\n#### `--credentials=USER:PASS`, `-c USER:PASS`\r\n\r\nSpecifies username and password for accessing to debugger.\r\n\r\n#### `--host=IP`, `-H IP`\r\n\r\nSpecifies current host address that you can access via for HTTP and WS servers.\r\n\r\n#### `--listen=IP`, `-l IP`\r\n\r\nSpecifies listen address for HTTP and WS servers.\r\n\r\n#### `--port=PORT`, `-p PORT`\r\n\r\nSpecifies HTTP port. (0 for random port.)\r\n\r\n#### `--url-base=PATH`, `-u PATH`\r\n\r\nSpecifies URL base path. (Default: /)\r\n\r\n#### `--readonly, -r`\r\n\r\nMakes code editor readonly. (Notice: This option is not related to security.)\r\n\r\n#### `--workdir, -w`\r\n\r\nSpecifies working directory.\r\n\r\n#### `--plugin-dir, -P`\r\n\r\nSpecifies plugins directory.\r\n\r\n#### `--dontopenuionstartup`, `-D`\r\n\r\nAvoids opening UI just after startup.\r\n\r\n#### `--verbose`, `-V`\r\n\r\nEnables verbose output.\r\n\r\n### GDB Commands\r\n\r\nGDBFrontend's GDB commands starts with `gf-`.\r\n\r\n#### `gf-refresh`\r\n\r\nRefreshes all browser clients.\r\n\r\n#### `gf-theme [theme-name]`\r\n\r\nSwitch to desired theme. For example: `gf-theme light`, `gf-theme red` or `gf-theme default` for default theme.\r\n\r\n#### `gf-list-plugins`\r\n\r\nLists all GDBFrontend plugins in the plugin directory.\r\n\r\n#### `gf-load-plugin [plugin-name]`\r\n\r\nLoads GDBFrontend plugin.\r\n\r\n#### `gf-unload-plugin [plugin-name]`\r\n\r\nUnloads GDBFrontend plugin.\r\n\r\n## Shortcuts / Hotkeys\r\n\r\nCurrent hotkeys are listed below.\r\n\r\n| Action                                               | Hotkey                     | Context                                      |\r\n| ---------------------------------------------------- | -------------------------- | -------------------------------------------- |\r\n| *General:* Open a source file                        | **Ctrl + O**               | GDBFrontend                                  |\r\n| *General:* New ExpressionEvaluator                   | **Ctrl + R**               | GDBFrontend                                  |\r\n| *General:* New ExpressionEvaluator on native window   | **Ctrl + Shift + R**       | GDBFrontend                                  |\r\n| *General:* Fuzzy source finder                       | **Ctrl + P**               | GDBFrontend                                  |\r\n| *Runtime:* Run                                       | **F5**                     | GDBFrontend                                  |\r\n| *Runtime:* Continue                                  | **F6**                     | GDBFrontend                                  |\r\n| *Runtime:* Pause/Interrupt                           | **F7**                     | GDBFrontend                                  |\r\n| *Runtime:* Step Over                                 | **F8**                     | GDBFrontend                                  |\r\n| *Runtime:* Step Into                                 | **F9**                     | GDBFrontend                                  |\r\n| *Runtime:* Step Instruction                          | **F10**                    | GDBFrontend                                  |\r\n| *Runtime:* Stop                                      | **F11**                    | GDBFrontend                                  |\r\n| *Enhanced Collabration:* Toggle drawing mode         | **Ctrl + Shift + X**       | GDBFrontend / Enhanced Collabration: Enabled |\r\n| *Enhanced Collabration:* Clear all drawings          | **Ctrl + Shift + C**       | GDBFrontend / Enhanced Collabration: Enabled |\r\n\r\n## Themes\r\n\r\nGDBFrontend has built-in themes.\r\n\r\nFor switching between themes use `gf-theme [THEME]` command on GDB shell.\r\n\r\n```\r\n(gdb) gf-theme doki\r\n(gdb) gf-theme sky\r\n(gdb) gf-theme sakura\r\n(gdb) gf-theme waifu\r\n(gdb) gf-theme cyberpunk\r\n(gdb) gf-theme dark\r\n(gdb) gf-theme green\r\n(gdb) gf-theme light\r\n(gdb) gf-theme red\r\n```\r\n\r\nFor switching back to the default theme.\r\n\r\n```\r\n(gdb) gf-theme\r\n```\r\n\r\nAlso you may want to look to [Plugin Development Tutorial](https://rohanrhu.github.io/gdb-frontend/tutorials/plugin-development/).\r\n\r\n## GDBFrontend Python API\r\n\r\nYou can access GDBFrontend's Python API via `gdbfrontend` module.\r\n\r\n```\r\n(gdb) python-interactive\r\n```\r\n\r\n```python\r\n\u003e\u003e\u003e dir(gdbfrontend)\r\n```\r\n\r\nFor example, you can get all client sockets like this:\r\n\r\n```python\r\n\u003e\u003e\u003e gdbfrontend.api.globalvars.httpServer.ws_clients\r\n{1: \u003cserver.GDBFrontendSocket object at 0x...\u003e}\r\n```\r\n\r\nor you can get all plugins:\r\n\r\n```python\r\n\u003e\u003e\u003e gdbfrontend.plugin.getAll()\r\n['hello', 'theme_cyberpunk', 'theme_dark', 'theme_doki', 'theme_green', 'theme_light', 'theme_red', 'theme_sakura', 'theme_sky', 'theme_waifu']\r\n```\r\n\r\n## Security with Sharing Sessions\r\n\r\nYou can use `--credentials=USER:PASS` option for adding HTTP authentication to your debugger session.\r\n\r\n## Browser Compatibility\r\n\r\nGDBFrontend is mainly developing with testing on Chromium-based browsers. It will work properly with other browsers especially with Firefox but if you face some problems on other browsers, you can [send a bug-report](https://github.com/rohanrhu/gdb-frontend/issues/new).\r\n\r\n## Troubleshooting\r\n\r\n### Blocking GDB shell/main-thread\r\n\r\nMost of GDBFrontend functions are thread-safe and work on GDB's main-thread. So, if you run something that is blocking on the GDB shell, GDBFrontend functions have to wait it until finish.\r\n\r\nYou will get this warning when a thread-safe GDBFrontend function needs to work and you are blocking GDB's main thread.\r\n\r\n```bash\r\n(gdb) shell\r\n$ ...\r\n```\r\n\r\n![](media/main-thread-blocking-warning.png)\r\n\r\nWhen you exit shell, blocking GDBFrontend functions will continue working.\r\n\r\n**Note:** Sometimes you may get this warning without running anything in GDB shell, it means something (in GDB's event-loop) is taking a long time; in this case just ignore this warning.\r\n\r\n### Zombie Processes\r\n\r\nGDBFrontend sends SIGTERM to its sub-processes, your application and its sub-processes.\r\nIf your application is forking new processes and setting their PGIDs, GDBFrontend may not close them. In this case you should send SIGKILL to your processes.\r\n\r\n```bash\r\npkill -f gdb\r\n```\r\n\r\n### Expression Evaluator Performance Tips\r\n\r\nIf you are using **ExpressionEvaluator** with very long depth expanded variables/members, your scroll and evaluator window move performance may be affected bad for pointer visualization. In this situation, you can turn off **signal** and **slot** pointings for that evaluator window.\r\n\r\n![Evaluator Pointer Visualization Buttons](media/evaluater-pointing-buttons.png)\r\n\r\n## GDB-Related Issues and Tips\r\n\r\n* GDB may not give sources of dynamic linked object **until stepping a line that calls a function from the dynamic linked object once**.\r\n  You can add break point a line and step it once, then you will see sources from dynamic linked object hereafter during the session.\r\n\r\n## Windows\r\n\r\nIn fact, gdb-frontend is able to run on Windows but there are some serious issues in the GDB's Windows version those avoid using gdb-frontend on Windows. Of course you can use gdb-frontend on WSL if you are using Windows 10.\r\n\r\n### Issues about Windows-GDB\r\n\r\n* GDB's main-thread is being blocked during running process. (gdb-frontend has an interrupting mechanism to fixing this but it is not enough yet.)\r\n* Windows-GDB's prompt is being blocked during running process and there are some issues about interrupting the application.\r\n\r\n## WSL\r\n\r\nYou can use gdb-frontend on WSL (Windows Subsystem for Linux).\r\n\r\n### Issues about WSL\r\n\r\n* On WSL 1, Random port option is not usable on WSL becasue`/proc/net/tcp` interface is not working on WSL. (WSL 2 does not has this problem.)\r\n\r\n## Versioning\r\n\r\nSince v0.2.0-beta, GDBFrontend switched to a new versioning strategy.\r\n\r\n### Reading Versions\r\n\r\nIn `vX.Y.Z-STABILITY`:\r\n\r\n* `X` is**major** versions, changes long term with major features and enhancements.\r\n* `Y` is**main** versions that include new features and enhancements.\r\n* `Z` is**bugfix** releases of main versions.\r\n* `STABILITY` is stability level of the release. (`alpha`,`beta`,`rcN`,`stable`)\r\n\r\n## Documentation\r\n\r\nDocumentation is TODO yet.\r\n\r\n## API Documentation\r\n\r\nAPI Documentation is TODO yet.\r\n\r\n## Plugin Development\r\n\r\nYou can read the [Plugin Development Tutorial](https://rohanrhu.github.io/gdb-frontend/tutorials/plugin-development/).\r\n\r\n## Theme Development\r\n\r\nThemes are developed as plugins.\r\n\r\n## Discord\r\n\r\nJoin to Discord community.\r\n\r\n[![GDBFrontend Discord](https://img.shields.io/discord/780821881783713813.svg?color=7289da\u0026label=Discord\u0026logo=discord\u0026style=for-the-badge)](https://discord.gg/RyVY9MtB4S)\r\n\r\n## 🎊 Contributing\r\n\r\nYou can contribute with commiting to project or developing a plugin. All commits are welcome.\r\n\r\n### [Contribution Guide](CONTRIBUTING.md)\r\n\r\n## ❤️ Donate\r\n\r\n- [Patreon](https://www.patreon.com/evrenselkisilik)\r\n- [GitHub Sponsors](https://github.com/sponsors/rohanrhu)\r\n\r\n### Cryptocurrency Donations\r\n\r\n| Currency          | Address                                                                                         |\r\n| ----------------- | ----------------------------------------------------------------------------------------------- |\r\n| BTC               | bc1qhvlc762kwuzeawedl9a8z0duhs8449nwwc35e2                                                      |\r\n| ETH / USDT / USDC | 0x1D99B2a2D85C34d478dD8519792e82B18f861974                                                      |\r\n| XMR               | 88qvS4sfUnLZ7nehFrz3PG1pWovvEgprcUhkmVLaiL8PVAFgfHjspjKPLhWLj3DUcm92rwNQENbJ1ZbvESdukWvh3epBUty |\r\n\r\nPreferably, donating USDT or USDC is recommended but you can donate any of the above currencies. 🥳\r\n\r\n## License\r\n\r\nCopyright (C) 2019, Oğuzhan Eroğlu \u003crohanrhu2@gmail.com\u003e (https://oguzhaneroglu.com/)\r\n\r\nGNU General Public License v3 (GPL-3)\r\n\r\nYou may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build \u0026 install instructions.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohanrhu%2Fgdb-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frohanrhu%2Fgdb-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohanrhu%2Fgdb-frontend/lists"}