Callbacker is a utility for creating fake 🙉 callback URLs. Suppose you are working on a service which needs
some callback calls from other services (like github or google). Then the main problem is getting callbacks on
the localhost without any valid IP or URL ⛔. Callbacker is answer to that problem 👌.
Get executable package from latest release page and make it executable on your system.
Run this command
go get https://github.com/YasnaTeam/callbackerCallbacker contains two part: server and client. server is one which register user connections, get their requests
for callback definition and finally forward callback requests to client. client is the end user tools which can
register callback, get forwarded request and send them to final destination.
Suppose your final domain is http://domain.ltd, first you must define an endpoint with /callback URI. On Nginx you
can do that with some configurations like this:
server {
server_name domain.ltd;
location /callback {
proxy_pass http://127.0.0.1:1616;
}
}then run the server:
./callbacker -v -s -u http://domain.ltd/callbackFor definition of a systemd service, you can create a file on ~/.config/systemd/user and put this lines on it:
[Unit]
Description=Callbacker
After=network.target
[Service]
Type=simple
NonBlocking=true
ExecStart=/absolute/path/to/callbacker -s -u http://domain.ltd/callback
Restart=on-failure
RestartSec=5sthen reload daemons with systemctl daemon-reload and run the service with systemctl start callbacker.
With ./callbacker -h you can see all available flags.
In your local command line, just run this:
./callbacker -c domain.ltd:2424on first run of callbacker you must choose your username:
$ ./callbacker -c domain.ltd:2424
Enter your username: with submitting username, you can view all options be pressing h:
$ ./callbacker -c domain.ltd:2424
Enter your username: meysampg
Please select a command (Press h for help): h
Use this commands:
a (or add) Add a route
l (or list) Print route table
t (or truncate) Truncate route table and configuration file
x (or exit) Exit from programby pressing a you can add a local route to callbacker. Local route is an endpoint on your software which wanna receive
information (for example from a github webhook or after logging in on google):
$ ./callbacker -c domain.ltd:2424
Please select a command (Press h for help): a
In this section you can add a local callback url. After adding the route, you
will recieve a unique callback url which you can use it as a valid callback.
Enter route: http://mysite.mpg/api/v1/my_endpointNow by pressing l you can view route and assigned callback to it:
Please select a command (Press h for help): l
# Route Callback
-- ----- --------
1 http://mysite.mpg/api/v1/my_endpoint http://domain.ltd/callback/b5b1c30a-57e2-428e-861e-813d9a92fc0fNow you can use http://domain.ltd/callback/b5b1c30a-57e2-428e-861e-813d9a92fc0f as a valid URL and pass it to origin (
e.g. github webhook, ...). Each time a callback has been called to this URL, all information of request will be sent to
your running client and a callback will be simulated.
Fork from this project 🍴, do your modification and send a pull request!
Made with love in YasnaTeam ❤️