Compare commits
85 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
8662bfe619
|
|||
|
f978c96265
|
|||
|
000bd789b1
|
|||
|
cd2545934e
|
|||
|
efa23f6b50
|
|||
|
5083bedf57
|
|||
|
a621e58db8
|
|||
|
fa41eb1b02
|
|||
|
5f3b4b7ddb
|
|||
|
0d09c9701d
|
|||
|
17e46ed0b2
|
|||
|
5931143564
|
|||
|
36f9cac0af
|
|||
|
eea479b3df
|
|||
|
d38aeda6c0
|
|||
|
2e0f3849be
|
|||
|
ef4f0f3e18
|
|||
|
259b3fb58d
|
|||
|
54aae72e28
|
|||
|
fbcae78456
|
|||
|
364da38f3c
|
|||
|
6992aa696c
|
|||
|
f02f631820
|
|||
|
d5d8c4d07a
|
|||
|
6fc26bb6af
|
|||
|
5556e8d890
|
|||
|
a03da0f8bb
|
|||
|
86540bfa0d
|
|||
|
fb2d36d84c
|
|||
|
6c5606174a
|
|||
|
76bbf76666
|
|||
|
04c2cff8d9
|
|||
|
776a92fae1
|
|||
|
ca3a30982f
|
|||
|
7052b0be80
|
|||
|
81d27b0799
|
|||
|
15f2c3d10f
|
|||
|
42bd5acf03
|
|||
|
d869da8d07
|
|||
|
da53ae19bd
|
|||
|
07c85079f4
|
|||
|
ecbf52b25f
|
|||
|
a64a31eb2d
|
|||
|
138cbd029a
|
|||
|
9916fee478
|
|||
|
417dc096ff
|
|||
|
161d8dbd2a
|
|||
|
1f0e1bd229
|
|||
|
b596f32d66
|
|||
|
89dfb7169f
|
|||
|
cb001018ba
|
|||
|
3f0a310f5f
|
|||
|
f449e4f8ba
|
|||
|
58808e0a7c
|
|||
|
a765fb904d
|
|||
|
a05570365d
|
|||
|
014f5b3cc2
|
|||
|
ab881ca709
|
|||
|
08b4631032
|
|||
|
4aa5ff1e2c
|
|||
|
c02a887992
|
|||
|
592ee09793
|
|||
|
93c8e4a50a
|
|||
|
53fa8e4a1e
|
|||
|
23fa27fa7d
|
|||
|
ec45bb4a1f
|
|||
|
d760a491c4
|
|||
|
3bc9492a90
|
|||
|
716a2a1e34
|
|||
|
dca16b890d
|
|||
|
610108d860
|
|||
|
3f26865ea8
|
|||
|
494e255282
|
|||
|
63bb811bb0
|
|||
|
18cc340519
|
|||
|
ac2c16f81e
|
|||
|
678c32893e
|
|||
|
bff921c878
|
|||
|
b998801c40
|
|||
|
504957b611
|
|||
|
e47dd436a0
|
|||
|
447f895865
|
|||
|
c4ff05da64
|
|||
|
e917219c28
|
|||
|
b3a9e45e8e
|
42
.gitea/workflows/deploy_doublecmd.yaml
Normal file
42
.gitea/workflows/deploy_doublecmd.yaml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
name: com.angoosh.doublecmd deploy
|
||||||
|
run-name: ${{ gitea.actor }}
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
paths:
|
||||||
|
- com.angoosh.doublecmd/**
|
||||||
|
jobs:
|
||||||
|
flatpak:
|
||||||
|
name: "Flatpak"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: bilelmoussaoui/flatpak-github-actions:gnome-44
|
||||||
|
options: --privileged
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- run: sudo dnf install -y nodejs
|
||||||
|
- name: "Check out repo code"
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Import GPG key
|
||||||
|
uses: crazy-max/ghaction-import-gpg@v6
|
||||||
|
with:
|
||||||
|
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||||
|
passphrase: ${{ secrets.GPG_PRIVATE_KEY_PASS }}
|
||||||
|
|
||||||
|
- name: "Build"
|
||||||
|
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||||
|
with:
|
||||||
|
bundle: doublecmd.flatpak
|
||||||
|
manifest-path: com.angoosh.doublecmd/com.angoosh.doublecmd.yml
|
||||||
|
cache-key: flatpak-builder-${{ gitea.sha }}
|
||||||
|
gpg-sign: kaplanantonin@gmail.com
|
||||||
|
|
||||||
|
- name: Push flatpak to repo
|
||||||
|
run: |
|
||||||
|
git clone https://github.com/flatpak/flat-manager.git
|
||||||
|
export REPO_TOKEN=${{ secrets.FLATMAN_API_TOKEN }}
|
||||||
|
export FLATMAN_URL=$(./flat-manager/flat-manager-client create https://flatpak.angoosh.com stable)
|
||||||
|
echo $REPO_TOKEN
|
||||||
|
echo $FLATMAN_URL
|
||||||
|
./flat-manager/flat-manager-client push --commit $FLATMAN_URL repo
|
||||||
|
./flat-manager/flat-manager-client publish $FLATMAN_URL
|
||||||
45
.gitea/workflows/deploy_rdpconnect.yaml
Normal file
45
.gitea/workflows/deploy_rdpconnect.yaml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
name: com.angoosh.RDPConnect deploy
|
||||||
|
run-name: ${{ gitea.actor }}
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
paths:
|
||||||
|
- com.angoosh.RDPConnect/**
|
||||||
|
jobs:
|
||||||
|
flatpak:
|
||||||
|
name: "Flatpak"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: bilelmoussaoui/flatpak-github-actions:gnome-44
|
||||||
|
options: --privileged
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- run: sudo dnf install -y nodejs
|
||||||
|
- name: "Check out repo code"
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Import GPG key
|
||||||
|
uses: crazy-max/ghaction-import-gpg@v6
|
||||||
|
with:
|
||||||
|
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||||
|
passphrase: ${{ secrets.GPG_PRIVATE_KEY_PASS }}
|
||||||
|
|
||||||
|
- name: "Build"
|
||||||
|
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||||
|
with:
|
||||||
|
build-bundle: false
|
||||||
|
upload-artifact: false
|
||||||
|
cache: false
|
||||||
|
restore-cache: false
|
||||||
|
manifest-path: com.angoosh.RDPConnect/com.angoosh.RDPConnect.yml
|
||||||
|
cache-key: flatpak-builder-${{ gitea.sha }}
|
||||||
|
gpg-sign: kaplanantonin@gmail.com
|
||||||
|
|
||||||
|
- name: Push flatpak to repo
|
||||||
|
run: |
|
||||||
|
git clone https://github.com/flatpak/flat-manager.git
|
||||||
|
export REPO_TOKEN=${{ secrets.FLATMAN_API_TOKEN }}
|
||||||
|
export FLATMAN_URL=$(./flat-manager/flat-manager-client create https://flatpak.angoosh.com stable)
|
||||||
|
echo $REPO_TOKEN
|
||||||
|
echo $FLATMAN_URL
|
||||||
|
./flat-manager/flat-manager-client push --commit $FLATMAN_URL repo
|
||||||
|
./flat-manager/flat-manager-client publish $FLATMAN_URL
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
#Ignore all repo directories
|
#Ignore all repo directories
|
||||||
.flatpak-builder/
|
.flatpak-builder/
|
||||||
|
com.angoosh.RDPConnect/testing.py
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
flatpak-builder --gpg-sign=kaplanantonin@gmail.com --force-clean --user --install-deps-from=flathub --repo=../repo --install builddir com.angoosh.RDPConnect.yml
|
flatpak-builder --gpg-sign=kaplanantonin@gmail.com --force-clean --user --install-deps-from=flathub --repo=../repo --install builddir com.angoosh.RDPConnect.yml
|
||||||
#flatpak build-bundle repo RDPConnect.flatpak com.angoosh.RDPConnect --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
|
####flatpak build-bundle repo RDPConnect.flatpak com.angoosh.RDPConnect --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
|
||||||
|
|||||||
@@ -43,30 +43,30 @@
|
|||||||
<url type="vcs-browser">https://gitea.farmdash.org/angoosh/Flatpaks/src/branch/main/com.angoosh.RDPConnect</url>
|
<url type="vcs-browser">https://gitea.farmdash.org/angoosh/Flatpaks/src/branch/main/com.angoosh.RDPConnect</url>
|
||||||
|
|
||||||
<releases>
|
<releases>
|
||||||
<release version="1.0.1" date="2024-11-20">
|
|
||||||
<url type="details">https://gitea.farmdash.org/angoosh/Flatpaks/commits/branch/main</url>
|
|
||||||
<description>
|
|
||||||
<p>Changed directory permissions from home to xdg-config</p>
|
|
||||||
</description>
|
|
||||||
</release>
|
|
||||||
<release version="1.0.2" date="2024-11-20">
|
|
||||||
<url type="details">https://gitea.farmdash.org/angoosh/Flatpaks/commit/85ea660c7e11d0c65c8aef23fcf76853882975cf</url>
|
|
||||||
<description>
|
|
||||||
<p>Password is now encrypted</p>
|
|
||||||
</description>
|
|
||||||
</release>
|
|
||||||
<release version="1.0.3" date="2024-11-20">
|
|
||||||
<url type="details">https://gitea.farmdash.org/angoosh/Flatpaks/commit/2093a21ecfa86c20f15b9b44897d1c7bebfafd79</url>
|
|
||||||
<description>
|
|
||||||
<p>Cropped screenshot and made background invisible</p>
|
|
||||||
</description>
|
|
||||||
</release>
|
|
||||||
<release version="1.1.0" date="2024-11-22">
|
<release version="1.1.0" date="2024-11-22">
|
||||||
<url type="details">https://gitea.farmdash.org/angoosh/Flatpaks/commit/2093a21ecfa86c20f15b9b44897d1c7bebfafd79</url>
|
<url type="details">https://gitea.farmdash.org/angoosh/Flatpaks/src/tag/1.1.0</url>
|
||||||
<description>
|
<description>
|
||||||
<p>Created about section, borgar menu, settings menu and we have easy settings for the rdp connection now</p>
|
<p>Created about section, borgar menu, settings menu and we have easy settings for the rdp connection now</p>
|
||||||
</description>
|
</description>
|
||||||
</release>
|
</release>
|
||||||
|
<release version="1.2.0" date="2025-02-19">
|
||||||
|
<url type="details">https://gitea.farmdash.org/angoosh/Flatpaks/src/tag/1.2.0</url>
|
||||||
|
<description>
|
||||||
|
<p>Updated to newest FreeRDP which seems to fix issues with hanging / freezing</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="1.3.0" date="2025-09-16">
|
||||||
|
<url type="details">https://gitea.farmdash.org/angoosh/Flatpaks/src/tag/1.3.0</url>
|
||||||
|
<description>
|
||||||
|
<p>Changed pasword storage from file to system keyring. Still using file for compatibility. Added connection history menu.</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="1.3.1" date="2025-09-16">
|
||||||
|
<url type="details">https://gitea.farmdash.org/angoosh/Flatpaks/src/tag/1.3.1</url>
|
||||||
|
<description>
|
||||||
|
<p>History menu now shows only unique entries, no duplicates</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
</releases>
|
</releases>
|
||||||
|
|
||||||
<screenshots>
|
<screenshots>
|
||||||
|
|||||||
@@ -1,10 +1,7 @@
|
|||||||
id: com.angoosh.RDPConnect
|
id: com.angoosh.RDPConnect
|
||||||
runtime: org.gnome.Platform
|
runtime: org.gnome.Platform
|
||||||
#runtime: org.freedesktop.Platform
|
|
||||||
runtime-version: '47'
|
runtime-version: '47'
|
||||||
#runtime-version: '23.08'
|
|
||||||
sdk: org.gnome.Sdk
|
sdk: org.gnome.Sdk
|
||||||
#sdk: org.freedesktop.Sdk
|
|
||||||
command: rdpconnect
|
command: rdpconnect
|
||||||
|
|
||||||
build-options:
|
build-options:
|
||||||
@@ -31,30 +28,33 @@ finish-args:
|
|||||||
- --socket=pulseaudio
|
- --socket=pulseaudio
|
||||||
- --socket=cups
|
- --socket=cups
|
||||||
- --filesystem=xdg-config
|
- --filesystem=xdg-config
|
||||||
|
- --filesystem=xdg-download
|
||||||
- --socket=pcsc
|
- --socket=pcsc
|
||||||
# - --socket=system-bus
|
# - --socket=system-bus
|
||||||
|
- --socket=session-bus
|
||||||
# - --talk-name=org.freedesktop.Flatpak
|
# - --talk-name=org.freedesktop.Flatpak
|
||||||
|
|
||||||
add-build-extensions:
|
add-build-extensions:
|
||||||
org.freedesktop.Platform.ffmpeg-full:
|
org.freedesktop.Platform.ffmpeg-full:
|
||||||
- directory: lib/ffmpeg
|
- directory: lib/ffmpeg
|
||||||
version: 23.08
|
version: 24.08
|
||||||
add-ld-path: .
|
add-ld-path: .
|
||||||
org.freedesktop.Platform.openh264:
|
org.freedesktop.Platform.openh264:
|
||||||
- directory: lib/openh264
|
- directory: lib/openh264
|
||||||
version: 2.4.1
|
version: 2.4.1
|
||||||
add-ld-path: .
|
add-ld-path: .
|
||||||
|
|
||||||
|
|
||||||
modules:
|
modules:
|
||||||
- modules/openssl.json
|
|
||||||
- modules/libusb.json
|
- modules/libusb.json
|
||||||
- modules/uriparser.json
|
- modules/SDL2_ttf.json
|
||||||
|
- modules/SDL2_image.json
|
||||||
- modules/cJSON.json
|
- modules/cJSON.json
|
||||||
- modules/xprop.json
|
- modules/xprop.json
|
||||||
- modules/pcsc.json
|
- modules/pcsc.json
|
||||||
- modules/krb5.json
|
- modules/uriparser.json
|
||||||
|
- modules/pkcs11-helper.json
|
||||||
- modules/opensc.json
|
- modules/opensc.json
|
||||||
|
- modules/krb5.json
|
||||||
- modules/freerdp.json
|
- modules/freerdp.json
|
||||||
|
|
||||||
- name: python
|
- name: python
|
||||||
@@ -69,7 +69,7 @@ modules:
|
|||||||
build-args:
|
build-args:
|
||||||
- --share=network
|
- --share=network
|
||||||
build-commands:
|
build-commands:
|
||||||
- pip3 install PyGObject cryptography
|
- pip3 install PyGObject cryptography keyring
|
||||||
|
|
||||||
- name: rdpconnect
|
- name: rdpconnect
|
||||||
buildsystem: simple
|
buildsystem: simple
|
||||||
|
|||||||
@@ -18,13 +18,15 @@ from cryptography.fernet import Fernet
|
|||||||
gi.require_version('Gtk', '4.0')
|
gi.require_version('Gtk', '4.0')
|
||||||
gi.require_version('Adw', '1')
|
gi.require_version('Adw', '1')
|
||||||
from gi.repository import Gtk, Adw, Gdk, Gio
|
from gi.repository import Gtk, Adw, Gdk, Gio
|
||||||
|
import keyring
|
||||||
|
|
||||||
APPID = "com.angoosh.RDPConnect"
|
APPID = "com.angoosh.RDPConnect"
|
||||||
HOMEDIR = os.path.expanduser('~')
|
HOMEDIR = os.path.expanduser('~')
|
||||||
|
|
||||||
VERSION = "1.1.0"
|
VERSION = "1.3.1"
|
||||||
|
|
||||||
conn_info = {}
|
conn_info = {}
|
||||||
|
hist_info = {}
|
||||||
settings = {}
|
settings = {}
|
||||||
settings["extra_params"] = {}
|
settings["extra_params"] = {}
|
||||||
fernet = ""
|
fernet = ""
|
||||||
@@ -32,7 +34,7 @@ fernet = ""
|
|||||||
def load_keys():
|
def load_keys():
|
||||||
global fernet
|
global fernet
|
||||||
cryptoKey = ""
|
cryptoKey = ""
|
||||||
try:
|
try:
|
||||||
with open(HOMEDIR+"/.config/rdpconnect/.key", "r") as keyfile:
|
with open(HOMEDIR+"/.config/rdpconnect/.key", "r") as keyfile:
|
||||||
cryptoKey = str.encode(keyfile.readline())
|
cryptoKey = str.encode(keyfile.readline())
|
||||||
print("Encription key loaded")
|
print("Encription key loaded")
|
||||||
@@ -45,18 +47,30 @@ def load_keys():
|
|||||||
fernet = Fernet(cryptoKey)
|
fernet = Fernet(cryptoKey)
|
||||||
|
|
||||||
def load_config():
|
def load_config():
|
||||||
global conn_info, settings
|
global conn_info, settings, hist_info
|
||||||
loaded_json = ""
|
loaded_json = ""
|
||||||
try:
|
try:
|
||||||
with open(HOMEDIR+"/.config/rdpconnect/connection.json", "r") as connection_file:
|
with open(HOMEDIR+"/.config/rdpconnect/history.json", "r") as history_file:
|
||||||
for line in connection_file:
|
for line in history_file:
|
||||||
loaded_json += line
|
loaded_json += line
|
||||||
|
|
||||||
conn_info = json.loads(loaded_json)
|
hist_info = json.loads(loaded_json)
|
||||||
|
last_conn = hist_info[max(hist_info)]
|
||||||
|
conn_info["user"] = last_conn.split('@')[0]
|
||||||
|
conn_info["ip"] = last_conn.split('@')[1]
|
||||||
|
conn_info["passwd"] = keyring.get_password("com.angoosh.RDPConnect", last_conn)
|
||||||
|
|
||||||
conn_info["passwd"] = fernet.decrypt(str.encode(conn_info["passwd"])).decode()
|
|
||||||
except:
|
except:
|
||||||
print("[WARN] FILE: "+HOMEDIR+"/.config/rdpconnect/connection.json doesn't exist")
|
try:
|
||||||
|
with open(HOMEDIR+"/.config/rdpconnect/connection.json", "r") as connection_file:
|
||||||
|
for line in connection_file:
|
||||||
|
loaded_json += line
|
||||||
|
|
||||||
|
conn_info = json.loads(loaded_json)
|
||||||
|
|
||||||
|
conn_info["passwd"] = fernet.decrypt(str.encode(conn_info["passwd"])).decode()
|
||||||
|
except:
|
||||||
|
print("[WARN] FILE: "+HOMEDIR+"/.config/rdpconnect/connection.json doesn't exist")
|
||||||
|
|
||||||
loaded_json = ""
|
loaded_json = ""
|
||||||
try:
|
try:
|
||||||
@@ -68,14 +82,58 @@ def load_config():
|
|||||||
except:
|
except:
|
||||||
print("[WARN] FILE: "+HOMEDIR+"/.config/rdpconnect/settings.json doesn't exist")
|
print("[WARN] FILE: "+HOMEDIR+"/.config/rdpconnect/settings.json doesn't exist")
|
||||||
|
|
||||||
|
class HistoryWindow(Gtk.Window):
|
||||||
|
global hist_info, conn_info, app
|
||||||
|
def __init__(self, **kargs):
|
||||||
|
super().__init__(**kargs, title='History')
|
||||||
|
|
||||||
|
self.set_default_size(100, 300)
|
||||||
|
|
||||||
|
self.scroll = Gtk.ScrolledWindow()
|
||||||
|
self.scroll.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
|
||||||
|
|
||||||
|
self.grid = Gtk.Grid()
|
||||||
|
|
||||||
|
self.scroll.set_child(self.grid)
|
||||||
|
|
||||||
|
index = 0
|
||||||
|
for i in hist_info:
|
||||||
|
self.addRow(hist_info[i], index)
|
||||||
|
index += 1
|
||||||
|
|
||||||
|
self.set_child(self.scroll)
|
||||||
|
|
||||||
|
self.show()
|
||||||
|
|
||||||
|
def addRow(self, entry, index):
|
||||||
|
b = Gtk.Button(label=entry)
|
||||||
|
b.connect("clicked", self.apply_contents)
|
||||||
|
|
||||||
|
self.grid.attach(b, 0, index, 1, 1)
|
||||||
|
|
||||||
|
def apply_contents(self, button):
|
||||||
|
conn_info["user"] = button.get_label().split('@')[0]
|
||||||
|
conn_info["ip"] = button.get_label().split('@')[1]
|
||||||
|
|
||||||
|
app.ip.get_buffer().set_text(str(conn_info["ip"]), len(conn_info["ip"]))
|
||||||
|
app.user.get_buffer().set_text(str(conn_info["user"]), len(conn_info["user"]))
|
||||||
|
|
||||||
|
try:
|
||||||
|
conn_info["passwd"] = keyring.get_password("com.angoosh.RDPConnect", button.get_label())
|
||||||
|
app.passwd.get_buffer().set_text(str(conn_info["passwd"]), len(conn_info["passwd"]))
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
self.destroy()
|
||||||
|
|
||||||
class PreferencesWindow(Gtk.Window):
|
class PreferencesWindow(Gtk.Window):
|
||||||
global settings
|
global settings
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
|
|
||||||
self.builder = Gtk.Builder(self)
|
self.builder = Gtk.Builder(self)
|
||||||
self.builder.add_from_file("/app/preferences.ui")
|
self.builder.add_from_file("/app/preferences.ui")
|
||||||
|
|
||||||
self.resx = self.builder.get_object("resx")
|
self.resx = self.builder.get_object("resx")
|
||||||
self.resy = self.builder.get_object("resy")
|
self.resy = self.builder.get_object("resy")
|
||||||
self.monitors = self.builder.get_object("monitors")
|
self.monitors = self.builder.get_object("monitors")
|
||||||
@@ -85,7 +143,7 @@ class PreferencesWindow(Gtk.Window):
|
|||||||
self.mic = self.builder.get_object("mic")
|
self.mic = self.builder.get_object("mic")
|
||||||
self.dynres = self.builder.get_object("dynres")
|
self.dynres = self.builder.get_object("dynres")
|
||||||
self.clipboard = self.builder.get_object("clipboard")
|
self.clipboard = self.builder.get_object("clipboard")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.clipboard.set_state(settings["extra_params"]["clipboard"])
|
self.clipboard.set_state(settings["extra_params"]["clipboard"])
|
||||||
self.clipboard.set_active(settings["extra_params"]["clipboard"])
|
self.clipboard.set_active(settings["extra_params"]["clipboard"])
|
||||||
@@ -97,13 +155,13 @@ class PreferencesWindow(Gtk.Window):
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
self.mic.set_state(settings["extra_params"]["microphone"])
|
self.mic.set_state(settings["extra_params"]["microphone:sys:alsa"])
|
||||||
self.mic.set_active(settings["extra_params"]["microphone"])
|
self.mic.set_active(settings["extra_params"]["microphone:sys:alsa"])
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
self.sound.set_state(settings["extra_params"]["sound"])
|
self.sound.set_state(settings["extra_params"]["sound:sys:alsa"])
|
||||||
self.sound.set_active(settings["extra_params"]["sound"])
|
self.sound.set_active(settings["extra_params"]["sound:sys:alsa"])
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
@@ -129,63 +187,64 @@ class PreferencesWindow(Gtk.Window):
|
|||||||
self.resy.get_buffer().set_text(str(settings["extra_params"]["h"]), len(settings["extra_params"]["h"]))
|
self.resy.get_buffer().set_text(str(settings["extra_params"]["h"]), len(settings["extra_params"]["h"]))
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
pref_window = self.builder.get_object("pref_window")
|
pref_window = self.builder.get_object("pref_window")
|
||||||
pref_window.show()
|
pref_window.show()
|
||||||
|
|
||||||
def f_resx(self, app):
|
def f_resx(self, app):
|
||||||
settings["extra_params"]["w"] = self.resx.get_buffer().get_text()
|
settings["extra_params"]["w"] = self.resx.get_buffer().get_text()
|
||||||
|
|
||||||
def f_resy(self, app):
|
def f_resy(self, app):
|
||||||
settings["extra_params"]["h"] = self.resy.get_buffer().get_text()
|
settings["extra_params"]["h"] = self.resy.get_buffer().get_text()
|
||||||
|
|
||||||
def monconf(self, app):
|
def monconf(self, app):
|
||||||
settings["extra_params"]["monitors"] = self.monitors.get_buffer().get_text()
|
settings["extra_params"]["monitors"] = self.monitors.get_buffer().get_text()
|
||||||
|
|
||||||
def clipboard(self, app, state):
|
def clipboard(self, app, state):
|
||||||
if state:
|
if state:
|
||||||
settings["extra_params"]["clipboard"] = True
|
settings["extra_params"]["clipboard"] = True
|
||||||
else:
|
else:
|
||||||
settings["extra_params"]["clipboard"] = False
|
settings["extra_params"]["clipboard"] = False
|
||||||
|
|
||||||
def dynres(self, app, state):
|
def dynres(self, app, state):
|
||||||
if state:
|
if state:
|
||||||
settings["extra_params"]["dynamic-resolution"] = True
|
settings["extra_params"]["dynamic-resolution"] = True
|
||||||
else:
|
else:
|
||||||
settings["extra_params"]["dynamic-resolution"] = False
|
settings["extra_params"]["dynamic-resolution"] = False
|
||||||
|
|
||||||
def microphone(self, app, state):
|
def microphone(self, app, state):
|
||||||
if state:
|
if state:
|
||||||
settings["extra_params"]["microphone"] = True
|
settings["extra_params"]["microphone:sys:alsa"] = True
|
||||||
else:
|
else:
|
||||||
settings["extra_params"]["microphone"] = False
|
settings["extra_params"]["microphone:sys:alsa"] = False
|
||||||
|
|
||||||
def sound(self, app, state):
|
def sound(self, app, state):
|
||||||
if state:
|
if state:
|
||||||
settings["extra_params"]["sound"] = True
|
settings["extra_params"]["sound:sys:alsa"] = True
|
||||||
else:
|
else:
|
||||||
settings["extra_params"]["sound"] = False
|
settings["extra_params"]["sound:sys:alsa"] = False
|
||||||
|
|
||||||
def xfree(self, app, state):
|
def xfree(self, app, state):
|
||||||
if state:
|
if state:
|
||||||
settings["rdp_bin"] = "xfreerdp"
|
settings["rdp_bin"] = "xfreerdp"
|
||||||
else:
|
else:
|
||||||
settings["rdp_bin"] = "sdl-freerdp"
|
settings["rdp_bin"] = "sdl-freerdp"
|
||||||
|
|
||||||
def fscr(self, app, state):
|
def fscr(self, app, state):
|
||||||
if state:
|
if state:
|
||||||
settings["extra_params"]["f"] = True
|
settings["extra_params"]["f"] = True
|
||||||
else:
|
else:
|
||||||
settings["extra_params"]["f"] = False
|
settings["extra_params"]["f"] = False
|
||||||
|
|
||||||
def on_destroy(self, app):
|
def on_destroy(self, app):
|
||||||
print("Saving settings config to "+HOMEDIR+"/.config/rdpconnect/settings.json")
|
print("Saving settings config to "+HOMEDIR+"/.config/rdpconnect/settings.json")
|
||||||
with open(HOMEDIR+"/.config/rdpconnect/settings.json", "w") as settings_file:
|
with open(HOMEDIR+"/.config/rdpconnect/settings.json", "w") as settings_file:
|
||||||
js = json.dumps(settings, sort_keys=True, indent=4, separators=(',', ': '))
|
js = json.dumps(settings, sort_keys=True, indent=4, separators=(',', ': '))
|
||||||
settings_file.write(js)
|
settings_file.write(js)
|
||||||
|
|
||||||
|
|
||||||
class MyApp(Adw.Application):
|
class MyApp(Adw.Application):
|
||||||
|
global hist_info
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
self.connect('activate', self.on_activate)
|
self.connect('activate', self.on_activate)
|
||||||
@@ -245,6 +304,10 @@ class MyApp(Adw.Application):
|
|||||||
action.connect('activate', self.on_about)
|
action.connect('activate', self.on_about)
|
||||||
self.add_action(action)
|
self.add_action(action)
|
||||||
|
|
||||||
|
action = Gio.SimpleAction(name='history')
|
||||||
|
action.connect('activate', self.on_history)
|
||||||
|
self.add_action(action)
|
||||||
|
|
||||||
def on_about(self, action, param):
|
def on_about(self, action, param):
|
||||||
about_dialog = Gtk.AboutDialog(transient_for=self.win, modal=True)
|
about_dialog = Gtk.AboutDialog(transient_for=self.win, modal=True)
|
||||||
about_dialog.set_copyright("Antonin Kaplan")
|
about_dialog.set_copyright("Antonin Kaplan")
|
||||||
@@ -258,17 +321,36 @@ class MyApp(Adw.Application):
|
|||||||
def on_preferences(self, action, param):
|
def on_preferences(self, action, param):
|
||||||
PreferencesWindow()
|
PreferencesWindow()
|
||||||
|
|
||||||
|
def on_history(self, action, param):
|
||||||
|
HistoryWindow()
|
||||||
|
|
||||||
def saveConnConf(self):
|
def saveConnConf(self):
|
||||||
if settings["save_conn"]:
|
if settings["save_conn"]:
|
||||||
password = conn_info["passwd"]
|
password = conn_info["passwd"]
|
||||||
conn_info["passwd"] = fernet.encrypt(password.encode()).decode("utf-8")
|
useratip = conn_info["user"] + "@" + conn_info["ip"]
|
||||||
|
|
||||||
print("Saving connection config to "+HOMEDIR+"/.config/rdpconnect/connection.json")
|
new_conn = 1
|
||||||
with open(HOMEDIR+"/.config/rdpconnect/connection.json", "w") as connection_file:
|
for i in hist_info:
|
||||||
js = json.dumps(conn_info, sort_keys=True, indent=4, separators=(',', ': '))
|
if hist_info[i] == useratip:
|
||||||
connection_file.write(js)
|
new_conn = 0
|
||||||
|
if new_conn == 1:
|
||||||
|
with open(HOMEDIR+"/.config/rdpconnect/history.json", "w") as hist_file:
|
||||||
|
hist_id = str(int(max(hist_info, default=0)) + 1)
|
||||||
|
hist_info[hist_id] = useratip
|
||||||
|
js = json.dumps(hist_info, sort_keys=True, indent=4, separators=(',', ': '))
|
||||||
|
hist_file.write(js)
|
||||||
|
|
||||||
conn_info["passwd"] = password
|
try:
|
||||||
|
keyring.set_password("com.angoosh.RDPConnect", useratip, password)
|
||||||
|
except:
|
||||||
|
conn_info["passwd"] = fernet.encrypt(password.encode()).decode("utf-8")
|
||||||
|
|
||||||
|
print("Saving connection config to "+HOMEDIR+"/.config/rdpconnect/connection.json")
|
||||||
|
with open(HOMEDIR+"/.config/rdpconnect/connection.json", "w") as connection_file:
|
||||||
|
js = json.dumps(conn_info, sort_keys=True, indent=4, separators=(',', ': '))
|
||||||
|
connection_file.write(js)
|
||||||
|
|
||||||
|
conn_info["passwd"] = password
|
||||||
else:
|
else:
|
||||||
with open(HOMEDIR+"/.config/rdpconnect/connection.json", "w") as connection_file:
|
with open(HOMEDIR+"/.config/rdpconnect/connection.json", "w") as connection_file:
|
||||||
connection_file.write("")
|
connection_file.write("")
|
||||||
@@ -291,7 +373,7 @@ class MyApp(Adw.Application):
|
|||||||
settings["rdp_bin"] = "sdl-freerdp"
|
settings["rdp_bin"] = "sdl-freerdp"
|
||||||
|
|
||||||
self.saveConnConf()
|
self.saveConnConf()
|
||||||
|
|
||||||
extra_params = []
|
extra_params = []
|
||||||
for item in settings["extra_params"]:
|
for item in settings["extra_params"]:
|
||||||
#check if is boolean
|
#check if is boolean
|
||||||
@@ -302,13 +384,15 @@ class MyApp(Adw.Application):
|
|||||||
if str(settings["extra_params"][item]) != "":
|
if str(settings["extra_params"][item]) != "":
|
||||||
print(str(settings["extra_params"][item]))
|
print(str(settings["extra_params"][item]))
|
||||||
extra_params.append("/"+str(item)+":"+str(settings["extra_params"][item]))
|
extra_params.append("/"+str(item)+":"+str(settings["extra_params"][item]))
|
||||||
|
|
||||||
print(extra_params)
|
print(extra_params)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
subprocess.Popen([settings["rdp_bin"], "/v:"+str(conn_info["ip"]), "/u:"+str(conn_info["user"]), "/p:"+str(conn_info["passwd"])]+extra_params)
|
print("Running", settings["rdp_bin"])
|
||||||
|
subprocess.run([settings["rdp_bin"], "/cert:ignore", "/v:"+str(conn_info["ip"]), "/u:"+str(conn_info["user"]), "/p:"+str(conn_info["passwd"])]+extra_params)
|
||||||
except:
|
except:
|
||||||
subprocess.Popen(["sdl-freerdp", "/v:"+str(conn_info["ip"]), "/u:"+str(conn_info["user"]), "/p:"+str(conn_info["passwd"])]+extra_params)
|
print("Running sdl-freerdp")
|
||||||
|
subprocess.run(["sdl-freerdp", "/cert:ignore", "/v:"+str(conn_info["ip"]), "/u:"+str(conn_info["user"]), "/p:"+str(conn_info["passwd"])]+extra_params)
|
||||||
|
|
||||||
if not os.path.isdir(HOMEDIR+"/.config/rdpconnect"):
|
if not os.path.isdir(HOMEDIR+"/.config/rdpconnect"):
|
||||||
os.makedirs(HOMEDIR+"/.config/rdpconnect")
|
os.makedirs(HOMEDIR+"/.config/rdpconnect")
|
||||||
|
|||||||
@@ -2,9 +2,13 @@
|
|||||||
<interface>
|
<interface>
|
||||||
<menu id='app-menu'>
|
<menu id='app-menu'>
|
||||||
<section>
|
<section>
|
||||||
|
<item>
|
||||||
|
<attribute name='label'>History</attribute>
|
||||||
|
<attribute name='action'>app.history</attribute>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<attribute name='label'>Preferences</attribute>
|
<attribute name='label'>Preferences</attribute>
|
||||||
<attribute name='action'>app.preferences</attribute>
|
<attribute name='action'>app.preferences</attribute>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<attribute name='label'>About</attribute>
|
<attribute name='label'>About</attribute>
|
||||||
|
|||||||
31
com.angoosh.RDPConnect/modules/SDL2_image.json
Normal file
31
com.angoosh.RDPConnect/modules/SDL2_image.json
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"name": "SDL2_image",
|
||||||
|
"buildsystem": "cmake-ninja",
|
||||||
|
"builddir": true,
|
||||||
|
"config-opts": [
|
||||||
|
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||||
|
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
||||||
|
"-DCMAKE_INSTALL_LIBDIR:PATH=lib"
|
||||||
|
],
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "archive",
|
||||||
|
"url": "https://github.com/libsdl-org/SDL_image/releases/download/release-2.8.4/SDL2_image-2.8.4.tar.gz",
|
||||||
|
"sha256": "f7c06a8783952cfe960adccdd3d8472b63ab31475b4390d10cfdcc1aea61238f",
|
||||||
|
"x-checker-data": {
|
||||||
|
"type": "anitya",
|
||||||
|
"project-id": 4781,
|
||||||
|
"stable-only": true,
|
||||||
|
"url-template": "https://github.com/libsdl-org/SDL_image/releases/download/release-${version0}.${version1}.${version2}/SDL2_image-${version0}.${version1}.${version2}.tar.gz"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cleanup": [
|
||||||
|
"/include",
|
||||||
|
"/lib/*.la",
|
||||||
|
"/lib/*.a",
|
||||||
|
"/lib/cmake",
|
||||||
|
"/share/aclocal",
|
||||||
|
"/lib/pkgconfig"
|
||||||
|
]
|
||||||
|
}
|
||||||
31
com.angoosh.RDPConnect/modules/SDL2_ttf.json
Normal file
31
com.angoosh.RDPConnect/modules/SDL2_ttf.json
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"name": "SDL2_ttf",
|
||||||
|
"buildsystem": "cmake-ninja",
|
||||||
|
"builddir": true,
|
||||||
|
"config-opts": [
|
||||||
|
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||||
|
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
||||||
|
"-DCMAKE_INSTALL_LIBDIR:PATH=lib"
|
||||||
|
],
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "archive",
|
||||||
|
"url": "https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.24.0/SDL2_ttf-2.24.0.tar.gz",
|
||||||
|
"sha256": "0b2bf1e7b6568adbdbc9bb924643f79d9dedafe061fa1ed687d1d9ac4e453bfd",
|
||||||
|
"x-checker-data": {
|
||||||
|
"type": "anitya",
|
||||||
|
"project-id": 4784,
|
||||||
|
"stable-only": true,
|
||||||
|
"url-template": "https://github.com/libsdl-org/SDL_ttf/releases/download/release-${version0}.${version1}.${version2}/SDL2_ttf-${version0}.${version1}.${version2}.tar.gz"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cleanup": [
|
||||||
|
"/include",
|
||||||
|
"/lib/*.la",
|
||||||
|
"/lib/*.a",
|
||||||
|
"/lib/cmake",
|
||||||
|
"/share/aclocal",
|
||||||
|
"/lib/pkgconfig"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,19 +1,25 @@
|
|||||||
{
|
{
|
||||||
"name": "cjson",
|
"name": "cjson",
|
||||||
"buildsystem": "cmake-ninja",
|
"buildsystem": "cmake-ninja",
|
||||||
"cleanup": [],
|
"builddir": true,
|
||||||
"config-opts": [
|
"cleanup": [],
|
||||||
"-Wno-error",
|
"config-opts": [
|
||||||
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||||
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
||||||
"-DCMAKE_INSTALL_LIBDIR:PATH=lib"
|
"-DCMAKE_INSTALL_LIBDIR:PATH=lib",
|
||||||
],
|
"-DWITH_PULSE:BOOL=ON"
|
||||||
"sources": [
|
],
|
||||||
{
|
"sources": [
|
||||||
"type": "git",
|
{
|
||||||
"url": "https://github.com/DaveGamble/cJSON.git",
|
"type": "archive",
|
||||||
"tag": "v1.7.17",
|
"url": "https://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.18.tar.gz",
|
||||||
"commit": "87d8f0961a01bf09bef98ff89bae9fdec42181ee"
|
"sha256": "3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5",
|
||||||
}
|
"x-checker-data": {
|
||||||
]
|
"type": "anitya",
|
||||||
}
|
"project-id": 21330,
|
||||||
|
"stable-only": true,
|
||||||
|
"url-template": "https://github.com/DaveGamble/cJSON/archive/refs/tags/v${version0}.${version1}.${version2}.tar.gz"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -5,42 +5,50 @@
|
|||||||
"cleanup": [],
|
"cleanup": [],
|
||||||
"config-opts": [
|
"config-opts": [
|
||||||
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||||
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
"-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo",
|
||||||
"-DCMAKE_INSTALL_LIBDIR:PATH=lib",
|
"-DCMAKE_INSTALL_LIBDIR:PATH=lib",
|
||||||
"-DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON",
|
"-DCHANNEL_TSMF:BOOL=OFF",
|
||||||
"-DCHANNEL_TSMF:BOOL=OFF",
|
"-DCHANNEL_URBDRC:BOOL=ON",
|
||||||
"-DCHANNEL_URBDRC:BOOL=ON",
|
"-DBUILD_TESTING:BOOL=OFF",
|
||||||
"-DBUILD_TESTING:BOOL=OFF",
|
"-DWITH_MANPAGES:BOOL=OFF",
|
||||||
"-DWITH_MANPAGES:BOOL=OFF",
|
"-DWITH_WAYLAND:BOOL=ON",
|
||||||
"-DWITH_KRB5:BOOL=ON",
|
"-DWITH_FUSE:BOOL=OFF",
|
||||||
"-DWITH_PCSC:BOOL=ON",
|
"-DWITH_PCSC:BOOL=ON",
|
||||||
"-DWITH_SDL_IMAGE_DIALOGS:BOOL=ON",
|
"-DWITH_PKCS11:BOOL=ON",
|
||||||
"-DWITH_INTERNAL_MD4:BOOL=ON",
|
"-DWITH_SWSCALE:BOOL=ON",
|
||||||
"-DWITH_INTERNAL_MD5:BOOL=ON",
|
"-DWITH_SERVER:BOOL=ON",
|
||||||
"-DWITH_INTERNAL_RC4:BOOL=ON",
|
"-DWITH_SAMPLE:BOOL=ON",
|
||||||
"-DWITH_PKCS11:BOOL=ON",
|
"-DWITH_CUPS:BOOL=ON",
|
||||||
"-DWITH_SWSCALE:BOOL=ON",
|
"-DWITH_SSE2:BOOL=ON",
|
||||||
"-DWITH_SERVER:BOOL=ON",
|
"-DWITH_NEON:BOOL=ON",
|
||||||
"-DWITH_SAMPLE:BOOL=ON",
|
"-DWITH_FFMPEG:BOOL=ON",
|
||||||
"-DWITH_CUPS:BOOL=ON",
|
"-DWITH_VERBOSE_WINPR_ASSERT:BOOL=OFF",
|
||||||
"-DWITH_OPUS:BOOL=ON",
|
"-DWITH_DSP_FFMPEG:BOOL=ON",
|
||||||
"-DWITH_FUSE:BOOL=OFF",
|
"-DWITH_FAAC:BOOL=OFF",
|
||||||
"-DWITH_FFMPEG:BOOL=ON",
|
"-DWITH_INTERNAL_MD4:BOOL=ON",
|
||||||
"-DWITH_WINPR_UTILS_IMAGE_PNG:BOOL=ON",
|
"-DWITH_INTERNAL_MD5:BOOL=ON",
|
||||||
"-DWITH_WINPR_UTILS_IMAGE_WEBP:BOOL=ON",
|
"-DWITH_INTERNAL_RC4:BOOL=ON",
|
||||||
"-DWITH_WINPR_UTILS_IMAGE_JPEG:BOOL=ON",
|
"-DWINPR_UTILS_IMAGE_PNG:BOOL=ON",
|
||||||
"-DWITH_URIPARSER:BOOL=ON",
|
"-DWINPR_UTILS_IMAGE_WEBP:BOOL=ON",
|
||||||
"-DWITH_DSP_FFMPEG:BOOL=ON",
|
"-DWINPR_UTILS_IMAGE_JPEG:BOOL=ON",
|
||||||
"-DWITH_OSS:BOOL=OFF",
|
"-DWITH_FAAD2:BOOL=OFF",
|
||||||
"-DWITH_WEBVIEW:BOOL=OFF",
|
"-DWITH_OSS:BOOL=OFF",
|
||||||
"-DWITH_PULSE:BOOL=ON"
|
"-DWITH_SDL_IMAGE_DIALOGS:BOOL=ON",
|
||||||
|
"-DWITH_WEBVIEW:BOOL=OFF",
|
||||||
|
"-DWITH_PULSE:BOOL=ON"
|
||||||
],
|
],
|
||||||
"sources": [
|
"sources": [
|
||||||
{
|
{
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/FreeRDP/FreeRDP.git",
|
"url": "https://github.com/FreeRDP/FreeRDP.git",
|
||||||
"tag": "3.9.0",
|
"tag": "3.12.0",
|
||||||
"commit": "4ae5b6c25452211f01f370d3e6e481553e72778a"
|
"commit": "060e50d9ea722822c7b69d7a588f6c21b4e2512f",
|
||||||
|
"x-checker-data": {
|
||||||
|
"type": "anitya",
|
||||||
|
"project-id": 10442,
|
||||||
|
"stable-only": true,
|
||||||
|
"url-template": "https://github.com/FreeRDP/FreeRDP/releases/tag/${version0}.${version1}.${version2}"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,18 @@
|
|||||||
{
|
{
|
||||||
"name": "krb5",
|
"name": "krb5",
|
||||||
"buildsystem": "autotools",
|
"buildsystem": "autotools",
|
||||||
"subdir": "src",
|
"subdir": "src",
|
||||||
"sources": [
|
"sources": [
|
||||||
{
|
{
|
||||||
"type": "archive",
|
"type": "archive",
|
||||||
"url": "https://kerberos.org/dist/krb5/1.21/krb5-1.21.2.tar.gz",
|
"url": "https://kerberos.org/dist/krb5/1.21/krb5-1.21.3.tar.gz",
|
||||||
"sha256": "9560941a9d843c0243a71b17a7ac6fe31c7cebb5bce3983db79e52ae7e850491"
|
"sha256": "b7a4cd5ead67fb08b980b21abd150ff7217e85ea320c9ed0c6dadd304840ad35",
|
||||||
}
|
"x-checker-data": {
|
||||||
]
|
"type": "anitya",
|
||||||
}
|
"project-id": 13287,
|
||||||
|
"stable-only": true,
|
||||||
|
"url-template": "https://kerberos.org/dist/krb5/${version0}.${version1}/krb5-${version0}.${version1}.${version2}.tar.gz"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,22 +1,19 @@
|
|||||||
{
|
{
|
||||||
"name": "libusb",
|
"name": "libusb",
|
||||||
"config-opts": [
|
"config-opts": [ "--disable-static" ],
|
||||||
"--disable-static"
|
"cleanup": [
|
||||||
],
|
"/lib/*.la",
|
||||||
"cleanup": [
|
"/lib/pkgconfig",
|
||||||
"/lib/*.la",
|
"/include"
|
||||||
"/lib/pkgconfig",
|
],
|
||||||
"/include"
|
"sources": [
|
||||||
],
|
{
|
||||||
"sources": [
|
"type": "archive",
|
||||||
{
|
"url": "https://github.com/libusb/libusb/releases/download/v1.0.27/libusb-1.0.27.tar.bz2",
|
||||||
"type": "archive",
|
"sha256": "ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575"
|
||||||
"url":
|
}
|
||||||
"https://github.com/libusb/libusb/releases/download/v1.0.27/libusb-1.0.27.tar.bz2",
|
],
|
||||||
"sha256": "ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575"
|
"post-install": [
|
||||||
}
|
"install -Dm644 COPYING ${FLATPAK_DEST}/share/licenses/libusb/COPYING"
|
||||||
],
|
]
|
||||||
"post-install": [
|
|
||||||
"install -Dm644 COPYING /app/share/licenses/libusb/COPYING"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,25 @@
|
|||||||
{
|
{
|
||||||
"name": "opensc",
|
"name": "opensc",
|
||||||
"buildsystem": "autotools",
|
"buildsystem": "autotools",
|
||||||
"cleanup": [],
|
"cleanup": [
|
||||||
"config-opts": [
|
],
|
||||||
"CFLAGS=-Wno-error"
|
"config-opts": [
|
||||||
],
|
"--disable-assert",
|
||||||
"sources": [
|
"--disable-fuzzing",
|
||||||
{
|
"--disable-man",
|
||||||
"type": "archive",
|
"--disable-strict"
|
||||||
"url": "https://github.com/OpenSC/OpenSC/releases/download/0.25.0/opensc-0.25.0.tar.gz",
|
],
|
||||||
"sha256": "e6d7b66e2a508a377ac9d67aa463025d3c54277227be10bd08872e3407d6622f"
|
"sources": [
|
||||||
}
|
{
|
||||||
]
|
"type": "archive",
|
||||||
}
|
"url": "https://github.com/OpenSC/OpenSC/releases/download/0.25.1/opensc-0.25.1.tar.gz",
|
||||||
|
"sha256": "23cbaae8bd7c8eb589b68c0a961dfb0d02007bea3165a3fc5efe2621d549b37b",
|
||||||
|
"x-checker-data": {
|
||||||
|
"type": "anitya",
|
||||||
|
"project-id": 13287,
|
||||||
|
"stable-only": true,
|
||||||
|
"url-template": "https://github.com/OpenSC/OpenSC/tags/${version0}.${version1}.${version2}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,23 +1,29 @@
|
|||||||
{
|
{
|
||||||
"name": "pcsc",
|
"name": "pcsc",
|
||||||
"config-opts": [
|
"config-opts": [
|
||||||
"--disable-libsystemd",
|
"--disable-libsystemd",
|
||||||
"--enable-pic",
|
"--enable-pic",
|
||||||
"--disable-libusb",
|
"--disable-libusb",
|
||||||
"--disable-polkit",
|
"--enable-shared",
|
||||||
"--enable-shared",
|
"--disable-polkit",
|
||||||
"--with-systemdsystemunitdir=/app/lib/systemd/"
|
"--with-systemdsystemunitdir=/app/lib/systemd/"
|
||||||
],
|
],
|
||||||
"sources": [
|
"sources": [
|
||||||
{
|
{
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/LudovicRousseau/PCSC.git",
|
"url": "https://github.com/LudovicRousseau/PCSC.git",
|
||||||
"tag": "2.0.3",
|
"tag": "2.3.0",
|
||||||
"commit": "c4e7f6f9c6fe56fafd3f13c31fcc4f670ad6d022"
|
"commit": "a2c25c5fa25b5e2400fe6a002ea2263069ebd94f",
|
||||||
}
|
"x-checker-data": {
|
||||||
],
|
"type": "anitya",
|
||||||
"cleanup": [
|
"project-id": 2611,
|
||||||
"/share/doc",
|
"stable-only": true,
|
||||||
"/share/man"
|
"url-template": "https://github.com/LudovicRousseau/PCSC/tags/${version0}.${version1}.${version2}"
|
||||||
]
|
}
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"cleanup": [
|
||||||
|
"/share/doc",
|
||||||
|
"/share/man"
|
||||||
|
]
|
||||||
|
}
|
||||||
24
com.angoosh.RDPConnect/modules/pkcs11-helper.json
Normal file
24
com.angoosh.RDPConnect/modules/pkcs11-helper.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"name": "pkcs11-helper",
|
||||||
|
"buildsystem": "autotools",
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "archive",
|
||||||
|
"url": "https://github.com/OpenSC/pkcs11-helper/archive/refs/tags/pkcs11-helper-1.30.0.tar.gz",
|
||||||
|
"sha256": "076c9f664812a45f2da25efc157338b0b8bb1949117f0144050fec176b6fdf78",
|
||||||
|
"x-checker-data": {
|
||||||
|
"type": "anitya",
|
||||||
|
"project-id": 91990,
|
||||||
|
"stable-only": true,
|
||||||
|
"url-template": "https://github.com/OpenSC/pkcs11-helper/archive/refs/tags/pkcs11-helper-$version.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "script",
|
||||||
|
"dest-filename": "autogen.sh",
|
||||||
|
"commands": [
|
||||||
|
"autoreconf -vfi"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,23 +1,26 @@
|
|||||||
{
|
{
|
||||||
"name": "uriparser",
|
"name": "urlparser",
|
||||||
"buildsystem": "cmake-ninja",
|
"buildsystem": "cmake-ninja",
|
||||||
"cleanup": [
|
"builddir": true,
|
||||||
],
|
"cleanup": [],
|
||||||
"config-opts": [
|
"config-opts": [
|
||||||
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||||
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
||||||
"-DCMAKE_INSTALL_LIBDIR:PATH=lib",
|
"-DCMAKE_INSTALL_LIBDIR:PATH=lib",
|
||||||
"-DURIPARSER_BUILD_TESTS:BOOL=OFF",
|
|
||||||
"-DURIPARSER_BUILD_DOCS:BOOL=OFF",
|
"-DURIPARSER_BUILD_DOCS:BOOL=OFF",
|
||||||
"-DURIPARSER_BUILD_TOOLS:BOOL=OFF",
|
"-DURIPARSER_BUILD_TESTS:BOOL=OFF"
|
||||||
"-DURIPARSER_BUILD_WCHAR_T:BOOL=OFF"
|
],
|
||||||
],
|
"sources": [
|
||||||
"sources": [
|
|
||||||
{
|
{
|
||||||
"type": "git",
|
"type": "archive",
|
||||||
"url": "https://github.com/uriparser/uriparser.git",
|
"url": "https://github.com/uriparser/uriparser/releases/download/uriparser-0.9.8/uriparser-0.9.8.tar.xz",
|
||||||
"tag": "uriparser-0.9.7",
|
"sha256": "1d71c054837ea32a31e462bce5a1af272379ecf511e33448e88100b87ff73b2e",
|
||||||
"commit": "634b678fa858abf1d1ebc0634e96e9e29596e92a"
|
"x-checker-data": {
|
||||||
|
"type": "anitya",
|
||||||
|
"project-id": 10160,
|
||||||
|
"stable-only": true,
|
||||||
|
"url-template": "https://github.com/uriparser/uriparser/releases/download/uriparser-${version0}.${version1}.${version2}/uriparser-${version0}.${version1}.${version2}.tar.xz"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1,14 +1,20 @@
|
|||||||
{
|
{
|
||||||
"name": "xprop",
|
"name": "xprop",
|
||||||
"sources": [
|
"sources": [
|
||||||
{
|
{
|
||||||
"type": "archive",
|
"type": "archive",
|
||||||
"url": "https://xorg.freedesktop.org/releases/individual/app/xprop-1.2.7.tar.xz",
|
"url": "https://xorg.freedesktop.org/releases/individual/app/xprop-1.2.8.tar.xz",
|
||||||
"sha256": "4436e3148bb91a162406230d9f736a49ca8b50b74790015dc15d78d6ce8e825f"
|
"sha256": "d689e2adb7ef7b439f6469b51cda8a7daefc83243854c2a3b8f84d0f029d67ee",
|
||||||
}
|
"x-checker-data": {
|
||||||
],
|
"type": "anitya",
|
||||||
"cleanup": [
|
"project-id": 14958,
|
||||||
"/share/doc",
|
"stable-only": true,
|
||||||
"/share/man"
|
"url-template": "https://xorg.freedesktop.org/releases/individual/app/xprop-${version0}.${version1}.${version2}.tar.xz"
|
||||||
]
|
}
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"cleanup": [
|
||||||
|
"/share/doc",
|
||||||
|
"/share/man"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
flatpak build-update-repo --generate-static-deltas ../repo
|
flatpak build-update-repo --generate-static-deltas ../repo
|
||||||
rsync -av repo/ angoosh@10.0.69.69:/mnt/angoosh/flatpak/repo/
|
rsync -av ../repo/ angoosh@10.0.69.69:/mnt/angoosh/flatpak/repo/
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
[core]
|
|
||||||
repo_version=1
|
|
||||||
mode=archive-z2
|
|
||||||
indexed-deltas=true
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user