mirror of
https://github.com/lejianwen/rustdesk-api.git
synced 2026-01-21 06:20:35 +00:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0dbab182e9 | ||
|
|
512f3f99fd | ||
|
|
6fb4fad705 | ||
|
|
fa92529e9b | ||
|
|
d6c6051a6c | ||
|
|
ce063bd3ac | ||
|
|
4468894dfb | ||
|
|
8b00b919ad | ||
|
|
64f4a6dfac | ||
|
|
6faa5153b6 |
95
.github/workflows/build.yml
vendored
95
.github/workflows/build.yml
vendored
@@ -57,6 +57,11 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: lejianwen/rustdesk-api-web
|
||||
path: rustdesk-api-web
|
||||
ref: master
|
||||
|
||||
- name: Set up Go environment
|
||||
uses: actions/setup-go@v4
|
||||
@@ -68,14 +73,12 @@ jobs:
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
|
||||
- name: build rustdesk-api-web
|
||||
working-directory: rustdesk-api-web
|
||||
run: |
|
||||
git clone ${{ env.WEBCLIENT_SOURCE_LOCATION }}
|
||||
cd rustdesk-api-web
|
||||
npm install
|
||||
npm run build
|
||||
mkdir ../resources/admin/ -p
|
||||
mkdir -p ../resources/admin/
|
||||
cp -ar dist/* ../resources/admin/
|
||||
|
||||
- name: tidy
|
||||
@@ -124,20 +127,91 @@ jobs:
|
||||
path: |
|
||||
${{ matrix.job.goos}}-${{ matrix.job.platform }}.${{matrix.job.file_ext}}
|
||||
|
||||
- name: Generate Changelog
|
||||
run: npx changelogithub # or changelogithub@0.12 if ensure the stable result
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||
|
||||
- name: Upload to GitHub Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: |
|
||||
${{ matrix.job.goos}}-${{ matrix.job.platform }}.${{matrix.job.file_ext}}
|
||||
# tag_name: ${{ env.LATEST_TAG }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Generate Changelog
|
||||
run: npx changelogithub # or changelogithub@0.12 if ensure the stable result
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
||||
|
||||
deb-package:
|
||||
name: debian package - ${{ matrix.job.platform }}
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
job:
|
||||
- { platform: "amd64", goos: "linux", debian_platform: "amd64", crossbuild_package: ""}
|
||||
- { platform: "arm64", goos: "linux", debian_platform: "arm64", crossbuild_package: "crossbuild-essential-arm64" }
|
||||
- { platform: "armv7l", goos: "linux", debian_platform: "armhf", crossbuild_package: "crossbuild-essential-armhf" }
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
|
||||
- name: Create packaging env
|
||||
run: |
|
||||
sudo apt update
|
||||
DEBIAN_FRONTEND=noninteractive sudo apt install -y devscripts build-essential debhelper pkg-config ${{ matrix.job.crossbuild_package }}
|
||||
mkdir -p debian-build/${{ matrix.job.platform }}/bin
|
||||
|
||||
- name: Get tag version
|
||||
id: get_tag
|
||||
run: |
|
||||
TAG_VERSION="${GITHUB_REF##*/}"
|
||||
VERSION="${TAG_VERSION#v}"
|
||||
echo "TAG_VERSION=$TAG_VERSION" >> $GITHUB_ENV
|
||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||
|
||||
- name: Update changelog
|
||||
run: |
|
||||
DATE=$(date -R)
|
||||
sed -i "1i rustdesk-api-server (${VERSION}) stable; urgency=medium\n\n * Automatically generated release for version ${VERSION}.\n\n -- GitHub Actions <actions@github.com> ${DATE}\n" debian/changelog
|
||||
|
||||
- name: Download binaries
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: rustdesk-api-${{ matrix.job.goos }}-${{ matrix.job.platform }}
|
||||
path: .
|
||||
|
||||
- name: Unzip binaries
|
||||
run: |
|
||||
mkdir -p ${{ matrix.job.platform }}
|
||||
tar -xzf ${{ matrix.job.goos }}-${{ matrix.job.platform }}.tar.gz -C ${{ matrix.job.platform }}
|
||||
|
||||
- name: Build package for ${{ matrix.job.platform }} arch
|
||||
run: |
|
||||
mv ${{ matrix.job.platform }}/release/apimain debian-build/${{ matrix.job.platform }}/bin/rustdesk-api
|
||||
chmod -v a+x debian-build/${{ matrix.job.platform }}/bin/*
|
||||
mkdir -p data
|
||||
cp -vr debian systemd conf data resources runtime debian-build/${{ matrix.job.platform }}/
|
||||
cat debian/control.tpl | sed 's/{{ ARCH }}/${{ matrix.job.debian_platform }}/' > debian-build/${{ matrix.job.platform }}/debian/control
|
||||
cd debian-build/${{ matrix.job.platform }}/
|
||||
debuild -i -us -uc -b -a${{ matrix.job.debian_platform}}
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: rustdesk-api-${{ matrix.job.debian_platform }}
|
||||
path: |
|
||||
debian-build/*.deb
|
||||
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: |
|
||||
debian-build/rustdesk-api-server_*_${{ matrix.job.debian_platform }}.deb
|
||||
|
||||
docker:
|
||||
name: Push Docker Image
|
||||
needs: build
|
||||
@@ -199,7 +273,6 @@ jobs:
|
||||
run: |
|
||||
mkdir -p ${{ matrix.job.platform }}
|
||||
tar -xzf ${{ matrix.job.goos }}-${{ matrix.job.platform }}.tar.gz -C ${{ matrix.job.platform }}
|
||||
file ${{ matrix.job.platform }}/apimain
|
||||
|
||||
- name: Build and push Docker image to Docker Hub ${{ matrix.job.platform }}
|
||||
if: ${{ env.SKIP_DOCKER_HUB == 'false' }} # Only run this step if SKIP_DOCKER_HUB is false
|
||||
|
||||
74
.github/workflows/build_test.yml
vendored
74
.github/workflows/build_test.yml
vendored
@@ -52,6 +52,12 @@ jobs:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
repository: lejianwen/rustdesk-api-web
|
||||
path: rustdesk-api-web
|
||||
ref: master
|
||||
|
||||
- name: Set up Go environment
|
||||
uses: actions/setup-go@v4
|
||||
with:
|
||||
@@ -62,14 +68,12 @@ jobs:
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
|
||||
- name: build rustdesk-api-web
|
||||
working-directory: rustdesk-api-web
|
||||
run: |
|
||||
git clone ${{ env.WEBCLIENT_SOURCE_LOCATION }}
|
||||
cd rustdesk-api-web
|
||||
npm install
|
||||
npm run build
|
||||
mkdir ../resources/admin/ -p
|
||||
mkdir -p ../resources/admin/
|
||||
cp -ar dist/* ../resources/admin/
|
||||
|
||||
- name: tidy
|
||||
@@ -117,6 +121,7 @@ jobs:
|
||||
name: rustdesk-api-${{ matrix.job.goos }}-${{ matrix.job.platform }}
|
||||
path: |
|
||||
${{ matrix.job.goos}}-${{ matrix.job.platform }}.${{matrix.job.file_ext}}
|
||||
|
||||
- name: Upload to GitHub Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
@@ -126,6 +131,66 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
deb-package:
|
||||
name: debian package - ${{ matrix.job.platform }}
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
job:
|
||||
- { platform: "amd64", goos: "linux", debian_platform: "amd64", crossbuild_package: ""}
|
||||
- { platform: "arm64", goos: "linux", debian_platform: "arm64", crossbuild_package: "crossbuild-essential-arm64" }
|
||||
- { platform: "armv7l", goos: "linux", debian_platform: "armhf", crossbuild_package: "crossbuild-essential-armhf" }
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
|
||||
- name: Create packaging env
|
||||
run: |
|
||||
sudo apt update
|
||||
DEBIAN_FRONTEND=noninteractive sudo apt install -y devscripts build-essential debhelper pkg-config ${{ matrix.job.crossbuild_package }}
|
||||
mkdir -p debian-build/${{ matrix.job.platform }}/bin
|
||||
|
||||
- name: Download binaries
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: rustdesk-api-${{ matrix.job.goos }}-${{ matrix.job.platform }}
|
||||
path: .
|
||||
|
||||
- name: Unzip binaries
|
||||
run: |
|
||||
mkdir -p ${{ matrix.job.platform }}
|
||||
tar -xzf ${{ matrix.job.goos }}-${{ matrix.job.platform }}.tar.gz -C ${{ matrix.job.platform }}
|
||||
|
||||
- name: Build package for ${{ matrix.job.platform }} arch
|
||||
run: |
|
||||
mv ${{ matrix.job.platform }}/release/apimain debian-build/${{ matrix.job.platform }}/bin/rustdesk-api
|
||||
chmod -v a+x debian-build/${{ matrix.job.platform }}/bin/*
|
||||
mkdir -p data
|
||||
cp -vr debian systemd conf data resources runtime debian-build/${{ matrix.job.platform }}/
|
||||
cat debian/control.tpl | sed 's/{{ ARCH }}/${{ matrix.job.debian_platform }}/' > debian-build/${{ matrix.job.platform }}/debian/control
|
||||
cd debian-build/${{ matrix.job.platform }}/
|
||||
debuild -i -us -uc -b -a${{ matrix.job.debian_platform}}
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: rustdesk-api-${{ matrix.job.debian_platform }}
|
||||
path: |
|
||||
debian-build/*.deb
|
||||
|
||||
- name: Upload to GitHub Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: test
|
||||
files: |
|
||||
debian-build/rustdesk-api-server_*_${{ matrix.job.debian_platform }}.deb
|
||||
|
||||
docker:
|
||||
name: Push Docker Image
|
||||
needs: build
|
||||
@@ -187,7 +252,6 @@ jobs:
|
||||
run: |
|
||||
mkdir -p ${{ matrix.job.platform }}
|
||||
tar -xzf ${{ matrix.job.goos }}-${{ matrix.job.platform }}.tar.gz -C ${{ matrix.job.platform }}
|
||||
file ${{ matrix.job.platform }}/apimain
|
||||
|
||||
- name: Build and push Docker image to Docker Hub ${{ matrix.job.platform }}
|
||||
if: ${{ env.SKIP_DOCKER_HUB == 'false' }} # Only run this step if SKIP_DOCKER_HUB is false
|
||||
|
||||
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
rustdesk-api-server (1.3.6) UNRELEASED; urgency=medium
|
||||
|
||||
* Update the version to 1.3.6 to match the client.
|
||||
|
||||
-- rustdesk-api <ymwlpoolc@qq.com> Tue, 24 Dec 2024 13:48:34 +0800
|
||||
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@@ -0,0 +1 @@
|
||||
10
|
||||
13
debian/control.tpl
vendored
Normal file
13
debian/control.tpl
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
Source: rustdesk-api-server
|
||||
Section: net
|
||||
Priority: optional
|
||||
Maintainer: ymwl <ymwlpoolc@qq.com>
|
||||
Build-Depends: debhelper (>= 10), pkg-config
|
||||
Standards-Version: 4.5.0
|
||||
Homepage: https://github.com/lejianwen/rustdesk-api/
|
||||
|
||||
Package: rustdesk-api-server
|
||||
Architecture: {{ ARCH }}
|
||||
Depends: systemd ${misc:Depends}
|
||||
Description: RustDesk api server
|
||||
RustDesk api server, it is free and open source.
|
||||
21
debian/copyright
vendored
Normal file
21
debian/copyright
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2024-present Lejianwen and contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
6
debian/rules
vendored
Normal file
6
debian/rules
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/make -f
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_builddeb:
|
||||
dh_builddeb -- -Zgzip
|
||||
6
debian/rustdesk-api-server.install
vendored
Normal file
6
debian/rustdesk-api-server.install
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
bin/rustdesk-api usr/bin
|
||||
systemd/rustdesk-api.service lib/systemd/system
|
||||
conf var/lib/rustdesk-api
|
||||
data var/lib/rustdesk-api
|
||||
resources var/lib/rustdesk-api
|
||||
runtime var/lib/rustdesk-api
|
||||
28
debian/rustdesk-api-server.postinst
vendored
Normal file
28
debian/rustdesk-api-server.postinst
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
SERVICE=rustdesk-api.service
|
||||
|
||||
if [ "$1" = "configure" ]; then
|
||||
mkdir -p /var/log/rustdesk-api
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
configure|abort-upgrade|abort-deconfigure|abort-remove)
|
||||
mkdir -p /var/lib/rustdesk-api/
|
||||
deb-systemd-helper unmask "${SERVICE}" >/dev/null || true
|
||||
if deb-systemd-helper --quiet was-enabled "${SERVICE}"; then
|
||||
deb-systemd-invoke enable "${SERVICE}" >/dev/null || true
|
||||
else
|
||||
deb-systemd-invoke update-state "${SERVICE}" >/dev/null || true
|
||||
fi
|
||||
systemctl --system daemon-reload >/dev/null || true
|
||||
if [ -n "$2" ]; then
|
||||
deb-systemd-invoke restart "${SERVICE}" >/dev/null || true
|
||||
else
|
||||
deb-systemd-invoke start "${SERVICE}" >/dev/null || true
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
18
debian/rustdesk-api-server.postrm
vendored
Normal file
18
debian/rustdesk-api-server.postrm
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
SERVICE=rustdesk-api.service
|
||||
|
||||
systemctl --system daemon-reload >/dev/null || true
|
||||
|
||||
if [ "$1" = "purge" ]; then
|
||||
rm -rf /var/log/rustdesk-api/rustdesk-api.*
|
||||
deb-systemd-helper purge "${SERVICE}" >/dev/null || true
|
||||
deb-systemd-helper unmask "${SERVICE}" >/dev/null || true
|
||||
fi
|
||||
|
||||
if [ "$1" = "remove" ]; then
|
||||
deb-systemd-helper mask "${SERVICE}" >/dev/null || true
|
||||
fi
|
||||
|
||||
exit 0
|
||||
13
debian/rustdesk-api-server.prerm
vendored
Normal file
13
debian/rustdesk-api-server.prerm
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
SERVICE=rustdesk-api.service
|
||||
|
||||
case "$1" in
|
||||
remove|deconfigure)
|
||||
deb-systemd-invoke stop "${SERVICE}" >/dev/null || true
|
||||
deb-systemd-invoke disable "${SERVICE}" >/dev/null || true
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@@ -0,0 +1 @@
|
||||
3.0 (native)
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"github.com/go-playground/locales/es"
|
||||
"github.com/go-playground/locales/ko"
|
||||
"github.com/go-playground/locales/ru"
|
||||
"github.com/go-playground/locales/fr"
|
||||
"github.com/go-playground/locales/zh_Hans_CN"
|
||||
|
||||
ut "github.com/go-playground/universal-translator"
|
||||
@@ -14,6 +15,7 @@ import (
|
||||
es_translations "github.com/go-playground/validator/v10/translations/es"
|
||||
ru_translations "github.com/go-playground/validator/v10/translations/ru"
|
||||
zh_translations "github.com/go-playground/validator/v10/translations/zh"
|
||||
fr_translations "github.com/go-playground/validator/v10/translations/fr"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
@@ -26,14 +28,16 @@ func ApiInitValidator() {
|
||||
koT := ko.New()
|
||||
ruT := ru.New()
|
||||
esT := es.New()
|
||||
frT := fr.New()
|
||||
|
||||
uni := ut.New(enT, cn, koT, ruT, esT)
|
||||
uni := ut.New(enT, cn, koT, ruT, esT, frT)
|
||||
|
||||
enTrans, _ := uni.GetTranslator("en")
|
||||
zhTrans, _ := uni.GetTranslator("zh_Hans_CN")
|
||||
koTrans, _ := uni.GetTranslator("ko")
|
||||
ruTrans, _ := uni.GetTranslator("ru")
|
||||
esTrans, _ := uni.GetTranslator("es")
|
||||
frTrans, _ := uni.GetTranslator("fr")
|
||||
|
||||
err := zh_translations.RegisterDefaultTranslations(validate, zhTrans)
|
||||
if err != nil {
|
||||
@@ -57,6 +61,10 @@ func ApiInitValidator() {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
err = fr_translations.RegisterDefaultTranslations(validate, frTrans)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
validate.RegisterTagNameFunc(func(field reflect.StructField) string {
|
||||
label := field.Tag.Get("label")
|
||||
@@ -126,6 +134,9 @@ func getTranslatorForLang(lang string) ut.Translator {
|
||||
case "es":
|
||||
trans, _ := Validator.UT.GetTranslator("es")
|
||||
return trans
|
||||
case "fr":
|
||||
trans, _ := Validator.UT.GetTranslator("fr")
|
||||
return trans
|
||||
case "en":
|
||||
fallthrough
|
||||
default:
|
||||
|
||||
@@ -64,12 +64,15 @@ func (i *WebClient) SharedPeer(c *gin.Context) {
|
||||
response.Fail(c, 101, "share not found")
|
||||
return
|
||||
}
|
||||
//判断是否过期,created_at + expire > now
|
||||
ca := time.Time(sr.CreatedAt)
|
||||
if ca.Add(time.Second * time.Duration(sr.Expire)).Before(time.Now()) {
|
||||
response.Fail(c, 101, "share expired")
|
||||
return
|
||||
if sr.Expire != 0 {
|
||||
//判断是否过期,created_at + expire > now
|
||||
ca := time.Time(sr.CreatedAt)
|
||||
if ca.Add(time.Second * time.Duration(sr.Expire)).Before(time.Now()) {
|
||||
response.Fail(c, 101, "share expired")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
ab := service.AllService.AddressBookService.InfoByUserIdAndId(sr.UserId, sr.PeerId)
|
||||
if ab.RowId == 0 {
|
||||
response.Fail(c, 101, "peer not found")
|
||||
|
||||
144
resources/i18n/fr.toml
Normal file
144
resources/i18n/fr.toml
Normal file
@@ -0,0 +1,144 @@
|
||||
[Test]
|
||||
description = "test"
|
||||
one = "test1 "
|
||||
other = "Test2 {{.P0}}"
|
||||
|
||||
[ParamsError]
|
||||
description = "Params validation failed."
|
||||
one = "La validation des paramètres a échoué."
|
||||
other = "La validation des paramètres a échoué."
|
||||
|
||||
[OperationFailed]
|
||||
description = "OperationFailed."
|
||||
one = "l'opération a échoué."
|
||||
other = "l'opération a échoué."
|
||||
|
||||
[OperationSuccess]
|
||||
description = "OperationSuccess."
|
||||
one = "Opération réussie"
|
||||
other = "Opération réussie"
|
||||
|
||||
[ItemExists]
|
||||
description = "Item already exists."
|
||||
one = "L'élément existe déjà."
|
||||
other = "L'élément existe déjà."
|
||||
|
||||
[ItemNotFound]
|
||||
description = "Item not found."
|
||||
one = "Article introuvable."
|
||||
other = "Article introuvable."
|
||||
|
||||
[NoAccess]
|
||||
description = "No access."
|
||||
one = "Aucun d'access."
|
||||
other = "Aucun d'access."
|
||||
|
||||
[UsernameOrPasswordError]
|
||||
description = "Username or password error."
|
||||
one = "Nom d'utilisateur ou de mot de passe incorrect."
|
||||
other = "Nom d'utilisateur ou de mot de passe incorrect."
|
||||
|
||||
[SystemError]
|
||||
description = "System error."
|
||||
one = "Erreur system."
|
||||
other = "Erreur system."
|
||||
|
||||
[ConfigNotFound]
|
||||
description = "Config not found."
|
||||
one = "Configuration introuvable."
|
||||
other = "Configuration introuvable."
|
||||
|
||||
[OauthExpired]
|
||||
description = "Oauth expired."
|
||||
one = "Oauth a expiré, veuillez réessayer."
|
||||
other = "Oauth a expiré, veuillez réessayer."
|
||||
|
||||
[OauthFailed]
|
||||
description = "Oauth failed."
|
||||
one = "Oauth a échoué."
|
||||
other = "Oauth a échoué."
|
||||
|
||||
[OauthHasBindOtherUser]
|
||||
description = "Oauth has bind other user."
|
||||
one = "Oauth a lié un autre utilisateur."
|
||||
other = "Oauth a lié un autre utilisateur."
|
||||
|
||||
[ParamIsEmpty]
|
||||
description = "Param is empty."
|
||||
one = "{{.P0}} est vide."
|
||||
other = "{{.P0}} est vide."
|
||||
|
||||
[BindFail]
|
||||
description = "Bind fail."
|
||||
one = "Échec de la liaison."
|
||||
other = "Échec de la liaison."
|
||||
|
||||
[BindSuccess]
|
||||
description = "Bind success."
|
||||
one = "Succès de la liaison."
|
||||
other = "Succès de la liaison."
|
||||
|
||||
[OauthHasBeenSuccess]
|
||||
description = "Oauth has been success."
|
||||
one = "Oauth a été réussi avec Succès."
|
||||
other = "Oauth a été réussi avec Succès."
|
||||
|
||||
[OauthSuccess]
|
||||
description = "Oauth success."
|
||||
one = "Oauh réussi avec succès."
|
||||
other = "Oauh réussi avec succès."
|
||||
|
||||
[OauthRegisterSuccess]
|
||||
description = "Oauth register success."
|
||||
one = "Succès de l'enregistrement Oauth."
|
||||
other = "Succès de l'enregistrement Oauth."
|
||||
|
||||
[OauthRegisterFailed]
|
||||
description = "Oauth register failed."
|
||||
one = "L'inscription Oauth a échoué."
|
||||
other = "L'inscription Oauth a échoué."
|
||||
|
||||
[GetOauthTokenError]
|
||||
description = "Get oauth token error."
|
||||
one = "Erreur de l'obtention du jeton oauth."
|
||||
other = "Erreur de l'obtention du jeton oauth."
|
||||
|
||||
[GetOauthUserInfoError]
|
||||
description = "Get oauth user info error."
|
||||
one = "Erreur d'obtention d'informations sur l'utilisateur oauth."
|
||||
other = "Erreur d'obtention d'informations sur l'utilisateur oauth."
|
||||
|
||||
[DecodeOauthUserInfoError]
|
||||
description = "Decode oauth user info error."
|
||||
one = "Erreur de décodage des informations utilisateur oauth."
|
||||
other = "Erreur de décodage des informations utilisateur oauth."
|
||||
|
||||
[OldPasswordError]
|
||||
description = "Old password error."
|
||||
one = "Ancien mot de passe incorrect."
|
||||
other = "Ancien mot de passe incorrect."
|
||||
|
||||
[DefaultGroup]
|
||||
description = "Default group"
|
||||
one = "Groupe Défaut"
|
||||
other = "Groupe Défaut"
|
||||
|
||||
[ShareGroup]
|
||||
description = "Share group"
|
||||
one = "Groupe partagé"
|
||||
other = "Groupe partagé"
|
||||
|
||||
[RegisterClosed]
|
||||
description = "Register closed."
|
||||
one = "Inscription fermée."
|
||||
other = "Inscription fermée."
|
||||
|
||||
[CaptchaRequired]
|
||||
description = "Captcha required."
|
||||
one = "Captcha requis."
|
||||
other = "Captcha requis."
|
||||
|
||||
[CaptchaError]
|
||||
description = "Captcha error."
|
||||
one = "Erreur de captcha."
|
||||
other = "Erreur de captcha."
|
||||
4
resources/web2/index.html
vendored
4
resources/web2/index.html
vendored
@@ -32,7 +32,7 @@
|
||||
<title>RustDesk</title>
|
||||
<script src="/webclient-config/index.js"></script>
|
||||
<link rel="manifest" href="manifest.json" />
|
||||
<script type="module" crossorigin src="js/dist/index.js?v=893935a2"></script>
|
||||
<script type="module" crossorigin src="js/dist/index.js?v=1bbc8b94"></script>
|
||||
<link rel="modulepreload" href="js/dist/vendor.js?v=0b990c6e" />
|
||||
<style>
|
||||
html,
|
||||
@@ -259,7 +259,7 @@
|
||||
}
|
||||
scriptLoaded = true;
|
||||
var scriptTag = document.createElement("script");
|
||||
scriptTag.src = "main.dart.js?v=df360f45";
|
||||
scriptTag.src = "main.dart.js?v=f6f842b3";
|
||||
scriptTag.type = "application/javascript";
|
||||
document.body.append(scriptTag);
|
||||
}
|
||||
|
||||
1893
resources/web2/js/dist/index.js
vendored
1893
resources/web2/js/dist/index.js
vendored
File diff suppressed because it is too large
Load Diff
485
resources/web2/js/dist/lang.js
vendored
485
resources/web2/js/dist/lang.js
vendored
File diff suppressed because it is too large
Load Diff
86468
resources/web2/main.dart.js
vendored
86468
resources/web2/main.dart.js
vendored
File diff suppressed because one or more lines are too long
18
systemd/rustdesk-api.service
Normal file
18
systemd/rustdesk-api.service
Normal file
@@ -0,0 +1,18 @@
|
||||
[Unit]
|
||||
Description=Rustdesk api Server
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
LimitNOFILE=1000000
|
||||
ExecStart=/usr/bin/rustdesk-api
|
||||
WorkingDirectory=/var/lib/rustdesk-api/
|
||||
User=
|
||||
Group=
|
||||
Restart=always
|
||||
StandardOutput=append:/var/log/rustdesk-api/rustdesk-api.log
|
||||
StandardError=append:/var/log/rustdesk-api/rustdesk-api.error
|
||||
# Restart service after 10 seconds if node service crashes
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user