restructure
This commit is contained in:
parent
ef7661245b
commit
598a10bc28
182 changed files with 342 additions and 336 deletions
|
@ -7,7 +7,7 @@ flatpak-id: com.bitwarden.desktop
|
|||
|
||||
# Bitwarden
|
||||
Bitwarden is a selfhosted password manager (like [KeePassXC](../utilities/KeePassXC.md)).
|
||||
Vaultwarden is a alternative Bitwarden Server implementation rewritten in [Rust](../../programming/languages/Rust.md). Beside providing the ability to store sensitive information and passwords, bitwarden can share files and secrets securely with Bitwarden Send.
|
||||
Vaultwarden is a alternative Bitwarden Server implementation rewritten in [Rust](../../dev/programming/languages/Rust.md). Beside providing the ability to store sensitive information and passwords, bitwarden can share files and secrets securely with Bitwarden Send.
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
|
|
|
@ -4,4 +4,4 @@ website: https://frigate.video/
|
|||
---
|
||||
|
||||
# Frigate
|
||||
#wip #🐇 #notnow
|
||||
#wip #🐇
|
|
@ -17,7 +17,7 @@ The Gitea server can be configured with the `app.ini` file.
|
|||
For a list of configuration options go [here](https://docs.gitea.com/administration/config-cheat-sheet).
|
||||
|
||||
## Gitea Actions
|
||||
Gitea Actions are available as a built-in CI/CD solution. It works just like [GitHub Actions](../development/GitHub%20Actions.md). You put your actions into `.gitea/workflows` inside your repository.
|
||||
Gitea Actions are available as a built-in CI/CD solution. It works just like [GitHub Actions](../../dev/GitHub%20Actions.md). You put your actions into `.gitea/workflows` inside your repository.
|
||||
|
||||
Just like other CI/CD solutions, Gitea doesn't run the jobs itself, but delegates the jobs to runners. The runner of Gitea Actions is called [act runner](https://gitea.com/gitea/act_runner), it is a standalone program and also written in Go. It is based on a [fork](https://gitea.com/gitea/act) of [nektos/act](http://github.com/nektos/act).
|
||||
|
||||
|
@ -108,7 +108,7 @@ DELETE https://gitea.example.com/api/packages/{owner}/generic/{package_name}/{pa
|
|||
```
|
||||
|
||||
### Alpine Packages
|
||||
To work with the Alpine registry, you need to use a [HTTP](../../internet/HTTP.md) client like [curl](../cli/curl.md) to upload and a package manager like apk to consume packages.
|
||||
To work with the Alpine registry, you need to use a [HTTP](../../internet/HTTP.md) client like [curl](../cli/network/curl.md) to upload and a package manager like apk to consume packages.
|
||||
|
||||
To register the Alpine registry add the url to the list of known apk sources (`/etc/apk/repositories`):
|
||||
```
|
||||
|
@ -120,7 +120,7 @@ If the registry is private, provide credentials in the url. You can use a passwo
|
|||
https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/alpine/<branch>/<repository>
|
||||
```
|
||||
|
||||
The Alpine registry files are signed with a [RSA](../../Cryptography/RSA.md) key which must be known to apk. Download the public key and store it in `/etc/apk/keys/`:
|
||||
The Alpine registry files are signed with a [RSA](../../cryptography/RSA.md) key which must be known to apk. Download the public key and store it in `/etc/apk/keys/`:
|
||||
```shell
|
||||
curl -JO https://gitea.example.com/api/packages/{owner}/alpine/key
|
||||
```
|
||||
|
|
|
@ -4,7 +4,7 @@ website: https://guacamole.apache.org
|
|||
---
|
||||
|
||||
# Guacamole
|
||||
Apache Guacamole is an open-source remote desktop gateway that provides access to desktop environments and server sessions through a web browser. It supports a variety of protocols such as VNC, RDP, [SSH](../SSH.md), and Telnet, allowing users to connect to remote systems with ease.
|
||||
Apache Guacamole is an open-source remote desktop gateway that provides access to desktop environments and server sessions through a web browser. It supports a variety of protocols such as VNC, RDP, [SSH](../network/SSH.md), and Telnet, allowing users to connect to remote systems with ease.
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ os: web
|
|||
website: https://ipfs.io
|
||||
---
|
||||
# IPFS
|
||||
IPFS, or the InterPlanetary File System, is a peer-to-peer distributed file system designed to connect all computing devices with the same system of files. It works similiarly to [Torrents](../../tools/BitTorrent.md).
|
||||
IPFS, or the InterPlanetary File System, is a peer-to-peer distributed file system designed to connect all computing devices with the same system of files. It works similiarly to [Torrents](../../internet/BitTorrent.md).
|
||||
|
||||
## Key Concepts
|
||||
### 1. **Decentralization:**
|
||||
|
|
|
@ -4,7 +4,7 @@ os: web
|
|||
website: https://radicale.org/v3.html
|
||||
---
|
||||
# Radicale
|
||||
Radicale is a [WebDAV](../../tools/WebDAV.md) Server for CalDAV and CardDAV.
|
||||
Radicale is a [WebDAV](../../internet/WebDAV.md) Server for CalDAV and CardDAV.
|
||||
|
||||
## Install
|
||||
Based on [this repo](https://github.com/fphammerle/docker-radicale)
|
||||
|
|
216
technology/applications/web/Teleport.md
Normal file
216
technology/applications/web/Teleport.md
Normal file
|
@ -0,0 +1,216 @@
|
|||
---
|
||||
obj: application
|
||||
website: https://goteleport.com
|
||||
repo: https://github.com/gravitational/teleport
|
||||
---
|
||||
# Teleport
|
||||
Teleport provides connectivity, authentication, access controls and audit for infrastructure.
|
||||
|
||||
It includes an identity-aware access proxy, a CA that issues short-lived certificates, a unified access control system and a tunneling system to access resources behind the firewall.
|
||||
|
||||
Teleport understands the [SSH](../network/SSH.md), HTTPS, RDP, Kubernetes API, MySQL, [MongoDB](development/MongoDB.md) and PostgreSQL wire protocols, plus many others. It can integrate with Single Sign-On providers and enables you to apply access policies using infrastructure-as-code and GitOps tools.
|
||||
|
||||
## Setup
|
||||
You need a [domain](../../internet/Domain.md) pointing at your teleport proxy instance.
|
||||
|
||||
Docker-Compose:
|
||||
```yml
|
||||
version: '3'
|
||||
services:
|
||||
teleport:
|
||||
image: public.ecr.aws/gravitational/teleport:14
|
||||
restart: unless-stopped
|
||||
hostname: <yourdomain.com>
|
||||
ports:
|
||||
- "3080:3080" # Web UI
|
||||
- "3022:3022" # SSH
|
||||
- "8443:8443" # HTTPS
|
||||
volumes:
|
||||
- ./config/teleport.yaml:/etc/teleport/teleport.yaml
|
||||
- ./data:/var/lib/teleport
|
||||
```
|
||||
|
||||
teleport.yml:
|
||||
```yml
|
||||
version: v3
|
||||
teleport:
|
||||
nodename: <yourdomain.com>
|
||||
data_dir: /var/lib/teleport
|
||||
log:
|
||||
output: stderr
|
||||
severity: INFO
|
||||
format:
|
||||
output: text
|
||||
ca_pin: ""
|
||||
diag_addr: ""
|
||||
auth_service:
|
||||
enabled: "yes"
|
||||
listen_addr: 0.0.0.0:3025
|
||||
proxy_listener_mode: multiplex
|
||||
authentication:
|
||||
type: local
|
||||
second_factor: true
|
||||
webauthn:
|
||||
rp_id: <yourdomain.com>
|
||||
connector_name: passwordless
|
||||
ssh_service:
|
||||
enabled: "no"
|
||||
proxy_service:
|
||||
enabled: "yes"
|
||||
public_addr: <yourdomain.com>:443
|
||||
https_keypairs: []
|
||||
https_keypairs_reload_interval: 0s
|
||||
acme: {}
|
||||
```
|
||||
|
||||
## [SSH](../network/SSH.md) Agent Setup
|
||||
1. Install teleport on your host:
|
||||
```shell
|
||||
curl https://goteleport.com/static/install.sh | bash -s 14.2.0
|
||||
```
|
||||
2. On your teleport proxy, create a join token:
|
||||
```shell
|
||||
tctl tokens add --type=node --format=text > token.file
|
||||
```
|
||||
3. Join the server to the cluster:
|
||||
```shell
|
||||
sudo teleport node configure \
|
||||
--output=file:///etc/teleport.yaml \
|
||||
--token=/path/to/token.file \
|
||||
--proxy=tele.example.com:443
|
||||
```
|
||||
4. Enable Teleport Service
|
||||
```shell
|
||||
[Unit]
|
||||
Description=Teleport Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=on-failure
|
||||
EnvironmentFile=-/etc/default/teleport
|
||||
ExecStart=/usr/local/bin/teleport start --config /etc/teleport.yaml --pid-file=/run/teleport.pid
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
PIDFile=/run/teleport.pid
|
||||
LimitNOFILE=524288
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
|
||||
## `tctl`
|
||||
Admin tool for the Teleport Access Platform
|
||||
Usage: `tctl [<flags>] <command> [<args> ...]`
|
||||
|
||||
### Commands
|
||||
#### users add
|
||||
Generate a user invitation token.
|
||||
Usage: `tctl users add --roles=ROLES [<flags>] <account>`
|
||||
|
||||
##### Options
|
||||
| Option | Description |
|
||||
| -------- | ------------------------------------------- |
|
||||
| --logins | List of allowed SSH logins for the new user |
|
||||
|
||||
#### users update
|
||||
Update user account.
|
||||
Usage: `tctl users update [<flags>] <account>`
|
||||
|
||||
##### Options
|
||||
| Option | Description |
|
||||
| -------------- | ---------------------------------------------------------------- |
|
||||
| `--set-roles` | List of roles for the user to assume, replaces current roles |
|
||||
| `--set-logins` | List of allowed SSH logins for the user, replaces current logins |
|
||||
|
||||
#### users ls
|
||||
Lists all user accounts.
|
||||
Usage: `tctl users ls`
|
||||
|
||||
#### users rm
|
||||
Deletes user accounts.
|
||||
Usage: `tctl users rm <logins>`
|
||||
|
||||
#### users reset
|
||||
Reset user password and generate a new token.
|
||||
Usage: `tctl users reset <account>`
|
||||
|
||||
#### nodes add
|
||||
Generate a node invitation token.
|
||||
Usage: `tctl nodes add [<flags>]`
|
||||
|
||||
##### Options
|
||||
| Option | Description |
|
||||
| --------- | -------------------------------------------------------- |
|
||||
| `--roles` | Comma-separated list of roles for the new node to assume |
|
||||
| `--ttl` | Time to live for a generated token |
|
||||
|
||||
#### nodes ls
|
||||
List all active SSH nodes within the cluster.
|
||||
Usage: `tctl nodes ls [<flags>] [<labels>]`
|
||||
|
||||
#### tokens add
|
||||
Create a invitation token.
|
||||
Usage: `tctl tokens add --type=TYPE [<flags>]`
|
||||
|
||||
##### Options
|
||||
| Option | Description |
|
||||
| ---------- | ------------------------------------------------------------ |
|
||||
| `--type` | Type(s) of token to add, e.g. `--type=node,app,db,proxy,etc` |
|
||||
| `--labels` | Set token labels, e.g. `env=prod,region=us-west` |
|
||||
| `--ttl` | Set expiration time for token, default is 30 minutes |
|
||||
| `--format` | Output format, 'text', 'json', or 'yaml' |
|
||||
|
||||
#### tokens rm
|
||||
Delete/revoke an invitation token.
|
||||
Usage: `tctl tokens rm [<token>]`
|
||||
|
||||
#### tokens ls
|
||||
List node and user invitation tokens.
|
||||
Usage: `tctl tokens ls`
|
||||
|
||||
#### status
|
||||
Report cluster status.
|
||||
Usage: `tctl status`
|
||||
|
||||
## `tsh`
|
||||
Teleport Command Line client for interacting with your infrastructure.
|
||||
Usage: `tsh [options...] <command> [<args> ...]`
|
||||
|
||||
### Options
|
||||
| Option | Description |
|
||||
| --------- | --------------------------------------------- |
|
||||
| `--proxy` | Teleport proxy address |
|
||||
| `--user` | Teleport user, defaults to current local user |
|
||||
|
||||
### Commands
|
||||
#### ssh
|
||||
Run shell or execute a command on a remote SSH node.
|
||||
Usage: `tsh ssh [<flags>] <[user@]host> [<command>...]`
|
||||
|
||||
##### scp
|
||||
Transfer files to a remote SSH node.
|
||||
Usage: `tsh scp [<flags>] <from, to>...`
|
||||
|
||||
##### ls
|
||||
List remote SSH nodes.
|
||||
Usage: `tsh ls [<flags>] [<labels>]`
|
||||
|
||||
##### login
|
||||
Log in to a cluster and retrieve the session certificate.
|
||||
Usage: `tsh login [<flags>] [<cluster>]`
|
||||
|
||||
##### logout
|
||||
Delete a cluster certificate.
|
||||
Usage: `tsh logout`
|
||||
|
||||
##### status
|
||||
Display the list of proxy servers and retrieved certificates.
|
||||
Usage: `tsh status`
|
||||
|
||||
##### config
|
||||
Print [SSH](../network/SSH.md) config details.
|
||||
This allows you to use regular `ssh` command to connect to teleport servers.
|
||||
```shell
|
||||
tsh config >> ~/.ssh/config
|
||||
```
|
|
@ -4,7 +4,7 @@ repo: https://github.com/sigoden/dufs
|
|||
---
|
||||
|
||||
# dufs
|
||||
Dufs is a distinctive utility file server that supports static serving, uploading, searching, accessing control, [webdav](../../tools/WebDAV.md).
|
||||
Dufs is a distinctive utility file server that supports static serving, uploading, searching, accessing control, [webdav](../../internet/WebDAV.md).
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
|
@ -16,8 +16,8 @@ Dufs is a distinctive utility file server that supports static serving, uploadin
|
|||
- Partial responses (Parallel/Resume download)
|
||||
- Access control
|
||||
- Support https
|
||||
- Support [webdav](../../tools/WebDAV.md)
|
||||
- Easy to use with [curl](../cli/curl.md)
|
||||
- Support [webdav](../../internet/WebDAV.md)
|
||||
- Easy to use with [curl](../cli/network/curl.md)
|
||||
|
||||
## Usage
|
||||
Usage: `dufs [OPTIONS] [serve-path]`
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue