-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathssh-forge.toml
More file actions
103 lines (85 loc) · 2.93 KB
/
ssh-forge.toml
File metadata and controls
103 lines (85 loc) · 2.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# =========================================================
# ssh-forge Project Configuration
# =========================================================
[project]
name = "ssh-forge"
version = "2.0"
description = "Lightweight portable SSH management toolkit — CLI + GTK3 GUI"
author = "Sumit"
license = "MIT"
repository = "https://github.com/dev-boffin-io/ssh-forge"
# -------------------------
# Directory Layout
# -------------------------
[paths]
src_dir = "src/"
bin_dir = "bin/"
build_dir = "build/"
gui_dir = "gui/"
build_script = "build-install"
installer = "build/build-deps"
log_file = "install.log"
cache = "~/.ssh/ssh-forge.json"
default_key = "~/.ssh/id_ed25519"
fallback_key = "~/.ssh/id_rsa"
# -------------------------
# Binaries
# -------------------------
[binaries]
ssh_forge = "bin/ssh-forge"
sf_key = "bin/sf-key"
sf_cpy = "bin/sf-cpy"
sf_reset = "bin/sf-reset"
sf_git_auth = "bin/sf-git-auth"
scpx = "bin/scpx"
ssh_forge_dev = "ssh-forge-dev"
ssh_forge_gui = "gui/ssh-forge-gui"
# -------------------------
# Build Scripts
# -------------------------
[build]
build_bin = "build/build-bin"
build_init = "build/build-init"
build_gui = "build/build-gui"
build_deps = "build/build-deps"
icon = "build/ssh-terminal.png"
# -------------------------
# Dependencies
# -------------------------
[dependencies.required]
go = "1.20+"
ssh = "OpenSSH (ssh, ssh-keygen, ssh-copy-id, scp)"
jq = "JSON processor"
[dependencies.optional]
fzf = "Interactive fuzzy finder — used by ssh-forge --menu"
[dependencies.gui]
python = "3.8+"
gtk = "GTK 3.0 (libgtk-3-0 / gtk3)"
vte = "VTE 2.91 (libvte-2.91-0 / vte291)"
gi = "Python GObject Introspection (python3-gi)"
# -------------------------
# Features
# -------------------------
[features.cli]
auto_keygen = true # Generate ed25519 key if missing
auto_key_copy = true # Run ssh-copy-id on first connect
raw_connect = true # --raw skips cache and key-copy entirely
cache_enabled = true # Save hosts to ~/.ssh/ssh-forge.json
known_hosts_cleanup = true # sf-reset clears known_hosts
ipv6_support = true # user@[::1]:port format
injection_safe_copy = true # sf-cpy escapes shell quotes in authorized_keys
syscall_exec = true # ssh-forge connects via syscall.Exec (no subprocess overhead)
[features.gui]
enabled = true
framework = "GTK3 + VTE 2.91"
theme = "Catppuccin Mocha"
tabbed = true # Each command opens in a new terminal tab
pinned_tab = true # Terminal tab always open on startup
raw_mode_ui = true # Connect dialog includes Raw mode checkbox
doctor_dialog = true # Checks all binaries and system deps
right_click = true # Copy / Paste / Select All context menu
# -------------------------
# Supported OS
# -------------------------
[os]
supported = ["debian", "ubuntu", "fedora", "arch", "alpine", "termux"]