restructure

This commit is contained in:
JMARyA 2024-01-17 09:00:45 +01:00
parent ef7661245b
commit 598a10bc28
Signed by: jmarya
GPG key ID: 901B2ADDF27C2263
182 changed files with 342 additions and 336 deletions

View file

@ -0,0 +1,9 @@
---
aliases: ["Torrent"]
website: https://www.bittorrent.org/
obj: concept
---
# BitTorrent
[BitTorrent](https://www.bittorrent.org/) is a communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a decentralized manner.
Users on the BitTorrent Network are not anonymous, because everyones IP address is known. To torrent anonymously one can use the [I2P](I2P.md) Network with i2psnark.

View file

@ -5,4 +5,4 @@ rfc: https://datatracker.ietf.org/doc/html/rfc959
---
# File Transfer Protocol
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a clientserver model architecture using separate control (Port `21`) and data (Port `20`) connections between the client and the server. FTP users may authenticate themselves with a plain-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. For secure transmission that protects the username and password, and encrypts the content, FTP is often secured with SSL/TLS (FTPS) or replaced with [SSH](../applications/SSH.md) File Transfer Protocol (SFTP). One popular FTP client is [FileZilla](../applications/network/FileZilla.md).
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a clientserver model architecture using separate control (Port `21`) and data (Port `20`) connections between the client and the server. FTP users may authenticate themselves with a plain-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. For secure transmission that protects the username and password, and encrypts the content, FTP is often secured with SSL/TLS (FTPS) or replaced with [SSH](../applications/network/SSH.md) File Transfer Protocol (SFTP). One popular FTP client is [FileZilla](../applications/network/FileZilla.md).

View file

@ -331,7 +331,7 @@ Headers can be grouped according to their contexts:
### Informational responses
- `100 Continue`: This interim response indicates that the client should continue the request or ignore the response if the request is already finished.
- `101 Switching Protocols`: This code is sent in response to an Upgrade request header from the client and indicates the protocol the server is switching to.
- `102 Processing` ([WebDAV](../tools/WebDAV.md)): This code indicates that the server has received and is processing the request, but no response is available yet.
- `102 Processing` ([WebDAV](WebDAV.md)): This code indicates that the server has received and is processing the request, but no response is available yet.
### Successful responses
- `200 OK`: The request succeeded.
@ -340,8 +340,8 @@ Headers can be grouped according to their contexts:
- `204 No Content`: There is no content to send for this request, but the headers may be useful. The user agent may update its cached headers for this resource with the new ones.
- `205 Reset Content`: Tells the user agent to reset the document which sent this request.
- `206 Partial Content`: This response code is used when the `Range` header is sent from the client to request only part of a resource.
- `207 Multi-Status` ([WebDAV](../tools/WebDAV.md)): Conveys information about multiple resources, for situations where multiple status codes might be appropriate.
- `208 Already Reported` ([WebDAV](../tools/WebDAV.md)): Used inside a `<dav:propstat>` response element to avoid repeatedly enumerating the internal members of multiple bindings to the same collection.
- `207 Multi-Status` ([WebDAV](WebDAV.md)): Conveys information about multiple resources, for situations where multiple status codes might be appropriate.
- `208 Already Reported` ([WebDAV](WebDAV.md)): Used inside a `<dav:propstat>` response element to avoid repeatedly enumerating the internal members of multiple bindings to the same collection.
### Redirection messages
- `300 Multiple Choices`: The request has more than one possible response. The user agent or user should choose one of them. (There is no standardized way of choosing one of the responses, but [HTML](HTML.md) links to the possibilities are recommended so the user can pick.)
@ -371,9 +371,9 @@ Headers can be grouped according to their contexts:
- `417 Expectation Failed`: This response code means the expectation indicated by the Expect request header field cannot be met by the server.
- `418 I'm a teapot`: The server refuses the attempt to brew coffee with a teapot.
- `421 Misdirected Request`: The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority that are included in the request URI.
- `422 Unprocessable Content` ([WebDAV](../tools/WebDAV.md)): The request was well-formed but was unable to be followed due to semantic errors.
- `423 Locked` ([WebDAV](../tools/WebDAV.md)): The resource that is being accessed is locked.
- `424 Failed Dependency` ([WebDAV](../tools/WebDAV.md)): The request failed due to failure of a previous request.
- `422 Unprocessable Content` ([WebDAV](WebDAV.md)): The request was well-formed but was unable to be followed due to semantic errors.
- `423 Locked` ([WebDAV](WebDAV.md)): The resource that is being accessed is locked.
- `424 Failed Dependency` ([WebDAV](WebDAV.md)): The request failed due to failure of a previous request.
- `425 Too Early Experimental`: Indicates that the server is unwilling to risk processing a request that might be replayed.
- `426 Upgrade Required`: The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol. The server sends an Upgrade header in a 426 response to indicate the required protocol(s).
- `428 Precondition Required`: The origin server requires the request to be conditional. This response is intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict.
@ -389,7 +389,7 @@ Headers can be grouped according to their contexts:
- `504 Gateway Timeout`: This error response is given when the server is acting as a gateway and cannot get a response in time.
- `505 HTTP Version Not Supported`: The HTTP version used in the request is not supported by the server.
- `506 Variant Also Negotiates`: The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process.
- `507 Insufficient Storage` ([WebDAV](../tools/WebDAV.md)): The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.
- `508 Loop Detected` ([WebDAV](../tools/WebDAV.md)): The server detected an infinite loop while processing the request.
- `507 Insufficient Storage` ([WebDAV](WebDAV.md)): The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.
- `508 Loop Detected` ([WebDAV](WebDAV.md)): The server detected an infinite loop while processing the request.
- `510 Not Extended`: Further extensions to the request are required for the server to fulfill it.
- `511 Network Authentication Required`: Indicates that the client needs to authenticate to gain network access.

376
technology/internet/I2P.md Normal file
View file

@ -0,0 +1,376 @@
---
website: ["https://geti2p.net", "https://i2pd.website"]
obj: application
repo: https://github.com/PurpleI2P/i2pd
---
# I2P Network
I2P is an anonymizing network, offering a simple layer that identity-sensitive applications can use to securely communicate. All data is wrapped with several layers of encryption, and the network is both distributed and dynamic, with no trusted parties. Many applications are available that interface with I2P, including mail, peer-peer, IRC chat, and others. Anonymous [Torrenting](../internet/BitTorrent.md) via i2psnark is also possible.
## Usage
Install `i2pd` (deamon written in C++) and enable the service. Router Interface is at `127.0.0.1:7070` with [HTTP](../internet/HTTP.md) Proxy at `127.0.0.1:4444`
## Configuration
There are two separate config files: `i2pd.conf` and `tunnels.conf`. `i2pd.conf` is the main configuration file, where you configure all options. `tunnels.conf` is the tunnel configuration file, where you configure I2P hidden services and client tunnels.
Example `i2pd.conf`:
```ini
logfile = /var/log/i2pd/i2pd.log
ipv4 = true
ipv6 = false
ssu = true
bandwidth = X
[ssu2]
enabled = true
published = true
[http]
enabled = true
address = 0.0.0.0
port = 7070
auth = true
user = i2pd
pass = pass
strictheaders = false
lang = english
[httpproxy]
address = 0.0.0.0
port = 4444
# StormyCloud
#outproxy = http://5d4s7pcvfdpftfk7npc7hllyujhufsdprtrf4o53i44rgsa2xbwa.b32.i2p
# Purokishi
outproxy = http://purokishi.i2p
[socksproxy]
address = 0.0.0.0
port = 4447
[sam]
enabled = true
address = 127.0.0.1
port = 7656
[i2cp]
enabled = true
address = 0.0.0.0
port = 7654
[reseed]
verify = true
[addressbook]
subscriptions = http://reg.i2p/hosts.txt,http://identiguy.i2p/hosts.txt,http://stats.i2p/cgi-bin/newhosts.txt,http://rus.i2p/hosts.txt
```
### General options
| Option | Description |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| conf | Config file (default: ~/.i2pd/i2pd.conf or /var/lib/i2pd/i2pd.conf). This parameter will be silently ignored if the specified config file does not exist. |
| tunconf | Tunnels config file (default: ~/.i2pd/tunnels.conf or /var/lib/i2pd/tunnels.conf) |
| pidfile | Where to write pidfile (default: i2pd.pid, not used in Windows) |
| log | Logs destination: stdout, file, syslog (stdout if not set or invalid) (if daemon, stdout/unspecified are replaced by file in some cases) |
| logfile | Path to logfile (default - autodetect) |
| loglevel | Log messages above this level (debug, info, warn, error, none; default - warn) |
| logclftime | Write full CLF-formatted date and time to log (default: false (write only time)) |
| datadir | Path to storage of i2pd data (RouterInfos, destinations keys, peer profiles, etc ...) |
| host | Router external IP for incoming connections (default: auto if SSU2 is enabled) |
| port | Port to listen for incoming connections (default: auto (random)) |
| daemon | Router will go to background after start (default: true) |
| service | Router will use system folders like '/var/lib/i2pd' (on unix) or 'C:\ProgramData\i2pd' (on Windows). Ignored on MacOS and Android (default: false) |
| ifname | Network interface to bind to |
| ifname4 | Network interface to bind to for IPv4 |
| ifname6 | Network interface to bind to for IPv6 |
| address4 | Local address to bind to for IPv4 |
| address6 | Local address to bind to for clearnet IPv6 |
| nat | If true, assume we are behind NAT (default: true) |
| ipv4 | Enable communication through IPv4 (default: true) |
| ipv6 | Enable communication through clearnet IPv6 (default: false) |
| notransit | Router will not accept transit tunnels, disabling transit traffic completely. G router cap will be published (default: false) |
| floodfill | Router will be floodfill (default: false) |
| bandwidth | Bandwidth limit: integer in KBps or letters: L (32), O (256), P (2048), X (unlimited). |
| share | Max % of bandwidth limit for transit. 0-100 (default: 100) |
| family | Name of a family, router belongs to |
| netid | Network ID, router belongs to. Main I2P is 2. |
### NTCP2
| Option | Description |
| --------------- | ----------------------------------------------------------------------------------------- |
| ntcp2.enabled | Enable NTCP2 (default: true) |
| ntcp2.published | Enable incoming NTCP2 connections (default: true) |
| ntcp2.port | Port to listen for incoming NTCP2 connections (default: auto - port from general section) |
| ntcp2.addressv6 | External IPv6 for incoming connections |
| ntcp2.proxy | Specify proxy server for NTCP2. Should be http://address:port or socks://address:port |
### SSU2
| Option | Description |
| -------------- | ------------------------------------------------------------------------------------------ |
| ssu2.enabled | Enable SSU2 (default: true) |
| ssu2.published | Enable incoming SSU2 connections. (default: true) |
| ssu2.port | Port to listen for incoming SSU2 connections (default: auto - 'port' from general section) |
| ssu2.proxy | Specify UDP socks5 proxy server for NTCP2. Should be socks://address:port |
| ssu2.mtu4 | MTU for local ipv4. (default: auto) |
| ssu2.mtu6 | MTU for local ipv6. (default: auto) |
### HTTP webconsole
| Option | Description |
| ------------------ | ------------------------------------------------------ |
| http.enabled | If webconsole is enabled. (default: true) |
| http.address | The address to listen on (HTTP server) |
| http.port | The port to listen on (HTTP server) (default: 7070) |
| http.auth | Enable basic HTTP auth for webconsole (default: false) |
| http.user | Username for basic auth (default: i2pd) |
| http.pass | Password for basic auth (default: random, see logs) |
| http.strictheaders | Enable strict host checking on WebUI. (default: true) |
| http.hostname | Expected hostname for WebUI (default: localhost) |
### HTTP Proxy
| Option | Description |
| --------------------------------- | ------------------------------------------------------------------- |
| httpproxy.enabled | If [HTTP](../internet/HTTP.md) proxy is enabled. (default: true) |
| httpproxy.address | The address to listen on ([HTTP](../internet/HTTP.md) Proxy) |
| httpproxy.port | The port to listen on ([HTTP](../internet/HTTP.md) Proxy) (default: 4444) |
| httpproxy.addresshelper | Enable address helper (jump). (default: true) |
| httpproxy.keys | Optional keys file for [HTTP](../internet/HTTP.md) proxy local destination |
| httpproxy.signaturetype | Signature type for new keys if keys file is set. (default: 7) |
| httpproxy.inbound.length | Inbound tunnels length if keys is set. (default: 3) |
| httpproxy.inbound.quantity | Inbound tunnels quantity if keys is set. (default: 5) |
| httpproxy.inbound.lengthVariance | Inbound tunnels length variance if keys is set. (default: 0) |
| httpproxy.outbound.length | Outbound tunnels length if keys is set. (default: 3) |
| httpproxy.outbound.quantity | Outbound tunnels quantity if keys is set. (default: 5) |
| httpproxy.outbound.lengthVariance | Outbound tunnels length variance if keys is set. (default: 0) |
| httpproxy.outproxy | [HTTP](../internet/HTTP.md) proxy upstream out proxy url (like http://false.i2p) |
| httpproxy.i2cp.leaseSetType | Type of LeaseSet to be sent. 1, 3 or 5. (default: 3) |
| httpproxy.i2cp.leaseSetEncType | Comma separated encryption types to be used in LeaseSet type 3 or 5 |
### Socks proxy
| Option | Description |
| ---------------------------------- | ------------------------------------------------------------------- |
| socksproxy.enabled | If SOCKS proxy is enabled. (default: true) |
| socksproxy.address | The address to listen on (SOCKS Proxy) |
| socksproxy.port | The port to listen on (SOCKS Proxy). (default: 4447) |
| socksproxy.keys | Optional keys file for SOCKS proxy local destination |
| socksproxy.signaturetype | Signature type for new keys if keys file is set. (default: 7) |
| socksproxy.inbound.length | Inbound tunnels length if keys is set. (default: 3) |
| socksproxy.inbound.quantity | Inbound tunnels quantity if keys is set. (default: 5) |
| socksproxy.inbound.lengthVariance | Inbound tunnels length variance if keys is set. (default: 0) |
| socksproxy.outbound.length | Outbound tunnels length if keys is set. (default: 3) |
| socksproxy.outbound.quantity | Outbound tunnels quantity if keys is set. (default: 5) |
| socksproxy.outbound.lengthVariance | Outbound tunnels length variance if keys is set. (default: 0) |
| socksproxy.outproxy.enabled | Enable or disable SOCKS outproxy. (default: false) |
| socksproxy.outproxy | Address of outproxy. Requests outside I2P will go there. |
| socksproxy.outproxyport | Outproxy remote port |
| socksproxy.i2cp.leaseSetType | Type of LeaseSet to be sent. 1, 3 or 5. (default: 3) |
| socksproxy.i2cp.leaseSetEncType | Comma separated encryption types to be used in LeaseSet type 3 or 5 |
### SAM interface
| Option | Description |
| ---------------- | -------------------------------------------------------------- |
| sam.enabled | If SAM is enabled. (default: true) |
| sam.address | The address to listen on (SAM bridge) |
| sam.port | Port of SAM bridge. Usually 7656. SAM is off if not specified |
| sam.singlethread | If false every SAM session runs in own thread. (default: true) |
### BOB interface
| Option | Description |
| ----------- | ---------------------------------------------------------------------- |
| bob.enabled | If BOB is enabled. (default: false) |
| bob.address | The address to listen on (BOB command channel) |
| bob.port | Port of BOB command channel. Usually 2827. BOB is off if not specified |
### I2CP interface
| Option | Description |
| ----------------- | ----------------------------------------------------------------------- |
| i2cp.enabled | If I2CP is enabled. (default: true) |
| i2cp.address | The address to listen on or an abstract address for Android LocalSocket |
| i2cp.port | Port of I2CP server. Usually 7654. Ignored for Andorid |
| i2cp.singlethread | If false every I2CP session runs in own thread. (default: true) |
### I2PControl interface
| Option | Description |
| ------------------- | ----------------------------------------------------------------------------- |
| i2pcontrol.enabled | If I2P control is enabled. (default: false) |
| i2pcontrol.address | The address to listen on (I2P control service) |
| i2pcontrol.port | Port of I2P control service. Usually 7650. I2PControl is off if not specified |
| i2pcontrol.password | I2P control authentication password. (default: itoopie) |
| i2pcontrol.cert | I2P control HTTPS certificate file name. (default: i2pcontrol.crt.pem) |
| i2pcontrol.key | I2P control HTTPS certificate key file name. (default: i2pcontrol.key.pem) |
### Reseeding
| Option | Description |
| ---------------- | ----------------------------------------------------------------------- |
| reseed.verify | Verify .su3 signature. (default: false) |
| reseed.urls | Reseed URLs, separated by comma |
| reseed.yggurls | Reseed Yggdrasil's URLs, separated by comma |
| reseed.file | Path to local .su3 file or HTTPS [URL](../internet/URL.md) to reseed from |
| reseed.zipfile | Path to local .zip file to reseed from |
| reseed.threshold | Minimum number of known routers before requesting reseed. (default: 25) |
| reseed.proxy | Url for https/socks reseed proxy |
### Addressbook options
| Option | Description |
| ------------------------- | ----------------------------------------------------------------------------------------------------------- |
| addressbook.defaulturl | AddressBook subscription URL. Only used to initialize the AddressBook. |
| addressbook.subscriptions | AddressBook subscriptions URLs, separated by comma. Note that defaulturl is not added to subscriptions URLs |
| addressbook.hostsfile | File to dump AddressesBook in hosts.txt format |
### Trust options
| Option | Description |
| ------------- | ------------------------------------------------------------------------------------------------------ |
| trust.enabled | Enable explicit trust options. (default: false) |
| trust.family | Make direct I2P connections only to routers in specified Family. |
| trust.routers | Make direct I2P connections only to routers specified here. Comma separated list of [base64](../files/Base64.md) identities. |
| trust.hidden | Should we hide our router from other routers? (default: false) |
### Exploratory tunnels
| Option | Description |
| ----------------------------- | --------------------------------------------------- |
| exploratory.inbound.length | Exploratory inbound tunnels length. (default: 2) |
| exploratory.inbound.quantity | Exploratory inbound tunnels quantity. (default: 3) |
| exploratory.outbound.length | Exploratory outbound tunnels length. (default: 2) |
| exploratory.outbound.quantity | Exploratory outbound tunnels quantity. (default: 3) |
## Tunnel Configuration
Available tunnel types:
| Type | Description |
| --------- | -------------------------------------------------------------- |
| client | Client tunnel to remote I2P destination ([TCP](../internet/TCP.md)) |
| server | Generic server tunnel to setup any [TCP](../internet/TCP.md) service in I2P network |
| http | [HTTP](../internet/HTTP.md) server tunnel to setup a website in I2P |
### Client Tunnel
```ini
[irc-out]
type = client
address = 127.0.0.1
port = 6668
destination = irc.ilita.i2p
keys = irc.dat
```
#### Optional parameters
| Option | Description |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| address | Local interface tunnel binds to, '127.0.0.1' for connections from local host only, '0.0.0.0' for connections from everywhere. (default: 127.0.0.1) |
| port | Port of client tunnel. |
| signaturetype | Signature type for new keys. RSA signatures (4,5,6) are not allowed and will be changed to 7. (default: 7) |
| cryptotype | Crypto type for new keys. Experimental. Should be always 0 |
| destinationport | Connect to particular port at destination. 0 by default (targeting first tunnel on server side for destination) |
| keepaliveinterval | Send ping to the destination after this interval in seconds. (default: 0 - no pings) |
| keys | Keys for destination. When same for several tunnels, will be using same destination for every tunnel. |
### Server Tunnel
```ini
[smtp-in]
type = server
host = 127.0.0.1
port = 25
keys = smtp-in.dat
```
#### Optional parameters
| Option | Description |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| host | IP address of server (on this address i2pd will send data from I2P) |
| port | Port of server tunnel. |
| inport | (non-[TCP](../internet/TCP.md) non-[UDP](../internet/UDP.md)) I2P local destination port to listen to; an unsigned 16-bit integer. What port at local destination server tunnel listens to (default: same as _port_) |
| accesslist | List of comma-separated of b32 address (without .b32.i2p) allowed to connect. Everybody is allowed by default |
| gzip | Turns internal compression off if set to false. (default: false) |
| signaturetype | Signature type for new keys. (default: 7) |
| cryptotype | Crypto type for new keys. Experimental. Should be always 0 |
| enableuniquelocal | If true, connection to local address will look like 127.x.x.x where x.x.x is first 3 bytes of incoming connection peer's ident hash. (default: true) |
| address | IP address of an interface tunnel is connected to _host_ from. Usually not used |
| keys | Keys for destination. When same for several tunnels, will be using same destination for every tunnel. |
### HTTP Tunnel
```ini
[http-in]
type = http
host = 127.0.0.1
port = 80
keys = our-website.dat
```
## Tools
There are several tools available [here](https://github.com/PurpleI2P/i2pd-tools).
### keygen
Generate an I2P private key.
#### Usage
Make a EDDSA-SHA512-ED25519 destination key
```shell
./keygen privkey.dat
```
Make an destination key with a certain key type
```shell
./keygen privkey.dat <number>
./keygen privkey.dat <key name>
```
| key name | number |
| ------------------------------------ | ------ |
| DSA-SHA1 | 0 |
| ECDSA-SHA256-P256 | 1 |
| ECDSA-SHA384-P384 | 2 |
| ECDSA-SHA512-P521 | 3 |
| RSA-SHA256-2048 | 4 |
| RSA-SHA384-3072 | 5 |
| RSA-SHA512-4096 | 6 |
| EDDSA-SHA512-ED25519 | 7 |
| GOSTR3410_CRYPTO_PRO_A-GOSTR3411-256 | 9 |
| GOSTR3410_TC26_A_512-GOSTR3411-512 | 10 |
| RED25519-SHA512 | 11 |
### vain
Vanity generation address.
Time to Generate on a 2.70GHz Processor:
| characters | time to generate (approx.) |
| ---------- | -------------------------- |
| 1 | ~0.082s |
| 2 | ~0.075s |
| 3 | ~0.100s |
| 4 | ~0.394s |
| 5 | ~6.343s |
| 6 | ~1m-5m |
| 7 | ~30m |
#### Usage
```shell
./vain pattern [options]
```
## Options
| Option | Description |
| -------------------------- | ----------------------------------- |
| `-r, --reg` | regex instead of text pattern |
| `-t, --threads` | Use this many threads (default all) |
| `-o, --output output_file` | Output file |
| `-m, --multiplymode` | multiple addresses search |
### keyinfo
Prints information about an I2P private key
#### Usage
Print just the b32 address for this key
```shell
./keyinfo privatekey.dat
```
... just the base64 address
```shell
./keyinfo -d privatekey.dat
```
Print all info about the public key
```shell
./keyinfo -v privatekey.dat
```

View file

@ -1,43 +0,0 @@
---
obj: concept
website: https://tailwindcss.com
---
# Tailwind CSS
Tailwind CSS is a utility-first CSS framework that provides a set of low-level utility classes to build designs directly in your markup. It's a highly customizable and efficient way to create modern, responsive user interfaces.
## Setup
To use TailwindCSS include this in your documents header:
```html
<script src="https://cdn.tailwindcss.com"></script>
```
## Modifiers
You can modify when a utility class will become active by using `mod:` before the class name.
Some modifiers include:
- `hover`
- `focus`
- `active`
- `disabled`
- `invalid`
- `first`
- `last`
- `even`
- `odd`
This modifier is used for dark mode:
- `dark`
These modifers are used for device orientation:
- `landscape`
- `portrait`
These modifers are used for responsive design and reresent their respective screen sizes when a class will become active:
- `sm`
- `md`
- `lg`
- `xl`
- `2xl`
For a list of all classes see the [documentation](https://tailwindcss.com/docs).

View file

@ -0,0 +1,31 @@
---
website: https://torproject.org
obj: application
---
# The Onion Router (TOR)
The Tor Project (The onion routing) is an open source implementation of onion routing that provides free access to an anonymous proxy network. Its primary goal is to enable online anonymity by protecting against traffic analysis attacks.
Users of the Tor network run an onion proxy software on their machines, which presents a SOCKS interface to its clients. This software connects out to Tor, periodically negotiating a virtual circuit through the Tor network. Tor employs cryptography in a layered manner (hence the 'onion' analogy), ensuring forward secrecy between routers.
As an overlay network it is similiar to [i2p](../internet/I2P.md).
## Usage
Start/enable `tor.service`. Alternatively, launch it with `sudo -u tor /usr/bin/tor`.
To use a program over Tor, configure it to use `127.0.0.1` or `localhost` as a SOCKS5 proxy, with port `9050` for plain Tor with standard settings.
The proxy supports remote DNS resolution: use `socks5**h**://localhost:9050` for DNS resolution from the exit node (instead of `socks5` for a local DNS resolution).
## Configuration
Tor reads its configurations from the file `/etc/tor/torrc` by default, or if the latter is not found, from `$HOME/.torrc`. The configuration options are explained on the [Tor website](https://torproject.org/docs/tor-manual.html.en). The default configuration should work fine for most Tor users.
## Hidden Services
Hidden Services are web services behind an onion domain.
To generate onion domains [mkp224o](https://git.hydrar.de/utilities/mkp224o) can be used.
To enable a hidden service add this to `torrc`:
```
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80
```

View file

@ -13,7 +13,7 @@ The magic packet is a frame that is most often sent as a broadcast and that cont
Since the magic packet is only scanned for the string above, and not actually parsed by a full protocol stack, it could be sent as payload of any network- and transport-layer protocol, although it is typically sent with [UDP](UDP.md).
### Creating & sending magic packet
There exists various software for creating magic packets. This is an example in [Python](../programming/languages/Python.md)
There exists various software for creating magic packets. This is an example in [Python](../dev/programming/languages/Python.md)
```python
import socket
@ -49,7 +49,7 @@ If `Supports Wake-on:` only shows `d` WOL is not supported on that interface.
ethtool -s <interface> wol g
```
To enable WOL persistently one can use [Systemd](../linux/Systemd.md):
To enable WOL persistently one can use [Systemd](../linux/systemd/Systemd.md):
File: `/etc/systemd/system/wol@.service`
```toml

View file

@ -0,0 +1,6 @@
---
obj: concept
---
# WebDAV
WebDAV (Web Distributed Authoring and Versioning) is an extension of [HTTP](../internet/HTTP.md)/1.1 and therefore can be considered to be a protocol. It contains a set of concepts and accompanying extension methods to allow read and write across the [HTTP](../internet/HTTP.md)/1.1 protocol. Instead of using NFS or [SMB](../applications/web/Samba.md), WebDAV offers file transfers via [HTTP](../internet/HTTP.md). A hosting application with WebDAV support is [dufs](../applications/web/dufs.md).

View file

@ -5,7 +5,7 @@ category: development
---
# crates.io
[Rust](../../../programming/languages/Rust.md) crate hosting
[Rust](../../../dev/programming/languages/Rust.md) crate hosting
![Screenshot][Screenshot]

View file

@ -5,7 +5,7 @@ category: development
---
# deps.rs
[Rust](../../../programming/languages/Rust.md) crate security vulnerablity scanner.
[Rust](../../../dev/programming/languages/Rust.md) crate security vulnerablity scanner.
![Screenshot][Screenshot]

View file

@ -5,7 +5,7 @@ category: development
---
# docs.rs
[Rust](../../../programming/languages/Rust.md) crate documentation hosting
[Rust](../../../dev/programming/languages/Rust.md) crate documentation hosting
![Screenshot][Screenshot]

View file

@ -5,7 +5,7 @@ category: service
---
# Postman
Postman [I2P](../../../tools/I2P.md) [Torrent](../../../tools/BitTorrent.md) Tracker
Postman [I2P](../../I2P.md) [Torrent](../../BitTorrent.md) Tracker
![Screenshot][Screenshot]

View file

@ -5,7 +5,7 @@ category: link-registry
---
# Registry
[I2P](../../../tools/I2P.md) DNS Link Registry
[I2P](../../I2P.md) DNS Link Registry
![Screenshot][Screenshot]

View file

@ -5,7 +5,7 @@ category: service
---
# cake.i2p
File Sharing Site over [I2P](../../../tools/I2P.md)
File Sharing Site over [I2P](../../I2P.md)
![Screenshot][Screenshot]

View file

@ -5,7 +5,7 @@ category: service
---
# i2pd
i2pd daemon for [I2P](../../../tools/I2P.md).
i2pd daemon for [I2P](../../I2P.md).
![Screenshot][Screenshot]

View file

@ -5,4 +5,4 @@ category: link-registry
---
# MegaLinks
[Tor](../../../tools/Tor.md) link list
[Tor](../../Tor.md) link list

View file

@ -5,7 +5,7 @@ category: service
---
# PirateBay
[Torrent](../../../tools/BitTorrent.md) Tracker
[Torrent](../../BitTorrent.md) Tracker
![Screenshot][Screenshot]

View file

@ -5,7 +5,7 @@ category: link-registry
---
# The Hidden Wiki
Hidden Wiki [tor](../../../tools/Tor.md) links
Hidden Wiki [tor](../../Tor.md) links
![Screenshot][Screenshot]