Skip to content

【开源之夏有奖活动】Connect 子命令功能开发 #55

@vyloy

Description

@vyloy

报名地址:https://summer-ospp.ac.cn/org/prodetail/24c570189?lang=zh&list=pro

项目名称

AO.space GT Connect 子命令功能开发

项目描述

AO.space GT 是一款注重稳定性和性能的高效 WebSocket(s)/HTTP(s)/TCP 代理工具,目前具备 server 和 client 子命令,支持 NAT 穿透。本项目旨在开发一个新的 connect 子命令,该命令将扩展 GT 的功能,使其能够与 client 子命令建立 P2P 连接。这一功能的实现将显著提高数据传输效率,降低服务器负载和网络延迟。connect 子命令将智能选择是通过服务中转还是直接 P2P 连接,以确保数据安全、高效地传输至客户端。

项目难度

进阶

产出要求

  • 成功开发并集成 AO.space GT 的 connect 子命令。
  • 完成对应的单元测试和集成测试,确保功能的稳定性和可靠性。
  • 编写详尽的设计文档和用户指南,方便用户理解和使用新功能。
  • 确保项目能够在 openEuler 操作系统和 RISC-V 架构上顺畅运行。

技术要求

  • 熟悉 Rust 和 C/C++ 编程语言。
  • 熟练使用 Tokio 异步运行时和 WebRTC 技术。
  • 对网络通信原理和相关协议有深入理解。
  • 了解 Golang 编程语言。
  • 了解 Github 持续集成/持续部署(CI/CD)流程。
  • 对 RISC-V 架构有一定了解。

项目源代码仓库

AO.space GT Github 仓库

Project Name

AO.space GT Connect Subcommand Development

Project Description

AO.space GT is a high-performance WebSocket(s)/HTTP(s)/TCP proxy tool with a focus on stability and performance. It currently features server and client subcommands and supports NAT traversal. This project aims to develop a new connect subcommand that will expand the capabilities of GT, enabling it to establish P2P connections with the client subcommand. The implementation of this feature will significantly enhance data transfer efficiency, reduce server load, and decrease network latency. The connect subcommand will intelligently select whether to use service relay or direct P2P connection to ensure that data is securely and efficiently transmitted to the client.

Project Difficulty

Advanced

Deliverables

  • Successful development and integration of the AO.space GT connect subcommand.
  • Completion of corresponding unit and integration tests to ensure the stability and reliability of the feature.
  • Authoring of comprehensive design documentation and user guides for easy understanding and utilization of the new functionality.
  • Ensuring the project runs smoothly on the openEuler operating system and RISC-V architecture.

Technical Requirements

  • Familiarity with Rust and C/C++ programming languages.
  • Familiarity with Tokio asynchronous runtime and WebRTC technology.
  • In-depth understanding of network communication principles and related protocols.
  • Knowledge of the Golang programming language.
  • Familiarity with Github Continuous Integration/Continuous Deployment (CI/CD) processes.
  • Understanding of the RISC-V architecture.

Project Source Code Repository

AO.space GT Github Repository

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions