6 Commits

Author SHA1 Message Date
RustDesk
bd7bc52c43 Update build.yaml 2026-01-13 10:26:46 +08:00
rustdesk
34cbd57e71 bump version 2026-01-13 10:20:40 +08:00
rustdesk
46e9ecd47d fix pr 2026-01-12 17:28:25 +08:00
rustdesk
d0770e6c06 high rustc 2026-01-12 15:08:01 +08:00
rustdesk
f87372ead0 GHCR manifest 2026-01-12 14:59:45 +08:00
RustDesk
04efb7033c Update README.md 2026-01-12 14:54:50 +08:00
6 changed files with 73 additions and 10 deletions

View File

@@ -53,7 +53,7 @@ jobs:
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: "1.88"
toolchain: "1.90"
override: true
default: true
components: rustfmt
@@ -94,7 +94,7 @@ jobs:
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: "1.88"
toolchain: "1.90"
override: true
default: true
components: rustfmt
@@ -321,6 +321,14 @@ jobs:
echo "GIT_TAG=$T" >> $GITHUB_ENV
echo "MAJOR_TAG=$M" >> $GITHUB_ENV
- name: Log in to GHCR
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: ghcr.io
username: rustdesk
password: ${{ secrets.GITHUB_TOKEN }}
# manifest for :1.2.3 tag
# this has to run only if invoked by a new tag
- name: Create and push manifest (:ve.rs.ion)
@@ -347,6 +355,32 @@ jobs:
extra-images: ${{ secrets.DOCKER_IMAGE }}:${{ env.LATEST_TAG }}-amd64,${{ secrets.DOCKER_IMAGE }}:${{ env.LATEST_TAG }}-arm64v8,${{ secrets.DOCKER_IMAGE }}:${{ env.LATEST_TAG }}-armv7,${{ secrets.DOCKER_IMAGE }}:${{ env.LATEST_TAG }}-i386
push: true
# GHCR manifests
# manifest for :1.2.3 tag
- name: Create and push GHCR manifest (:ve.rs.ion)
uses: Noelware/docker-manifest-action@0.4.3
if: github.event_name != 'workflow_dispatch'
with:
base-image: ${{ env.GHCR_IMAGE }}:${{ env.GIT_TAG }}
extra-images: ${{ env.GHCR_IMAGE }}:${{ env.GIT_TAG }}-amd64,${{ env.GHCR_IMAGE }}:${{ env.GIT_TAG }}-arm64v8,${{ env.GHCR_IMAGE }}:${{ env.GIT_TAG }}-armv7,${{ env.GHCR_IMAGE }}:${{ env.GIT_TAG }}-i386
push: true
# manifest for :1 tag (major release)
- name: Create and push GHCR manifest (:major)
uses: Noelware/docker-manifest-action@0.4.3
with:
base-image: ${{ env.GHCR_IMAGE }}:${{ env.MAJOR_TAG }}
extra-images: ${{ env.GHCR_IMAGE }}:${{ env.MAJOR_TAG }}-amd64,${{ env.GHCR_IMAGE }}:${{ env.MAJOR_TAG }}-arm64v8,${{ env.GHCR_IMAGE }}:${{ env.MAJOR_TAG }}-armv7,${{ env.GHCR_IMAGE }}:${{ env.MAJOR_TAG }}-i386
push: true
# manifest for :latest tag
- name: Create and push GHCR manifest (:latest)
uses: Noelware/docker-manifest-action@0.4.3
with:
base-image: ${{ env.GHCR_IMAGE }}:${{ env.LATEST_TAG }}
extra-images: ${{ env.GHCR_IMAGE }}:${{ env.LATEST_TAG }}-amd64,${{ env.GHCR_IMAGE }}:${{ env.LATEST_TAG }}-arm64v8,${{ env.GHCR_IMAGE }}:${{ env.LATEST_TAG }}-armv7,${{ env.GHCR_IMAGE }}:${{ env.LATEST_TAG }}-i386
push: true
# docker build and push of single-arch images
docker-classic:
@@ -453,6 +487,14 @@ jobs:
echo "GIT_TAG=$T" >> $GITHUB_ENV
echo "MAJOR_TAG=$M" >> $GITHUB_ENV
- name: Log in to GHCR
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: ghcr.io
username: rustdesk
password: ${{ secrets.GITHUB_TOKEN }}
# manifest for :1.2.3 tag
# this has to run only if invoked by a new tag
- name: Create and push manifest (:ve.rs.ion)
@@ -479,6 +521,32 @@ jobs:
extra-images: ${{ secrets.DOCKER_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-amd64,${{ secrets.DOCKER_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-arm64v8,${{ secrets.DOCKER_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-armv7
push: true
# GHCR manifests
# manifest for :1.2.3 tag
- name: Create and push GHCR manifest (:ve.rs.ion)
uses: Noelware/docker-manifest-action@0.4.3
if: github.event_name != 'workflow_dispatch'
with:
base-image: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.GIT_TAG }}
extra-images: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.GIT_TAG }}-amd64,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.GIT_TAG }}-arm64v8,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.GIT_TAG }}-armv7
push: true
# manifest for :1 tag (major release)
- name: Create and push GHCR manifest (:major)
uses: Noelware/docker-manifest-action@0.4.3
with:
base-image: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.MAJOR_TAG }}
extra-images: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.MAJOR_TAG }}-amd64,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.MAJOR_TAG }}-arm64v8,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.MAJOR_TAG }}-armv7
push: true
# manifest for :latest tag
- name: Create and push GHCR manifest (:latest)
uses: Noelware/docker-manifest-action@0.4.3
with:
base-image: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}
extra-images: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-amd64,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-arm64v8,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-armv7
push: true
deb-package:

2
Cargo.lock generated
View File

@@ -1068,7 +1068,7 @@ dependencies = [
[[package]]
name = "hbbs"
version = "1.1.14"
version = "1.1.15"
dependencies = [
"async-speed-limit",
"async-trait",

View File

@@ -1,6 +1,6 @@
[package]
name = "hbbs"
version = "1.1.14"
version = "1.1.15"
authors = ["rustdesk <info@rustdesk.com>"]
edition = "2021"
build = "build.rs"

View File

@@ -33,5 +33,3 @@ If you want to develop your own server, [rustdesk-server-demo](https://github.co
## Installation
Please follow this [doc](https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/)

View File

@@ -1050,15 +1050,12 @@ impl RendezvousServer {
Some("punch-requests" | "pr") => {
use std::fmt::Write as _;
let mut lock = PUNCH_REQS.lock().await;
// retain only recent (optional cleanup older than a day)
lock.retain(|e| e.tm.elapsed().as_secs() < 24*3600);
let arg = fds.next();
if let Some("-") = arg { lock.clear(); }
else {
let mut start = arg.and_then(|x| x.parse::<usize>().ok()).unwrap_or(0);
let mut page_size = fds.next().and_then(|x| x.parse::<usize>().ok()).unwrap_or(10);
if page_size == 0 { page_size = 10; }
if start >= lock.len() { start = 0; }
for (_, e) in lock.iter().enumerate().skip(start).take(page_size) {
let age = e.tm.elapsed();
let event_system = std::time::SystemTime::now() - age;

View File

@@ -15,7 +15,7 @@
!define PRODUCT_NAME "rustdesk_server"
!define PRODUCT_DESCRIPTION "Installer for ${PRODUCT_NAME}"
!define COPYRIGHT "Copyright © 2021"
!define VERSION "1.1.14"
!define VERSION "1.1.15"
VIProductVersion "${VERSION}.0"
VIAddVersionKey "ProductName" "${PRODUCT_NAME}"