{"id":23629767,"url":"https://github.com/yasnateam/callbacker","last_synced_at":"2026-03-16T17:37:11.611Z","repository":{"id":59047480,"uuid":"141565501","full_name":"YasnaTeam/callbacker","owner":"YasnaTeam","description":"Create Fake Callback Endpoint","archived":false,"fork":false,"pushed_at":"2021-08-23T15:53:30.000Z","size":124,"stargazers_count":6,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T13:01:38.660Z","etag":null,"topics":["callback","cli","golang","network","requests","utility"],"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/YasnaTeam.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":"2018-07-19T10:44:09.000Z","updated_at":"2021-08-23T15:51:46.000Z","dependencies_parsed_at":"2022-09-11T06:51:16.733Z","dependency_job_id":null,"html_url":"https://github.com/YasnaTeam/callbacker","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/YasnaTeam/callbacker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YasnaTeam%2Fcallbacker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YasnaTeam%2Fcallbacker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YasnaTeam%2Fcallbacker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YasnaTeam%2Fcallbacker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YasnaTeam","download_url":"https://codeload.github.com/YasnaTeam/callbacker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YasnaTeam%2Fcallbacker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272940732,"owners_count":25018964,"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-31T02:00:09.071Z","response_time":79,"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":["callback","cli","golang","network","requests","utility"],"created_at":"2024-12-28T01:18:02.536Z","updated_at":"2026-03-16T17:37:11.580Z","avatar_url":"https://github.com/YasnaTeam.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Callbacker :calling:\n\nCallbacker is a utility for creating fake :hear_no_evil: callback URLs. Suppose you are working on a service which needs\nsome callback calls from other services (like github or google). Then the main problem is getting callbacks on\nthe `localhost` without any valid IP or URL :no_entry:. Callbacker is answer to that problem :ok_hand:.\n\n## Installing :computer:\n\n### Direct method :arrow_double_down:\n\nGet executable package from [latest release](https://github.com/YasnaTeam/callbacker/releases/latest) page and make it\nexecutable on your system.\n\n### Via GO! :1st_place_medal:\n\nRun this command\n\n```bash\ngo get https://github.com/YasnaTeam/callbacker\n```\n\n## Terminology :arrow_heading_down:\n\nCallbacker contains two part: `server` and `client`. `server` is one which register user connections, get their requests\nfor callback definition and finally forward callback requests to `client`. `client` is the end user tools which can\nregister callback, get forwarded request and send them to final destination.\n\n### Running a `server` instance :construction_worker:\n\nSuppose your final domain is `http://domain.ltd`, first you must define an endpoint with `/callback` URI. On `Nginx` you\ncan do that with some configurations like this:\n\n```nginx\nserver {\n\tserver_name domain.ltd;\n\n\tlocation /callback {\n\t\tproxy_pass http://127.0.0.1:1616;\n\t}\n}\n```\n\nthen run the `server`:\n\n```bash\n./callbacker -v -s -u http://domain.ltd/callback\n```\n\n#### Defining a `systemd` service for server instance\n\nFor definition of a `systemd` service, you can create a file on `~/.config/systemd/user` and put this lines on it:\n\n```bash\n[Unit]\nDescription=Callbacker\nAfter=network.target\n\n[Service]\nType=simple\nNonBlocking=true\n\nExecStart=/absolute/path/to/callbacker -s -u http://domain.ltd/callback\nRestart=on-failure\nRestartSec=5s\n```\n\nthen reload daemons with `systemctl daemon-reload` and run the service with `systemctl start callbacker`.\n\nWith `./callbacker -h` you can see all available flags.\n\n### Running a `client` instance :post_office:\n\nIn your local command line, just run this:\n\n```bash\n./callbacker -c domain.ltd:2424\n```\n\non first run of callbacker you must choose your username:\n\n```bash\n$ ./callbacker -c domain.ltd:2424\nEnter your username: \n```\n\nwith submitting username, you can view all options be pressing `h`:\n\n```bash\n$ ./callbacker -c domain.ltd:2424\nEnter your username: meysampg\nPlease select a command (Press h for help): h\nUse this commands:\n    a (or add)\tAdd a route\n    l (or list)\tPrint route table\n    t (or truncate)\tTruncate route table and configuration file\n    x (or exit)\tExit from program\n```\n\nby pressing `a` you can add a local route to callbacker. Local route is an endpoint on your software which wanna receive\ninformation (for example from a github webhook or after logging in on google):\n\n```bash\n$ ./callbacker -c domain.ltd:2424\nPlease select a command (Press h for help): a\n\nIn this section you can add a local callback url. After adding the route, you\nwill recieve a unique callback url which you can use it as a valid callback.\nEnter route: http://mysite.mpg/api/v1/my_endpoint\n```\n\nNow by pressing `l` you can view route and assigned callback to it:\n\n```bash\nPlease select a command (Press h for help): l\n\n #\tRoute\t\t\t\t\tCallback\n --\t-----\t\t\t\t\t--------\n 1\thttp://mysite.mpg/api/v1/my_endpoint \thttp://domain.ltd/callback/b5b1c30a-57e2-428e-861e-813d9a92fc0f\n```\n\nNow you can use `http://domain.ltd/callback/b5b1c30a-57e2-428e-861e-813d9a92fc0f` as a valid URL and pass it to origin (\ne.g. github webhook, ...). Each time a callback has been called to this URL, all information of request will be sent to\nyour running client and a callback will be simulated.\n\n## Contribution :love_letter:\n\nFork from this project :fork_and_knife:, do your modification and send a pull request!\n\n---------\nMade with love in [YasnaTeam](https://yasna.team) :heart:","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyasnateam%2Fcallbacker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyasnateam%2Fcallbacker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyasnateam%2Fcallbacker/lists"}