restructure
This commit is contained in:
parent
ef7661245b
commit
598a10bc28
182 changed files with 342 additions and 336 deletions
|
@ -46,7 +46,7 @@ AES employs an SPN structure, combining substitution (replacing each byte with a
|
|||
- **AES-256:** Uses a 256-bit key and 14 rounds of encryption.
|
||||
|
||||
## Usage
|
||||
One can use AES with [OpenSSL](../applications/OpenSSL.md) or [GPG](../tools/GPG.md):
|
||||
One can use AES with [OpenSSL](OpenSSL.md) or [GPG](GPG.md):
|
||||
|
||||
### OpenSSL
|
||||
Encrypt:
|
||||
|
|
|
@ -6,9 +6,9 @@ obj: application
|
|||
---
|
||||
|
||||
# OpenSSL
|
||||
OpenSSL is a [cryptography](../Cryptography/Cryptography.md) toolkit implementing the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) network protocols and related [cryptography](../Cryptography/Cryptography.md) standards required by them.
|
||||
OpenSSL is a [cryptography](Cryptography.md) toolkit implementing the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) network protocols and related [cryptography](Cryptography.md) standards required by them.
|
||||
|
||||
The openssl program is a command line program for using the various [cryptography](../Cryptography/Cryptography.md) functions of OpenSSL's crypto library from the [shell](cli/Shell.md). It can be used for:
|
||||
The openssl program is a command line program for using the various [cryptography](Cryptography.md) functions of OpenSSL's crypto library from the [shell](cli/Shell.md). It can be used for:
|
||||
- Creation and management of private keys, public keys and parameters
|
||||
- Public key cryptographic operations
|
||||
- Creation of X.509 certificates, CSRs and CRLs
|
||||
|
@ -71,20 +71,20 @@ Usage: `openssl enc [options]`
|
|||
| `-pbkdf2` | Use password-based key derivation function 2 |
|
||||
| `-iter <num>` | Change iterations of `-pbkdf2` |
|
||||
|
||||
### [RSA](../Cryptography/RSA.md) (`openssl genrsa`, `openssl rsa`, `openssl pkeyutl`)
|
||||
#### Generate [RSA](../Cryptography/RSA.md) Private Key (`openssl genrsa`)
|
||||
### [RSA](RSA.md) (`openssl genrsa`, `openssl rsa`, `openssl pkeyutl`)
|
||||
#### Generate [RSA](RSA.md) Private Key (`openssl genrsa`)
|
||||
```shell
|
||||
openssl genrsa -out <keyfile> [-<cipher>] [-verbose] [-quiet] <numbits>
|
||||
```
|
||||
|
||||
The `-<cipher>` option lets you protect the key with a password using the specified cipher algo (See `openssl enc -ciphers` for a list of available ciphers).
|
||||
|
||||
#### Generate [RSA](../Cryptography/RSA.md) Public Key (`openssl rsa`)
|
||||
#### Generate [RSA](RSA.md) Public Key (`openssl rsa`)
|
||||
```shell
|
||||
openssl rsa -pubout -in <privatekey> [-passin file:<password_file>] -out <publickey>
|
||||
```
|
||||
|
||||
#### Working with [RSA](../Cryptography/RSA.md) (`openssl pkeyutl`)
|
||||
#### Working with [RSA](RSA.md) (`openssl pkeyutl`)
|
||||
```shell
|
||||
# Sign with Private Key
|
||||
openssl pkeyutl -sign -in <input> -inkey <private_key> [-passin file:<password_file>] -out <output> [-digest algo]
|
|
@ -33,7 +33,7 @@ RSA is commonly used for digital signatures to verify the authenticity and integ
|
|||
- The key length is crucial for security; longer keys provide higher security but may be computationally more expensive.
|
||||
|
||||
## Using RSA in Practice
|
||||
Using RSA can be done either with [OpenSSL](../applications/OpenSSL.md) or [GPG](../tools/GPG.md).
|
||||
Using RSA can be done either with [OpenSSL](OpenSSL.md) or [GPG](GPG.md).
|
||||
|
||||
### 1. **Key Generation:**
|
||||
```shell
|
||||
|
|
|
@ -7,7 +7,7 @@ SHA-2 (Secure Hash Algorithm 2) is a set of cryptographic hash functions designe
|
|||
|
||||
SHA-2 includes significant changes from its predecessor, SHA-1. The SHA-2 family consists of six hash functions with digests (hash values) that are 224, 256, 384 or 512 bits: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256. SHA-256 and SHA-512 are novel hash functions computed with eight 32-bit and 64-bit words, respectively. They use different shift amounts and additive constants, but their structures are otherwise virtually identical, differing only in the number of rounds. SHA-224 and SHA-384 are truncated versions of SHA-256 and SHA-512 respectively, computed with different initial values. SHA-512/224 and SHA-512/256 are also truncated versions of SHA-512, but the initial values are generated using the method described in Federal Information Processing Standards (FIPS) PUB 180-4.
|
||||
|
||||
SHA has libraries for many programming languages and can be used with [OpenSSL](../applications/OpenSSL.md) or the `shasum` command.
|
||||
SHA has libraries for many programming languages and can be used with [OpenSSL](OpenSSL.md) or the `shasum` command.
|
||||
|
||||
## Purpose
|
||||
Hash functions play a crucial role in [cryptography](Cryptography.md) and information security. They take an input (or message) and produce a fixed-size string of characters, which is typically a digest or hash value. The primary purposes of SHA hash functions include:
|
||||
|
|
|
@ -4,7 +4,7 @@ os: ["macos", "linux", "windows"]
|
|||
repo: https://github.com/sharkdp/bat
|
||||
---
|
||||
# bat
|
||||
bat is a cat rewrite in [Rust](../../programming/languages/Rust.md)
|
||||
bat is a cat rewrite in [Rust](../../dev/programming/languages/Rust.md)
|
||||
|
||||
## Usage
|
||||
Flags:
|
||||
|
|
|
@ -19,6 +19,6 @@ choose -f" " 0:3 # Choose element 0 to 3 seperated by " "
|
|||
## Options
|
||||
| Option | Description |
|
||||
| ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
||||
| `-f, --field-separator <field-separator>` | Specify field separator other than whitespace, using [Rust](../../programming/languages/Rust.md) `regex` syntax |
|
||||
| `-f, --field-separator <field-separator>` | Specify field separator other than whitespace, using [Rust](../../dev/programming/languages/Rust.md) `regex` syntax |
|
||||
| `-i, --input <input>` | Input file |
|
||||
| `-o, --output-field-separator <output-field-separator>` | Specify output field separator |
|
||||
|
|
|
@ -4,7 +4,7 @@ os: linux
|
|||
aliases: ["7zip", "7z"]
|
||||
---
|
||||
# 7Zip
|
||||
7-Zip is a file archiver with the highest compression ratio. The program supports 7z (that implements LZMA compression algorithm), [ZIP](../../files/ZIP.md), CAB, ARJ, GZIP, BZIP2, [TAR](tar.md), CPIO, RPM and DEB formats. Compression ratio in the new 7z format is 30-50% better than ratio in [ZIP](../../files/ZIP.md) format.
|
||||
7-Zip is a file archiver with the highest compression ratio. The program supports 7z (that implements LZMA compression algorithm), [ZIP](../../../files/ZIP.md), CAB, ARJ, GZIP, BZIP2, [TAR](compression/tar.md), CPIO, RPM and DEB formats. Compression ratio in the new 7z format is 30-50% better than ratio in [ZIP](../../../files/ZIP.md) format.
|
||||
|
||||
## Usage
|
||||
Add file/directory to the archive (or create a new one):
|
|
@ -20,4 +20,4 @@ Usage: `crunch <min-len> <max-len> [<charset string>] [options]`
|
|||
| `-o wordlist.txt` | Specifies the file to write the output to, eg: wordlist.txt |
|
||||
| `-s startblock` | Specifies a starting string, eg: 03god22fs |
|
||||
| `-t @,%^` | Specifies a pattern, eg: @@god@@@@ where the only the @'s, ,'s, %'s, and ^'s will change. <br>`@` will insert lower case characters<br>`,` will insert upper case characters<br>`%` will insert numbers<br>`^` will insert symbols |
|
||||
| `-z gzip, bzip2, lzma, and 7z` | Compresses the output from the -o option. Valid parameters are gzip, bzip2, lzma, and [7z](p7zip.md). |
|
||||
| `-z gzip, bzip2, lzma, and 7z` | Compresses the output from the -o option. Valid parameters are gzip, bzip2, lzma, and [7z](compression/p7zip.md). |
|
||||
|
|
|
@ -5,7 +5,7 @@ repo: https://github.com/casey/intermodal
|
|||
---
|
||||
# Intermodal
|
||||
[Repo](https://github.com/casey/intermodal)
|
||||
Intermodal is a user-friendly and featureful command-line [BitTorrent](../../tools/BitTorrent.md) metainfo utility. The binary is called `imdl` and runs on [Linux](../../linux/Linux.md), [Windows](../../windows/Windows.md), and [macOS](../../macos/macOS.md).
|
||||
Intermodal is a user-friendly and featureful command-line [BitTorrent](../../internet/BitTorrent.md) metainfo utility. The binary is called `imdl` and runs on [Linux](../../linux/Linux.md), [Windows](../../windows/Windows.md), and [macOS](../../macos/macOS.md).
|
||||
|
||||
## Usage
|
||||
### Create torrent file:
|
||||
|
|
|
@ -3,4 +3,4 @@ obj: application
|
|||
os: linux
|
||||
---
|
||||
# Jless
|
||||
[`jless`](https://jless.io/) is a command-line [JSON](../../files/JSON.md) viewer. Use it as a replacement for whatever combination of `less`, `jq`, `cat` and your editor you currently use for viewing [JSON](../../files/JSON.md) files. It is written in [Rust](../../programming/languages/Rust.md) and can be installed as a single standalone binary.
|
||||
[`jless`](https://jless.io/) is a command-line [JSON](../../files/JSON.md) viewer. Use it as a replacement for whatever combination of `less`, `jq`, `cat` and your editor you currently use for viewing [JSON](../../files/JSON.md) files. It is written in [Rust](../../dev/programming/languages/Rust.md) and can be installed as a single standalone binary.
|
|
@ -5,4 +5,4 @@ repo: https://github.com/kamiyaa/joshuto
|
|||
---
|
||||
# Joshuto
|
||||
[Repo](https://github.com/kamiyaa/joshuto)
|
||||
Joshuto is a [ranger](https://github.com/ranger/ranger)-like terminal file manager written in [Rust](../../programming/languages/Rust.md).
|
||||
Joshuto is a [ranger](https://github.com/ranger/ranger)-like terminal file manager written in [Rust](../../dev/programming/languages/Rust.md).
|
|
@ -144,7 +144,7 @@ Joins the array of elements given as input, using the argument as separator. It
|
|||
|
||||
`if A then B end` is the same as `if A then B else . end`. That is, the `else` branch is optional, and if absent is the same as `.`. This also applies to `elif` with absent ending `else` branch.
|
||||
|
||||
Checking for false or null is a simpler notion of "truthiness" than is found in JavaScript or [Python](../../programming/languages/Python.md), but it means that you'll sometimes have to be more explicit about the condition you want. You can't test whether, e.g. a string is empty using `if .name then A else B end`; you'll need something like `if .name == "" then A else B end` instead.
|
||||
Checking for false or null is a simpler notion of "truthiness" than is found in JavaScript or [Python](../../dev/programming/languages/Python.md), but it means that you'll sometimes have to be more explicit about the condition you want. You can't test whether, e.g. a string is empty using `if .name then A else B end`; you'll need something like `if .name == "" then A else B end` instead.
|
||||
|
||||
If the condition `A` produces multiple results, then `B` is evaluated once for each result that is not false or null, and `C` is evaluated once for each false or null.
|
||||
|
||||
|
|
|
@ -531,8 +531,8 @@ These functions can fail, for example if a path does not have an extension, whic
|
|||
- `error(message)` - Abort execution and report error `message` to user.
|
||||
|
||||
#### UUID and Hash Generation
|
||||
- `sha256(string)` - Return the [SHA](../../Cryptography/SHA.md)-256 hash of `string` as a hexadecimal string.
|
||||
- `sha256_file(path)` - Return the [SHA](../../Cryptography/SHA.md)-256 hash of the file at `path` as a hexadecimal string.
|
||||
- `sha256(string)` - Return the [SHA](../../cryptography/SHA.md)-256 hash of `string` as a hexadecimal string.
|
||||
- `sha256_file(path)` - Return the [SHA](../../cryptography/SHA.md)-256 hash of the file at `path` as a hexadecimal string.
|
||||
- `uuid()` - Return a randomly generated UUID.
|
||||
|
||||
### Recipe Attributes
|
||||
|
|
|
@ -7,7 +7,7 @@ website: https://micro-editor.github.io/
|
|||
# micro
|
||||
**micro** is a terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the capabilities of modern terminals. It comes as a single, batteries-included, static binary with no dependencies; you can download and use it right now!
|
||||
|
||||
As its name indicates, micro aims to be somewhat of a successor to the nano editor by being easy to install and use. It strives to be enjoyable as a full-time editor for people who prefer to work in a terminal, or those who regularly edit files over [SSH](../SSH.md).
|
||||
As its name indicates, micro aims to be somewhat of a successor to the nano editor by being easy to install and use. It strives to be enjoyable as a full-time editor for people who prefer to work in a terminal, or those who regularly edit files over [SSH](../network/SSH.md).
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
|
@ -392,7 +392,7 @@ Here are the available options:
|
|||
reading with `clipboard_control` setting), iTerm2 (only copying),
|
||||
st, rxvt-unicode and xterm if enabled (see `> help copypaste` for
|
||||
details). Note that Gnome-terminal does not support this feature. With
|
||||
this setting, copy-paste **will** work over [ssh](../SSH.md). See `> help copypaste`
|
||||
this setting, copy-paste **will** work over [ssh](../network/SSH.md). See `> help copypaste`
|
||||
for details.
|
||||
* `internal`: micro will use an internal clipboard.
|
||||
|
||||
|
@ -548,7 +548,7 @@ Here are the available options:
|
|||
|
||||
* `mouse`: mouse support. When mouse support is disabled,
|
||||
usually the terminal will be able to access mouse events which can be useful
|
||||
if you want to copy from the terminal instead of from micro (if over [ssh](../SSH.md) for
|
||||
if you want to copy from the terminal instead of from micro (if over [ssh](../network/SSH.md) for
|
||||
example, because the terminal has access to the local clipboard and micro
|
||||
does not).
|
||||
|
||||
|
@ -700,7 +700,7 @@ Here are the available options:
|
|||
default value: `true`
|
||||
|
||||
* `sucmd`: specifies the super user command. On most systems this is "sudo" but
|
||||
on BSD it can be "[doas](doas.md)." This option can be customized and is only used when
|
||||
on BSD it can be "[doas](system/doas.md)." This option can be customized and is only used when
|
||||
saving with su.
|
||||
|
||||
default value: `sudo`
|
||||
|
|
6
technology/applications/cli/nano.md
Normal file
6
technology/applications/cli/nano.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
obj: application
|
||||
---
|
||||
|
||||
# nano
|
||||
#wip
|
|
@ -6,7 +6,7 @@ website: https://aria2.github.io/
|
|||
repo: https://github.com/aria2/aria2
|
||||
---
|
||||
# aria2
|
||||
[aria2](https://aria2.github.io/) is a utility for downloading files. The supported protocols are [HTTP](../../internet/HTTP.md)(S), [FTP](../../internet/FTP.md), SFTP, [BitTorrent](../../tools/BitTorrent.md), and Metalink. aria2 can download a file from multiple sources/protocols and tries to utilize your maximum download bandwidth. It supports downloading a file from [HTTP](../../internet/HTTP.md)(S)/[FTP](../../internet/FTP.md)/SFTP and [BitTorrent](../../tools/BitTorrent.md) at the same time, while the data downloaded from [HTTP](../../internet/HTTP.md)(S)/[FTP](../../internet/FTP.md)/SFTP is uploaded to the [BitTorrent](../../tools/BitTorrent.md) swarm. Using Metalink's chunk checksums, aria2 automatically validates chunks of data while downloading a file like [BitTorrent](../../tools/BitTorrent.md). Aria2 can be used as a downloader by [yt-dlp](../media/yt-dlp.md).
|
||||
[aria2](https://aria2.github.io/) is a utility for downloading files. The supported protocols are [HTTP](../../../internet/HTTP.md)(S), [FTP](../../../internet/FTP.md), SFTP, [BitTorrent](../../../internet/BitTorrent.md), and Metalink. aria2 can download a file from multiple sources/protocols and tries to utilize your maximum download bandwidth. It supports downloading a file from [HTTP](../../../internet/HTTP.md)(S)/[FTP](../../../internet/FTP.md)/SFTP and [BitTorrent](../../../internet/BitTorrent.md) at the same time, while the data downloaded from [HTTP](../../../internet/HTTP.md)(S)/[FTP](../../../internet/FTP.md)/SFTP is uploaded to the [BitTorrent](../../../internet/BitTorrent.md) swarm. Using Metalink's chunk checksums, aria2 automatically validates chunks of data while downloading a file like [BitTorrent](../../../internet/BitTorrent.md). Aria2 can be used as a downloader by [yt-dlp](../../media/yt-dlp.md).
|
||||
|
||||
## Usage
|
||||
|
||||
|
@ -21,19 +21,19 @@ aria2c [<OPTIONS>] [<URI>|<MAGNET>|<TORRENT_FILE>|<METALINK_FILE>]
|
|||
| `-i, --input-file=<FILE>` | Downloads the URIs listed in **FILE**. |
|
||||
| `-l, --log=<LOG>` | The file name of the log file. If - is specified, log is written to stdout. If empty string("") is specified, or this option is omitted, no log is written to disk at all. |
|
||||
| `-j, --max-concurrent-downloads=<N>` | Set the maximum number of parallel downloads for every queue item. |
|
||||
| `-V, --check-integrity [true/false]` | Check file integrity by validating piece hashes or a hash of entire file. This option has effect only in [BitTorrent](../../tools/BitTorrent.md), Metalink downloads with checksums or [HTTP](../../internet/HTTP.md)(S)/[FTP](../../internet/FTP.md) downloads with --checksum option. If piece hashes are provided, this option can detect damaged portions of a file and re-download them. If a hash of entire file is provided, hash check is only done when file has been already download. This is determined by file length. If hash check fails, file is re-downloaded from scratch. If both piece hashes and a hash of entire file are provided, only piece hashes are used. Default: false |
|
||||
| `-c, --continue [true/false]` | Continue downloading a partially downloaded file. Use this option to resume a download started by a web browser or another program which downloads files sequentially from the beginning. Currently this option is only applicable to [HTTP](../../internet/HTTP.md)(S)/[FTP](../../internet/FTP.md) downloads. |
|
||||
| `--checksum=<TYPE>=<DIGEST>` | Set checksum. TYPE is hash type. The supported hash type is listed in Hash Algorithms in aria2c -v. DIGEST is hex digest. For example, setting sha-1 digest looks like this: `sha-1=0192ba11326fe2298c8cb4de616f4d4140213838` This option applies only to [HTTP](../../internet/HTTP.md)(S)/[FTP](../../internet/FTP.md) downloads. |
|
||||
| `-V, --check-integrity [true/false]` | Check file integrity by validating piece hashes or a hash of entire file. This option has effect only in [BitTorrent](../../../internet/BitTorrent.md), Metalink downloads with checksums or [HTTP](../../../internet/HTTP.md)(S)/[FTP](../../../internet/FTP.md) downloads with --checksum option. If piece hashes are provided, this option can detect damaged portions of a file and re-download them. If a hash of entire file is provided, hash check is only done when file has been already download. This is determined by file length. If hash check fails, file is re-downloaded from scratch. If both piece hashes and a hash of entire file are provided, only piece hashes are used. Default: false |
|
||||
| `-c, --continue [true/false]` | Continue downloading a partially downloaded file. Use this option to resume a download started by a web browser or another program which downloads files sequentially from the beginning. Currently this option is only applicable to [HTTP](../../../internet/HTTP.md)(S)/[FTP](../../../internet/FTP.md) downloads. |
|
||||
| `--checksum=<TYPE>=<DIGEST>` | Set checksum. TYPE is hash type. The supported hash type is listed in Hash Algorithms in aria2c -v. DIGEST is hex digest. For example, setting sha-1 digest looks like this: `sha-1=0192ba11326fe2298c8cb4de616f4d4140213838` This option applies only to [HTTP](../../../internet/HTTP.md)(S)/[FTP](../../../internet/FTP.md) downloads. |
|
||||
| `-x, --max-connection-per-server=<NUM>` | The maximum number of connections to one server for each download. Default: **1** |
|
||||
| `-k, --min-split-size=<SIZE>` | aria2 does not split less than 2\*SIZE byte range. For example, let's consider downloading 20MiB file. If SIZE is 10M, aria2 can split file into 2 range (0-10MiB) and (10MiB-20MiB) and download it using 2 sources(if --split >= 2, of course). If SIZE is 15M, since 2\*15M > 20MiB, aria2 does not split file and download it using 1 source. You can append K or M (1K = 1024, 1M = 1024K). Possible Values: 1M -1024M Default: 20M |
|
||||
| `-o, --out=<FILE>` | The file name of the downloaded file. It is always relative to the directory given in `--dir` option. |
|
||||
| `-s, --split=<N>` | Download a file using N connections. If more than N URIs are given, first N URIs are used and remaining URIs are used for backup. If less than N URIs are given, those URIs are used more than once so that N connections total are made simultaneously. The number of connections to the same host is restricted by the `--max-connection-per-server` option. See also the `--min-split-size` option. Default: 5 |
|
||||
| `-t, --timeout=<SEC>` | Set timeout in seconds. Default: 60 |
|
||||
| `--check-certificate [true/false]` | Verify the peer using certificates specified in `--ca-certificate` option. Default: true |
|
||||
| `--http-user=<USER>, --http-passwd=<PASSWD>` | Credentials for [HTTP](../../internet/HTTP.md) Auth |
|
||||
| `--header=<HEADER>` | Append HEADER to [HTTP](../../internet/HTTP.md) request header. You can use this option repeatedly to specify more than one header:<br>`aria2c --header="X-A: b78" --header="X-B: 9J1" "http://host/file"` |
|
||||
| `--load-cookies=<FILE>` | Load Cookies from FILE using the Firefox3 format (SQLite3), Chromium/Google Chrome (SQLite3) and the Mozilla/[Firefox](../network/browsers/Firefox.md)(1.x/2.x)/Netscape format. |
|
||||
| `--save-cookies=<FILE>` | Save Cookies to FILE in Mozilla/[Firefox](../network/browsers/Firefox.md)(1.x/2.x)/ Netscape format. If FILE already exists, it is overwritten. Session Cookies are also saved and their expiry values are treated as 0. |
|
||||
| `-U, --user-agent=<USER_AGENT>` | Set user agent for [HTTP](../../internet/HTTP.md)(S) downloads. Default: `aria2/$VERSION`, $VERSION is replaced by package version. |
|
||||
| `--http-user=<USER>, --http-passwd=<PASSWD>` | Credentials for [HTTP](../../../internet/HTTP.md) Auth |
|
||||
| `--header=<HEADER>` | Append HEADER to [HTTP](../../../internet/HTTP.md) request header. You can use this option repeatedly to specify more than one header:<br>`aria2c --header="X-A: b78" --header="X-B: 9J1" "http://host/file"` |
|
||||
| `--load-cookies=<FILE>` | Load Cookies from FILE using the Firefox3 format (SQLite3), Chromium/Google Chrome (SQLite3) and the Mozilla/[Firefox](../../network/browsers/Firefox.md)(1.x/2.x)/Netscape format. |
|
||||
| `--save-cookies=<FILE>` | Save Cookies to FILE in Mozilla/[Firefox](../../network/browsers/Firefox.md)(1.x/2.x)/ Netscape format. If FILE already exists, it is overwritten. Session Cookies are also saved and their expiry values are treated as 0. |
|
||||
| `-U, --user-agent=<USER_AGENT>` | Set user agent for [HTTP](../../../internet/HTTP.md)(S) downloads. Default: `aria2/$VERSION`, $VERSION is replaced by package version. |
|
||||
| `-S, --show-files [true/false]` | Print file listing of ".torrent", ".meta4" and ".metalink" file and exit. In case of ".torrent" file, additional information (infohash, piece length, etc) is also printed. |
|
||||
| `--select-file=<INDEX>...` | (Torrent) Set file to download by specifying its index. You can find the file index using the `--show-files` option. Multiple indexes can be specified by using `,`, for example: `3,6`. You can also use `-` to specify a range: `1-5`. `,` and `-` can be used together: `1-5,8,9`. |
|
|
@ -5,7 +5,7 @@ website: https://curl.se/
|
|||
repo: https://github.com/curl/curl
|
||||
---
|
||||
# curl
|
||||
cURL is a command-line tool and library for transferring data with URLs. It supports a wide range of protocols, making it a versatile tool for making [HTTP](../../internet/HTTP.md) requests, downloading files, and more.
|
||||
cURL is a command-line tool and library for transferring data with URLs. It supports a wide range of protocols, making it a versatile tool for making [HTTP](../../../internet/HTTP.md) requests, downloading files, and more.
|
||||
|
||||
## Usage
|
||||
To make a simple GET request: `curl https://example.com`
|
||||
|
@ -15,8 +15,8 @@ To make a simple GET request: `curl https://example.com`
|
|||
| -------------------------------------- | ------------------------------------------------------------------------------------- |
|
||||
| `-C, --continue-at <offset>` | Continue/Resume a previous file transfer at the given offset. |
|
||||
| `-c, --cookie-jar <filename>` | Specify to which file you want curl to write all cookies after a completed operation. |
|
||||
| `-b, --cookie <data/filename>` | Pass the data to the [HTTP](../../internet/HTTP.md) server in the [Cookie](../../internet/Cookie.md) header. |
|
||||
| `-d, --data <data>` | Sends the specified data in a POST request to the [HTTP](../../internet/HTTP.md) server |
|
||||
| `-b, --cookie <data/filename>` | Pass the data to the [HTTP](../../../internet/HTTP.md) server in the [Cookie](../../../internet/Cookie.md) header. |
|
||||
| `-d, --data <data>` | Sends the specified data in a POST request to the [HTTP](../../../internet/HTTP.md) server |
|
||||
| `-F, --form <name=content>` | Specify multipart MIME data |
|
||||
| `-k, --insecure` | Allow insecure server connections when using SSL |
|
||||
| `-L, --location` | Follow redirects |
|
|
@ -4,13 +4,13 @@ wiki: https://en.wikipedia.org/wiki/Netcat
|
|||
---
|
||||
|
||||
# netcat
|
||||
The `nc` (or `netcat`) utility is used for just about anything under the sun involving [TCP](../../internet/TCP.md), [UDP](../../internet/UDP.md), or UNIX-domain sockets. It can open [TCP](../../internet/TCP.md) connections, send [UDP](../../internet/UDP.md) packets, listen on arbitrary [TCP](../../internet/TCP.md) and [UDP](../../internet/UDP.md) ports, do port scanning, and deal with both IPv4 and IPv6.
|
||||
The `nc` (or `netcat`) utility is used for just about anything under the sun involving [TCP](../../../internet/TCP.md), [UDP](../../../internet/UDP.md), or UNIX-domain sockets. It can open [TCP](../../../internet/TCP.md) connections, send [UDP](../../../internet/UDP.md) packets, listen on arbitrary [TCP](../../../internet/TCP.md) and [UDP](../../../internet/UDP.md) ports, do port scanning, and deal with both IPv4 and IPv6.
|
||||
|
||||
Common uses include:
|
||||
- simple [TCP](../../internet/TCP.md) proxies
|
||||
- shell-script based [HTTP](../../internet/HTTP.md) clients and servers
|
||||
- simple [TCP](../../../internet/TCP.md) proxies
|
||||
- shell-script based [HTTP](../../../internet/HTTP.md) clients and servers
|
||||
- network daemon testing
|
||||
- a SOCKS or [HTTP](../../internet/HTTP.md) ProxyCommand for [ssh](../SSH.md)
|
||||
- a SOCKS or [HTTP](../../../internet/HTTP.md) ProxyCommand for [ssh](../../network/SSH.md)
|
||||
|
||||
## Options
|
||||
| Option | Description |
|
|
@ -5,7 +5,7 @@ repo: https://github.com/netdiscover-scanner/netdiscover
|
|||
---
|
||||
|
||||
# netdiscover
|
||||
Netdiscover is an active/passive address reconnaissance tool, mainly developed for those wireless networks without [dhcp](../../internet/DHCP.md) server, when you are wardriving. It can be also used on hub/switched networks.
|
||||
Netdiscover is an active/passive address reconnaissance tool, mainly developed for those wireless networks without [dhcp](../../../internet/DHCP.md) server, when you are wardriving. It can be also used on hub/switched networks.
|
||||
|
||||
Built on top of libnet and libpcap, it can passively detect online hosts, or search for them, by actively sending ARP requests.
|
||||
|
|
@ -26,19 +26,19 @@ Ex: scanme.nmap.org, 192.168.0.1; 10.0.0-255.1-254
|
|||
| ----------------------------------- | --------------------------------------------------------------------------------------------------- |
|
||||
| `-sL` | List Scan - simply list targets to scan |
|
||||
| `-sn` | Ping Scan - disable port scan |
|
||||
| `-PS/PA/PU/PY[portlist]` | [TCP](../../internet/TCP.md) SYN/ACK, [UDP](../../internet/UDP.md) or SCTP discovery to given ports |
|
||||
| `-PS/PA/PU/PY[portlist]` | [TCP](../../../internet/TCP.md) SYN/ACK, [UDP](../../../internet/UDP.md) or SCTP discovery to given ports |
|
||||
| `-PE/PP/PM` | ICMP echo, timestamp, and netmask request discovery probes |
|
||||
| `-n/-R` | Never do [DNS](../../internet/DNS.md) resolution/Always resolve \[default: sometimes] |
|
||||
| `--dns-servers <serv1[,serv2],...>` | Specify custom [DNS](../../internet/DNS.md) servers |
|
||||
| `-n/-R` | Never do [DNS](../../../internet/DNS.md) resolution/Always resolve \[default: sometimes] |
|
||||
| `--dns-servers <serv1[,serv2],...>` | Specify custom [DNS](../../../internet/DNS.md) servers |
|
||||
| `--traceroute` | Trace hop path to each host |
|
||||
|
||||
#### SCAN TECHNIQUES
|
||||
| Option | Description |
|
||||
| --------------------- | ------------------------------------------------------------------ |
|
||||
| `-sS/sT/sA/sW/sM` | [TCP](../../internet/TCP.md) SYN/Connect()/ACK/Window/Maimon scans |
|
||||
| `-sU` | [UDP](../../internet/UDP.md) Scan |
|
||||
| `-sN/sF/sX` | [TCP](../../internet/TCP.md) Null, FIN, and Xmas scans |
|
||||
| `--scanflags <flags>` | Customize [TCP](../../internet/TCP.md) scan flags |
|
||||
| `-sS/sT/sA/sW/sM` | [TCP](../../../internet/TCP.md) SYN/Connect()/ACK/Window/Maimon scans |
|
||||
| `-sU` | [UDP](../../../internet/UDP.md) Scan |
|
||||
| `-sN/sF/sX` | [TCP](../../../internet/TCP.md) Null, FIN, and Xmas scans |
|
||||
| `--scanflags <flags>` | Customize [TCP](../../../internet/TCP.md) scan flags |
|
||||
| `-sO` | IP protocol scan |
|
||||
|
||||
#### PORT SPECIFICATION AND SCAN ORDER
|
||||
|
@ -95,27 +95,27 @@ Ex: scanme.nmap.org, 192.168.0.1; 10.0.0-255.1-254
|
|||
| `-S <IP_Address>` | Spoof source address |
|
||||
| `-e <iface>` | Use specified interface |
|
||||
| `-g/--source-port <portnum>` | Use given port number |
|
||||
| `--proxies <url1,[url2],...>` | Relay connections through [HTTP](../../internet/HTTP.md)/SOCKS4 proxies |
|
||||
| `--proxies <url1,[url2],...>` | Relay connections through [HTTP](../../../internet/HTTP.md)/SOCKS4 proxies |
|
||||
| `--data <hex string>` | Append a custom payload to sent packets |
|
||||
| `--data-string <string>` | Append a custom [ASCII](../../files/ASCII.md) string to sent packets |
|
||||
| `--data-string <string>` | Append a custom [ASCII](../../../files/ASCII.md) string to sent packets |
|
||||
| `--data-length <num>` | Append random data to sent packets |
|
||||
| `--ip-options <options>` | Send packets with specified ip options |
|
||||
| `--ttl <val>` | Set IP time-to-live field |
|
||||
| `--spoof-mac <mac address/prefix/vendor name>` | Spoof your MAC address |
|
||||
| `--badsum` | Send packets with a bogus [TCP](../../internet/TCP.md)/[UDP](../../internet/UDP.md)/SCTP checksum |
|
||||
| `--badsum` | Send packets with a bogus [TCP](../../../internet/TCP.md)/[UDP](../../../internet/UDP.md)/SCTP checksum |
|
||||
|
||||
#### OUTPUT
|
||||
| Option | Description |
|
||||
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `-oN/-oX/-oS/-oG <file>` | Output scan in normal, [XML](../../files/XML.md), scrIpt kIddi3, and Grepable format, respectively, to the given filename. |
|
||||
| `-oN/-oX/-oS/-oG <file>` | Output scan in normal, [XML](../../../files/XML.md), scrIpt kIddi3, and Grepable format, respectively, to the given filename. |
|
||||
| `-oA <basename>` | Output in the three major formats at once |
|
||||
| `-v` | Increase verbosity level (use `-vv` or more for greater effect) |
|
||||
| `--open` | Only show open (or possibly open) ports |
|
||||
| `--append-output` | Append to rather than clobber specified output files |
|
||||
| `--resume <filename>` | Resume an aborted scan |
|
||||
| `--stylesheet <path/URL>` | XSL stylesheet to transform [XML](../../files/XML.md) output to [HTML](../../internet/HTML.md) |
|
||||
| `--webxml` | Reference stylesheet from Nmap.Org for more portable [XML](../../files/XML.md) |
|
||||
| `--no-stylesheet` | Prevent associating of XSL stylesheet w/[XML](../../files/XML.md) output |
|
||||
| `--stylesheet <path/URL>` | XSL stylesheet to transform [XML](../../../files/XML.md) output to [HTML](../../../internet/HTML.md) |
|
||||
| `--webxml` | Reference stylesheet from Nmap.Org for more portable [XML](../../../files/XML.md) |
|
||||
| `--no-stylesheet` | Prevent associating of XSL stylesheet w/[XML](../../../files/XML.md) output |
|
||||
|
||||
|
||||
|
|
@ -5,11 +5,11 @@ wiki: https://en.wikipedia.org/wiki/Wget
|
|||
repo: https://git.savannah.gnu.org/cgit/wget.git
|
||||
---
|
||||
# wget
|
||||
GNU Wget is a free utility for non-interactive download of files from the Web. It supports [HTTP](../../internet/HTTP.md), HTTPS, and [FTP](../../internet/FTP.md) protocols, as well as retrieval through [HTTP](../../internet/HTTP.md) proxies.
|
||||
GNU Wget is a free utility for non-interactive download of files from the Web. It supports [HTTP](../../../internet/HTTP.md), HTTPS, and [FTP](../../../internet/FTP.md) protocols, as well as retrieval through [HTTP](../../../internet/HTTP.md) proxies.
|
||||
|
||||
Wget is non-interactive, meaning that it can work in the background, while the user is not logged on. This allows you to start a retrieval and disconnect from the system, letting Wget finish the work. By contrast, most of the Web browsers require constant user's presence, which can be a great hindrance when transferring a lot of data.
|
||||
|
||||
Wget can follow links in [HTML](../../internet/HTML.md), XHTML, and [CSS](../../internet/CSS.md) pages, to create local versions of remote web sites, fully recreating the directory structure of the original site. This is sometimes referred to as "recursive downloading." While doing that, Wget respects the Robot Exclusion Standard (/robots.txt). Wget can be instructed to convert the links in downloaded files to point at the local files, for offline viewing.
|
||||
Wget can follow links in [HTML](../../../internet/HTML.md), XHTML, and [CSS](../../../internet/CSS.md) pages, to create local versions of remote web sites, fully recreating the directory structure of the original site. This is sometimes referred to as "recursive downloading." While doing that, Wget respects the Robot Exclusion Standard (/robots.txt). Wget can be instructed to convert the links in downloaded files to point at the local files, for offline viewing.
|
||||
|
||||
Wget has been designed for robustness over slow or unstable network connections; if a download fails due to a network problem, it will keep retrying until the whole file has been retrieved. If the server supports regetting, it will instruct the server to continue the download from where it left off.
|
||||
|
||||
|
@ -25,8 +25,8 @@ Wget has been designed for robustness over slow or unstable network connections;
|
|||
| `-o, --output-file=logfile` | Log all messages to logfile. The messages are normally reported to standard error. |
|
||||
| `-a, --append-output=logfile` | Append to logfile. This is the same as -o, only it appends to logfile instead of overwriting the old log file. |
|
||||
| `-q, --quiet` | Turn off Wget's output. |
|
||||
| `-i, --input-file=file` | Read URLs from a local or external file. If - is specified as file, URLs are read from the standard input. (Use ./- to read from a file literally named -.). If this function is used, no URLs need be present on the command line. If there are URLs both on the command line and in an input file, those on the command lines will be the first ones to be retrieved. If --force-html is not specified, then file should consist of a series of URLs, one per line. However, if you specify --force-html, the document will be regarded as [html](../../internet/HTML.md). In that case you may have problems with relative links, which you can solve either by adding "\<base href="url">" to the documents or by specifying --base=url on the command line. If the file is an external one, the document will be automatically treated as [html](../../internet/HTML.md) if the Content-Type matches text/html. Furthermore, the file's location will be implicitly used as base href if none was specified. |
|
||||
| `-B, --base=URL` | Resolves relative links using URL as the point of reference, when reading links from an [HTML](../../internet/HTML.md) file specified via the -i/--input-file option (together with --force-html, or when the input file was fetched remotely from a server describing it as [HTML](../../internet/HTML.md)). This is equivalent to the presence of a "BASE" tag in the [HTML](../../internet/HTML.md) input file, with URL as the value for the "href" attribute. |
|
||||
| `-i, --input-file=file` | Read URLs from a local or external file. If - is specified as file, URLs are read from the standard input. (Use ./- to read from a file literally named -.). If this function is used, no URLs need be present on the command line. If there are URLs both on the command line and in an input file, those on the command lines will be the first ones to be retrieved. If --force-html is not specified, then file should consist of a series of URLs, one per line. However, if you specify --force-html, the document will be regarded as [html](../../../internet/HTML.md). In that case you may have problems with relative links, which you can solve either by adding "\<base href="url">" to the documents or by specifying --base=url on the command line. If the file is an external one, the document will be automatically treated as [html](../../../internet/HTML.md) if the Content-Type matches text/html. Furthermore, the file's location will be implicitly used as base href if none was specified. |
|
||||
| `-B, --base=URL` | Resolves relative links using URL as the point of reference, when reading links from an [HTML](../../../internet/HTML.md) file specified via the -i/--input-file option (together with --force-html, or when the input file was fetched remotely from a server describing it as [HTML](../../../internet/HTML.md)). This is equivalent to the presence of a "BASE" tag in the [HTML](../../../internet/HTML.md) input file, with URL as the value for the "href" attribute. |
|
||||
|
||||
### Download Options
|
||||
| Option | Description |
|
||||
|
@ -41,7 +41,7 @@ Wget has been designed for robustness over slow or unstable network connections;
|
|||
| `-w, --wait=seconds` | Wait the specified number of seconds between the retrievals. Use of this option is recommended, as it lightens the server load by making the requests less frequent. Instead of in seconds, the time can be specified in minutes using the "m" suffix, in hours using "h" suffix, or in days using "d" suffix. |
|
||||
| `--waitretry=seconds` | If you don't want Wget to wait between every retrieval, but only between retries of failed downloads, you can use this option. Wget will use linear backoff, waiting 1 second after the first failure on a given file, then waiting 2 seconds after the second failure on that file, up to the maximum number of seconds you specify. |
|
||||
| `--random-wait` | Some web sites may perform log analysis to identify retrieval programs such as Wget by looking for statistically significant similarities in the time between requests. This option causes the time between requests to vary between 0.5 and 1.5 * wait seconds, where wait was specified using the --wait option, in order to mask Wget's presence from such analysis. |
|
||||
| `--user=user, --password=password` | Specify the username and password for both [FTP](../../internet/FTP.md) and [HTTP](../../internet/HTTP.md) file retrieval. |
|
||||
| `--user=user, --password=password` | Specify the username and password for both [FTP](../../../internet/FTP.md) and [HTTP](../../../internet/HTTP.md) file retrieval. |
|
||||
| `--ask-password` | Prompt for a password for each connection established. |
|
||||
|
||||
### Directory Options
|
||||
|
@ -55,13 +55,13 @@ Wget has been designed for robustness over slow or unstable network connections;
|
|||
| Option | Description |
|
||||
| ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `--no-cookies` | Disable the use of cookies. |
|
||||
| `--load-cookies file` | Load cookies from file before the first [HTTP](../../internet/HTTP.md) retrieval. file is a textual file in the format originally used by Netscape's cookies.txt file. |
|
||||
| `--load-cookies file` | Load cookies from file before the first [HTTP](../../../internet/HTTP.md) retrieval. file is a textual file in the format originally used by Netscape's cookies.txt file. |
|
||||
| `--save-cookies file` | Save cookies to file before exiting. This will not save cookies that have expired or that have no expiry time (so-called "session cookies"), but also see --keep-session-cookies. |
|
||||
| `--keep-session-cookies` | When specified, causes --save-cookies to also save session cookies. Session cookies are normally not saved because they are meant to be kept in memory and forgotten when you exit the browser. Saving them is useful on sites that require you to log in or to visit the home page before you can access some pages. With this option, multiple Wget runs are considered a single browser session as far as the site is concerned. |
|
||||
| `--header=header-line` | Send header-line along with the rest of the headers in each [HTTP](../../internet/HTTP.md) request. The supplied header is sent as-is, which means it must contain name and value separated by colon, and must not contain newlines. |
|
||||
| `--header=header-line` | Send header-line along with the rest of the headers in each [HTTP](../../../internet/HTTP.md) request. The supplied header is sent as-is, which means it must contain name and value separated by colon, and must not contain newlines. |
|
||||
| `--proxy-user=user, --proxy-password=password` | Specify the username user and password password for authentication on a proxy server. Wget will encode them using the "basic" authentication scheme. |
|
||||
| `--referer=url` | Include 'Referer: url' header in [HTTP](../../internet/HTTP.md) request. Useful for retrieving documents with server-side processing that assume they are always being retrieved by interactive web browsers and only come out properly when Referer is set to one of the pages that point to them. |
|
||||
| `-U, --user-agent=agent-string` | Identify as `agent-string` to the [HTTP](../../internet/HTTP.md) server. |
|
||||
| `--referer=url` | Include 'Referer: url' header in [HTTP](../../../internet/HTTP.md) request. Useful for retrieving documents with server-side processing that assume they are always being retrieved by interactive web browsers and only come out properly when Referer is set to one of the pages that point to them. |
|
||||
| `-U, --user-agent=agent-string` | Identify as `agent-string` to the [HTTP](../../../internet/HTTP.md) server. |
|
||||
|
||||
### HTTPS Options
|
||||
| Option | Description |
|
||||
|
@ -75,5 +75,5 @@ Wget has been designed for robustness over slow or unstable network connections;
|
|||
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `-r, --recursive` | Turn on recursive retrieving. The default maximum depth is 5. |
|
||||
| `-l, --level=depth` | Set the maximum number of subdirectories that Wget will recurse into to depth. |
|
||||
| `-k, --convert-links` | After the download is complete, convert the links in the document to make them suitable for local viewing. This affects not only the visible hyperlinks, but any part of the document that links to external content, such as embedded images, links to style sheets, hyperlinks to non-[HTML](../../internet/HTML.md) content, etc. |
|
||||
| `-p, --page-requisites` | This option causes Wget to download all the files that are necessary to properly display a given [HTML](../../internet/HTML.md) page. This includes such things as inlined images, sounds, and referenced stylesheets. |
|
||||
| `-k, --convert-links` | After the download is complete, convert the links in the document to make them suitable for local viewing. This affects not only the visible hyperlinks, but any part of the document that links to external content, such as embedded images, links to style sheets, hyperlinks to non-[HTML](../../../internet/HTML.md) content, etc. |
|
||||
| `-p, --page-requisites` | This option causes Wget to download all the files that are necessary to properly display a given [HTML](../../../internet/HTML.md) page. This includes such things as inlined images, sounds, and referenced stylesheets. |
|
|
@ -7,7 +7,7 @@ Pueue is a command-line task management tool for sequential and parallel executi
|
|||
|
||||
Simply put, it's a tool that **p**rocesses a q**ueue** of [shell](Shell.md) commands. On top of that, there are a lot of convenient features and abstractions.
|
||||
|
||||
Since Pueue is not bound to any terminal, you can control your tasks from any terminal on the same machine. The queue will be continuously processed, even if you no longer have any active [ssh](../SSH.md) sessions.
|
||||
Since Pueue is not bound to any terminal, you can control your tasks from any terminal on the same machine. The queue will be continuously processed, even if you no longer have any active [ssh](../network/SSH.md) sessions.
|
||||
|
||||
## Start the Daemon
|
||||
Before you can use the `pueue` client, you have to start the daemon.
|
||||
|
@ -18,7 +18,7 @@ Before you can use the `pueue` client, you have to start the daemon.
|
|||
The daemon can always be shut down using the client command `pueue shutdown`.
|
||||
|
||||
### Systemd
|
||||
[Systemd](../../linux/Systemd.md) user services allow every user to start/enable their own session on [Linux](../../linux/Linux.md) operating system distributions.
|
||||
[Systemd](../../linux/systemd/Systemd.md) user services allow every user to start/enable their own session on [Linux](../../linux/Linux.md) operating system distributions.
|
||||
|
||||
If you didn't install Pueue with a package manager, follow these instructions first:
|
||||
1. download `pueued.service` from the GitHub Releases page;
|
||||
|
|
|
@ -8,7 +8,7 @@ wiki: https://en.wikipedia.org/wiki/GNU_Core_Utilities
|
|||
The GNU Core Utilities or coreutils is a package of GNU software containing implementations for many of the basic tools, such as cat, ls, and rm, which are used on Unix-like operating systems.
|
||||
|
||||
## base64
|
||||
[base64](../../files/Base64.md) encode/decode data and print to standard output
|
||||
[base64](../../../files/Base64.md) encode/decode data and print to standard output
|
||||
|
||||
Usage: `base64 [OPTION]... [FILE]`
|
||||
### Flags
|
||||
|
@ -189,7 +189,7 @@ Usage: `echo [OPTION]... [STRING]...`
|
|||
|
||||
## env
|
||||
run a program in a modified environment
|
||||
Print [Environment Variables](../../linux/Environment%20Variables.md) with only `env`
|
||||
Print [Environment Variables](../../../linux/Environment%20Variables.md) with only `env`
|
||||
Usage: `env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]`
|
||||
|
||||
### Options
|
|
@ -6,7 +6,7 @@ arch-wiki: https://wiki.archlinux.org/title/Doas
|
|||
---
|
||||
|
||||
# doas
|
||||
doas is a program to execute commands as another user. The system administrator can configure it to give specified users privileges to execute specified commands. It is free and open-source under the ISC license and available in Unix and Unix-like operating systems ([FreeBSD](../../bsd/FreeBSD.md), [OpenBSD](../../bsd/OpenBSD.md), [Linux](../../linux/Linux.md)).
|
||||
doas is a program to execute commands as another user. The system administrator can configure it to give specified users privileges to execute specified commands. It is free and open-source under the ISC license and available in Unix and Unix-like operating systems ([FreeBSD](../../../bsd/FreeBSD.md), [OpenBSD](../../../bsd/OpenBSD.md), [Linux](../../../linux/Linux.md)).
|
||||
|
||||
## Usage
|
||||
To use doas, simply prefix a command and its arguments with doas and a space:
|
|
@ -5,7 +5,7 @@ wiki: https://en.wikipedia.org/wiki/File_(command)
|
|||
website: https://darwinsys.com/file
|
||||
---
|
||||
# file
|
||||
determine file / [MIME](../../files/MIME.md) type
|
||||
determine file / [MIME](../../../files/MIME.md) type
|
||||
Usage: `file [OPTION] [FILE]...`
|
||||
|
||||
## Options
|
|
@ -4,7 +4,7 @@ repo: git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
|
|||
---
|
||||
|
||||
# losetup
|
||||
set up and control [loop devices](../../linux/Loop%20Device.md)
|
||||
set up and control [loop devices](../../../linux/Loop%20Device.md)
|
||||
|
||||
## Usage
|
||||
Get info:
|
|
@ -7,7 +7,7 @@ flatpak-id: org.mozilla.Thunderbird
|
|||
|
||||
# Thunderbird
|
||||
Thunderbird is an email-client from Mozilla.
|
||||
Additional features are Contacts based on CardDAV ([WebDAV](../../tools/WebDAV.md)) and Calendars and Tasks on CalDAV. You can also specify Filters that sort your inbox automatically based on conditions.
|
||||
Additional features are Contacts based on CardDAV ([WebDAV](../../internet/WebDAV.md)) and Calendars and Tasks on CalDAV. You can also specify Filters that sort your inbox automatically based on conditions.
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
|
|
|
@ -785,10 +785,10 @@ _Starting method:_ none (just a library)
|
|||
Install `qt5-wayland` and `qt6-wayland`.
|
||||
|
||||
### Status Bars
|
||||
- [Waybar](../utilities/Waybar.md)
|
||||
- [Waybar](Waybar.md)
|
||||
|
||||
### Wallpapers
|
||||
- [Hyprpaper](../utilities/Hyprpaper.md)
|
||||
- [Hyprpaper](Hyprpaper.md)
|
||||
|
||||
### Hyprland Desktop Portal
|
||||
An XDG Desktop Portal (later called XDP) is a program that lets other applications communicate swiftly with the compositor through D-Bus.
|
||||
|
|
|
@ -5,9 +5,9 @@ website: https://sqlitebrowser.org
|
|||
repo: https://github.com/sqlitebrowser/sqlitebrowser
|
||||
---
|
||||
# DB Browser for SQLite
|
||||
_DB Browser for SQLite_ (DB4S) is a high quality, visual, open source tool to create, design, and edit database files compatible with [SQLite](../../programming/SQLite.md).
|
||||
_DB Browser for SQLite_ (DB4S) is a high quality, visual, open source tool to create, design, and edit database files compatible with [SQLite](../../dev/programming/SQLite.md).
|
||||
|
||||
DB4S is for users and developers who want to create, search, and edit databases. DB4S uses a familiar spreadsheet-like interface, and complicated [SQL](../../programming/languages/SQL.md) commands do not have to be learned.
|
||||
DB4S is for users and developers who want to create, search, and edit databases. DB4S uses a familiar spreadsheet-like interface, and complicated [SQL](../../dev/programming/languages/SQL.md) commands do not have to be learned.
|
||||
|
||||
Controls and wizards are available for users to:
|
||||
|
||||
|
@ -18,9 +18,9 @@ Controls and wizards are available for users to:
|
|||
- Search records
|
||||
- Import and export records as text
|
||||
- Import and export tables from/to [CSV](../../files/CSV.md) files
|
||||
- Import and export databases from/to [SQL](../../programming/languages/SQL.md) dump files
|
||||
- Issue [SQL](../../programming/languages/SQL.md) queries and inspect the results
|
||||
- Examine a log of all [SQL](../../programming/languages/SQL.md) commands issued by the application
|
||||
- Import and export databases from/to [SQL](../../dev/programming/languages/SQL.md) dump files
|
||||
- Issue [SQL](../../dev/programming/languages/SQL.md) queries and inspect the results
|
||||
- Examine a log of all [SQL](../../dev/programming/languages/SQL.md) commands issued by the application
|
||||
- Plot simple graphs based on table or query data
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
|
|
@ -5,7 +5,7 @@ website: https://github.com
|
|||
---
|
||||
|
||||
# GitHub
|
||||
GitHub is a web-based platform for version control using [Git](../../dev/Git.md). It provides a collaborative environment for developers to work on projects, manage source code, and track changes. Additionally with GitHub Copilot it offers a AI based language model to help with coding. You have the option to automate with [GitHub Actions](GitHub%20Actions.md).
|
||||
GitHub is a web-based platform for version control using [Git](../../dev/Git.md). It provides a collaborative environment for developers to work on projects, manage source code, and track changes. Additionally with GitHub Copilot it offers a AI based language model to help with coding. You have the option to automate with [GitHub Actions](../../dev/GitHub%20Actions.md).
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
|
|
|
@ -345,7 +345,7 @@ By default, HTTPie only outputs the final response and the whole response messag
|
|||
| `--quiet, -q` | Don’t print anything to `stdout` and `stderr` |
|
||||
|
||||
### Download mode
|
||||
HTTPie features a download mode in which it acts similarly to [wget](../cli/wget.md).
|
||||
HTTPie features a download mode in which it acts similarly to [wget](../cli/network/wget.md).
|
||||
|
||||
When enabled using the `--download, -d` flag, response headers are printed to the terminal (`stderr`), and a progress bar is shown while the response body is being saved to a file.
|
||||
```shell
|
||||
|
|
|
@ -4,7 +4,7 @@ obj: application
|
|||
---
|
||||
|
||||
# MongoDB
|
||||
MongoDB is a popular NoSQL database that is document-oriented and designed for scalability and flexibility. You can work with MongoDB in a GUI with [MongoDB Compass](MongoDB%20Compass.md).
|
||||
MongoDB is a popular NoSQL database that is document-oriented and designed for scalability and flexibility. You can work with MongoDB in a GUI with [MongoDB Compass](development/MongoDB%20Compass.md).
|
||||
|
||||
## Docker-Compose
|
||||
```yml
|
||||
|
@ -79,8 +79,8 @@ Usage:
|
|||
- `$or`: The `$or` operator performs a logical OR operation on an array of two or more expressions and selects the documents that satisfy at least one of the expressions.
|
||||
- `$not`: The `$not` operator performs a logical NOT operation on the specified expression and selects the documents that do not match the expression.
|
||||
- `$exists`: The `$exists` operator matches documents where a specified field exists or does not exist.
|
||||
- `$type`: The `$type` operator matches documents where a specified field has a specific [BSON](../files/BSON.md) type.
|
||||
- `$regex`: The `$regex` operator matches documents where a specified field matches a [regular expression](../tools/Regex.md).
|
||||
- `$type`: The `$type` operator matches documents where a specified field has a specific [BSON](files/BSON.md) type.
|
||||
- `$regex`: The `$regex` operator matches documents where a specified field matches a [regular expression](tools/Regex.md).
|
||||
- `$text`: The `$text` operator performs a text search on the specified field(s).
|
||||
- `$elemMatch`: The `$elemMatch` operator matches documents where a specified array field contains at least one element that matches all the specified conditions.
|
||||
- `$size`: The `$size` operator matches documents where a specified array field has a specific size.
|
|
@ -3,7 +3,7 @@ obj: application
|
|||
---
|
||||
|
||||
# cargo
|
||||
[Cargo](https://doc.rust-lang.org/cargo/) is the official package manager for the [Rust](../../programming/languages/Rust.md) programming language. It serves as a build system, package manager, and dependency manager for [Rust](../../programming/languages/Rust.md) projects. Cargo makes it easy to manage, build, and distribute [Rust](../../programming/languages/Rust.md) projects, handling tasks such as compiling code, managing dependencies, and running tests.
|
||||
[Cargo](https://doc.rust-lang.org/cargo/) is the official package manager for the [Rust](../../dev/programming/languages/Rust.md) programming language. It serves as a build system, package manager, and dependency manager for [Rust](../../dev/programming/languages/Rust.md) projects. Cargo makes it easy to manage, build, and distribute [Rust](../../dev/programming/languages/Rust.md) projects, handling tasks such as compiling code, managing dependencies, and running tests.
|
||||
|
||||
## `cargo add`
|
||||
Add dependencies to a `Cargo.toml` manifest file
|
||||
|
@ -59,7 +59,7 @@ Remove artifacts that cargo has generated in the past
|
|||
Usage: `cargo clean`
|
||||
|
||||
## `cargo clippy`
|
||||
Checks a package to catch common mistakes and improve your [Rust](../../programming/languages/Rust.md) code.
|
||||
Checks a package to catch common mistakes and improve your [Rust](../../dev/programming/languages/Rust.md) code.
|
||||
|
||||
### Options
|
||||
| Option | Description |
|
||||
|
@ -106,7 +106,7 @@ Create a new cargo package in an existing directory
|
|||
| `--name <NAME>` | Set the resulting package name, defaults to the directory name |
|
||||
|
||||
## `cargo install`
|
||||
Install a [Rust](../../programming/languages/Rust.md) binary. Default location is `$HOME/.cargo/bin`
|
||||
Install a [Rust](../../dev/programming/languages/Rust.md) binary. Default location is `$HOME/.cargo/bin`
|
||||
|
||||
### Options
|
||||
| Option | Description |
|
||||
|
@ -217,7 +217,7 @@ Execute all unit and integration tests and build examples of a local package
|
|||
Display a tree visualization of a dependency graph
|
||||
|
||||
## `cargo uninstall`
|
||||
Remove a [Rust](../../programming/languages/Rust.md) binary
|
||||
Remove a [Rust](../../dev/programming/languages/Rust.md) binary
|
||||
|
||||
## `cargo update`
|
||||
Update dependencies as recorded in the local lock file
|
||||
|
@ -232,8 +232,8 @@ Every manifest file consists of the following sections:
|
|||
- [`name`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-name-field) — The name of the package.
|
||||
- [`version`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-version-field) — The version of the package.
|
||||
- [`authors`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-authors-field) — The authors of the package.
|
||||
- [`edition`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-edition-field) — The [Rust](../../programming/languages/Rust.md) edition.
|
||||
- [`rust-version`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field) — The minimal supported [Rust](../../programming/languages/Rust.md) version.
|
||||
- [`edition`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-edition-field) — The [Rust](../../dev/programming/languages/Rust.md) edition.
|
||||
- [`rust-version`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field) — The minimal supported [Rust](../../dev/programming/languages/Rust.md) version.
|
||||
- [`description`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-description-field) — A description of the package.
|
||||
- [`documentation`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-documentation-field) — [URL](../../internet/URL.md) of the package documentation.
|
||||
- [`readme`](https://doc.rust-lang.org/cargo/reference/manifest.html#the-readme-field) — Path to the package’s README file.
|
||||
|
@ -275,7 +275,7 @@ Every manifest file consists of the following sections:
|
|||
- [`[workspace]`](https://doc.rust-lang.org/cargo/reference/workspaces.html) — The workspace definition.
|
||||
|
||||
## Build Scripts
|
||||
Some packages need to compile third-party non-[Rust](../../programming/languages/Rust.md) code, for example C libraries. Other packages need to link to C libraries which can either be located on the system or possibly need to be built from source. Others still need facilities for functionality such as code generation before building (think parser generators).
|
||||
Some packages need to compile third-party non-[Rust](../../dev/programming/languages/Rust.md) code, for example C libraries. Other packages need to link to C libraries which can either be located on the system or possibly need to be built from source. Others still need facilities for functionality such as code generation before building (think parser generators).
|
||||
|
||||
Cargo does not aim to replace other tools that are well-optimized for these tasks, but it does integrate with them with custom build scripts. Placing a file named `build.rs` in the root of a package will cause Cargo to compile that script and execute it just before building the package.
|
||||
|
||||
|
@ -294,7 +294,7 @@ fn main() {
|
|||
## Environment Variables
|
||||
When the build script is run, there are a number of inputs to the build script, all passed in the form of [environment variables](../../linux/Environment%20Variables.md).
|
||||
|
||||
Cargo exposes these [environment variables](../../linux/Environment%20Variables.md) to your crate when it is compiled. Note that this applies for running binaries with `cargo run` and `cargo test` as well. To get the value of any of these variables in a [Rust](../../programming/languages/Rust.md) program, do this:
|
||||
Cargo exposes these [environment variables](../../linux/Environment%20Variables.md) to your crate when it is compiled. Note that this applies for running binaries with `cargo run` and `cargo test` as well. To get the value of any of these variables in a [Rust](../../dev/programming/languages/Rust.md) program, do this:
|
||||
|
||||
```rust
|
||||
let version = env!("CARGO_PKG_VERSION");
|
||||
|
@ -315,7 +315,7 @@ Exposed environment variables:
|
|||
- `CARGO_PKG_REPOSITORY` — The repository from the manifest of your package.
|
||||
- `CARGO_PKG_LICENSE` — The license from the manifest of your package.
|
||||
- `CARGO_PKG_LICENSE_FILE` — The license file from the manifest of your package.
|
||||
- `CARGO_PKG_RUST_VERSION` — The [Rust](../../programming/languages/Rust.md) version from the manifest of your package. Note that this is the minimum [Rust](../../programming/languages/Rust.md) version supported by the package, not the current [Rust](../../programming/languages/Rust.md) version.
|
||||
- `CARGO_PKG_RUST_VERSION` — The [Rust](../../dev/programming/languages/Rust.md) version from the manifest of your package. Note that this is the minimum [Rust](../../dev/programming/languages/Rust.md) version supported by the package, not the current [Rust](../../dev/programming/languages/Rust.md) version.
|
||||
- `CARGO_PKG_README` — Path to the README file of your package.
|
||||
- `CARGO_CRATE_NAME` — The name of the crate that is currently being compiled. It is the name of the Cargo target with `-` converted to `_`, such as the name of the library, binary, example, integration test, or benchmark.
|
||||
- `CARGO_BIN_NAME` — The name of the binary that is currently being compiled. Only set for binaries or binary examples. This name does not include any file extension, such as `.exe`.
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -5,7 +5,7 @@ website: https://steamgriddb.github.io/steam-rom-manager
|
|||
repo: https://github.com/SteamGridDB/steam-rom-manager
|
||||
---
|
||||
# Steam ROM Manager
|
||||
Steam ROM Manager (SRM) is a super flexible tool for adding non-Steam games to [Steam](../media/Steam.md) in bulk and managing their artwork assets and controller templates. Added games could be ROMs for [emulators](../../emulation/Emulation.md), games from other stores such as Epic or GOG, or even not games at all. Have you always wanted your notes from junior year as a category in steam? If so that's pretty weird! But now it's possible.
|
||||
Steam ROM Manager (SRM) is a super flexible tool for adding non-Steam games to [Steam](../gaming/Steam.md) in bulk and managing their artwork assets and controller templates. Added games could be ROMs for [emulators](../../emulation/Emulation.md), games from other stores such as Epic or GOG, or even not games at all. Have you always wanted your notes from junior year as a category in steam? If so that's pretty weird! But now it's possible.
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
|
@ -5,15 +5,15 @@ flatpak-id: org.bunkus.mkvtoolnix-gui
|
|||
---
|
||||
|
||||
# MKVToolnix
|
||||
MKVToolNix is a set of tools to create, alter and inspect [Matroska](../../media/Matroska.md) files under [Linux](../../linux/Linux.md), other Unixes and [Windows](../../windows/Windows.md).
|
||||
MKVToolNix is a set of tools to create, alter and inspect [Matroska](../../files/media/Matroska.md) files under [Linux](../../linux/Linux.md), other Unixes and [Windows](../../windows/Windows.md).
|
||||
|
||||
## MKVToolnix-GUI
|
||||
MKVToolnix has a GUI for remuxing and getting information about [Matroska](../../media/Matroska.md) files. Most of the tasks can also be done with the command line (See below).
|
||||
MKVToolnix has a GUI for remuxing and getting information about [Matroska](../../files/media/Matroska.md) files. Most of the tasks can also be done with the command line (See below).
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
## mkvmerge
|
||||
This program takes the input from several media files and joins their streams (all of them or just a selection) into a [Matroska](../../media/Matroska.md) file.
|
||||
This program takes the input from several media files and joins their streams (all of them or just a selection) into a [Matroska](../../files/media/Matroska.md) file.
|
||||
Usage: `mkvmerge [global options] {-o out} [options1] {file1} [[options2] {file2}] [@options-file.json]`
|
||||
|
||||
Instead of specifying the options on the command line, you can put them in a [JSON](../../files/JSON.md) file and use it with `mkvmerge @options-file.json`. The file is an array of options.
|
||||
|
@ -85,7 +85,7 @@ CHAPTER03NAME=Alice rocks the house
|
|||
| `--attachment-description description` | Plain text description of the following attachment. Applies to the next `--attach-file` or `--attach-file-once` option. |
|
||||
| `--attachment-mime-type MIME type` | [MIME](../../files/MIME.md) type of the following attachment. |
|
||||
| `--attachment-name name` | Sets the name that will be stored in the output file for this attachment. |
|
||||
| `--attach-file file-name, --attach-file-once file-name` | Creates a file attachment inside the [Matroska](../../media/Matroska.md) file. The [MIME](../../files/MIME.md) type must have been set before this option can used. |
|
||||
| `--attach-file file-name, --attach-file-once file-name` | Creates a file attachment inside the [Matroska](../../files/media/Matroska.md) file. The [MIME](../../files/MIME.md) type must have been set before this option can used. |
|
||||
|
||||
#### Input File Options
|
||||
| Option | Description |
|
||||
|
@ -110,8 +110,8 @@ CHAPTER03NAME=Alice rocks the house
|
|||
#### Video Input File Options
|
||||
| Option | Description |
|
||||
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `--display-dimensions TID:widthxheight` | [Matroska](../../media/Matroska.md) files contain two values that set the display properties that a player should scale the image on playback to: display width and display height. These values can be set with this option, e.g. `1:640x480`. |
|
||||
| `--aspect-ratio TID:ratio/(width/height)` | [Matroska](../../media/Matroska.md) files contain two values that set the display properties that a player should scale the image on playback to: display width and display height. With this option mkvmerge will automatically calculate the display width and display height based on the image's original width and height and the aspect ratio given with this option. The ratio can be given either as a floating point number `ratio` or as a fraction `width/height`, e.g. `16/9`. |
|
||||
| `--display-dimensions TID:widthxheight` | [Matroska](../../files/media/Matroska.md) files contain two values that set the display properties that a player should scale the image on playback to: display width and display height. These values can be set with this option, e.g. `1:640x480`. |
|
||||
| `--aspect-ratio TID:ratio/(width/height)` | [Matroska](../../files/media/Matroska.md) files contain two values that set the display properties that a player should scale the image on playback to: display width and display height. With this option mkvmerge will automatically calculate the display width and display height based on the image's original width and height and the aspect ratio given with this option. The ratio can be given either as a floating point number `ratio` or as a fraction `width/height`, e.g. `16/9`. |
|
||||
|
||||
#### Other Options
|
||||
| Option | Description |
|
||||
|
@ -122,7 +122,7 @@ CHAPTER03NAME=Alice rocks the house
|
|||
| `--list-languages` | Lists all languages and their ISO 639-2 code which can be used with the `--language` option. |
|
||||
|
||||
## mkvinfo
|
||||
This program lists all elements contained in a [Matroska](../../media/Matroska.md). The output can be limited to a list of tracks in the file including information about the [codecs](../../media/Codecs.md) used.
|
||||
This program lists all elements contained in a [Matroska](../../files/media/Matroska.md). The output can be limited to a list of tracks in the file including information about the [codecs](../../files/media/Codecs.md) used.
|
||||
Usage: `mkvinfo [options] {source-filename}`
|
||||
|
||||
### Options
|
||||
|
@ -134,7 +134,7 @@ Usage: `mkvinfo [options] {source-filename}`
|
|||
| `-z, --size` | Show the size of each element including its header. |
|
||||
|
||||
## mkvextract
|
||||
This program extracts specific parts from a [Matroska](../../media/Matroska.md) file to other useful formats. The first argument is the name of the source file which must be a [Matroska](../../media/Matroska.md) file.
|
||||
This program extracts specific parts from a [Matroska](../../files/media/Matroska.md) file to other useful formats. The first argument is the name of the source file which must be a [Matroska](../../files/media/Matroska.md) file.
|
||||
Usage: `mkvextract {source-filename} {mode1} [options] [extraction-spec1] [mode2] [options] [extraction-spec2] […]`
|
||||
|
||||
### Extract Tracks
|
||||
|
@ -151,7 +151,7 @@ Usage: `mkvextract source-filename chapters [options] output-filename.xml`
|
|||
Usage: `mkvextract source-filename tags [options] output-filename.xml`
|
||||
|
||||
## mkvpropedit
|
||||
This program analyses an existing [Matroska](../../media/Matroska.md) file and modifies some of its properties. Then it writes those modifications to the existing file. Among the properties that can be changed are the segment information elements (e.g. the title) and the track headers (e.g. the language code, 'default track' flag or the name).
|
||||
This program analyses an existing [Matroska](../../files/media/Matroska.md) file and modifies some of its properties. Then it writes those modifications to the existing file. Among the properties that can be changed are the segment information elements (e.g. the title) and the track headers (e.g. the language code, 'default track' flag or the name).
|
||||
Usage: `mkvpropedit [options] {source-filename} {actions} `
|
||||
|
||||
### Options
|
||||
|
@ -162,7 +162,7 @@ Usage: `mkvpropedit [options] {source-filename} {actions} `
|
|||
#### Track and segment info properties:
|
||||
| Option | Description |
|
||||
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `-e, --edit selector` | Sets the [Matroska](../../media/Matroska.md) file section (segment information or a certain track's headers) that all following add, set and delete actions operate on. This option can be used multiple times in order to make modifications to more than one element.<br>This stays valid until the next `--edit` option is found<br>`selector` has the `track:n` format. |
|
||||
| `-e, --edit selector` | Sets the [Matroska](../../files/media/Matroska.md) file section (segment information or a certain track's headers) that all following add, set and delete actions operate on. This option can be used multiple times in order to make modifications to more than one element.<br>This stays valid until the next `--edit` option is found<br>`selector` has the `track:n` format. |
|
||||
| `-a, --add name=value` | Adds a property `name` with the value `value`. The property will be added even if such a property exists already. Note that most properties are unique and cannot occur more than once. |
|
||||
| `-s, --set name=value` | Sets all occurrences of the property `name` to the value `value`. If no such property exists then it will be added. |
|
||||
| `-d, --delete name` | Deletes all occurrences of the property `name`. Note that some properties are required and cannot be deleted. |
|
||||
|
|
|
@ -6,7 +6,7 @@ website: https://mpv.io
|
|||
flatpak-id: io.mpv.Mpv
|
||||
---
|
||||
# MPV
|
||||
mpv is a based media player. It supports a wide variety of video [file formats](../../files/File%20Formats.md), audio and video [codecs](../../media/Codecs.md), and subtitle types. Special input [URL](../../internet/URL.md) types are available to read input from a variety of sources other than disk files. Depending on platform, a variety of different video and audio output methods are supported.
|
||||
mpv is a based media player. It supports a wide variety of video [file formats](../../files/File%20Formats.md), audio and video [codecs](../../files/media/Codecs.md), and subtitle types. Special input [URL](../../internet/URL.md) types are available to read input from a variety of sources other than disk files. Depending on platform, a variety of different video and audio output methods are supported.
|
||||
|
||||
## Usage
|
||||
Usage: `mpv [options] [file|URL|PLAYLIST|-]`
|
||||
|
@ -280,12 +280,12 @@ Usage: `mpv [options] [file|URL|PLAYLIST|-]`
|
|||
Set the image file type used for saving screenshots.
|
||||
|
||||
Available choices:
|
||||
- `png`: [PNG](../../media/image/PNG.md)
|
||||
- `png`: [PNG](../../files/media/image/PNG.md)
|
||||
- `jpg`: JPEG (default)
|
||||
- `jpeg`: JPEG (alias for jpg)
|
||||
- `webp`: WebP
|
||||
- `jxl`: JPEG XL
|
||||
- `avif`: [AVIF](../../media/image/AVIF.md)
|
||||
- `avif`: [AVIF](../../files/media/image/AVIF.md)
|
||||
- `--screenshot-template=<template>`
|
||||
Specify the filename template used to save screenshots. The template specifies the filename without file extension, and can contain format specifiers, which will be substituted when taking a screenshot. By default, the template is `mpv-shot%n`, which results in filenames like `mpv-shot0012.png` for example.
|
||||
|
||||
|
@ -454,7 +454,7 @@ You can encode files from one format/codec to another using this facility. This
|
|||
- `--of=<format>`
|
||||
Specifies the output format (overrides autodetection by the file name extension of the file specified by `-o`). See `--of=help` for a full list of supported formats.
|
||||
- `--oac=<codec>`
|
||||
Specifies the output audio codec. See `--oac=help` for a full list of supported [codecs](../../media/Codecs.md).
|
||||
Specifies the output audio codec. See `--oac=help` for a full list of supported [codecs](../../files/media/Codecs.md).
|
||||
- `--oacopts=<options>`
|
||||
Specifies the output audio codec options for libavcodec. See `--oacopts=help` for a full list of supported options.
|
||||
Example:
|
||||
|
@ -463,7 +463,7 @@ You can encode files from one format/codec to another using this facility. This
|
|||
--oac=libmp3lame --oacopts=b=128000
|
||||
```
|
||||
- `--ovc=<codec>`
|
||||
Specifies the output video codec. See `--ovc=help` for a full list of supported [codecs](../../media/Codecs.md).
|
||||
Specifies the output video codec. See `--ovc=help` for a full list of supported [codecs](../../files/media/Codecs.md).
|
||||
- `--ovcopts=<options>`
|
||||
Specifies the output video codec options for libavcodec. See `--ovcopts=help` for a full list of supported options.
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ website: https://natrongithub.github.io/
|
|||
flatpak-id: fr.natron.Natron
|
||||
---
|
||||
# Natron
|
||||
#🐇 #notnow
|
||||
#🐇 #wip
|
||||
Natron is a powerful Digital Compositor that can handle all of your 2D/2.5D needs. Its robust OIIO file formats and OpenFX architecture is what make Natron the most flexible open source compositor for the visual effects community. Its interface and functionally are the same across all platforms such as [macOS](../../macos/macOS.md), [Linux](../../linux/Linux.md) and [Windows](../../windows/Windows.md). Natron has a powerful keying, roto/rotopaint, 2D tracking tools that are staple for all current film production project that requires visual effects.
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
@ -15,7 +15,7 @@ Natron is a powerful Digital Compositor that can handle all of your 2D/2.5D need
|
|||
- **Performances:** Never wait for anything to be rendered, in Natron anything you do produces real-time feedback thanks to its optimized multi-threaded rendering pipeline and its support for proxy rendering (i.e: the render pipeline can be computed at lower res to speed-up rendering).
|
||||
- **Multi-task**: Natron can render multiple graphs at the same time and make use of 100% of the compute power of your CPU.
|
||||
- **Network rendering**: Natron can be used as a command-line tool and can be integrated on a render farm manager such as [Afanasy](http://cgru.info/home).
|
||||
- **NatronRenderer:** A command line tool for execution of project files and [python](../../programming/languages/Python.md) scripts. The command line version is executable from [ssh](../SSH.md) on a computer without any display.
|
||||
- **NatronRenderer:** A command line tool for execution of project files and [python](../../dev/programming/languages/Python.md) scripts. The command line version is executable from [ssh](../network/SSH.md) on a computer without any display.
|
||||
- **Fast & interactive Viewer** – Smooth & accurate zooming/panning even for very large image sizes (tested on 27k x 30k images).
|
||||
- **Real-time playback**: Natron offers a real-time playback with thanks to its RAM/Disk cache technology. Once a frame is rendered, it can be reproduced instantly afterwards, even for large image sizes.
|
||||
- **Low hardware requirements:** All you need is an x86 64 bits or 32 bits processor, at least 3 GB of RAM and a graphic card that supports OpenGL 1.5+ with some extensions.
|
||||
|
|
|
@ -9,7 +9,7 @@ FFmpeg is a free and open-source software project consisting of a suite of libra
|
|||
|
||||
FFmpeg also includes other tools: `ffplay`, a simple media player and `ffprobe`, a command-line tool to display media information. Among included libraries are libavcodec, an audio/video codec library used by many commercial and free software products, libavformat (Lavf), an audio/video container mux and demux library, and libavfilter, a library for enhancing and editing filters through a Gstreamer-like filtergraph.
|
||||
|
||||
FFmpeg is part of the workflow of many other software projects, and its libraries are a core part of software media players such as VLC, and has been included in core processing for [YouTube](../internet/websites/clearnet/YouTube.md) and Bilibili. Encoders and decoders for many audio and video [file formats](../files/File%20Formats.md) are included, making it highly useful for the transcoding of common and uncommon media files.
|
||||
FFmpeg is part of the workflow of many other software projects, and its libraries are a core part of software media players such as VLC, and has been included in core processing for [YouTube](../../internet/websites/clearnet/YouTube.md) and Bilibili. Encoders and decoders for many audio and video [file formats](../../files/File%20Formats.md) are included, making it highly useful for the transcoding of common and uncommon media files.
|
||||
|
||||
**Example:**
|
||||
```shell
|
||||
|
@ -35,8 +35,8 @@ Usage: `ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output
|
|||
| `-metadata[:metadata_specifier] key=value (output,per-metadata)` | Set a metadata key/value pair.<br>An optional metadata_specifier may be given to set metadata on streams, chapters or programs.<br>This option overrides metadata set with `-map_metadata`. It is also possible to delete metadata by using an empty value.<br>For example, for setting the title in the output file: `ffmpeg -i in.avi -metadata title="my title" out.flv`<br>To set the language of the first audio stream: `ffmpeg -i INPUT -metadata:s:a:0 language=eng OUTPUT` |
|
||||
| `-filter[:stream_specifier] filtergraph (output,per-stream)` | Create the filtergraph specified by filtergraph and use it to filter the stream. |
|
||||
| `-frames[:stream_specifier] framecount (output,per-stream)` | Stop writing to the stream after framecount frames. |
|
||||
| `-q[:stream_specifier] q (output,per-stream), -qscale[:stream_specifier] q (output,per-stream)` | Use fixed quality scale (VBR). The meaning of q/qscale is codec-dependent. If qscale is used without a stream_specifier then it applies only to the video stream, this is to maintain compatibility with previous behavior and as specifying the same codec specific value to 2 different [codecs](Codecs.md) that is audio and video generally is not what is intended when no stream_specifier is used. |
|
||||
| `-attach filename (output)` | Add an attachment to the output file. This is supported by a few formats like [Matroska](Matroska.md) for e.g. fonts used in rendering subtitles. Attachments are implemented as a specific type of stream, so this option will add a new stream to the file. It is then possible to use per-stream options on this stream in the usual way. Attachment streams created with this option will be created after all the other streams (i.e. those created with `-map`or automatic mappings). <br>Note that for Matroska you also have to set the mimetype metadata tag: `ffmpeg -i INPUT -attach DejaVuSans.ttf -metadata:s:2 mimetype=application/x-truetype-font out.mkv` |
|
||||
| `-q[:stream_specifier] q (output,per-stream), -qscale[:stream_specifier] q (output,per-stream)` | Use fixed quality scale (VBR). The meaning of q/qscale is codec-dependent. If qscale is used without a stream_specifier then it applies only to the video stream, this is to maintain compatibility with previous behavior and as specifying the same codec specific value to 2 different [codecs](../../files/media/Codecs.md) that is audio and video generally is not what is intended when no stream_specifier is used. |
|
||||
| `-attach filename (output)` | Add an attachment to the output file. This is supported by a few formats like [Matroska](../../files/media/Matroska.md) for e.g. fonts used in rendering subtitles. Attachments are implemented as a specific type of stream, so this option will add a new stream to the file. It is then possible to use per-stream options on this stream in the usual way. Attachment streams created with this option will be created after all the other streams (i.e. those created with `-map`or automatic mappings). <br>Note that for Matroska you also have to set the mimetype metadata tag: `ffmpeg -i INPUT -attach DejaVuSans.ttf -metadata:s:2 mimetype=application/x-truetype-font out.mkv` |
|
||||
| `-dump_attachment[:stream_specifier] filename (input,per-stream)` | Extract the matching attachment stream into a file named filename. If filename is empty, then the value of the filename metadata tag will be used. <br>E.g. to extract the first attachment to a file named ’out.ttf’: `ffmpeg -dump_attachment:t:0 out.ttf -i INPUT`<br>To extract all attachments to files determined by the filename tag: `ffmpeg -dump_attachment:t "" -i INPUT` |
|
||||
|
||||
### Video Options
|
||||
|
@ -218,7 +218,7 @@ Usage: `ffprobe [options] [input]`
|
|||
| Option | Description |
|
||||
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `-hide_banner` | Suppress printing banner. |
|
||||
| `-output_format, -of, -print_format writer_name[=writer_options]` | Set the output printing format.<br> writer_name specifies the name of the writer, and writer_options specifies the options to be passed to the writer.<br>For example for printing the output in [JSON](../files/JSON.md) format, specify:<br>`-output_format json` |
|
||||
| `-output_format, -of, -print_format writer_name[=writer_options]` | Set the output printing format.<br> writer_name specifies the name of the writer, and writer_options specifies the options to be passed to the writer.<br>For example for printing the output in [JSON](../../files/JSON.md) format, specify:<br>`-output_format json` |
|
||||
| `-select_streams stream_specifier` | Select only the streams specified by stream_specifier. This option affects only the options related to streams (e.g. show_streams, show_packets, etc.).<br>For example to show only audio streams, you can use the command:<br>`ffprobe -show_streams -select_streams a INPUT`<br>To show only video packets belonging to the video stream with index 1:<br>`ffprobe -show_packets -select_streams v:1 INPUT` |
|
||||
| `-show_error` | Show information about the error found when trying to probe the input.<br>The error information is printed within a section with name "ERROR". |
|
||||
| `-show_format` | Show information about the container format of the input multimedia stream.<br>All the container format information is printed within a section with name "FORMAT". |
|
File diff suppressed because one or more lines are too long
|
@ -5,7 +5,7 @@ flatpak-id: org.kde.kdenlive
|
|||
---
|
||||
|
||||
# kdenlive
|
||||
Kdenlive is an open source video editor. The project was started around 2003. Kdenlive is built on Qt and the KDE Frameworks libraries. Most of the video processing is done by the MLT Framework, which relies on many other open source projects like [FFmpeg](../../media/ffmpeg.md), frei0r, movit, ladspa, sox, etc…
|
||||
Kdenlive is an open source video editor. The project was started around 2003. Kdenlive is built on Qt and the KDE Frameworks libraries. Most of the video processing is done by the MLT Framework, which relies on many other open source projects like [FFmpeg](ffmpeg.md), frei0r, movit, ladspa, sox, etc…
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ repo: https://invent.kde.org/multimedia/kid3
|
|||
---
|
||||
|
||||
# kid3
|
||||
kid3 is an application to easily tag multiple MP3, Ogg/Vorbis, [FLAC](../../media/audio/FLAC.md), Monkey’s Audio, MPC, MP4/AAC, MP2, [Opus](../../media/audio/Opus.md), Speex, TrueAudio, WavPack, WMA/WMV, [WAV](../../media/audio/WAV.md) and AIFF files (e.g. full albums) without typing the same information again and again and have control over both ID3v1 and ID3v2 tags.
|
||||
kid3 is an application to easily tag multiple MP3, Ogg/Vorbis, [FLAC](../../files/media/audio/FLAC.md), Monkey’s Audio, MPC, MP4/AAC, MP2, [Opus](../../files/media/audio/Opus.md), Speex, TrueAudio, WavPack, WMA/WMV, [WAV](../../files/media/audio/WAV.md) and AIFF files (e.g. full albums) without typing the same information again and again and have control over both ID3v1 and ID3v2 tags.
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ yt-dlp is a website media downloader. It can be used with [MPV](MPV.md).
|
|||
| -N, --concurrent-fragments N | Number of fragments of a dash/hlsnative video that should be downloaded concurrently |
|
||||
| -r, --limit-rate RATE | Maximum download rate in bytes per second, e.g. 50K or 4.2M |
|
||||
| -R, --retries RETRIES | Number of retries (default is 10) |
|
||||
| --downloader \[PROTO:]NAME | Name or path of the external downloader to use (optionally) prefixed by the protocols ([http](../../internet/HTTP.md), ftp, m3u8, dash, rstp, rtmp, mms) to use it for.<br>Currently supports native, aria2c, avconv, axel, [curl](../cli/curl.md), [ffmpeg](../../media/ffmpeg.md), [httpie](../development/HTTPie.md), wget. You can use this option multiple times to set different downloaders for different protocols.<br>E.g. --downloader aria2c --downloader "dash,m3u8:native" will use aria2c for [http](../../internet/HTTP.md)/ftp downloads, and the native downloader for dash/m3u8 downloads |
|
||||
| --downloader \[PROTO:]NAME | Name or path of the external downloader to use (optionally) prefixed by the protocols ([http](../../internet/HTTP.md), ftp, m3u8, dash, rstp, rtmp, mms) to use it for.<br>Currently supports native, aria2c, avconv, axel, [curl](../cli/network/curl.md), [ffmpeg](ffmpeg.md), [httpie](../development/HTTPie.md), wget. You can use this option multiple times to set different downloaders for different protocols.<br>E.g. --downloader aria2c --downloader "dash,m3u8:native" will use aria2c for [http](../../internet/HTTP.md)/ftp downloads, and the native downloader for dash/m3u8 downloads |
|
||||
|
||||
### Filesystem Options
|
||||
| Option | Description |
|
||||
|
@ -56,7 +56,7 @@ yt-dlp is a website media downloader. It can be used with [MPV](MPV.md).
|
|||
| ---------------------------- | --------------------------------------------------------------------------- |
|
||||
| -f, --format FORMAT | Video format code, see "FORMAT SELECTION" for more details |
|
||||
| -F, --list-formats | List available formats of each video. Simulate unless --no-simulate is used |
|
||||
| --merge-output-format FORMAT | Containers that may be used when merging formats, separated by "/", e.g. "mp4/[mkv](../../media/Matroska.md)". Ignored if no merge is required. (currently supported: avi, flv, [mkv](../../media/Matroska.md), mov, mp4, webm) |
|
||||
| --merge-output-format FORMAT | Containers that may be used when merging formats, separated by "/", e.g. "mp4/[mkv](../../files/media/Matroska.md)". Ignored if no merge is required. (currently supported: avi, flv, [mkv](../../files/media/Matroska.md), mov, mp4, webm) |
|
||||
|
||||
### Subtitle Options
|
||||
| Option | Description |
|
||||
|
@ -69,16 +69,16 @@ yt-dlp is a website media downloader. It can be used with [MPV](MPV.md).
|
|||
### Post-Processing Options
|
||||
| Option | Description |
|
||||
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| -x, --extract-audio | Convert video files to audio-only files (requires [ffmpeg](../../media/ffmpeg.md) and ffprobe) |
|
||||
| --audio-format FORMAT | Format to convert the audio to when -x is used. (currently supported: best (default), aac, alac, [flac](../../media/audio/FLAC.md), m4a, mp3, [opus](../../media/audio/Opus.md), vorbis, [wav](../../media/audio/WAV.md)) |
|
||||
| --remux-video FORMAT | Remux the video into another container if necessary (currently supported: avi, flv, [mkv](../../media/Matroska.md), mov, mp4, webm, aac, aiff, alac, [flac](../../media/audio/FLAC.md), m4a, mka, mp3, ogg, [opus](../../media/audio/Opus.md), vorbis, [wav](../../media/audio/WAV.md)) |
|
||||
| --embed-subs | Embed subtitles in the video (only for mp4, webm and [mkv](../../media/Matroska.md) videos) |
|
||||
| -x, --extract-audio | Convert video files to audio-only files (requires [ffmpeg](ffmpeg.md) and ffprobe) |
|
||||
| --audio-format FORMAT | Format to convert the audio to when -x is used. (currently supported: best (default), aac, alac, [flac](../../files/media/audio/FLAC.md), m4a, mp3, [opus](../../files/media/audio/Opus.md), vorbis, [wav](../../files/media/audio/WAV.md)) |
|
||||
| --remux-video FORMAT | Remux the video into another container if necessary (currently supported: avi, flv, [mkv](../../files/media/Matroska.md), mov, mp4, webm, aac, aiff, alac, [flac](../../files/media/audio/FLAC.md), m4a, mka, mp3, ogg, [opus](../../files/media/audio/Opus.md), vorbis, [wav](../../files/media/audio/WAV.md)) |
|
||||
| --embed-subs | Embed subtitles in the video (only for mp4, webm and [mkv](../../files/media/Matroska.md) videos) |
|
||||
| --embed-thumbnail | Embed thumbnail in the video as cover art |
|
||||
| --embed-metadata | Embed metadata to the video file. Also embeds chapters/infojson if present unless --no-embed-chapters/--no-embed-info-json are used |
|
||||
| --embed-chapters | Add chapter markers to the video file |
|
||||
| --embed-info-json | Embed the infojson as an attachment to [mkv](../../media/Matroska.md)/mka video files |
|
||||
| --embed-info-json | Embed the infojson as an attachment to [mkv](../../files/media/Matroska.md)/mka video files |
|
||||
| --convert-subs FORMAT | Convert the subtitles to another format (currently supported: ass, lrc, srt, vtt) |
|
||||
| --convert-thumbnails FORMAT | Convert the thumbnails to another format (currently supported: jpg, [png](../../media/image/PNG.md), webp) |
|
||||
| --convert-thumbnails FORMAT | Convert the thumbnails to another format (currently supported: jpg, [png](../../files/media/image/PNG.md), webp) |
|
||||
| --split-chapters | Split video into multiple files based on internal chapters. |
|
||||
|
||||
## OUTPUT TEMPLATE
|
||||
|
|
|
@ -6,7 +6,7 @@ repo: https://github.com/bitfireAT/davx5-ose
|
|||
f-droid: https://f-droid.org/packages/at.bitfire.davdroid
|
||||
---
|
||||
# DAVx5
|
||||
All-in-one CalDAV/CardDAV/[WebDAV](../../tools/WebDAV.md) synchronization solution for [Android](../../systems/Android.md).
|
||||
All-in-one CalDAV/CardDAV/[WebDAV](../../internet/WebDAV.md) synchronization solution for [Android](../../systems/Android.md).
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ website: https://filezilla-project.org
|
|||
repo: https://svn.filezilla-project.org/filezilla/FileZilla3
|
||||
---
|
||||
# FileZilla
|
||||
The FileZilla Client is a File Transfer Utility supporting [FTP](../../internet/FTP.md), but also [FTP](../../internet/FTP.md) over TLS (FTPS) and [SFTP](../SSH.md).
|
||||
The FileZilla Client is a File Transfer Utility supporting [FTP](../../internet/FTP.md), but also [FTP](../../internet/FTP.md) over TLS (FTPS) and [SFTP](SSH.md).
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ After editing a configuration file, the changes can be applied by running:
|
|||
`nmcli general reload`
|
||||
|
||||
### DNS
|
||||
> **Note:** If `/etc/resolv.conf` is a symlink to `/run/systemd/resolve/stub-resolv.conf`, `/run/systemd/resolve/resolv.conf`,`/lib/systemd/resolv.conf` or `/usr/lib/systemd/resolv.conf`, NetworkManager will choose [systemd](../../linux/Systemd.md)-resolved automatically. To use dnsmasq, you must first remove that symlink, then restart NetworkManager.
|
||||
> **Note:** If `/etc/resolv.conf` is a symlink to `/run/systemd/resolve/stub-resolv.conf`, `/run/systemd/resolve/resolv.conf`,`/lib/systemd/resolv.conf` or `/usr/lib/systemd/resolv.conf`, NetworkManager will choose [systemd](../../linux/systemd/Systemd.md)-resolved automatically. To use dnsmasq, you must first remove that symlink, then restart NetworkManager.
|
||||
|
||||
### VPN
|
||||
[WireGuard](Wireguard.md) is natively supported. To import a [WireGuard](Wireguard.md) Config File as a connection:
|
||||
|
|
|
@ -5,7 +5,7 @@ website: ["https://onionshare.org/", "http://lldan5gahapx5k7iafb3s4ikijc4ni7gx5i
|
|||
repo: https://github.com/onionshare/onionshare
|
||||
---
|
||||
# OnionShare
|
||||
🧅 OnionShare is an open source tool that lets you securely and anonymously share files, host websites, and chat with friends using the [Tor](../../tools/Tor.md) network.
|
||||
🧅 OnionShare is an open source tool that lets you securely and anonymously share files, host websites, and chat with friends using the [Tor](../../internet/Tor.md) network.
|
||||
|
||||
## Features
|
||||
- Share files
|
||||
|
|
|
@ -5,7 +5,7 @@ website: https://www.privoxy.org
|
|||
arch-wiki: https://wiki.archlinux.org/title/Privoxy
|
||||
---
|
||||
# Privoxy
|
||||
Privoxy is a filtering proxy for the [HTTP](../../internet/HTTP.md) protocol, frequently used in combination with [Tor](../../tools/Tor.md). Privoxy is a web proxy with advanced filtering capabilities for protecting privacy, filtering web page content, managing cookies, controlling access, and removing ads, banners, pop-ups, etc. It supports both stand-alone systems and multi-user networks.
|
||||
Privoxy is a filtering proxy for the [HTTP](../../internet/HTTP.md) protocol, frequently used in combination with [Tor](../../internet/Tor.md). Privoxy is a web proxy with advanced filtering capabilities for protecting privacy, filtering web page content, managing cookies, controlling access, and removing ads, banners, pop-ups, etc. It supports both stand-alone systems and multi-user networks.
|
||||
|
||||
## Configuration
|
||||
Edit `/etc/privoxy/config`:
|
||||
|
@ -13,7 +13,7 @@ Edit `/etc/privoxy/config`:
|
|||
listen-address [SERVER-IP]:[PORT]
|
||||
```
|
||||
|
||||
To forward [i2p](../../tools/I2P.md) sites:
|
||||
To forward [i2p](../../internet/I2P.md) sites:
|
||||
```
|
||||
forward .i2p localhost:4444
|
||||
```
|
||||
|
@ -23,7 +23,7 @@ To forward onion sites:
|
|||
forward-socks4a .onion localhost:9050 .
|
||||
```
|
||||
|
||||
To forward all traffic through [Tor](../../tools/Tor.md):
|
||||
To forward all traffic through [Tor](../../internet/Tor.md):
|
||||
```
|
||||
forward-socks5 / localhost:9050 .
|
||||
```
|
|
@ -8,9 +8,9 @@ repo: https://github.com/openssh/openssh-portable
|
|||
# SSH
|
||||
Secure Shell (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. Typical applications include remote command-line login and remote command execution, but any network service can be secured with SSH.
|
||||
|
||||
Examples of services that can use SSH are [Git](../dev/Git.md), [rsync](rsync.md) and X11 forwarding. Services that always use SSH are SCP and SFTP.
|
||||
Examples of services that can use SSH are [Git](../../dev/Git.md), [rsync](rsync.md) and X11 forwarding. Services that always use SSH are SCP and SFTP.
|
||||
|
||||
An SSH server, by default, listens on the standard [TCP](../internet/TCP.md) port 22. An SSH client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including [macOS](../macos/macOS.md), GNU/[Linux](../linux/Linux.md), Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.
|
||||
An SSH server, by default, listens on the standard [TCP](../../internet/TCP.md) port 22. An SSH client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including [macOS](../../macos/macOS.md), GNU/[Linux](../../linux/Linux.md), Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.
|
||||
|
||||
## Client
|
||||
### Usage
|
||||
|
@ -53,7 +53,7 @@ Use a jump host:
|
|||
ssh -J jump_server remote
|
||||
```
|
||||
|
||||
Forward port to remote using [systemd](../linux/Systemd.md) service:
|
||||
Forward port to remote using [systemd](../../linux/systemd/Systemd.md) service:
|
||||
```ini
|
||||
[Unit]
|
||||
Description=SSH Port Forwarding
|
||||
|
@ -93,7 +93,7 @@ With this configuration the client command can be redacted to
|
|||
ssh myserver
|
||||
```
|
||||
|
||||
Corkscrew is a additional programm to tunnel SSH through [HTTP](../internet/HTTP.md) proxies:
|
||||
Corkscrew is a additional programm to tunnel SSH through [HTTP](../../internet/HTTP.md) proxies:
|
||||
```shell
|
||||
`ssh -o "ProxyCommand corkscrew <proxy-host> <proxy-port> %h %p" <ssh-username>@<ssh-server>`
|
||||
```
|
||||
|
@ -151,7 +151,7 @@ PermitListen host:port
|
|||
PermitOpen host:port
|
||||
```
|
||||
|
||||
Set [environment variables](../linux/Environment%20Variables.md) in the session:
|
||||
Set [environment variables](../../linux/Environment%20Variables.md) in the session:
|
||||
```
|
||||
SetEnv KEY=VALUE
|
||||
```
|
|
@ -5,7 +5,7 @@ android-id: com.wireguard.android
|
|||
---
|
||||
|
||||
# Wireguard
|
||||
[WireGuard](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art [cryptography](../../Cryptography/Cryptography.md). It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the [Linux](../../linux/Linux.md) kernel, it is now cross-platform ([Windows](../../windows/Windows.md), [macOS](../../macos/macOS.md), BSD, iOS, [Android](../../systems/Android.md)) and widely deployable.
|
||||
[WireGuard](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art [cryptography](../../cryptography/Cryptography.md). It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the [Linux](../../linux/Linux.md) kernel, it is now cross-platform ([Windows](../../windows/Windows.md), [macOS](../../macos/macOS.md), BSD, iOS, [Android](../../systems/Android.md)) and widely deployable.
|
||||
|
||||
## Configuration
|
||||
### Generate Key Pair
|
||||
|
|
|
@ -5,7 +5,7 @@ website: https://mullvad.net/en/browser
|
|||
repo: https://github.com/mullvad/mullvad-browser
|
||||
---
|
||||
# Mullvad Browser
|
||||
The Mullvad Browser is a privacy-focused web browser (based on [Firefox](Firefox.md)) developed in a collaboration between [Mullvad VPN](../Mullvad%20VPN.md) and the Tor Project. It’s designed to minimize tracking and fingerprinting. You could say it’s a [Tor](../../../tools/Tor.md) Browser to use without the [Tor](../../../tools/Tor.md) Network. Instead, you can use it with a trustworthy VPN. The idea is to provide one more alternative – beside the [Tor](../../../tools/Tor.md) Network – to browse the internet with more privacy. To get as many people as possible to fight the big data gathering of today. To free the internet from mass surveillance.
|
||||
The Mullvad Browser is a privacy-focused web browser (based on [Firefox](Firefox.md)) developed in a collaboration between [Mullvad VPN](../Mullvad%20VPN.md) and the Tor Project. It’s designed to minimize tracking and fingerprinting. You could say it’s a [Tor](../../../internet/Tor.md) Browser to use without the [Tor](../../../internet/Tor.md) Network. Instead, you can use it with a trustworthy VPN. The idea is to provide one more alternative – beside the [Tor](../../../internet/Tor.md) Network – to browse the internet with more privacy. To get as many people as possible to fight the big data gathering of today. To free the internet from mass surveillance.
|
||||
|
||||
Some features include:
|
||||
- Same browser fingerprint for all Mullvad Browser
|
||||
|
|
|
@ -15,7 +15,7 @@ mitmproxy is a set of tools that provide an interactive, SSL/TLS-capable interce
|
|||
- Replay [HTTP](../../internet/HTTP.md) responses of a previously recorded server
|
||||
- Reverse proxy mode to forward traffic to a specified server
|
||||
- Transparent proxy mode on [macOS](../../macos/macOS.md) and [Linux](../../linux/Linux.md)
|
||||
- Make scripted changes to [HTTP](../../internet/HTTP.md) traffic using [Python](../../programming/languages/Python.md)
|
||||
- Make scripted changes to [HTTP](../../internet/HTTP.md) traffic using [Python](../../dev/programming/languages/Python.md)
|
||||
- SSL/TLS certificates for interception are generated on the fly
|
||||
|
||||
## 3 Powerful Core Tools
|
File diff suppressed because one or more lines are too long
|
@ -85,7 +85,7 @@ Protocols:
|
|||
- [FTP](../../internet/FTP.md)
|
||||
- [HTTP](../../internet/HTTP.md)
|
||||
- SFTP
|
||||
- [WebDAV](../../tools/WebDAV.md)
|
||||
- [WebDAV](../../internet/WebDAV.md)
|
||||
|
||||
```shell
|
||||
rclone serve <protocol> <remote>
|
||||
|
@ -147,4 +147,4 @@ The attributes `:ro`, `:nc` and `:nc` can be attached to the end of the rem
|
|||
Subfolders can be used in upstream remotes. Assume a union remote named `backup` with the remotes `mydrive:private/backup`. Invoking `rclone mkdir backup:desktop` is exactly the same as invoking `rclone mkdir mydrive:private/backup/desktop`.
|
||||
|
||||
## WebDAV
|
||||
To configure the [WebDAV](../../tools/WebDAV.md) remote you will need to have a [URL](../../internet/URL.md) for it, and a username and password
|
||||
To configure the [WebDAV](../../internet/WebDAV.md) remote you will need to have a [URL](../../internet/URL.md) for it, and a username and password
|
|
@ -6,4 +6,4 @@ obj: meta/collection
|
|||
# Package Managers
|
||||
- [Brew](Brew.md)
|
||||
- [Flatpak](Flatpak.md)
|
||||
- [Pacman](Pacman.md)
|
||||
- [Pacman](arch-linux/Pacman.md)
|
|
@ -4,7 +4,7 @@ source: https://wiki.alpinelinux.org/wiki/APKBUILD_Reference
|
|||
---
|
||||
|
||||
# APKBUILD
|
||||
APKBUILDs are the scripts that are created in order to build [Alpine Packages](Alpine%20Package.md) using the abuild tool on [Alpine Linux](../../linux/Alpine%20Linux.md).
|
||||
APKBUILDs are the scripts that are created in order to build [Alpine Packages](alpine/Alpine%20Package.md) using the abuild tool on [Alpine Linux](../../../linux/Alpine%20Linux.md).
|
||||
To generate a template APKBUILD to start from use `newapkbuild package_name-version` on your build system.
|
||||
|
||||
## abuild-defined variables
|
||||
|
@ -27,11 +27,11 @@ The following variables should be defined by the user:
|
|||
- `depends_libs` : Run-time dependency package(s) for the `$pkgname-libs` subpackage.
|
||||
- `depends_static` : Run-time dependency package(s) for the `$pkgname-static` subpackage.
|
||||
- `checkdepends` : Dependencies that are only required during the check phase, they are only installed if the check option is enabled
|
||||
- `giturl` : [Git](../../dev/Git.md) repository from which abuild checkout checks out. You can checkout a specific branch in [git](../../dev/Git.md) by adding `-b $branch`.
|
||||
- `giturl` : [Git](../../../dev/Git.md) repository from which abuild checkout checks out. You can checkout a specific branch in [git](../../../dev/Git.md) by adding `-b $branch`.
|
||||
- `install` : There are 6 different types of install scripts. Install scripts are named `$pkgname.action`, where action can be: `pre-install`, `post-install`, `pre-upgrade`, `post-upgrade`, `pre-deinstall`, or `post-deinstall`. For example, if `pkgname` is set to mypackage and install is set to `$pkgname.post-install`, then a script named `mypackage.post-install` must exist along-side the APKBUILD.
|
||||
- `$pkgname.pre-install` : This script is executed before installing the package. Typical use is when the package needs a group and a user to be created.
|
||||
- `$pkgname.post-install` : This script is executed after installing the package.
|
||||
- `$pkgname.pre-upgrade` : This script is executed before upgrading/downgrading/reinstalling the package. Note that exiting with failure will not cause [apk](apk.md) to exit with failure, but will mark the package as broken.
|
||||
- `$pkgname.pre-upgrade` : This script is executed before upgrading/downgrading/reinstalling the package. Note that exiting with failure will not cause [apk](alpine/apk.md) to exit with failure, but will mark the package as broken.
|
||||
- `$pkgname.post-upgrade` : This script is executed after upgrading/downgrading/reinstalling the package.
|
||||
- `$pkgname.pre-deinstall` : This script is executed before uninstalling the package.
|
||||
- `$pkgname.post-deinstall` : This script is executed after uninstalling the package.
|
||||
|
@ -63,15 +63,15 @@ The following variables should be defined by the user:
|
|||
- `pkgdesc` : A brief, one-line description of what the package does.
|
||||
- `pkggroups` : System group(s) to be created during build-time. System group(s) should also be created in the `$pkgname.pre-install` script, so that the system group(s) are also created prior to package installation for run-time use.
|
||||
- `pkgname` : The name of the package. All letters should be lowercase.
|
||||
- `pkgrel` : [Alpine package](Alpine%20Package.md) release number. Starts at 0 (zero). Always increment pkgrel when making updates to an aport; reset pkgrel to 0 (zero) when incrementing pkgver.
|
||||
- `pkgrel` : [Alpine package](alpine/Alpine%20Package.md) release number. Starts at 0 (zero). Always increment pkgrel when making updates to an aport; reset pkgrel to 0 (zero) when incrementing pkgver.
|
||||
- `pkgusers` : System user(s) to be created during build-time. System user(s) should also be created in the `$pkgname.pre-install` script, so that the system user(s) are also created prior to package installation for run-time use.
|
||||
- `pkgver` : The version of the software being packaged. Format for valid versions: `{digit}{.digit}...{letter}{_suf{#}}...{-r#}`. A Suffix suf in the above format can be one of the following to indicate that the release is less recent than the version without the suffix: `alpha`, `beta`, `pre`, `rc`. These are for indicating more recent releases: `cvs`, `svn`, `git`, `hg`, `p`. All other suffices are invalid. To package a specific [git](../../dev/Git.md) commit, the date of the commit gets appended to the latest release, e.g. `1.0.0_git20180204`.
|
||||
- `provides` : List of package names (and optionally version info) this package provides. If package with a version is provided (provides='foo=1.2') [apk](apk.md) will consider it as an alternate name and it will automatically consider the package for installation by the alternate name, and conflict with other packages having the same name, or provides. If version is not provided (provides='foo'), [apk](apk.md) will consider it as virtual package name. Several package with same non-versioned provides can be installed simultaneously. However, none of them will be installed by default when requested by the virtual name - instead, error message is given and user is asked to choose which package providing the virtual name should be installed.
|
||||
- `pkgver` : The version of the software being packaged. Format for valid versions: `{digit}{.digit}...{letter}{_suf{#}}...{-r#}`. A Suffix suf in the above format can be one of the following to indicate that the release is less recent than the version without the suffix: `alpha`, `beta`, `pre`, `rc`. These are for indicating more recent releases: `cvs`, `svn`, `git`, `hg`, `p`. All other suffices are invalid. To package a specific [git](../../../dev/Git.md) commit, the date of the commit gets appended to the latest release, e.g. `1.0.0_git20180204`.
|
||||
- `provides` : List of package names (and optionally version info) this package provides. If package with a version is provided (provides='foo=1.2') [apk](alpine/apk.md) will consider it as an alternate name and it will automatically consider the package for installation by the alternate name, and conflict with other packages having the same name, or provides. If version is not provided (provides='foo'), [apk](alpine/apk.md) will consider it as virtual package name. Several package with same non-versioned provides can be installed simultaneously. However, none of them will be installed by default when requested by the virtual name - instead, error message is given and user is asked to choose which package providing the virtual name should be installed.
|
||||
- `provider_priority` : A numeric value which is used by apk-tools to break ties when choosing a virtual package to satisfy a dependency. Higher values have higher priority. The primary use case is to specify the primary package that satisfies a virtual (provider).
|
||||
- `replaces` : Allow this package to be installed at the same time as the listed packages, even if they have conflicting files. The files from this package will override ("take over") the conflicting files. This can be used to override config files with "policy packages".Another use case is renaming packages (or moving files from one package to another): "replaces" will avoid the file conflict error that [apk](apk.md) reports if it happens to install the new package before uninstalling the old package. A common misconception is that "replaces" is used to replace packages (like in [PKGBUILD](PKGBUILD.md)). This is not the case, it is only for solving file conflicts. To let [apk](apk.md) consider installing one package instead of another one, refer to provides (with the version).
|
||||
- `replaces` : Allow this package to be installed at the same time as the listed packages, even if they have conflicting files. The files from this package will override ("take over") the conflicting files. This can be used to override config files with "policy packages".Another use case is renaming packages (or moving files from one package to another): "replaces" will avoid the file conflict error that [apk](alpine/apk.md) reports if it happens to install the new package before uninstalling the old package. A common misconception is that "replaces" is used to replace packages (like in [PKGBUILD](../arch-linux/PKGBUILD.md)). This is not the case, it is only for solving file conflicts. To let [apk](alpine/apk.md) consider installing one package instead of another one, refer to provides (with the version).
|
||||
- `replaces_priority` : The priority of the replaces. If multiple packages replace files of each other, then the package with the highest replaces_priority will win.
|
||||
- `source` : The source variable is not only used to list the remote source files to fetch, it is also used to list the local files that abuild will need in order to build the apk. Examples of such local files include: init.d files, conf.d files, install files (see install variable), patches, and all other necessary files.
|
||||
- `triggers` : Apk-tools can "monitor" directories and execute a trigger if any package installed/uninstalled any file in the monitored dir. The triggers are always executed after the [apk](apk.md) action (install, uninstall, upgrade). The triggers are specified in the format: `scriptname=pathlist` where scriptname is the (sub)package name + `.trigger` suffix and pathlist is `:` separated list of the dirs to monitor. The triggers variable must include the triggers for subpackages too if they have any. It is possible to use wildcards (`*`) in the dir list.
|
||||
- `triggers` : Apk-tools can "monitor" directories and execute a trigger if any package installed/uninstalled any file in the monitored dir. The triggers are always executed after the [apk](alpine/apk.md) action (install, uninstall, upgrade). The triggers are specified in the format: `scriptname=pathlist` where scriptname is the (sub)package name + `.trigger` suffix and pathlist is `:` separated list of the dirs to monitor. The triggers variable must include the triggers for subpackages too if they have any. It is possible to use wildcards (`*`) in the dir list.
|
||||
- `url` : The homepage for the package. This is to help users find upstream documentation and other information regarding the package.
|
||||
|
||||
## Functions
|
|
@ -4,10 +4,10 @@ source: https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package
|
|||
---
|
||||
|
||||
# Alpine Package
|
||||
Alpine Packages are packages for [Alpine Linux](../../linux/Alpine%20Linux.md) and installable via [apk](apk.md).
|
||||
Alpine Packages are packages for [Alpine Linux](../../../linux/Alpine%20Linux.md) and installable via [apk](apk.md).
|
||||
|
||||
## Setup
|
||||
The alpine-sdk is a metapackage that pulls in the most essential packages used to build new packages. Also install and configure a way to elevate privileges, such as sudo or [doas](../cli/doas.md), and an editor, such as vi, nano, [micro](../cli/micro.md).
|
||||
The alpine-sdk is a metapackage that pulls in the most essential packages used to build new packages. Also install and configure a way to elevate privileges, such as sudo or [doas](../../cli/system/doas.md), and an editor, such as vi, nano, [micro](../../cli/micro.md).
|
||||
```shell
|
||||
apk add alpine-sdk
|
||||
addgroup user abuild
|
|
@ -3,9 +3,9 @@ obj: application
|
|||
---
|
||||
|
||||
# APK
|
||||
APK is a package manager used on [Alpine Linux](../../linux/Alpine%20Linux.md).
|
||||
APK is a package manager used on [Alpine Linux](../../../linux/Alpine%20Linux.md).
|
||||
|
||||
Software packages for [Alpine Linux](../../linux/Alpine%20Linux.md) are digitally signed [tar.gz](../cli/tar.md) archives containing programs, configuration files, and dependency metadata. They have the extension `.apk`, and are often called "a-packs".
|
||||
Software packages for [Alpine Linux](../../../linux/Alpine%20Linux.md) are digitally signed [tar.gz](../../cli/compression/tar.md) archives containing programs, configuration files, and dependency metadata. They have the extension `.apk`, and are often called "a-packs".
|
||||
|
||||
The packages are stored in one or more repositories. A repository is simply a directory with a collection of `*.apk` files. The directory must include a special index file, named `APKINDEX.tar.gz` to be considered a repository.
|
||||
|
||||
|
@ -85,7 +85,7 @@ Give detailed information about packages or repositories
|
|||
| `-r, --rdepends` | List reverse dependencies of the package (all other packages which depend on the package) |
|
||||
| `-R, --depends` | List the dependencies of the package |
|
||||
| `-s, --size` | Print the package's installed size |
|
||||
| `-w, --webpage` | Print the [URL](../../internet/URL.md) for the package's upstream webpage |
|
||||
| `-w, --webpage` | Print the [URL](../../../internet/URL.md) for the package's upstream webpage |
|
||||
|
||||
### `apk list`
|
||||
List packages matching a pattern or other criteria
|
||||
|
@ -118,7 +118,7 @@ apk fetch downloads the requested packages from the configured package repositor
|
|||
| `-s, --stdout` | Dump the .apk file(s) to stdout |
|
||||
| `-w, --world` | Download packages needed to satisfy WORLD |
|
||||
| `--simulate` | Simulate the requested operation without making any changes |
|
||||
| `--url` | Print the full [URL](../../internet/URL.md) for downloaded packages |
|
||||
| `--url` | Print the full [URL](../../../internet/URL.md) for downloaded packages |
|
||||
|
||||
### `apk manifest`
|
||||
Show checksums of package contents
|
|
@ -5,9 +5,9 @@ obj: concept
|
|||
|
||||
# PKGBUILD
|
||||
|
||||
A `PKGBUILD` is a shell script containing the build information required by [Arch Linux](../../linux/Arch%20Linux.md) packages. [Arch Wiki](https://wiki.archlinux.org/title/PKGBUILD)
|
||||
A `PKGBUILD` is a shell script containing the build information required by [Arch Linux](../../../linux/Arch%20Linux.md) packages. [Arch Wiki](https://wiki.archlinux.org/title/PKGBUILD)
|
||||
|
||||
Packages in [Arch Linux](../../linux/Arch%20Linux.md) are built using the [makepkg](makepkg.md) utility. When [makepkg](makepkg.md) is run, it searches for a PKGBUILD file in the current directory and follows the instructions therein to either compile or otherwise acquire the files to build a package archive (pkgname.pkg.tar.zst). The resulting package contains binary files and installation instructions, readily installable with [pacman](Pacman.md).
|
||||
Packages in [Arch Linux](../../../linux/Arch%20Linux.md) are built using the [makepkg](makepkg.md) utility. When [makepkg](makepkg.md) is run, it searches for a PKGBUILD file in the current directory and follows the instructions therein to either compile or otherwise acquire the files to build a package archive (pkgname.pkg.tar.zst). The resulting package contains binary files and installation instructions, readily installable with [pacman](Pacman.md).
|
||||
|
||||
Mandatory variables are `pkgname`, `pkgver`, `pkgrel`, and `arch`. `license` is not strictly necessary to build a package, but is recommended for any PKGBUILD shared with others, as [makepkg](makepkg.md) will produce a warning if not present.
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
obj: application
|
||||
---
|
||||
# Pacman
|
||||
Pacman is the default [Arch Linux](../../linux/Arch%20Linux.md) Package Manager
|
||||
Pacman is the default [Arch Linux](../../../linux/Arch%20Linux.md) Package Manager
|
||||
|
||||
## Usage
|
||||
Search for a package:
|
|
@ -4,7 +4,7 @@ obj: application
|
|||
---
|
||||
|
||||
# makepkg
|
||||
makepkg is a tool for creating [pacman](Pacman.md) packages based on [PKGBUILD](PKGBUILD.md) files.
|
||||
makepkg is a tool for creating [pacman](arch-linux/Pacman.md) packages based on [PKGBUILD](arch-linux/PKGBUILD.md) files.
|
||||
|
||||
## Usage
|
||||
Make a package:
|
||||
|
@ -43,17 +43,17 @@ makepkg --verifysource
|
|||
| `-A, --ignorearch` | Ignore a missing or incomplete arch field in the build script |
|
||||
| `-c, --clean` | Clean up leftover work files and directories after a successful build |
|
||||
| `-d, --nodeps` | Do not perform any dependency checks. This will let you override and ignore any dependencies required. There is a good chance this option will break the build process if all of the dependencies are not installed |
|
||||
| `-e, --noextract` | Do not extract source files or run the prepare() function (if present); use whatever source already exists in the $srcdir/ directory. This is handy if you want to go into $srcdir/ and manually patch or tweak code, then make a package out of the result. Keep in mind that creating a patch may be a better solution to allow others to use your [PKGBUILD](PKGBUILD.md). |
|
||||
| `--skipinteg` | Do not perform any integrity checks (checksum and [PGP](../../tools/GPG.md)) on source files |
|
||||
| `-e, --noextract` | Do not extract source files or run the prepare() function (if present); use whatever source already exists in the $srcdir/ directory. This is handy if you want to go into $srcdir/ and manually patch or tweak code, then make a package out of the result. Keep in mind that creating a patch may be a better solution to allow others to use your [PKGBUILD](arch-linux/PKGBUILD.md). |
|
||||
| `--skipinteg` | Do not perform any integrity checks (checksum and [PGP](../../../cryptography/GPG.md)) on source files |
|
||||
| `--skipchecksums` | Do not verify checksums of source files |
|
||||
| `--skippgpcheck` | Do not verify [PGP](../../tools/GPG.md) signatures of source files |
|
||||
| `-i, --install` | Install or upgrade the package after a successful build using [pacman](Pacman.md) |
|
||||
| `--skippgpcheck` | Do not verify [PGP](../../../cryptography/GPG.md) signatures of source files |
|
||||
| `-i, --install` | Install or upgrade the package after a successful build using [pacman](arch-linux/Pacman.md) |
|
||||
| `-o, --nobuild` | Download and extract files, run the prepare() function, but do not build them. Useful with the `--noextract` option if you wish to tweak the files in $srcdir/ before building |
|
||||
| `-r, --rmdeps` | Upon successful build, remove any dependencies installed by makepkg during dependency auto-resolution and installation |
|
||||
| `-s, --syncdeps` | Install missing dependencies using [pacman](Pacman.md). When build-time or run-time dependencies are not found, [pacman](Pacman.md) will try to resolve them. If successful, the missing packages will be downloaded and installed |
|
||||
| `-s, --syncdeps` | Install missing dependencies using [pacman](arch-linux/Pacman.md). When build-time or run-time dependencies are not found, [pacman](arch-linux/Pacman.md) will try to resolve them. If successful, the missing packages will be downloaded and installed |
|
||||
| `-C, --cleanbuild` | Remove the $srcdir before building the package |
|
||||
| `--noarchive` | Do not create the archive at the end of the build process. This can be useful to test the package() function or if your target distribution does not use [pacman](Pacman.md) |
|
||||
| `--sign` | Sign the resulting package with [gpg](../../tools/GPG.md) |
|
||||
| `--noarchive` | Do not create the archive at the end of the build process. This can be useful to test the package() function or if your target distribution does not use [pacman](arch-linux/Pacman.md) |
|
||||
| `--sign` | Sign the resulting package with [gpg](../../../cryptography/GPG.md) |
|
||||
| `--nosign` | Do not create a signature for the built package |
|
||||
| `--key <key>` | Specify a key to use when signing packages |
|
||||
| `--noconfirm` | (Passed to [pacman](Pacman.md)) Prevent [pacman](Pacman.md) from waiting for user input before proceeding with operations |
|
||||
| `--noconfirm` | (Passed to [pacman](arch-linux/Pacman.md)) Prevent [pacman](arch-linux/Pacman.md) from waiting for user input before proceeding with operations |
|
|
@ -5,7 +5,7 @@ website: https://apps.kde.org/kleopatra
|
|||
repo: https://github.com/KDE/kleopatra
|
||||
---
|
||||
# Kleopatra
|
||||
Kleopatra is a certificate manager and a universal crypto GUI. It supports managing X.509 and [OpenPGP](../../tools/GPG.md) certificates in the GpgSM keybox and retrieving certificates from LDAP servers.
|
||||
Kleopatra is a certificate manager and a universal crypto GUI. It supports managing X.509 and [OpenPGP](../../cryptography/GPG.md) certificates in the GpgSM keybox and retrieving certificates from LDAP servers.
|
||||
|
||||
![Screenshot][Screenshot]
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -8,10 +8,10 @@ Teleport provides connectivity, authentication, access controls and audit for in
|
|||
|
||||
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](SSH.md), HTTPS, RDP, Kubernetes API, MySQL, [MongoDB](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.
|
||||
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.
|
||||
You need a [domain](../../internet/Domain.md) pointing at your teleport proxy instance.
|
||||
|
||||
Docker-Compose:
|
||||
```yml
|
||||
|
@ -63,7 +63,7 @@ proxy_service:
|
|||
acme: {}
|
||||
```
|
||||
|
||||
## [SSH](SSH.md) Agent Setup
|
||||
## [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
|
||||
|
@ -209,7 +209,7 @@ Display the list of proxy servers and retrieved certificates.
|
|||
Usage: `tsh status`
|
||||
|
||||
##### config
|
||||
Print [SSH](SSH.md) config details.
|
||||
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]`
|
||||
|
|
|
@ -4,4 +4,4 @@ website: https://www.openbsd.org
|
|||
---
|
||||
#refactor #notnow
|
||||
# OpenBSD
|
||||
The OpenBSD project produces a free, multi-platform BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography. As an example of the effect OpenBSD has, the popular [OpenSSH](../applications/SSH.md) software comes from OpenBSD.
|
||||
The OpenBSD project produces a free, multi-platform BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography. As an example of the effect OpenBSD has, the popular [OpenSSH](../applications/network/SSH.md) software comes from OpenBSD.
|
|
@ -5,8 +5,8 @@ obj: meta/collection
|
|||
|
||||
# Development
|
||||
## Languages
|
||||
- [Python](../programming/languages/Python.md)
|
||||
- [Rust](../programming/languages/Rust.md)
|
||||
- [Python](programming/languages/Python.md)
|
||||
- [Rust](programming/languages/Rust.md)
|
||||
|
||||
## Tools
|
||||
- [Git](Git.md)
|
|
@ -57,7 +57,7 @@ git log --graph --oneline --decorate
|
|||
```
|
||||
|
||||
### Commits
|
||||
Git allows commits and tags to be signed using [GnuPG](../tools/GPG.md).
|
||||
Git allows commits and tags to be signed using [GnuPG](../cryptography/GPG.md).
|
||||
```shell
|
||||
git config --global commit.gpgSign true`
|
||||
```
|
||||
|
|
|
@ -35,7 +35,7 @@ jobs:
|
|||
```
|
||||
|
||||
## Expressions
|
||||
You can use expressions to programmatically set [environment variables](../../linux/Environment%20Variables.md) in workflow files and access contexts. An expression can be any combination of literal values, references to a context, or functions. You can combine literals, context references, and functions using operators.
|
||||
You can use expressions to programmatically set [environment variables](../linux/Environment%20Variables.md) in workflow files and access contexts. An expression can be any combination of literal values, references to a context, or functions. You can combine literals, context references, and functions using operators.
|
||||
|
||||
Expressions are commonly used with the conditional `if` keyword in a workflow file to determine whether a step should run. When an `if` conditional is `true`, the step will run.
|
||||
|
||||
|
@ -87,7 +87,7 @@ steps:
|
|||
|
||||
|
||||
## Workflows
|
||||
A workflow is a configurable automated process that will run one or more jobs. Workflows are defined by a [YAML](../../files/YAML.md) file checked in to your repository and will run when triggered by an event in your repository, or they can be triggered manually, or at a defined schedule.
|
||||
A workflow is a configurable automated process that will run one or more jobs. Workflows are defined by a [YAML](../files/YAML.md) file checked in to your repository and will run when triggered by an event in your repository, or they can be triggered manually, or at a defined schedule.
|
||||
|
||||
Workflows are defined in the `.github/workflows` directory in a repository, and a repository can have multiple workflows, each of which can perform a different set of tasks. For example, you can have one workflow to build and test pull requests, another workflow to deploy your application every time a release is created, and still another workflow that adds a label every time someone opens a new issue.
|
||||
|
||||
|
@ -147,7 +147,7 @@ on:
|
|||
```
|
||||
|
||||
#### `on.<event_name>.types`
|
||||
Use `on.<event_name>.types` to define the type of activity that will trigger a workflow run. Most [GitHub](GitHub.md) events are triggered by more than one type of activity. For example, the `label` is triggered when a label is `created`, `edited`, or `deleted`. The `types` keyword enables you to narrow down activity that causes the workflow to run. When only one activity type triggers a [webhook](../../internet/Webhook.md) event, the `types` keyword is unnecessary.
|
||||
Use `on.<event_name>.types` to define the type of activity that will trigger a workflow run. Most [GitHub](GitHub.md) events are triggered by more than one type of activity. For example, the `label` is triggered when a label is `created`, `edited`, or `deleted`. The `types` keyword enables you to narrow down activity that causes the workflow to run. When only one activity type triggers a [webhook](../internet/Webhook.md) event, the `types` keyword is unnecessary.
|
||||
|
||||
```yaml
|
||||
on:
|
||||
|
@ -273,7 +273,7 @@ You can use the `jobs.<job_id>.if` conditional to prevent a job from running u
|
|||
|
||||
When you use expressions in an `if` conditional, you can, optionally, omit the `${{ }}` expression syntax because GitHub Actions automatically evaluates the `if` conditional as an expression. However, this exception does not apply everywhere.
|
||||
|
||||
You must always use the `${{ }}` expression syntax or escape with `''`, `""`, or `()` when the expression starts with `!`, since `!` is reserved notation in [YAML](../../files/YAML.md) format. For example:
|
||||
You must always use the `${{ }}` expression syntax or escape with `''`, `""`, or `()` when the expression starts with `!`, since `!` is reserved notation in [YAML](../files/YAML.md) format. For example:
|
||||
```yaml
|
||||
if: ${{ ! startsWith(github.ref, 'refs/tags/') }}
|
||||
```
|
||||
|
@ -287,7 +287,7 @@ Use `jobs.<job_id>.runs-on` to define the type of machine to run the job on.
|
|||
A `map` of variables that are available to all steps in the job. You can set variables for the entire workflow or an individual step.
|
||||
|
||||
##### `jobs.<job_id>.steps`
|
||||
A job contains a sequence of tasks called `steps`. Steps can run commands, run setup tasks, or run an action in your repository, a public repository, or an action published in a [Docker](../../tools/Docker.md) registry. Not all steps run actions, but all actions run as a step. Each step runs in its own process in the runner environment and has access to the workspace and filesystem. Because steps run in their own process, changes to [environment variables](../../linux/Environment%20Variables.md) are not preserved between steps. [GitHub](GitHub.md) provides built-in steps to set up and complete a job.
|
||||
A job contains a sequence of tasks called `steps`. Steps can run commands, run setup tasks, or run an action in your repository, a public repository, or an action published in a [Docker](../tools/Docker.md) registry. Not all steps run actions, but all actions run as a step. Each step runs in its own process in the runner environment and has access to the workspace and filesystem. Because steps run in their own process, changes to [environment variables](../linux/Environment%20Variables.md) are not preserved between steps. [GitHub](GitHub.md) provides built-in steps to set up and complete a job.
|
||||
|
||||
**Example of `jobs.<job_id>.steps`:**
|
||||
```yaml
|
||||
|
@ -315,7 +315,7 @@ You can use the `if` conditional to prevent a step from running unless a condi
|
|||
- `jobs.<job_id>.steps[*].name`
|
||||
A name for your step to display on [GitHub](GitHub.md).
|
||||
- `jobs.<job_id>.steps[*].uses`
|
||||
Selects an action to run as part of a step in your job. An action is a reusable unit of code. You can use an action defined in the same repository as the workflow, a public repository, or in a published [Docker](../../tools/Docker.md) container image.
|
||||
Selects an action to run as part of a step in your job. An action is a reusable unit of code. You can use an action defined in the same repository as the workflow, a public repository, or in a published [Docker](../tools/Docker.md) container image.
|
||||
|
||||
Some actions require inputs that you must set using the `with` keyword. Review the action's README file to determine the inputs required.
|
||||
|
||||
|
@ -332,9 +332,9 @@ steps:
|
|||
- uses: actions/checkout@main
|
||||
```
|
||||
- `jobs.<job_id>.steps[*].run`
|
||||
Runs command-line programs using the operating system's [shell](../cli/Shell.md). If you do not provide a `name`, the step name will default to the text specified in the `run` command. Commands run using non-login shells by default.
|
||||
Runs command-line programs using the operating system's [shell](../applications/cli/Shell.md). If you do not provide a `name`, the step name will default to the text specified in the `run` command. Commands run using non-login shells by default.
|
||||
|
||||
Each `run` keyword represents a new process and [shell](../cli/Shell.md) in the runner environment. When you provide multi-line commands, each line runs in the same [shell](../cli/Shell.md). For example:
|
||||
Each `run` keyword represents a new process and [shell](../applications/cli/Shell.md) in the runner environment. When you provide multi-line commands, each line runs in the same [shell](../applications/cli/Shell.md). For example:
|
||||
|
||||
A single-line command:
|
||||
```yaml
|
||||
|
@ -358,13 +358,13 @@ Using the `working-directory` keyword, you can specify the working directory o
|
|||
working-directory: ./temp
|
||||
```
|
||||
- `jobs.<job_id>.steps[*].with`
|
||||
A `map` of the input parameters defined by the action. Each input parameter is a key/value pair. Input parameters are set as [environment variables](../../linux/Environment%20Variables.md). The variable is prefixed with `INPUT_` and converted to upper case.
|
||||
A `map` of the input parameters defined by the action. Each input parameter is a key/value pair. Input parameters are set as [environment variables](../linux/Environment%20Variables.md). The variable is prefixed with `INPUT_` and converted to upper case.
|
||||
|
||||
Input parameters defined for a [Docker](../../tools/Docker.md) container must use `args`. For more information, see "`jobs.<job_id>.steps[*].with.args`."
|
||||
Input parameters defined for a [Docker](../tools/Docker.md) container must use `args`. For more information, see "`jobs.<job_id>.steps[*].with.args`."
|
||||
|
||||
**Example of `jobs.<job_id>.steps[*].with`
|
||||
|
||||
Defines the three input parameters (`first_name`, `middle_name`, and `last_name`) defined by the `hello_world` action. These input variables will be accessible to the `hello-world` action as `INPUT_FIRST_NAME`, `INPUT_MIDDLE_NAME`, and `INPUT_LAST_NAME` [environment variables](../../linux/Environment%20Variables.md).
|
||||
Defines the three input parameters (`first_name`, `middle_name`, and `last_name`) defined by the `hello_world` action. These input variables will be accessible to the `hello-world` action as `INPUT_FIRST_NAME`, `INPUT_MIDDLE_NAME`, and `INPUT_LAST_NAME` [environment variables](../linux/Environment%20Variables.md).
|
||||
```yaml
|
||||
jobs:
|
||||
my_first_job:
|
||||
|
@ -377,11 +377,11 @@ jobs:
|
|||
last_name: Octocat
|
||||
```
|
||||
- `jobs.<job_id>.steps[*].with.args`
|
||||
A `string` that defines the inputs for a [Docker](../../tools/Docker.md) container. [GitHub](GitHub.md) passes the `args` to the container's `ENTRYPOINT` when the container starts up. An `array of strings` is not supported by this parameter. A single argument that includes spaces should be surrounded by double quotes `""`.
|
||||
A `string` that defines the inputs for a [Docker](../tools/Docker.md) container. [GitHub](GitHub.md) passes the `args` to the container's `ENTRYPOINT` when the container starts up. An `array of strings` is not supported by this parameter. A single argument that includes spaces should be surrounded by double quotes `""`.
|
||||
- `jobs.<job_id>.steps[*].env`
|
||||
Sets variables for steps to use in the runner environment. You can also set variables for the entire workflow or a job. For more information, see `env` and `jobs.<job_id>.env`.
|
||||
|
||||
When more than one environment variable is defined with the same name, [GitHub](GitHub.md) uses the most specific variable. For example, an environment variable defined in a step will override job and workflow [environment variables](../../linux/Environment%20Variables.md) with the same name, while the step executes. An environment variable defined for a job will override a workflow variable with the same name, while the job executes.
|
||||
When more than one environment variable is defined with the same name, [GitHub](GitHub.md) uses the most specific variable. For example, an environment variable defined in a step will override job and workflow [environment variables](../linux/Environment%20Variables.md) with the same name, while the step executes. An environment variable defined for a job will override a workflow variable with the same name, while the job executes.
|
||||
|
||||
Public actions may specify expected variables in the README file. If you are setting a secret or sensitive value, such as a password or token, you must set secrets using the `secrets` context.
|
||||
|
||||
|
@ -399,7 +399,7 @@ steps:
|
|||
An event is a specific activity in a repository that triggers a workflow run. For example, activity can originate from [GitHub](GitHub.md) when someone creates a pull request, opens an issue, or pushes a commit to a repository. You can also trigger a workflow to run on a schedule, by posting to a REST API, or manually.
|
||||
|
||||
### `create`
|
||||
Runs your workflow when someone creates a [Git](../../dev/Git.md) reference ([Git](../../dev/Git.md) branch or tag) in the workflow's repository.
|
||||
Runs your workflow when someone creates a [Git](Git.md) reference ([Git](Git.md) branch or tag) in the workflow's repository.
|
||||
|
||||
For example, you can run a workflow when the `create` event occurs.
|
||||
```yaml
|
||||
|
@ -408,7 +408,7 @@ on:
|
|||
```
|
||||
|
||||
### `delete`
|
||||
Runs your workflow when someone deletes a [Git](../../dev/Git.md) reference ([Git](../../dev/Git.md) branch or tag) in the workflow's repository.
|
||||
Runs your workflow when someone deletes a [Git](Git.md) reference ([Git](Git.md) branch or tag) in the workflow's repository.
|
||||
|
||||
For example, you can run a workflow when the `delete` event occurs.
|
||||
```yaml
|
||||
|
@ -619,11 +619,11 @@ on: workflow_dispatch
|
|||
```
|
||||
|
||||
## Jobs
|
||||
A job is a set of _steps_ in a workflow that is executed on the same runner. Each step is either a [shell](../cli/Shell.md) script that will be executed, or an _action_ that will be run. Steps are executed in order and are dependent on each other. Since each step is executed on the same runner, you can share data from one step to another. For example, you can have a step that builds your application followed by a step that tests the application that was built.
|
||||
A job is a set of _steps_ in a workflow that is executed on the same runner. Each step is either a [shell](../applications/cli/Shell.md) script that will be executed, or an _action_ that will be run. Steps are executed in order and are dependent on each other. Since each step is executed on the same runner, you can share data from one step to another. For example, you can have a step that builds your application followed by a step that tests the application that was built.
|
||||
|
||||
You can configure a job's dependencies with other jobs; by default, jobs have no dependencies and run in parallel with each other. When a job takes a dependency on another job, it will wait for the dependent job to complete before it can run. For example, you may have multiple build jobs for different architectures that have no dependencies, and a packaging job that is dependent on those jobs. The build jobs will run in parallel, and when they have all completed successfully, the packaging job will run.
|
||||
|
||||
## Actions
|
||||
An _action_ is a custom application for the GitHub Actions platform that performs a complex but frequently repeated task. Use an action to help reduce the amount of repetitive code that you write in your workflow files. An action can pull your [git](../../dev/Git.md) repository from [GitHub](GitHub.md), set up the correct toolchain for your build environment, or set up the authentication to your cloud provider.
|
||||
An _action_ is a custom application for the GitHub Actions platform that performs a complex but frequently repeated task. Use an action to help reduce the amount of repetitive code that you write in your workflow files. An action can pull your [git](Git.md) repository from [GitHub](GitHub.md), set up the correct toolchain for your build environment, or set up the authentication to your cloud provider.
|
||||
|
||||
You can write your own actions, or you can find actions to use in your workflows in the GitHub Marketplace.
|
|
@ -5,7 +5,7 @@ obj: application
|
|||
---
|
||||
|
||||
# Rust
|
||||
[Rust](https://www.rust-lang.org/) is a statically-typed programming language known for its emphasis on performance, safety, and concurrency. Originally developed by [Mozilla](../../internet/websites/clearnet/Mozilla.md), Rust has gained popularity for its ability to provide low-level control over system resources without sacrificing memory safety. Rust uses [Cargo](../../applications/development/cargo.md) as its package manager and build tool.
|
||||
[Rust](https://www.rust-lang.org/) is a statically-typed programming language known for its emphasis on performance, safety, and concurrency. Originally developed by [Mozilla](../../../internet/websites/clearnet/Mozilla.md), Rust has gained popularity for its ability to provide low-level control over system resources without sacrificing memory safety. Rust uses [Cargo](../../../applications/development/cargo.md) as its package manager and build tool.
|
||||
|
||||
## Syntax
|
||||
Your application starts within the main function, so the simplest application is this:
|
||||
|
@ -48,7 +48,7 @@ In Rust, primitive types are classified into two categories: scalar types and co
|
|||
- `f32`: 32-bit floating-point number
|
||||
- `f64`: 64-bit floating-point number
|
||||
3. **Characters:**
|
||||
- `char`: A [Unicode](../../files/Unicode.md) character (4 bytes)
|
||||
- `char`: A [Unicode](../../../files/Unicode.md) character (4 bytes)
|
||||
4. **Booleans:**
|
||||
- `bool`: Boolean type representing either `true` or `false`
|
||||
|
||||
|
@ -628,12 +628,12 @@ This macro gets expanded to the code inside the `macro_rules!` section with the
|
|||
### Encoding
|
||||
- [bincode](https://lib.rs/crates/bincode): A binary serialization / deserialization strategy for transforming structs into bytes and vice versa!
|
||||
- [serde](https://lib.rs/crates/serde): A generic serialization/deserialization framework
|
||||
- [serde_json](https://lib.rs/crates/serde_json): A [JSON](../../files/JSON.md) serialization file format
|
||||
- [serde_yaml](https://lib.rs/crates/serde_yaml): [YAML](../../files/YAML.md) data format for Serde
|
||||
- [bson](https://lib.rs/crates/bson): Encoding and decoding support for [BSON](../../files/BSON.md) in Rust
|
||||
- [serde_json](https://lib.rs/crates/serde_json): A [JSON](../../../files/JSON.md) serialization file format
|
||||
- [serde_yaml](https://lib.rs/crates/serde_yaml): [YAML](../../../files/YAML.md) data format for Serde
|
||||
- [bson](https://lib.rs/crates/bson): Encoding and decoding support for [BSON](../../../files/BSON.md) in Rust
|
||||
- [hex](https://lib.rs/crates/hex): Encoding and decoding data into/from hexadecimal representation
|
||||
- [toml](https://lib.rs/crates/toml): A native Rust encoder and decoder of [TOML](../../files/TOML.md)-formatted files and streams.
|
||||
- [base64](https://lib.rs/crates/base64): encodes and decodes [base64](../../files/Base64.md) as bytes or utf8
|
||||
- [toml](https://lib.rs/crates/toml): A native Rust encoder and decoder of [TOML](../../../files/TOML.md)-formatted files and streams.
|
||||
- [base64](https://lib.rs/crates/base64): encodes and decodes [base64](../../../files/Base64.md) as bytes or utf8
|
||||
|
||||
### Algorithms
|
||||
- [rand](https://lib.rs/crates/rand): Random number generators and other randomness functionality
|
||||
|
@ -643,7 +643,7 @@ This macro gets expanded to the code inside the `macro_rules!` section with the
|
|||
- [env_logger](https://lib.rs/crates/env_logger): A logging implementation for `log` which is configured via an environment variable
|
||||
|
||||
### Mail
|
||||
- [lettre](https://lib.rs/crates/lettre): [Email](../../internet/eMail.md) client
|
||||
- [lettre](https://lib.rs/crates/lettre): [Email](../../../internet/eMail.md) client
|
||||
|
||||
### Visualization
|
||||
- [plotters](https://lib.rs/crates/plotters): A Rust drawing library focus on data plotting for both WASM and native applications
|
||||
|
@ -651,8 +651,8 @@ This macro gets expanded to the code inside the `macro_rules!` section with the
|
|||
- [textplot](https://lib.rs/crates/textplots): Terminal plotting library
|
||||
|
||||
### Templates
|
||||
- [maud](https://lib.rs/crates/maud): Compile-time [HTML](../../internet/HTML.md) templates
|
||||
- [tera](https://lib.rs/crates/tera): Template engine based on [Jinja](../../tools/Jinja.md) templates
|
||||
- [maud](https://lib.rs/crates/maud): Compile-time [HTML](../../../internet/HTML.md) templates
|
||||
- [tera](https://lib.rs/crates/tera): Template engine based on [Jinja](../../../tools/Jinja.md) templates
|
||||
|
||||
### Media
|
||||
- [image](https://lib.rs/crates/image): Imaging library. Provides basic image processing and encoders/decoders for common image formats.
|
||||
|
@ -668,26 +668,26 @@ This macro gets expanded to the code inside the `macro_rules!` section with the
|
|||
|
||||
### Compression
|
||||
- [flate2](https://lib.rs/crates/flate2): DEFLATE compression and decompression exposed as Read/BufRead/Write streams. Supports miniz_oxide and multiple zlib implementations. Supports zlib, gzip, and raw deflate streams.
|
||||
- [tar](https://lib.rs/crates/tar): A Rust implementation of a [TAR](../../applications/cli/tar.md) file reader and writer.
|
||||
- [tar](https://lib.rs/crates/tar): A Rust implementation of a [TAR](../../../applications/cli/compression/tar.md) file reader and writer.
|
||||
- [zstd](https://lib.rs/crates/zstd): Binding for the zstd compression library
|
||||
- [unrar](https://lib.rs/crates/unrar): list and extract RAR archives
|
||||
|
||||
### Databases
|
||||
- [rusqlite](https://lib.rs/crates/rusqlite): Ergonomic wrapper for [SQLite](../SQLite.md)
|
||||
- [sqlx](https://lib.rs/crates/sqlx): The Rust [SQL](SQL.md) Toolkit. An async, pure Rust [SQL](SQL.md) crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and [SQLite](../SQLite.md).
|
||||
- [mongodb](https://lib.rs/crates/mongodb): The official [MongoDB](../../applications/MongoDB.md) driver for Rust
|
||||
- [mongodb](https://lib.rs/crates/mongodb): The official [MongoDB](../../../applications/development/MongoDB.md) driver for Rust
|
||||
|
||||
### Data and Time
|
||||
- [chrono](https://lib.rs/crates/chrono): Date and time library for Rust
|
||||
- [humantime](https://lib.rs/crates/humantime): A parser and formatter for `std::time::{Duration, SystemTime}`
|
||||
|
||||
### HTTP
|
||||
- [hyper](https://lib.rs/crates/hyper): A fast and correct [HTTP](../../internet/HTTP.md) library
|
||||
- [reqwest](https://lib.rs/crates/reqwest): higher level [HTTP](../../internet/HTTP.md) client library
|
||||
- [hyper](https://lib.rs/crates/hyper): A fast and correct [HTTP](../../../internet/HTTP.md) library
|
||||
- [reqwest](https://lib.rs/crates/reqwest): higher level [HTTP](../../../internet/HTTP.md) client library
|
||||
- [actix-web](https://lib.rs/crates/actix-web): Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust
|
||||
|
||||
### Text
|
||||
- [regex](https://lib.rs/crates/regex): An implementation of [regular expressions](../../tools/Regex.md) for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
|
||||
- [regex](https://lib.rs/crates/regex): An implementation of [regular expressions](../../../tools/Regex.md) for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
|
||||
- [comfy-table](https://lib.rs/crates/comfy-table): An easy to use library for building beautiful tables with automatic content wrapping
|
||||
- [similar](https://lib.rs/crates/similar): A diff library for Rust
|
||||
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue