{"id":20268621,"url":"https://github.com/agoraio/signaling-sdk-samples-linux","last_synced_at":"2026-06-12T09:31:37.609Z","repository":{"id":221693422,"uuid":"754441718","full_name":"AgoraIO/signaling-sdk-samples-linux","owner":"AgoraIO","description":null,"archived":false,"fork":false,"pushed_at":"2024-02-12T11:23:10.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-03T23:03:21.807Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/AgoraIO.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}},"created_at":"2024-02-08T03:52:25.000Z","updated_at":"2024-02-09T13:24:36.000Z","dependencies_parsed_at":"2024-02-12T12:25:53.520Z","dependency_job_id":"71c9a9a5-14a2-4aff-8ebb-71939ee5c6bc","html_url":"https://github.com/AgoraIO/signaling-sdk-samples-linux","commit_stats":null,"previous_names":["agoraio/signaling-sdk-samples-linux"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AgoraIO/signaling-sdk-samples-linux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO%2Fsignaling-sdk-samples-linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO%2Fsignaling-sdk-samples-linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO%2Fsignaling-sdk-samples-linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO%2Fsignaling-sdk-samples-linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AgoraIO","download_url":"https://codeload.github.com/AgoraIO/signaling-sdk-samples-linux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgoraIO%2Fsignaling-sdk-samples-linux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34238712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"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":[],"created_at":"2024-11-14T12:19:05.645Z","updated_at":"2026-06-12T09:31:37.593Z","avatar_url":"https://github.com/AgoraIO.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agora Signaling SDK for Linux C++ reference app\n\nThis repository holds the code examples used for the [Agora Signaling SDK for Linux C++](https://docs-beta.agora.io/en/signaling/overview/product-overview?platform=linux-cpp) documentation. Clone the repo, run and test the samples, use the code in your own project. Enjoy.\n\n- [Samples](#samples)\n- [Prerequisites](#prerequisites)\n- [Run this project](#run-this-project)\n- [Contact](#contact)\n\n**This reference app uses Signaling SDK v2.x**.\n\n## Samples  \n\nThe runnable code examples are:\n\n- [SDK quickstart](./sdk-quickstart/README.md) - the minimum code you need to integrate low-latency, high-concurrency signaling features into your app using Signaling SDK.\n- [Token authentication](./authentication-workflow/README.md) - retrieve a token from the server, and use it to connect securely to Signaling as a specific user.\n- [Presence](./presence/README.md) - get information about the status of users in specified channels.\n- [Stream channels](./stream-channel/README.md) - communicate with other users in topics.\n- [Store channel and user data](./storage/README.md) - easily store data for users and channels without the need to set up your own database. \n- [Data Encryption](./data-encryption/README.md) - integrate built-in data encryption into your Signaling app.\n- [Geofencing](./geofencing/README.md) - only connect to Signaling within the specified region.\n- [Proxy Connection](./proxy-service/README.md) - ensure reliable connectivity for your users when they connect from an environment with a restricted network.\n\n\n## Prerequisites\n\nBefore getting started with this reference app, ensure you have the following set up:\n\n- Linux\n- C++\n- Installed the cURL library\n\n    ```bash\n    sudo apt-get install libcurl4-openssl-dev\n    ```\n\n## Run this project\n\nTo run the sample projects in this repository, take the following steps:\n\n1. **Clone the repository**\n\n    To clone the repository to your local machine, open Terminal and navigate to the `\u003csamples-root\u003e` directory where you want to clone the repository. Then, use the following command:\n\n    ```bash\n    git clone https://github.com/saudsami/signaling-sdk-samples-linux.git\n    ```\n\n1. **Integrate the Signaling SDK for Linux** \n\n    1. Download the [Agora Signaling SDK 2.x for Linux](https://download.agora.io/rtm2/release/Agora_RTM_C%2B%2B_SDK_for_Linux_v219.zip?_gl=1) and unzip the contents.\n\n    1. Copy the file `libagora_rtm_sdk.so` to the `\u003csamples-root\u003e/signaling-sdk-samples-linux/lib` folder.\n\n    1. Copy the `include` folder to the `\u003csamples-root\u003e/signaling-sdk-samples-linux` folder.\n   \n1. **Modify the project configuration**\n\n   This app loads connection parameters from a configuration file [`config.json`](./config.json).  If a valid `serverUrl` is provided, all samples use the token server to obtain a token, except the **SDK quickstart**  which uses the `token` parameter in the config file.\n\n   Ensure that `config.json` is populated with the required parameter values before running this reference app.\n\n    - `uid`: The user ID associated with the application.\n    - `appId`: (Required) The unique ID for the application obtained from [Agora Console](https://console.agora.io). \n    - `channelName`: The default name of the channel to join.\n    - `token`:An token generated for `channelName`. You generate a temporary token using the [Agora token builder](https://agora-token-generator-demo.vercel.app/).\n    - `serverUrl`: The URL for the token generator. See [Secure authentication with tokens](https://docs-beta.agora.io/en/signaling/get-started/authentication-workflow) for information on how to set up a token server.\n    - `tokenExpiryTime`: The time in seconds after which a token expires.\n\n1. **Build and run the project**\n\n   In the project folder, open Terminal and run the following command:\n\n    ``` bash\n    sh +x clean_build.sh\n    ```\n\n1. **Run the samples in the reference app**\n\n   To run the reference app, execute the following command in the terminal:\n\n   ```shell\n   ./build/SignalingDemo\n   ```\n\n## Contact\n\nIf you have any questions, issues, or suggestions, please file an issue in our [GitHub Issue Tracker](https://github.com/saudsami/signaling-sdk-samples-linux/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagoraio%2Fsignaling-sdk-samples-linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagoraio%2Fsignaling-sdk-samples-linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagoraio%2Fsignaling-sdk-samples-linux/lists"}