{"id":19577329,"url":"https://github.com/sealoong/drcom4scut","last_synced_at":"2025-07-27T10:41:19.282Z","repository":{"id":43478043,"uuid":"297269431","full_name":"SeaLoong/drcom4scut","owner":"SeaLoong","description":"A 3rd-party DrCOM client for SCUT, written in Rust.","archived":false,"fork":false,"pushed_at":"2025-07-19T18:42:04.000Z","size":266,"stargazers_count":29,"open_issues_count":4,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-19T21:48:57.192Z","etag":null,"topics":["drcom","libpnet","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SeaLoong.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":"2020-09-21T08:00:49.000Z","updated_at":"2025-07-19T18:42:08.000Z","dependencies_parsed_at":"2025-04-27T06:32:31.205Z","dependency_job_id":"3a7fd700-dd47-4be8-8ec8-5a17bd357206","html_url":"https://github.com/SeaLoong/drcom4scut","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/SeaLoong/drcom4scut","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeaLoong%2Fdrcom4scut","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeaLoong%2Fdrcom4scut/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeaLoong%2Fdrcom4scut/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeaLoong%2Fdrcom4scut/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SeaLoong","download_url":"https://codeload.github.com/SeaLoong/drcom4scut/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeaLoong%2Fdrcom4scut/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267346500,"owners_count":24072630,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"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":["drcom","libpnet","rust"],"created_at":"2024-11-11T07:05:58.026Z","updated_at":"2025-07-27T10:41:19.229Z","avatar_url":"https://github.com/SeaLoong.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# drcom4scut\n\n\u003e 当前版本  0.3.0\n\n+ A 3rd-party DrCOM client for SCUT, written in Rust.\n+ 华南理工大学第三方客户端，使用Rust语言编写。\n\n---\n\n## 用法\n\n\u003e 仅供不熟悉操作的同学参考，熟悉的话直接看命令行参数和配置项应该就知道怎么用了\n\n1. 下载 Release 并解压。\n2. 如在Windows系统，安装[npcap](https://npcap.com/#download)\n3. 运行 drcom4scut，第一次会产生配置文件。\n4. 填写配置文件，通常只需要填写 `username` 和 `password` 两项（注意yml文件格式）。\n5. 再次运行 drcom4scut，通常是可以正常运行的。\n   + 如果不能，请查看控制台输出的提示。\n     + 如果没有自动选择正确的网卡，请在配置文件中填写 `mac` 或 `ip` 任意一项。其中 `mac` 是以冒号分隔的形式， `ip` 是你指定网卡对应设置的IP地址。\n     + 如果出现不能读取配置文件，请检查填写的配置文件是否满足yml规范。\n\n---\n\n## 命令行参数\n\n```bash\nUsage: drcom4scut.exe [OPTIONS]\n\nOptions:\n  -c, --config \u003cconfig\u003e      Path to config file. [default: config.yml]\n  -D, --debug                Enable debug mode.\n  -m, --mac \u003cmac\u003e            Ethernet Device MAC address.\n  -i, --ip \u003cip\u003e              IP address of the selected Ethernet Device.\n  -u, --username \u003cusername\u003e  Username to authorize.\n  -p, --password \u003cpassword\u003e  Password to authorize.\n  -H, --host \u003chost\u003e          Host to connect UDP server. Default value is 's.scut.edu.cn'.\n  -N, --hostname \u003chostname\u003e  Default value is current computer host name.\n  -t, --time \u003ctime\u003e          Time to reconnect automatically after you are not allowed to access Internet. Default value is 7:00.\n  -h, --help                 Print help\n  -V, --version              Print version\n```\n\n---\n\n## 配置项\n\n```yml\nmac:   # (可选)网卡MAC地址，以冒号':'分隔\nip:   # (可选)网卡对应设置的IP地址\nusername: ''  # 账号（学号）\npassword: ''  # 密码\ndns:   # 学校DNS服务器IP地址，默认已填入五山校区和大学城校区的DNS\n  - 202.38.193.33\n  - 222.201.130.30\n  - 202.112.17.33\n  - 222.201.130.33\nhost: s.scut.edu.cn   # (可选) 用于UDP连接的地址，通常不需要改动\nhostname:   # (可选) 主机名，留空会使用当前电脑的主机名\ntime: 7:00   # (可选) 在收到“本时段禁止上网”后的重连时间，默认为7点整\nreconnect: 15   # (可选) 出现意外情况时的重连间隔，默认为15秒\nheartbeat:\n  eap_timeout: 60   # (可选) EAP连接心跳间隔，默认为60秒\n  udp_timeout: 12   # (可选) UDP连接心跳间隔，默认为12秒\nretry:\n  count: 2   # (可选) 错误重试次数\n  interval: 5000   # (可选) 数据包重发间隔、错误重试间隔，默认为5000毫秒\nlog:\n  enable_console: false   # (可选) 是否输出日志到控制台\n  enable_file: false   # (可选) 是否输出日志到文件\n  file_directory: ./logs   # (可选) 日志文件目录\n  level: INFO   # (可选) 日志等级\ndata:   # (可选) 以下参数通常不需要填写，填写错误可能会导致不可预计的问题\n  response_identity:\n    unknown:\n  response_md5_challenge:\n    unknown:\n  misc_info:\n    unknown1:\n    cks32_param:\n    unknown2:\n    os_major:\n    os_minor:\n    os_build:\n    os_unknown:\n    version:\n    hash:\n```\n\n---\n\n## 构建和编译\n\n### 一般构建\n\n```bash\ncargo build --release\n```\n\n+ 如果你想去掉更好的日志功能而使用最简单的控制台日志，可以禁用 `log4rs` 特性\n\n  ```bash\n  cargo build --release --no-default-features\n  ```\n+ 需要使用 *Nightly* 版本的 Rust 进行编译。\n+ 由于使用了 [**libpnet**](https://crates.io/crates/pnet) ，在Windows下需要安装 *WinPcap* 或 *pcap* 才能进行编译，详见[**libpnet**](https://crates.io/crates/pnet)。\n+ 目前在 Windows/Ubuntu(感谢hyh) 下编译通过，其余环境暂未测试。\n\n### 自动构建\n+ 已经为Ubuntu和Windows自动构建了最新版本的drcom4scut，如有需要请从GitHub Action下载。如果文件过期可以自己fork后构建。\n### OpenWRT\n\n+ 由于并没有了解这方面，待补充。\n\n---\n\n## 许可证\n\n[![LGPLv3](https://img.shields.io/badge/License-LGPLv3-blue.svg?longCache=true)](https://github.com/SeaLoong/drcom4scut/blob/master/LICENSE)\n\n---\n\n## 鸣谢\n\n+ hyh\n+ cq\n+ 所有参与使用的同学\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsealoong%2Fdrcom4scut","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsealoong%2Fdrcom4scut","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsealoong%2Fdrcom4scut/lists"}