Compare commits
10 Commits
fa1a1e7398
...
dcfacf6bf2
| Author | SHA1 | Date | |
|---|---|---|---|
| dcfacf6bf2 | |||
| d4cf664ec3 | |||
| 55dca383d5 | |||
| 7504bd26a9 | |||
| ced62c7681 | |||
| bb76296003 | |||
| 3247d1d102 | |||
| 2238983c0b | |||
| e0295b8cbe | |||
| eb76fd41d3 |
85
README.md
85
README.md
@@ -1,8 +1,87 @@
|
|||||||
# XPipe Vault (Keep this repository private!)
|
# XPipe Vault (Keep this repository private!)
|
||||||
|
|
||||||
It works! The git remote push succeeded. However, no connections have been pushed to this git repository yet.
|
This repository contains all connection information that is designated to be shared.
|
||||||
|
|
||||||
## Adding connections to the repository
|
You can sync with this repository in all XPipe application instances the same way, every change you make in one instance will be reflected in the repository.
|
||||||
|
|
||||||
|
## Category list
|
||||||
|
|
||||||
|
- **Connections**
|
||||||
|
- [**SSH**](categories/99a6754d-7c39-4820-a1a1-c8708f066c3f)
|
||||||
|
- **Scripts**
|
||||||
|
- **Identities**
|
||||||
|
- **Macros**
|
||||||
|
|
||||||
|
## Connection list
|
||||||
|
|
||||||
|
**All connections / SSH**
|
||||||
|
|
||||||
|
- [**Development VM Server ( Ubuntu )**](stores/55252d4a-0855-43c3-a92f-6a65fd4fcad4)
|
||||||
|
- [**Docker containers**](stores/c8fdc14a-8ddc-479a-be45-ac7f15f6055d)
|
||||||
|
- [**default**](stores/7cc2643a-e2a7-4f77-b53c-f9b6434d0214)
|
||||||
|
- [**LXD containers**](stores/7ed13cd0-fbc7-4d8b-b5f7-d624f058fe6c)
|
||||||
|
- [**Podman containers**](stores/9f684537-56df-4d31-84a1-b33b90e30d24)
|
||||||
|
- [**Shell environments**](stores/e3ac6492-c726-4b48-995d-1ee3706e4e08)
|
||||||
|
- [**bash**](stores/b6e8422d-24f9-4995-aef9-ad7e8ccb0fc2)
|
||||||
|
- [**fish**](stores/6e14a3bb-37be-4f5d-8610-680586ad3576)
|
||||||
|
- [**sh**](stores/cca10ae8-a93a-4056-8364-9004e59c9b6a)
|
||||||
|
- [**sudo**](stores/d519c29c-ffa2-44b3-a4d2-69924a8e4c33)
|
||||||
|
- [**Homelab**](stores/9fcbb4b3-47db-4611-812a-fcd50f0d5330)
|
||||||
|
- [**Docker containers**](stores/ccb95f71-8939-47a6-b8c1-08a86f6681cd)
|
||||||
|
- [**default**](stores/e2e76083-2fef-42a7-931f-30f6a56a5b6c)
|
||||||
|
- [**LXD containers**](stores/256b6c0d-5d17-47cf-88f7-f54d25c82a93)
|
||||||
|
- [**Shell environments**](stores/fa449c0c-fce1-441b-acd7-5329b05b807c)
|
||||||
|
- [**bash**](stores/0cf4eb3d-1325-4913-94a2-6d2cdaa00c2c)
|
||||||
|
- [**fish**](stores/2475d5e5-69f2-471f-a3d7-46c8eb4275ed)
|
||||||
|
- [**sh**](stores/c4cde9b1-335a-48e4-be41-4d76611e455a)
|
||||||
|
- [**sudo**](stores/8f22c2c8-0d4d-40e0-b74e-a02c1f2d3cd3)
|
||||||
|
- [**Ubuntu Digitalocean**](stores/626d3781-b44f-41ed-bf88-415f8e00fe15)
|
||||||
|
- [**Docker containers**](stores/379675a5-9934-4a9d-82a7-2b72e94ff15f)
|
||||||
|
- [**default**](stores/f459a6da-c32f-4c36-8864-813304856c9a)
|
||||||
|
- [**Shell environments**](stores/16fef86c-78bd-4060-ab84-6a73815e1ecb)
|
||||||
|
- [**sudo**](stores/31e74b9f-02c5-4df8-8383-a7c7c826f33f)
|
||||||
|
- [**Ubuntu Server Digital Ocean Mahesh**](stores/30e22125-1799-4219-bd63-ca5faa4e45d9)
|
||||||
|
- [**Docker containers**](stores/47e6bf72-145d-4476-a7f3-2929479c1251)
|
||||||
|
- [**Shell environments**](stores/1272ab6c-fd38-427a-a0c7-a9ad2a271459)
|
||||||
|
- [**sudo**](stores/8219a2ba-1af4-4e32-b7f4-c600d50117ea)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Secret encryption
|
||||||
|
|
||||||
|
You have the option to fetch any sensitive information like passwords from outside sources like password managers or enter them at connection time through a prompt window. In that case, XPipe doesn't have to store any secrets itself.
|
||||||
|
|
||||||
|
In case you choose to store passwords and other secrets within XPipe, all sensitive information is encrypted when it is saved using AES with either:
|
||||||
|
|
||||||
|
- A dynamically generated key file `vaultkey` (The data can then only be decrypted with that file present)
|
||||||
|
- A custom passphrase that can be set for your user in the vault settings menu (This option can only as secure as the password you choose)
|
||||||
|
|
||||||
|
By default, general connection data is not encrypted, only secrets are.
|
||||||
|
So things like hostnames and usernames are stored without encryption, which is in line with many other tools.
|
||||||
|
There is an available setting in the vault settings menu to encrypt all connection data if you want to do that.
|
||||||
|
|
||||||
|
## Cloning the repository on other systems
|
||||||
|
|
||||||
|
Nowadays, most providers require a personal access token (PAT) to authenticate from the command-line instead of traditional passwords.
|
||||||
|
You can find common (PAT) pages here:
|
||||||
|
- **GitHub**: [Personal access tokens (classic)](https://github.com/settings/tokens)
|
||||||
|
- **GitLab**: [Personal access token](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)
|
||||||
|
- **BitBucket**: [Personal access token](https://support.atlassian.com/bitbucket-cloud/docs/access-tokens/)
|
||||||
|
- **Gitea**: `Settings -> Applications -> Manage Access Tokens section`
|
||||||
|
Set the token permission for repository to Read and Write. The rest of the token permissions can be set as Read.
|
||||||
|
|
||||||
|
Even if your git client prompts you for a password, you should enter your token unless your provider still uses passwords.
|
||||||
|
|
||||||
|
If you don't want to enter your credentials every time, you can use any git credentials manager for that.
|
||||||
|
For more information, see for example:
|
||||||
|
- https://git-scm.com/doc/credential-helpers
|
||||||
|
- https://docs.github.com/en/get-started/getting-started-with-git/caching-your-github-credentials-in-git
|
||||||
|
|
||||||
|
Some modern git clients also take care of storing credentials automatically.
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Adding connections to the repository
|
||||||
|
|
||||||
By default, no connection categories are set to sync so that you have explicit control on what connections to commit.
|
By default, no connection categories are set to sync so that you have explicit control on what connections to commit.
|
||||||
|
|
||||||
@@ -13,6 +92,6 @@ Then, set the `Sync with git repository` value to `Yes` to sync the category and
|
|||||||
This will add all syncable connections in that category to the git repository.
|
This will add all syncable connections in that category to the git repository.
|
||||||
The sync settings for a category are inherited by default from its parent if not explicitly set.
|
The sync settings for a category are inherited by default from its parent if not explicitly set.
|
||||||
|
|
||||||
## Local connections are not synced
|
### Local connections are not synced
|
||||||
|
|
||||||
Any connection located under the local machine can not be shared as it refers to connections and data that are only available on the local system.
|
Any connection located under the local machine can not be shared as it refers to connections and data that are only available on the local system.
|
||||||
|
|||||||
@@ -7,5 +7,7 @@
|
|||||||
"dontCachePasswords" : false,
|
"dontCachePasswords" : false,
|
||||||
"encryptAllVaultData" : false,
|
"encryptAllVaultData" : false,
|
||||||
"apiKey" : "546f518d-5607-4f93-961a-a8e07383b178",
|
"apiKey" : "546f518d-5607-4f93-961a-a8e07383b178",
|
||||||
"workspaceLock" : null
|
"workspaceLock" : null,
|
||||||
|
"hideVaultEntryNames" : false,
|
||||||
|
"backgroundSessionInactivityTimeout" : null
|
||||||
}
|
}
|
||||||
11
stores/0cf4eb3d-1325-4913-94a2-6d2cdaa00c2c/entry.json
Normal file
11
stores/0cf4eb3d-1325-4913-94a2-6d2cdaa00c2c/entry.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"uuid" : "0cf4eb3d-1325-4913-94a2-6d2cdaa00c2c",
|
||||||
|
"name" : "bash",
|
||||||
|
"categoryUuid" : "99a6754d-7c39-4820-a1a1-c8708f066c3f",
|
||||||
|
"breakOutCategoryUuid" : null,
|
||||||
|
"color" : null,
|
||||||
|
"icon" : null,
|
||||||
|
"freeze" : false,
|
||||||
|
"pinToTop" : false,
|
||||||
|
"orderIndex" : 0
|
||||||
|
}
|
||||||
9
stores/0cf4eb3d-1325-4913-94a2-6d2cdaa00c2c/store.json
Normal file
9
stores/0cf4eb3d-1325-4913-94a2-6d2cdaa00c2c/store.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"type" : "shellEnvironment",
|
||||||
|
"commands" : null,
|
||||||
|
"host" : "9fcbb4b3-47db-4611-812a-fcd50f0d5330",
|
||||||
|
"shell" : "bash",
|
||||||
|
"elevated" : false,
|
||||||
|
"user" : null,
|
||||||
|
"scripts" : null
|
||||||
|
}
|
||||||
11
stores/16fef86c-78bd-4060-ab84-6a73815e1ecb/entry.json
Normal file
11
stores/16fef86c-78bd-4060-ab84-6a73815e1ecb/entry.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"uuid" : "16fef86c-78bd-4060-ab84-6a73815e1ecb",
|
||||||
|
"name" : "Shell environments",
|
||||||
|
"categoryUuid" : "99a6754d-7c39-4820-a1a1-c8708f066c3f",
|
||||||
|
"breakOutCategoryUuid" : null,
|
||||||
|
"color" : null,
|
||||||
|
"icon" : null,
|
||||||
|
"freeze" : false,
|
||||||
|
"pinToTop" : false,
|
||||||
|
"orderIndex" : 0
|
||||||
|
}
|
||||||
4
stores/16fef86c-78bd-4060-ab84-6a73815e1ecb/store.json
Normal file
4
stores/16fef86c-78bd-4060-ab84-6a73815e1ecb/store.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"type" : "shellEnvironmentGroup",
|
||||||
|
"parent" : "626d3781-b44f-41ed-bf88-415f8e00fe15"
|
||||||
|
}
|
||||||
11
stores/7cc2643a-e2a7-4f77-b53c-f9b6434d0214/entry.json
Normal file
11
stores/7cc2643a-e2a7-4f77-b53c-f9b6434d0214/entry.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"uuid" : "7cc2643a-e2a7-4f77-b53c-f9b6434d0214",
|
||||||
|
"name" : "default",
|
||||||
|
"categoryUuid" : "99a6754d-7c39-4820-a1a1-c8708f066c3f",
|
||||||
|
"breakOutCategoryUuid" : null,
|
||||||
|
"color" : null,
|
||||||
|
"icon" : null,
|
||||||
|
"freeze" : false,
|
||||||
|
"pinToTop" : false,
|
||||||
|
"orderIndex" : 0
|
||||||
|
}
|
||||||
5
stores/7cc2643a-e2a7-4f77-b53c-f9b6434d0214/store.json
Normal file
5
stores/7cc2643a-e2a7-4f77-b53c-f9b6434d0214/store.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"type" : "dockerContext",
|
||||||
|
"cmd" : "c8fdc14a-8ddc-479a-be45-ac7f15f6055d",
|
||||||
|
"name" : "default"
|
||||||
|
}
|
||||||
11
stores/8219a2ba-1af4-4e32-b7f4-c600d50117ea/entry.json
Normal file
11
stores/8219a2ba-1af4-4e32-b7f4-c600d50117ea/entry.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"uuid" : "8219a2ba-1af4-4e32-b7f4-c600d50117ea",
|
||||||
|
"name" : "sudo",
|
||||||
|
"categoryUuid" : "99a6754d-7c39-4820-a1a1-c8708f066c3f",
|
||||||
|
"breakOutCategoryUuid" : null,
|
||||||
|
"color" : null,
|
||||||
|
"icon" : null,
|
||||||
|
"freeze" : false,
|
||||||
|
"pinToTop" : false,
|
||||||
|
"orderIndex" : 0
|
||||||
|
}
|
||||||
9
stores/8219a2ba-1af4-4e32-b7f4-c600d50117ea/store.json
Normal file
9
stores/8219a2ba-1af4-4e32-b7f4-c600d50117ea/store.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"type" : "shellEnvironment",
|
||||||
|
"commands" : null,
|
||||||
|
"host" : "30e22125-1799-4219-bd63-ca5faa4e45d9",
|
||||||
|
"shell" : null,
|
||||||
|
"elevated" : true,
|
||||||
|
"user" : null,
|
||||||
|
"scripts" : null
|
||||||
|
}
|
||||||
11
stores/9f684537-56df-4d31-84a1-b33b90e30d24/entry.json
Normal file
11
stores/9f684537-56df-4d31-84a1-b33b90e30d24/entry.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"uuid" : "9f684537-56df-4d31-84a1-b33b90e30d24",
|
||||||
|
"name" : "Podman containers",
|
||||||
|
"categoryUuid" : "99a6754d-7c39-4820-a1a1-c8708f066c3f",
|
||||||
|
"breakOutCategoryUuid" : null,
|
||||||
|
"color" : null,
|
||||||
|
"icon" : null,
|
||||||
|
"freeze" : false,
|
||||||
|
"pinToTop" : false,
|
||||||
|
"orderIndex" : 0
|
||||||
|
}
|
||||||
4
stores/9f684537-56df-4d31-84a1-b33b90e30d24/store.json
Normal file
4
stores/9f684537-56df-4d31-84a1-b33b90e30d24/store.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"type" : "podmanCmd",
|
||||||
|
"host" : "55252d4a-0855-43c3-a92f-6a65fd4fcad4"
|
||||||
|
}
|
||||||
11
stores/9fcbb4b3-47db-4611-812a-fcd50f0d5330/entry.json
Normal file
11
stores/9fcbb4b3-47db-4611-812a-fcd50f0d5330/entry.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"uuid" : "9fcbb4b3-47db-4611-812a-fcd50f0d5330",
|
||||||
|
"name" : "Homelab",
|
||||||
|
"categoryUuid" : "99a6754d-7c39-4820-a1a1-c8708f066c3f",
|
||||||
|
"breakOutCategoryUuid" : null,
|
||||||
|
"color" : null,
|
||||||
|
"icon" : null,
|
||||||
|
"freeze" : false,
|
||||||
|
"pinToTop" : false,
|
||||||
|
"orderIndex" : 0
|
||||||
|
}
|
||||||
35
stores/9fcbb4b3-47db-4611-812a-fcd50f0d5330/store.json
Normal file
35
stores/9fcbb4b3-47db-4611-812a-fcd50f0d5330/store.json
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"type" : "ssh",
|
||||||
|
"proxy" : "f0ec68aa-63f5-405c-b178-9a4454556d6b",
|
||||||
|
"host" : "192.168.1.10",
|
||||||
|
"port" : 2222,
|
||||||
|
"identity" : {
|
||||||
|
"type" : "inPlace",
|
||||||
|
"identityStore" : {
|
||||||
|
"type" : "localIdentity",
|
||||||
|
"username" : "zanewalker",
|
||||||
|
"password" : {
|
||||||
|
"secret" : {
|
||||||
|
"type" : "vault",
|
||||||
|
"encryptedValue" : "089GFsDnu17j8EWH-KnHTY1HEVdx6LTJs9bTuSRXXrC44ibM0-y83eOlh8oFDN8MncnX2xh1X_xfUk9ed2eoeoPJF56iz8PWRebDnuoHM4biJ2b842q1rKx5srpmA0z8wQRLxslroY_kqj3evRI3CD1Z8Ebd3GKAx_MMqiLRQY4QnGG8uD22bNx97kUsjITC2pl27qsMfYA5KrbNPgmtKh3A4XOkJ-vPsiR2ik-PBawvvq28Td9d3BkmOKTQLJXWv3xoSfjcUsovLnoFFDd1ViRiKCqTh8RO0jgK_UTIoAnC"
|
||||||
|
},
|
||||||
|
"encryptedToken" : {
|
||||||
|
"token" : "Fvi2evcMBTx1zmYNI_BCB668pbbphWt_aFfDnfhcqGTO"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sshIdentity" : {
|
||||||
|
"secret" : {
|
||||||
|
"type" : "vault",
|
||||||
|
"encryptedValue" : "vfsE8hdsFZ7YFefwAlYulR0eT0CYvZqpti9XnQGjo6AtTsN6Iehy7nSvcRnxcTuFCQ=="
|
||||||
|
},
|
||||||
|
"encryptedToken" : {
|
||||||
|
"token" : "Fvi2evcMBTx1zmYNI_BCB668pbbphWt_aFfDnfhcqGTO"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dontInteractWithSystem" : false,
|
||||||
|
"forwardX11" : false,
|
||||||
|
"jumpServer" : false,
|
||||||
|
"additionalOptions" : null
|
||||||
|
}
|
||||||
11
stores/c4cde9b1-335a-48e4-be41-4d76611e455a/entry.json
Normal file
11
stores/c4cde9b1-335a-48e4-be41-4d76611e455a/entry.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"uuid" : "c4cde9b1-335a-48e4-be41-4d76611e455a",
|
||||||
|
"name" : "sh",
|
||||||
|
"categoryUuid" : "99a6754d-7c39-4820-a1a1-c8708f066c3f",
|
||||||
|
"breakOutCategoryUuid" : null,
|
||||||
|
"color" : null,
|
||||||
|
"icon" : null,
|
||||||
|
"freeze" : false,
|
||||||
|
"pinToTop" : false,
|
||||||
|
"orderIndex" : 0
|
||||||
|
}
|
||||||
9
stores/c4cde9b1-335a-48e4-be41-4d76611e455a/store.json
Normal file
9
stores/c4cde9b1-335a-48e4-be41-4d76611e455a/store.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"type" : "shellEnvironment",
|
||||||
|
"commands" : null,
|
||||||
|
"host" : "9fcbb4b3-47db-4611-812a-fcd50f0d5330",
|
||||||
|
"shell" : "sh",
|
||||||
|
"elevated" : false,
|
||||||
|
"user" : null,
|
||||||
|
"scripts" : null
|
||||||
|
}
|
||||||
11
stores/cca10ae8-a93a-4056-8364-9004e59c9b6a/entry.json
Normal file
11
stores/cca10ae8-a93a-4056-8364-9004e59c9b6a/entry.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"uuid" : "cca10ae8-a93a-4056-8364-9004e59c9b6a",
|
||||||
|
"name" : "sh",
|
||||||
|
"categoryUuid" : "99a6754d-7c39-4820-a1a1-c8708f066c3f",
|
||||||
|
"breakOutCategoryUuid" : null,
|
||||||
|
"color" : null,
|
||||||
|
"icon" : null,
|
||||||
|
"freeze" : false,
|
||||||
|
"pinToTop" : false,
|
||||||
|
"orderIndex" : 0
|
||||||
|
}
|
||||||
9
stores/cca10ae8-a93a-4056-8364-9004e59c9b6a/store.json
Normal file
9
stores/cca10ae8-a93a-4056-8364-9004e59c9b6a/store.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"type" : "shellEnvironment",
|
||||||
|
"commands" : null,
|
||||||
|
"host" : "55252d4a-0855-43c3-a92f-6a65fd4fcad4",
|
||||||
|
"shell" : "sh",
|
||||||
|
"elevated" : false,
|
||||||
|
"user" : null,
|
||||||
|
"scripts" : null
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user