{"id":45345877,"url":"https://github.com/xakep666/wurl","last_synced_at":"2026-02-21T11:30:43.021Z","repository":{"id":57554457,"uuid":"128206451","full_name":"xakep666/wurl","owner":"xakep666","description":"Console client for websocket protocol","archived":false,"fork":false,"pushed_at":"2023-12-18T23:41:42.000Z","size":3470,"stargazers_count":9,"open_issues_count":1,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-06-20T10:08:39.365Z","etag":null,"topics":["cli-app","client","console-application","console-tool","custom-header","golang","websocket","websocket-client","websocket-protocol"],"latest_commit_sha":null,"homepage":"","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/xakep666.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,"governance":null}},"created_at":"2018-04-05T12:57:29.000Z","updated_at":"2023-09-08T17:38:53.000Z","dependencies_parsed_at":"2022-09-26T18:51:16.607Z","dependency_job_id":"fa64c2d4-199a-4637-babd-d2acd92fb4ed","html_url":"https://github.com/xakep666/wurl","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/xakep666/wurl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xakep666%2Fwurl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xakep666%2Fwurl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xakep666%2Fwurl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xakep666%2Fwurl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xakep666","download_url":"https://codeload.github.com/xakep666/wurl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xakep666%2Fwurl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29679773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T11:29:27.227Z","status":"ssl_error","status_checked_at":"2026-02-21T11:29:20.292Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cli-app","client","console-application","console-tool","custom-header","golang","websocket","websocket-client","websocket-protocol"],"created_at":"2026-02-21T11:30:42.213Z","updated_at":"2026-02-21T11:30:43.012Z","avatar_url":"https://github.com/xakep666.png","language":"Go","readme":"# wurl - console client for websocket protocol\n\n[![Documentation](https://godoc.org/github.com/github.com/xakep666/wurl?status.svg)](http://godoc.org/github.com/xakep666/wurl)\n[![Go Report Card](https://goreportcard.com/badge/github.com/xakep666/wurl)](https://goreportcard.com/report/github.com/xakep666/wurl)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/github.com/xakep666/wurl/LICENSE)\n\n## Abstract\n\nAt the moment we already have quite few websocket clients. Starting from browser addons, ending with console clients.\n\nBut I`m not satisfied with either of them. Browser addons requires installed and running browser.\nNodeJS-based clients requires node and tons of dependencies.\nBut most importantly, none of them allows you to specify additional headers for request.\n\nSo I decided to write own console websocket client...\n\n## Installation\n`go get -u github.com/xakep666/wurl`\n\n`vgo get -u github.com/xakep666/wurl`\n\nPre-built binary releases available for:\n- Linux: x86_64, x86, arm\n- Mac OS (darwin): x86_64\n- Windows: x86_64, x86\n\n## Current features\n- Read text/binary messages from connection and display it\n- Ability to set additional headers for connection upgrade request\n- Correctly processes ping message (by default responses with pongs message)\n- Can periodically send ping message to server (period can be set through flags)\n\n### TODOs for v1\n- [x] Document all packages\n- [x] Flag to show handshake response\n- [x] Store and load options from file\n- [x] Warning about binary messages before displaying (cURL-like)\n- [x] Ability to specify output\n- [x] Option to send message to server before reading\n- [x] Good description for all flags/commands\n- [x] Proxy support\n- [x] Bash autocomplete\n- [ ] Package to rpm, deb, for Arch (after release)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxakep666%2Fwurl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxakep666%2Fwurl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxakep666%2Fwurl/lists"}