Daigo Filewarp User Manual
Table of Contents
Welcome! Daigo Filewarp is a tool for sending files from A to B over the internet as fast as possible. You can use Filewarp to quickly transfer large files and large directories from one device to another when both of them are online. You can resume partial transfers and Filewarp has sync capability, meaning that files already transferred do not need to be resent when they remain in their destination folder.
This manual will guide you through the use of Daigo Filewarp and give advice on how to get the most out of the app.
If you’re new to Filewarp and want to quickly get things done, please read the Basic Usage section after installation. The remaining sections cover more technical issues such as maximizing file transfer speed and troubleshooting connectivity issues.
1 Installation
Important note for users who bought the app via an app store: The app will be installed automatically by the app store if you’ve purchased the app via Apple Store or the Windows Store. The following instructions are only relevant for manual installation when you’ve purchased the app directly from Daigosoft or our reseller Hotmart.
To download the latest version, go to your client area, sign in with your user name and password, and choose the download link for the desired platform. Valid URLs for the login page are:
https://daigosoft.com/app/signin
https://daigosoft.eu/app/signinAny other URL is not valid. To install the downloaded file, you need to follow one of platform-dependent procedures laid out in the following sections. Our software licensing conditions allow you to install as many copies on as many platforms as you need. However, the license is per-user and you’re not allowed to give away installers or executables to other persons. If you use Filewarp to exchange files with the devices of other persons, including family members and friends, every device owner needs to buy their own Filewarp license. Please respect these license conditions, which we believe to be fair and based on a very affordable pricing.
1.1 MacOS
Open the downloaded disk image by double-clicking its icon. Depending on your system settings, it might also open automatically. Then drag & drop the app icon for Daigo Notebook to your Applications folder and allow the installation with your user name and password. You start the application by double- clicking on its icon in the Applications folder as usual.
1.2 Windows
Open the downloaded installer .exe file by double-clicking it. If a the blue SmartScreen antivirus message pops up, click on “Run Anyway” and follow the installer’s instructions.
Note that Microsoft Defender and many 3rd-party antivirus programs use reputation-based systems to determine whether a file is considered safe or should be blocked by default. Therefore, you antivirus might flag the executable. This does not indicate it contains a virus. We sign our executable and check them for all known viruses. If you have obtained the installer from our site, getting the installer or installed executable flagged is almost certainly a false positive. Follow your antivirus makers instructions to whitelist the application executable.
1.3 Linux
The application is distributed in a (mostly) platform-independent, self- extracting shell script. Double-click the .sh installer file and choose “Run in Terminal”, or run the installer from terminal as follows:
cd ~/Downloads
chmod +x ./daigo-filewarp-installer.sh
sh ./daigo-filewarp-installer.shDo not use sudo to install the application. The
application is installed per-user and doesn’t require any special
privileges on normally configured Linux distributions. Therefore, the
installer will warn you if you run it with elevated privileges.
2 Basic Usage
Filewarp connects two devices each, which must be paired before files can be transferred between them. Once two devices have been paired, their pairing persists until one of them is unpaired or their preferences are deleted.
2.1 Indicator LEDs
The app uses indicator LED lights to indicate its status and the status of connected devices:
A green light indicates normal network connectivity, where the intensity of the light indicates the overall connection quality.
A yellow light indicates a suboptimal network connection, for example when your device is behind a NAT firewall or on a VPN with corresponding NAT filtering.
A red blinking light indicates a fatal connection error or another problem that keeps the app from operating correctly; it is best to restart the app if the main LED starts blinking red.
An LED that is not illuminated (off) indicates that no devices are discovered. The LED should switch green or yellow once devices in the same room and paired devices come online.
Files can only be transferred between devices when the sender and receiver LEDs are either green or yellow.
2.2 Home View
Filewarp’s user interface is divided into views that can be selected by tapping on their icons. The Home View has a “Room”, an editable text entry field, a PIN, and some identicon image that allows you to visually check the device’s identity on other devices. Room keys and PINs are initialized to random alphanumeric character sequences.
Two devices can only discover each other if they are either on the same local network or if they are in the same room. Therefore, you should first copy one of the random room keys of two devices to the other device. Once both devices have the same room key, they will discover each other.
Note that it is not recommended to choose your own room key. Although this can work and has no negative security implications, random room keys are designed to keep discovery economical and fast. It’s always better to choose one of the keys of your devices and change the room key of all other devices to that key.
2.3 Discovery View
Although it it usually fast, discovery can take up to two minutes and in some cases much longer. Be patient! Filewarp will eventually discover the other device if it is in the same room. Any device that has been discovered will show up in the Discovery View. A device in the discovered devices list has a little identicon, an icon unique to each device. A device’s identicon in the list should match the larger identicon on the Home View of the device you want to connect to.
To pair your device with a discovered device, tap or click on the device in the device list. In the dialog that pops up, enter the remote device’s PIN. You do not have to worry about case, PINs are uppercase but lowercase characters will automatically be converted.
When you enter the device’s PIN correctly, the pairing will be successful, and the device will show up in the Paired Devices View.
Restarting the app will create a new PIN. Unlike the room key, which only serves discovery, it is important to keep device PINs secret. An attacker who can intercept the initial PIN entry or the PIN in transit (e.g. if you copy it or send it via email) will be able to decrypt all of your file transfers until you re-pair the devices with a new PIN.
2.4 Paired Devices View
The Paired Devices View displays a list of devices that have been paired. This list is persistent.
To create a job for transferring files, click on a paired device. The display will switch to the next view automatically.
2.5 Job View
Once a job has been created, you can use the File and the Folder symbol to open corresponding dialogs and add files or folders to the list of files to transfer. You can also remove files and folders by selecting them and pressing the little trash bin icon.
In the file and folders tree there are checkmarks. When you uncheck an item, this particular file or folder will be excluded. When a folder is excluded, its contents are excluded, too.
Press Start Job to start transferring the selected files and folders to the receiver. If sender and receiver are both online (green or yellow indicator light), then the file transfer will start.
You can pause transfers and resume them later.
You may also redo a job that has already been completed. In that case, Filewarp will only transmit and update files if they have a more recent modification date on the sender side than on the receiver side. For this syncing to work, you must ensure that both devices have their clocks set correctly.
2.6 Console View
The console displays messages informing about the normal functioning of the app. You can use it to check about the overall state of the app and what is going on with longer running jobs.
For obtaining more detailed logging messages, you may run the app from the command-line on Linux and macOS. The app logs a lot of diagnostic messages on the console that can be helpful for support and may help diagnosing connection issues. Notice, however, that warnings in the console log are completely normal and usually do not indicate any errors. On Windows, console-based logging is not available.
2.7 Settings View
Global settings can be adjusted in the Settings View. We recommend to adjust the device’s Display Name in the settings right after pairing to one that allows you to easily recognize the device. Don’t forget to include some way to identify yourself if you intend to pair one or more of your devices with other people’s devices. For example, if your name is Joe, a name for your laptop could be “Joe’s Laptop” and for your desktop “Joe’s PC.”
For compression, you can choose between ZSTD and Snappy. The latter is substantially faster but compresses less. ZSTD is usually the better choice because network transfer speed is usually the largest bottleneck. Notice that although compression is always on, Filewarp will not compress files that are already compressed. It checks compressibility and only uses compression when it provides benefits.
For encryption, XChaCha20 and AES-GCM can be selected. They are roughly on a par in terms of security. For most use cases, we recommend using XChaCha20. However, AES is available if the use of standards-compliant encryption is mandatory or you prefer it.
The Ignore List is a text entry in which files to be ignored are specified line-by-line. The syntax used is the same as in .gitignore files of the Git versioning system, allowing for glob wildcards and matching files and folders with the corresponding matching name.
If the checkbox to use it is checked, files that match an entry in the ignore list will not be transferred. This feature is commonly used to ignore files that are operating system specific or “hidden” from normal users and not needed on the receiver side. The default ignore list ignores artefacts such as macOS folder data in .DS_Store, trash directories, and temporary items.
You can edit the ignore list directly or copy & paste a new ignore list into the box. Ignoring files you don’t need such as large archives and backup entries can vastly improve your file transfer speeds. Of course, it’s always a trade-off and you need to make sure not to accidentally ignore files that should be transferred.
You can reset the ignore list to its original default by pressing the Reset Ignore List button.
3 Advanced Topics
The following sections provide technical information for power users and system administrators. If you just want to transfer a few files, you can safely ignore these details.
3.1 Preserving Permissions, User & Groups, and Creation Time
Between Linux and Unix systems, including macOS, file permissions and users & group settings can be preserved. To enable this feature, click the settings symbol of a job. You can independently activate Preserve Permissions, Preserve Users & Groups, and Attempt to Preserve Creation Time.
In the Preserve Users & Groups setting, you can choose between
numeric and symbolic mode. In the numeric mode, a file’s numeric user
and group stamp is set at the receiver. This means that, for example, a
file owned by user UID 1002 and group GID 4 will be mapped to a file
with these UID and GID values. If the user with UID 1002 on the sender
is called wizard and the user with UID 1002 on the receiver
is called gandalf, the file will belong to user
gandalf. In contrast, if you enable symbolic mode, Filewarp
will attempt to match a file onwed by user with name wizard
to a file owned by a user named wizard on the receiver
regardless of what numeric UIDs these users have on the respective
system, and the file transfer will fail with an error if no user with
name wizard exists on the receiver side. Groups are matched
in the same way by group names when symbolic mode is activated.
Since the actual numbers depend on the system setup and are assigned differently on different systems, it is a very common use case to ensure on a reciver device that users and groups with the same names as on the sender device exist and then use symbolic mode for transfer.
When Attempt to Preserve Creation Time is set, Filewarp will read and transfer every file’s and directory’s creation time and set it on the receiver machine if possible. Modification times and access times, as well as extended file attributes, can currently not be preserved.
3.2 Limitations of Preserving File Attributes
Filewarp currently does not translate file attributes between devices with different group and user management systems. The setting only will work for transfers between Linux and Unix operating systems, including macOS.
Creation Time preservation is very limited. It will work between macOS and macOS, as well as when sending files from a Linux device to macOS. Creation time cannot be set on Linux, Windows, and Android, however.
Since the settings for preserving file attributes require transmitting additional data and modifying files at the receiver side afterwards, file transfers with these settings enabled will be slower (in total, including disk operations) than without any of these settings enabled. Enabling any kind of attribute preservation setting activated the slightly slower path.
3.3 Protocols and Ports Used
Filewarp uses a variety of transmission and discovery protocols and chooses the best transport mechanism based on probing the network topology. For transport, it currently uses raw TCP, KCP, and QUIC. For discovery, it uses mDNS, SSDP, local network neighbor scanning via ARP and IP probing, the libp2p Kademlia DHT, HTTP rendezvous servers, and Peer Exchange (PEX).
To ensure optimal file transfers with maximum speed, the following ports should be open: ports 4242, 4243, and 4244 for both incoming and outgoing TCP traffic, and ports 4245 and 4246 for both incoming and outgoing UDP traffic. Specifically, port 4242 is used for HTTP neighbor probing and node identification, while port 4243 handles libp2p Kademlia DHT routing and NAT hole punching. Ports 4244 (TCP), 4245 (QUIC), and 4246 (KCP) serve as the primary transport channels for actual file data transmission. Additionally, standard outbound UDP traffic on ports 53, 1900, and 5353 should be permitted for NAT detection and local multicast discovery (SSDP and mDNS), alongside outbound TCP and UDP on port 443 for HTTPS rendezvous polling and encrypted relay server fallbacks.
3.4 Detecting Suboptimal Network Settings
Although Filewarp uses libp2p and local network probing to discover new devices, it does not send this information to the outside and does not “scan” the network. For example, it does not perform any port scanning or similar techniques that could (rightly) be flagged by security software. For this reason, it cannot advise you on exactly why a network connection is suboptimal.
Generally speaking, there is a large number of reasons why network connections can sometimes be slower and sometimes be faster. Sender and receiver device’s network cards, CPU, memory, and drive speeds as well as the hardware of intermittent routers can also be substantial factors.
The indicator lights are estimates based on single measurements of round-trip times and only roughly indicate connection quality. A yellow light might indicate that you’re behind a NAT that blocks some or all of the above ports. A green light indicates a better connection and its the intensity will vary when connection round-trip times vary.
As an evaluation guideline, on a healthy local network (LAN) with a standard home router that supports 1 Gbps, both Wifi and Ethernet speed between devices should be around 80 MB/s to 110 MB/s. A value below 60 MB/s may indicate a bottleneck.
Connections between devices on different networks, i.e., normal internet connections, can vary a lot in connection speed and quality. Provided that your ISP supports the respective speeds for upload on the sender side and download on the receiver side, you can expect speeds in the two-digit MB/s ranges. Notice, however, that it is virtually impossible to reach the ISP’s smallest maximum speed of the two devices like in an artificial speed test. Speed tests choose the nearest server whereas your devices are likely many hops away and packet loss can occur anywhere in between them.
When one or both devices are behind NAT firewalls and similar devices (especially devices with deep packet inspection filtering and throttling) or connected via a VPN such as Mullvad, this will severely hamper connection speed. NATs and VPNs tend to aggressively filter and throttle network traffic, especially UDP traffic used by KCP and QUIC, and might require a relay server connection.
You can detect this case when the connection speed average becomes 2 MB/s to 2.5 MB/s. This likely indicates that a relay server connection is used with KCP as protocol. If the connection speed drops to 600 KB/s to 700 KB/s, this likely indicates that the KCP connection failed because your firewall blackholes, kills, or throttles outgoing UDP connections to port 443. In that case, the fallback is a multi-swarm TCP protocol to the relay server that is substantially slower than KCP in such circumstances.
If you experience network slowdowns, your first troubleshooting step should be to test the above ports and ensure that these are not blocked. Do not use VPNs for large-scale file transfers if it can be avoided. Unfortunately, if a Firewall blocks or throttles ports and is beyond your control, not much can be done. No matter what protocol and tunneling method we use (and we’re constantly experimenting with that, measuring real-time performance), advanced firewalls and “scrubbers” will always be able to detect large data transfers. The best thing to do is to ask responsible administrators to lift these blocks, explaining why you need the above-mentioned ports for file transfers.
3.5 Syncing
Filewarp syncs automatically in the following sense. By a “root”, we mean the files and folders you add directly to a job at first level (not their subdirectories). When one or more such root files and folders exist at the receiver’s Downloads folder, then the receiver compiles a manifest of file modification times and sends it to the sender. The sender then only sends files whose modification times at the receiver are older than the respective modification time at the sender. This means under normal circumstances that when a job is re-run only files that have been changed at the sender in-between will be re-transferred.
For this feature to work, clocks need to be set correctly on both devices. No checksums are used in the process.
4 Encryption
Filewarp’s encryption is designed to be relatively future-proof by using quantum-hardened algorithms, fast by prefering XChaCha20-Poly1305 over AES-GCM, and to offer perfect forward secrecy and protection against replay attacks.
4.1 Pairing & Master Key Derivation
Filewarp uses an initial pairing handshake to establish a shared secret. The initial pairing process begins when a peer initiates a connection using the other devices’s PIN, which is processed through the Argon2 key derivation function along with a random salt to create a temporary encryption key. The initiating peer generates a permanent 32-byte root key, encrypts it with the Argon2-derived key using XChaCha20-Poly1305, and transmits it to the receiver. To finalize the pairing, the receiver decrypts the root key and uses it to encrypt and return its cryptographic identity. The root key serves as a master shared secret between the two devices and is stored in each device’s preferences.
4.2 File Transfer & Control Message Encryption
When a file transfer job begins, the peers establish a unique session key using a hybrid cryptographic handshake. The initiator generates a 32-byte nonce and an ML-KEM-1024 key pair, sending the encapsulation key and nonce to the receiver. The receiver generates its own nonce, encapsulates a shared KEM secret, and derives an authentication key via HKDF-SHA256 using both nonces and the master root key. The encapsulated KEM secret is then encrypted with XChaCha20-Poly1305 and returned to the initiator, who decapsulates it and replies with an HMAC-SHA256 confirmation token. Both peers then combine the ML-KEM shared secret and the master root key through HKDF-SHA256 to derive the final 32-byte session key. For subsequent data transfers and control messages, the session key secures the payload using either AES-GCM or XChaCha20-Poly1305, depending on the job’s transfer preferences. The secure stream is processed in contiguous chunks of up to 64 kilobytes. Each chunk is individually encrypted and authenticated by the selected AEAD cipher, using an internal 64-bit counter that increments with every chunk and modifies the nonce to prevent replay attacks.
4.3 Application-level Protocol
Filewarp uses proprietary, very lightweight binary data frames for chunked stream data, key exchanges, and control messages.
5 Licenses
Daigo Filewarp and its documentation and associated files and infrastructure (such as relay servers) are copyright 2026 by Erich H. Rast, PhD. All rights are reserved. To use the app, you need to have purchased it and adhere to the licensing conditions laid out in the next section.
5.1 End User Software License
The following licensing terms are between Daigosoft (Erich H. Rast, also referred to as “we”) and the end user who purchases Daigo Filewarp (short “user”).
To be permitted to use the Daigo Filewarp application, the user must have purchased the application through an authorized payment provider for Daigosoft or authorized reseller such as Hotmart (via the Daigosoft website), Steam, and official Daigosoft app store presences on stores such as Apple App Store, Google Play Store, and Windows App Store.
This license is per natural person. The user is permitted to install and use copies of Daigo Filewarp on all personal devices belonging to them. This includes devices of a company as long as they are under the daily control of the user. However, individual users and companies must purchase separate licenses for each natural person on whose device the app is used. Members of the same houshold or family must also purchase separate licenses if they want to use Daigo Filewarp on their devices.
Purchasing a license permits the user to use the version of Daigo Filewarp that was actual at the time of purchase with the functionality that was offered at the time of purchase. The license also allows the user to install and use all minor version upgrades of the app for free, which may include feature and security updates. For example, if the user purchases version 1.0, the license grants them the right to use all versions 1.x but not necessarily a major upgraded version with version number 2.0. Daigosoft agrees to provide minor version and security updates in accordance with common practice, yet the decision to bump the version to the next major version is up to our discretion.
We at Daigosoft believe that complex “digital rights management” schemes often inconvenience legitimate users and nevertheless can and often will be circumvented by non-paying users. That is why we tend to not implement such schemes, or at least keep them simple. From the lack of implementing such schemes in our products (or keeping them simple), it ought not and cannot be concluded that our products may be copied. The user is not permitted to give away copies of Daigo Filewarp to other persons without written permission from Daigosoft.
In order to be permitted to use Daigo Filewarp, the user must also agree to and adhere to Daigosoft’s Terms of Service, which lay out common conditions for the acceptable use of our infrastructure.
The software is provided “as is” without any absolute guarantees regarding uptime or data delivery, though we will act with professional diligence.
Grounds for termination of this software license. Daigosoft maintains the right to terminate a user’s license to use Daigo Filewarp in the following cases: Violations of Daigosoft’s general Terms of Service, violations of the conditions laid out in this licensing document, malicious use of the app and associated infrastructure such as reverse engineering the app (except for the purpose of finding bugs, conducting responsible security research and where otherwise allowed by law), attacking the app or Daigosoft’s infrastructure, trying to obtain other users’ data, and otherwise intentionally disrupting Daigo Filewarp’s functionality or Daigosoft’s websites, servers, and services.
Daigosoft acknowledges the responsibility to monitor the security of the app and associated services, provide security updates for identified vulnerabilities, and responsibly disclose security incidents. Daigo Filewarp uses end-to-end encryption. Unencrypted metadata that occurs on our relay servers (such as IP numbers and connection times) is only collected insofar as it is needed to maintain the product’s service and its quality. We adhere to the GDPR data protection regulations of the European Union.
5.2 Third Party Licenses
Daigo Filewarp application uses the following third-party libraries, listed here together with their copyrights and licensing conditions:
| Package | License | Link |
|---|---|---|
| filippo.io/bigmod | BSD-3-Clause | License |
| filippo.io/keygen | ISC | License |
| fyne.io/fyne/v2 | BSD-3-Clause | License |
| fyne.io/systray | Apache-2.0 | License |
| github.com/BurntSushi/toml | MIT | License |
| github.com/FyshOS/fancyfs | BSD-3-Clause | License |
| github.com/adrg/xdg | MIT | License |
| github.com/anthonynsimon/bild | MIT | License |
| github.com/benbjohnson/clock | MIT | License |
| github.com/beorn7/perks/quantile | MIT | License |
| github.com/caddyserver/certmagic | Apache-2.0 | License |
| github.com/caddyserver/zerossl | MIT | License |
| github.com/cespare/xxhash/v2 | MIT | License |
| github.com/clipperhouse/stringish | MIT | License |
| github.com/clipperhouse/uax29/v2 | MIT | License |
| github.com/davidlazar/go-crypto/salsa20 | MIT | License |
| github.com/decred/dcrd/dcrec/secp256k1/v4 | ISC | License |
| github.com/dunglas/httpsfv | BSD-3-Clause | License |
| github.com/dustin/go-humanize | MIT | License |
| github.com/dustinkirkland/golang-petname | Apache-2.0 | License |
| github.com/filecoin-project/go-clock | MIT | License |
| github.com/flynn/noise | BSD-3-Clause | License |
| github.com/fsnotify/fsnotify | BSD-3-Clause | License |
| github.com/fyne-io/image/ico | Apache-2.0 | License |
| github.com/fyne-io/oksvg | BSD-3-Clause | License |
| github.com/go-gl/gl/v2.1/gl | MIT | License |
| github.com/go-gl/glfw/v3.4/glfw | BSD-3-Clause | License |
| github.com/go-logr/logr | Apache-2.0 | License |
| github.com/go-logr/stdr | Apache-2.0 | License |
| github.com/go-text/render | BSD-3-Clause | License |
| github.com/go-text/render | Unlicense | License |
| github.com/go-text/typesetting | BSD-3-Clause | License |
| github.com/go-text/typesetting | Unlicense | License |
| github.com/go-text/typesetting/harfbuzz | MIT | License |
| github.com/godbus/dbus/v5 | BSD-2-Clause | License |
| github.com/golang/snappy | BSD-3-Clause | License |
| github.com/google/gopacket/routing | BSD-3-Clause | License |
| github.com/google/uuid | BSD-3-Clause | License |
| github.com/gorilla/websocket | BSD-2-Clause | License |
| github.com/hashicorp/golang-lru/simplelru | MPL-2.0 | License |
| github.com/hashicorp/mdns | MIT | License |
| github.com/huin/goupnp | BSD-2-Clause | License |
| github.com/integrii/flaggy | Unlicense | License |
| github.com/ipfs/boxo | Apache-2.0 | License |
| github.com/ipfs/boxo | MIT | License |
| github.com/ipfs/go-cid | MIT | License |
| github.com/ipfs/go-datastore | MIT | License |
| github.com/ipfs/go-log/v2 | MIT | License |
| github.com/ipld/go-ipld-prime | MIT | License |
| github.com/jbenet/go-temp-err-catcher | MIT | License |
| github.com/jeandeaual/go-locale | MIT | License |
| github.com/jsummers/gobmp | MIT | License |
| github.com/klauspost/compress | MIT | License |
| github.com/klauspost/compress | Apache-2.0 | License |
| github.com/klauspost/compress | BSD-3-Clause | License |
| github.com/klauspost/compress/internal/snapref | BSD-3-Clause | License |
| github.com/klauspost/compress/zstd/internal/xxhash | MIT | License |
| github.com/klauspost/cpuid/v2 | MIT | License |
| github.com/klauspost/reedsolomon | MIT | License |
| github.com/koron/go-ssdp | MIT | License |
| github.com/libdns/libdns | MIT | License |
| github.com/libp2p/go-buffer-pool | MIT | License |
| github.com/libp2p/go-cidranger | MIT | License |
| github.com/libp2p/go-flow-metrics | MIT | License |
| github.com/libp2p/go-libp2p | MIT | License |
| github.com/libp2p/go-libp2p-asn-util | MIT | License |
| github.com/libp2p/go-libp2p-kad-dht | MIT | License |
| github.com/libp2p/go-libp2p-kbucket | MIT | License |
| github.com/libp2p/go-libp2p-record | MIT | License |
| github.com/libp2p/go-libp2p-routing-helpers/tracing | MIT | License |
| github.com/libp2p/go-libp2p/p2p/net/nat/internal/nat | Apache-2.0 | License |
| github.com/libp2p/go-libp2p/p2p/transport/websocket | MIT | License |
| github.com/libp2p/go-msgio | MIT | License |
| github.com/libp2p/go-netroute | BSD-3-Clause | License |
| github.com/libp2p/go-reuseport | ISC | License |
| github.com/libp2p/go-yamux/v5 | MPL-2.0 | License |
| github.com/lucasb-eyer/go-colorful | MIT | License |
| github.com/marten-seemann/tcp | BSD-2-Clause | License |
| github.com/mattn/go-isatty | MIT | License |
| github.com/mattn/go-runewidth | MIT | License |
| github.com/mholt/acmez/v3 | Apache-2.0 | License |
| github.com/miekg/dns | BSD-3-Clause | License |
| github.com/mikioh/tcpinfo | BSD-2-Clause | License |
| github.com/mikioh/tcpopt | BSD-2-Clause | License |
| github.com/minio/sha256-simd | Apache-2.0 | License |
| github.com/mr-tron/base58 | MIT | License |
| github.com/multiformats/go-base32 | BSD-3-Clause | License |
| github.com/multiformats/go-multiaddr | MIT | License |
| github.com/multiformats/go-multiaddr-dns | MIT | License |
| github.com/multiformats/go-multiaddr-fmt | MIT | License |
| github.com/multiformats/go-multibase | MIT | License |
| github.com/multiformats/go-multicodec | MIT | License |
| github.com/multiformats/go-multihash | MIT | License |
| github.com/multiformats/go-multistream | MIT | License |
| github.com/multiformats/go-varint | MIT | License |
| github.com/munnerz/goautoneg | BSD-3-Clause | License |
| github.com/nfnt/resize | ISC | License |
| github.com/nicksnyder/go-i18n/v2 | MIT | License |
| github.com/pbnjay/memory | BSD-3-Clause | License |
| github.com/pion/datachannel | MIT | License |
| github.com/pion/dtls/v3 | MIT | License |
| github.com/pion/ice/v4 | MIT | License |
| github.com/pion/interceptor | MIT | License |
| github.com/pion/logging | MIT | License |
| github.com/pion/mdns/v2 | MIT | License |
| github.com/pion/randutil | MIT | License |
| github.com/pion/rtcp | MIT | License |
| github.com/pion/rtp | MIT | License |
| github.com/pion/sctp | MIT | License |
| github.com/pion/sdp/v3 | MIT | License |
| github.com/pion/srtp/v3 | MIT | License |
| github.com/pion/stun/v3 | MIT | License |
| github.com/pion/transport/v3 | MIT | License |
| github.com/pion/transport/v4 | MIT | License |
| github.com/pion/turn/v4 | MIT | License |
| github.com/pion/webrtc/v4 | MIT | License |
| github.com/pkg/errors | BSD-2-Clause | License |
| github.com/polydawn/refmt | MIT | License |
| github.com/prometheus/client_golang/prometheus | Apache-2.0 | License |
| github.com/prometheus/client_model/go | Apache-2.0 | License |
| github.com/prometheus/common | Apache-2.0 | License |
| github.com/prometheus/procfs | Apache-2.0 | License |
| github.com/quic-go/qpack | MIT | License |
| github.com/quic-go/quic-go | MIT | License |
| github.com/quic-go/webtransport-go | MIT | License |
| github.com/remyoudompheng/bigfft | BSD-3-Clause | License |
| github.com/rymdport/portal | Apache-2.0 | License |
| github.com/sabhiram/go-gitignore | MIT | License |
| github.com/spaolacci/murmur3 | BSD-3-Clause | License |
| github.com/sqweek/dialog | ISC | License |
| github.com/srwiley/oksvg | BSD-3-Clause | License |
| github.com/srwiley/rasterx | BSD-3-Clause | License |
| github.com/stdatiks/jdenticon-go | MIT | License |
| github.com/tjfoc/gmsm/sm4 | Apache-2.0 | License |
| github.com/vmihailenco/msgpack/v5 | BSD-2-Clause | License |
| github.com/vmihailenco/tagparser/v2 | BSD-2-Clause | License |
| github.com/whyrusleeping/go-keyspace | MIT | License |
| github.com/wlynxg/anet | BSD-3-Clause | License |
| github.com/xtaci/kcp-go/v5 | MIT | License |
| github.com/yuin/goldmark | MIT | License |
| github.com/zeebo/blake3 | CC0-1.0 | License |
| go.opentelemetry.io/auto/sdk | Apache-2.0 | License |
| go.opentelemetry.io/otel | Apache-2.0 | License |
| go.opentelemetry.io/otel | BSD-3-Clause | License |
| go.opentelemetry.io/otel/metric | Apache-2.0 | License |
| go.opentelemetry.io/otel/metric | BSD-3-Clause | License |
| go.opentelemetry.io/otel/trace | Apache-2.0 | License |
| go.opentelemetry.io/otel/trace | BSD-3-Clause | License |
| go.uber.org/dig | MIT | License |
| go.uber.org/fx | MIT | License |
| go.uber.org/multierr | MIT | License |
| go.uber.org/zap | MIT | License |
| go.uber.org/zap/exp/zapslog | MIT | License |
| go.yaml.in/yaml/v2 | Apache-2.0 | License |
| golang.org/x/crypto | BSD-3-Clause | License |
| golang.org/x/exp | BSD-3-Clause | License |
| golang.org/x/image | BSD-3-Clause | License |
| golang.org/x/net | BSD-3-Clause | License |
| golang.org/x/sync/errgroup | BSD-3-Clause | License |
| golang.org/x/sys | BSD-3-Clause | License |
| golang.org/x/text | BSD-3-Clause | License |
| golang.org/x/time/rate | BSD-3-Clause | License |
| gonum.org/v1/gonum/mathext | BSD-3-Clause | License |
| google.golang.org/protobuf | BSD-3-Clause | License |
| lukechampine.com/blake3 | MIT | License |
| modernc.org/libc | BSD-3-Clause | License |
| modernc.org/mathutil | BSD-3-Clause | License |
| modernc.org/memory | BSD-3-Clause | License |
| modernc.org/sqlite | BSD-3-Clause | License |