{"id":43266927,"url":"https://github.com/5cript/roar","last_synced_at":"2026-02-01T15:12:52.019Z","repository":{"id":39646975,"uuid":"482031457","full_name":"5cript/roar","owner":"5cript","description":"A Networking Library Wrapping Around ASIO, Beast and Curl","archived":false,"fork":false,"pushed_at":"2025-08-15T10:14:26.000Z","size":11818,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-15T11:11:26.881Z","etag":null,"topics":["boost","cpp20","http","http-server","https","websocket","websockets"],"latest_commit_sha":null,"homepage":"https://5cript.github.io/roar","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/5cript.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-04-15T17:16:07.000Z","updated_at":"2025-08-15T10:14:30.000Z","dependencies_parsed_at":"2023-10-21T01:35:32.709Z","dependency_job_id":"e7a017f8-5562-4c29-af7d-1ce09a458a34","html_url":"https://github.com/5cript/roar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/5cript/roar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5cript%2Froar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5cript%2Froar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5cript%2Froar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5cript%2Froar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/5cript","download_url":"https://codeload.github.com/5cript/roar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5cript%2Froar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28980858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T13:38:33.235Z","status":"ssl_error","status_checked_at":"2026-02-01T13:38:32.912Z","response_time":56,"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":["boost","cpp20","http","http-server","https","websocket","websockets"],"created_at":"2026-02-01T15:12:51.536Z","updated_at":"2026-02-01T15:12:52.005Z","avatar_url":"https://github.com/5cript.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ROAR\r\n\r\nGithub Pages Documentation: https://5cript.github.io/roar/\r\n\r\nThis is a network library that has:\r\n- a HTTP(S) Server based on boost beast.\r\n- a HTTP(S) Client based on boost beast.\r\n- a CURL easy wrapper http client.\r\n- Javascript Promise like syntax for asynchronous actions provided by xhawk18_promise.\r\n\r\n## Features and planed features\r\n\r\n- [x] HTTP Server\r\n  - [x] HTTPS Support (facillitated using boost::asio::ssl_context)\r\n    - [x] Hybrid support, allow marked requests as unsecure.\r\n  - [x] Routing (verb+path =\u003e handler)\r\n  - [x] Custom error pages (404, ...)\r\n  - [ ] Provided pretty standard replies / error pages.\r\n  - [x] Regex paths\r\n  - [x] Serving files (easier than using regex paths)\r\n    - [x] Download\r\n    - [x] Upload\r\n    - [x] Deletion\r\n    - [x] Directory Listing\r\n      - [x] List of files\r\n      - [x] Styleable, pretty by default\r\n      - [x] Last modified date\r\n      - [x] File size\r\n    - [x] Range Requests for GET.\r\n    - [ ] Resumeable Uploads?\r\n- [x] Websocket\r\n  - [x] Websocket Server Support (SSL and Plain)\r\n  - [x] Websocket Client (SSL and Plain)\r\n  - [x] Websocket Upgrade from HTTP(S) Server\r\n- [x] Synchronous HTTP Client using libcurl.\r\n- [x] Asynchronous HTTP Client using beast.\r\n- [x] URL Parser\r\n- [ ] HTTP \u0026 HTTPS Tunnel Proxy\r\n\r\n## Dependencies\r\n\r\n- boost 1.81.0 or higher\r\n    - openssl::ssl\r\n    - openssl::crypto\r\n    - cryptopp\r\n- libcurl\r\n\r\n### MacOS\r\n\r\nDependencies are expected to be installed via brew.\r\nIf this does not work for you, please open an issue.\r\n\r\nbrew install ninja boost cryptopp curl llvm@16\r\n\r\n### Windows\r\n\r\nUse vcpkg on windows for these dependencies when building with Visual Studio \u0026 cmake.\r\nhttps://vcpkg.io/en/getting-started.html\r\n\r\nExample CMakeSettings.json\r\n```json\r\n{\r\n  \"configurations\": [\r\n    {\r\n      \"name\": \"x64-Clang-Debug\",\r\n      \"generator\": \"Ninja\",\r\n      \"configurationType\": \"Debug\",\r\n      \"buildRoot\": \"${projectDir}\\\\build\\\\${name}\",\r\n      \"installRoot\": \"${projectDir}\\\\build\\\\install\\\\${name}\",\r\n      \"buildCommandArgs\": \"\",\r\n      \"ctestCommandArgs\": \"\",\r\n      \"inheritEnvironments\": [ \"clang_cl_x64\" ],\r\n      \"cmakeCommandArgs\": \"\",\r\n      \"cmakeToolchain\": \"D:/vcpkg/scripts/buildsystems/vcpkg.cmake\"\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\n# Developer Notes\r\nOn msys2 use python (3) and python-pip of your subsystem, otherwise packages are not found","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F5cript%2Froar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F5cript%2Froar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F5cript%2Froar/lists"}