<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>GitHub C Daily Trending</title>
    <description>Daily Trending of C in GitHub</description>
    <pubDate>Wed, 13 May 2026 01:35:42 GMT</pubDate>
    <link>http://mshibanami.github.io/GitHubTrendingRSS</link>
    
    <item>
      <title>curl/curl</title>
      <link>https://github.com/curl/curl</link>
      <description>&lt;p&gt;A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, MQTTS, POP3, POP3S, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;&lt;a href=&quot;https://curl.se/&quot;&gt;&lt;img src=&quot;https://curl.se/logo/curl-logo.svg?sanitize=true&quot; alt=&quot;curl logo&quot; /&gt;&lt;/a&gt;&lt;/h1&gt; 
&lt;p&gt;curl is a command-line tool for transferring data from or to a server using URLs. It supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, MQTTS, POP3, POP3S, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.&lt;/p&gt; 
&lt;p&gt;Learn how to use curl by reading &lt;a href=&quot;https://curl.se/docs/manpage.html&quot;&gt;the man page&lt;/a&gt; or &lt;a href=&quot;https://everything.curl.dev/&quot;&gt;everything curl&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Find out how to install curl by reading &lt;a href=&quot;https://curl.se/docs/install.html&quot;&gt;the INSTALL document&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read &lt;a href=&quot;https://curl.se/libcurl/c/libcurl.html&quot;&gt;the libcurl man page&lt;/a&gt; to learn how.&lt;/p&gt; 
&lt;h2&gt;Open Source&lt;/h2&gt; 
&lt;p&gt;curl is Open Source and is distributed under an MIT-like &lt;a href=&quot;https://curl.se/docs/copyright.html&quot;&gt;license&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Contact&lt;/h2&gt; 
&lt;p&gt;Contact us on a suitable &lt;a href=&quot;https://curl.se/mail/&quot;&gt;mailing list&lt;/a&gt; or use GitHub &lt;a href=&quot;https://github.com/curl/curl/issues&quot;&gt;issues&lt;/a&gt;/ &lt;a href=&quot;https://github.com/curl/curl/pulls&quot;&gt;pull requests&lt;/a&gt;/ &lt;a href=&quot;https://github.com/curl/curl/discussions&quot;&gt;discussions&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;All contributors to the project are listed in &lt;a href=&quot;https://curl.se/docs/thanks.html&quot;&gt;the THANKS document&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Commercial support&lt;/h2&gt; 
&lt;p&gt;For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl visit &lt;a href=&quot;https://curl.se/support.html&quot;&gt;the support page&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Website&lt;/h2&gt; 
&lt;p&gt;Visit the &lt;a href=&quot;https://curl.se/&quot;&gt;curl website&lt;/a&gt; for the latest news and downloads.&lt;/p&gt; 
&lt;h2&gt;Source code&lt;/h2&gt; 
&lt;p&gt;Download the latest source from the Git server:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git clone https://github.com/curl/curl
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Security problems&lt;/h2&gt; 
&lt;p&gt;Report suspected security problems &lt;a href=&quot;https://curl.se/dev/vuln-disclosure.html&quot;&gt;privately&lt;/a&gt; and not in public.&lt;/p&gt; 
&lt;h2&gt;Backers&lt;/h2&gt; 
&lt;p&gt;Thank you to all our backers 🙏 &lt;a href=&quot;https://opencollective.com/curl#section-contribute&quot;&gt;Become a backer&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Sponsors&lt;/h2&gt; 
&lt;p&gt;Support this project by becoming a &lt;a href=&quot;https://curl.se/sponsors.html&quot;&gt;sponsor&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/569041/a7c0b500-5cae-11e9-9287-1d94b1db9c95" medium="image" />
      
    </item>
    
    <item>
      <title>FreeRTOS/FreeRTOS-Kernel</title>
      <link>https://github.com/FreeRTOS/FreeRTOS-Kernel</link>
      <description>&lt;p&gt;FreeRTOS kernel files only, submoduled into https://github.com/FreeRTOS/FreeRTOS and various other repos.&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/FreeRTOS/FreeRTOS-Kernel/actions/workflows/unit-tests.yml?query=branch%3Amain+event%3Apush+workflow%3A%22CMock+Unit+Tests%22++&quot;&gt;&lt;img src=&quot;https://github.com/FreeRTOS/FreeRTOS-Kernel/actions/workflows/unit-tests.yml/badge.svg?branch=main&amp;amp;event=push&quot; alt=&quot;CMock Unit Tests&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://codecov.io/gh/FreeRTOS/FreeRTOS-Kernel&quot;&gt;&lt;img src=&quot;https://app.codecov.io/gh/FreeRTOS/FreeRTOS-Kernel/badge.svg?branch=main&quot; alt=&quot;codecov&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Getting started&lt;/h2&gt; 
&lt;p&gt;This repository contains FreeRTOS kernel source/header files and kernel ports only. This repository is referenced as a submodule in &lt;a href=&quot;https://github.com/FreeRTOS/FreeRTOS&quot;&gt;FreeRTOS/FreeRTOS&lt;/a&gt; repository, which contains pre-configured demo application projects under &lt;code&gt;FreeRTOS/Demo&lt;/code&gt; directory.&lt;/p&gt; 
&lt;p&gt;The easiest way to use FreeRTOS is to start with one of the pre-configured demo application projects. That way you will have the correct FreeRTOS source files included, and the correct include paths configured. Once a demo application is building and executing you can remove the demo application files, and start to add in your own application source files. See the &lt;a href=&quot;https://www.freertos.org/Documentation/01-FreeRTOS-quick-start/01-Beginners-guide/02-Quick-start-guide&quot;&gt;FreeRTOS Kernel Quick Start Guide&lt;/a&gt; for detailed instructions and other useful links.&lt;/p&gt; 
&lt;p&gt;Additionally, for FreeRTOS kernel feature information refer to the &lt;a href=&quot;https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/00-Developer-docs&quot;&gt;Developer Documentation&lt;/a&gt;, and &lt;a href=&quot;https://www.freertos.org/Documentation/02-Kernel/04-API-references/01-Task-creation/00-TaskHandle&quot;&gt;API Reference&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Also for contributing and creating a Pull Request please refer to &lt;a href=&quot;https://raw.githubusercontent.com/FreeRTOS/FreeRTOS-Kernel/main/.github/CONTRIBUTING.md#contributing-via-pull-request&quot;&gt;the instructions here&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;FreeRTOS-Kernel V11.1.0 &lt;a href=&quot;https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/V11.1.0&quot;&gt;source code&lt;/a&gt; is part of the &lt;a href=&quot;https://github.com/FreeRTOS/FreeRTOS-LTS/tree/202406-LTS&quot;&gt;FreeRTOS 202406.00 LTS&lt;/a&gt; release.&lt;/strong&gt;&lt;/p&gt; 
&lt;h3&gt;Getting help&lt;/h3&gt; 
&lt;p&gt;If you have any questions or need assistance troubleshooting your FreeRTOS project, we have an active community that can help on the &lt;a href=&quot;https://forums.freertos.org&quot;&gt;FreeRTOS Community Support Forum&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;To consume FreeRTOS-Kernel&lt;/h2&gt; 
&lt;h3&gt;Consume with CMake&lt;/h3&gt; 
&lt;p&gt;If using CMake, it is recommended to use this repository using FetchContent. Add the following into your project&#39;s main or a subdirectory&#39;s &lt;code&gt;CMakeLists.txt&lt;/code&gt;:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Define the source and version/tag you want to use:&lt;/li&gt; 
&lt;/ul&gt; 
&lt;pre&gt;&lt;code class=&quot;language-cmake&quot;&gt;FetchContent_Declare( freertos_kernel
  GIT_REPOSITORY https://github.com/FreeRTOS/FreeRTOS-Kernel.git
  GIT_TAG        main #Note: Best practice to use specific git-hash or tagged version
)
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;In case you prefer to add it as a git submodule, do:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git submodule add https://github.com/FreeRTOS/FreeRTOS-Kernel.git &amp;lt;path of the submodule&amp;gt;
git submodule update --init
&lt;/code&gt;&lt;/pre&gt; 
&lt;ul&gt; 
 &lt;li&gt;Add a freertos_config library (typically an INTERFACE library) The following assumes the directory structure: 
  &lt;ul&gt; 
   &lt;li&gt;&lt;code&gt;include/FreeRTOSConfig.h&lt;/code&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;pre&gt;&lt;code class=&quot;language-cmake&quot;&gt;add_library(freertos_config INTERFACE)

target_include_directories(freertos_config SYSTEM
INTERFACE
    include
)

target_compile_definitions(freertos_config
  INTERFACE
    projCOVERAGE_TEST=0
)
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;In case you installed FreeRTOS-Kernel as a submodule, you will have to add it as a subdirectory:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-cmake&quot;&gt;add_subdirectory(${FREERTOS_PATH})
&lt;/code&gt;&lt;/pre&gt; 
&lt;ul&gt; 
 &lt;li&gt;Configure the FreeRTOS-Kernel and make it available 
  &lt;ul&gt; 
   &lt;li&gt;this particular example supports a native and cross-compiled build option.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;pre&gt;&lt;code class=&quot;language-cmake&quot;&gt;set( FREERTOS_HEAP &quot;4&quot; CACHE STRING &quot;&quot; FORCE)
# Select the native compile PORT
set( FREERTOS_PORT &quot;GCC_POSIX&quot; CACHE STRING &quot;&quot; FORCE)
# Select the cross-compile PORT
if (CMAKE_CROSSCOMPILING)
  set(FREERTOS_PORT &quot;GCC_ARM_CA9&quot; CACHE STRING &quot;&quot; FORCE)
endif()

FetchContent_MakeAvailable(freertos_kernel)
&lt;/code&gt;&lt;/pre&gt; 
&lt;ul&gt; 
 &lt;li&gt;In case of cross compilation, you should also add the following to &lt;code&gt;freertos_config&lt;/code&gt;:&lt;/li&gt; 
&lt;/ul&gt; 
&lt;pre&gt;&lt;code class=&quot;language-cmake&quot;&gt;target_compile_definitions(freertos_config INTERFACE ${definitions})
target_compile_options(freertos_config INTERFACE ${options})
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Consuming stand-alone - Cloning this repository&lt;/h3&gt; 
&lt;p&gt;To clone using HTTPS:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git clone https://github.com/FreeRTOS/FreeRTOS-Kernel.git
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Using SSH:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git clone git@github.com:FreeRTOS/FreeRTOS-Kernel.git
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Repository structure&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;The root of this repository contains the three files that are common to every port - list.c, queue.c and tasks.c. The kernel is contained within these three files. croutine.c implements the optional co-routine functionality - which is normally only used on very memory limited systems.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;The &lt;code&gt;./portable&lt;/code&gt; directory contains the files that are specific to a particular microcontroller and/or compiler. See the readme file in the &lt;code&gt;./portable&lt;/code&gt; directory for more information.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;The &lt;code&gt;./include&lt;/code&gt; directory contains the real time kernel header files.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;The &lt;code&gt;./examples/template_configuration&lt;/code&gt; directory contains a sample &lt;code&gt;FreeRTOSConfig.h&lt;/code&gt; to help jumpstart a new project. See the &lt;a href=&quot;https://raw.githubusercontent.com/FreeRTOS/FreeRTOS-Kernel/main/examples/template_configuration/FreeRTOSConfig.h&quot;&gt;FreeRTOSConfig.h&lt;/a&gt; file for instructions.&lt;/p&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Code Formatting&lt;/h3&gt; 
&lt;p&gt;FreeRTOS files are formatted using the &quot;&lt;a href=&quot;https://github.com/uncrustify/uncrustify&quot;&gt;uncrustify&lt;/a&gt;&quot; tool. The configuration file used by uncrustify can be found in the &lt;a href=&quot;https://github.com/FreeRTOS/CI-CD-Github-Actions&quot;&gt;FreeRTOS/CI-CD-GitHub-Actions&#39;s&lt;/a&gt; &lt;a href=&quot;https://github.com/FreeRTOS/CI-CD-Github-Actions/tree/main/formatting&quot;&gt;uncrustify.cfg&lt;/a&gt; file.&lt;/p&gt; 
&lt;h3&gt;Line Endings&lt;/h3&gt; 
&lt;p&gt;File checked into the FreeRTOS-Kernel repository use unix-style LF line endings for the best compatibility with git.&lt;/p&gt; 
&lt;p&gt;For optimal compatibility with Microsoft Windows tools, it is best to enable the git autocrlf feature. You can enable this setting for the current repository using the following command:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git config core.autocrlf true
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Git History Optimizations&lt;/h3&gt; 
&lt;p&gt;Some commits in this repository perform large refactors which touch many lines and lead to unwanted behavior when using the &lt;code&gt;git blame&lt;/code&gt; command. You can configure git to ignore the list of large refactor commits in this repository with the following command:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git config blame.ignoreRevsFile .git-blame-ignore-revs
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Spelling and Formatting&lt;/h3&gt; 
&lt;p&gt;We recommend using &lt;a href=&quot;https://code.visualstudio.com&quot;&gt;Visual Studio Code&lt;/a&gt;, commonly referred to as VSCode, when working on the FreeRTOS-Kernel. The FreeRTOS-Kernel also uses &lt;a href=&quot;https://cspell.org/&quot;&gt;cSpell&lt;/a&gt; as part of its spelling check. The config file for which can be found at &lt;a href=&quot;https://raw.githubusercontent.com/FreeRTOS/FreeRTOS-Kernel/main/cspell.config.yaml&quot;&gt;cspell.config.yaml&lt;/a&gt; There is additionally a &lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker&quot;&gt;cSpell plugin for VSCode&lt;/a&gt; that can be used as well. &lt;em&gt;&lt;a href=&quot;https://raw.githubusercontent.com/FreeRTOS/FreeRTOS-Kernel/main/.github/.cSpellWords.txt&quot;&gt;.cSpellWords.txt&lt;/a&gt;&lt;/em&gt; contains words that are not traditionally found in an English dictionary. It is used by the spellchecker to verify the various jargon, variable names, and other odd words used in the FreeRTOS code base are correct. If your pull request fails to pass the spelling and you believe this is a mistake, then add the word to &lt;em&gt;&lt;a href=&quot;https://raw.githubusercontent.com/FreeRTOS/FreeRTOS-Kernel/main/.github/.cSpellWords.txt&quot;&gt;.cSpellWords.txt&lt;/a&gt;&lt;/em&gt;. When adding a word please then sort the list, which can be done by running the bash command: &lt;code&gt;sort -u .cSpellWords.txt -o .cSpellWords.txt&lt;/code&gt; Note that only the FreeRTOS-Kernel Source Files, &lt;a href=&quot;https://raw.githubusercontent.com/FreeRTOS/FreeRTOS-Kernel/main/include&quot;&gt;include&lt;/a&gt;, &lt;a href=&quot;https://raw.githubusercontent.com/FreeRTOS/FreeRTOS-Kernel/main/portable/MemMang&quot;&gt;portable/MemMang&lt;/a&gt;, and &lt;a href=&quot;https://raw.githubusercontent.com/FreeRTOS/FreeRTOS-Kernel/main/portable/Common&quot;&gt;portable/Common&lt;/a&gt; files are checked for proper spelling, and formatting at this time.&lt;/p&gt; 
&lt;h2&gt;Third Party Tools&lt;/h2&gt; 
&lt;p&gt;Visit &lt;a href=&quot;https://raw.githubusercontent.com/FreeRTOS/FreeRTOS-Kernel/main/.github/third_party_tools.md&quot;&gt;this link&lt;/a&gt; for detailed information about third-party tools with FreeRTOS support.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/207354223/e63e2500-de4a-11ea-8461-0b7548012ab6" medium="image" />
      
    </item>
    
    <item>
      <title>HarbourMasters/Shipwright</title>
      <link>https://github.com/HarbourMasters/Shipwright</link>
      <description>&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/HarbourMasters/Shipwright/develop/docs/shiptitle.darkmode.png#gh-dark-mode-only&quot; alt=&quot;Ship of Harkinian&quot; /&gt; &lt;img src=&quot;https://raw.githubusercontent.com/HarbourMasters/Shipwright/develop/docs/shiptitle.lightmode.png#gh-light-mode-only&quot; alt=&quot;Ship of Harkinian&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;Website&lt;/h2&gt; 
&lt;p&gt;Official Website: &lt;a href=&quot;https://www.shipofharkinian.com/&quot;&gt;https://www.shipofharkinian.com/&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Discord&lt;/h2&gt; 
&lt;p&gt;Official Discord: &lt;a href=&quot;https://discord.com/invite/shipofharkinian&quot;&gt;https://discord.com/invite/shipofharkinian&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;If you&#39;re having any trouble after reading through this &lt;code&gt;README&lt;/code&gt;, feel free to ask for help in the Support text channels. Please keep in mind that we do not condone piracy.&lt;/p&gt; 
&lt;h1&gt;Quick Start&lt;/h1&gt; 
&lt;p&gt;The Ship does not include any copyrighted assets. You are required to provide a supported copy of the game.&lt;/p&gt; 
&lt;h3&gt;1. Verify your ROM dump&lt;/h3&gt; 
&lt;p&gt;You can verify you have dumped a supported copy of the game by using the compatibility checker at &lt;a href=&quot;https://ship.equipment/&quot;&gt;https://ship.equipment/&lt;/a&gt;. If you&#39;d prefer to manually validate your ROM dump, you can cross-reference its &lt;code&gt;sha1&lt;/code&gt; hash with the hashes &lt;a href=&quot;https://raw.githubusercontent.com/HarbourMasters/Shipwright/develop/docs/supportedHashes.json&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;2. Download The Ship of Harkinian from &lt;a href=&quot;https://github.com/HarbourMasters/Shipwright/releases&quot;&gt;Releases&lt;/a&gt;&lt;/h3&gt; 
&lt;h3&gt;3. Launch the Game!&lt;/h3&gt; 
&lt;h4&gt;Windows&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Extract the zip&lt;/li&gt; 
 &lt;li&gt;Launch &lt;code&gt;soh.exe&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;Linux&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Place your supported copy of the game in the same folder as the appimage.&lt;/li&gt; 
 &lt;li&gt;Execute &lt;code&gt;soh.appimage&lt;/code&gt;. You may have to &lt;code&gt;chmod +x&lt;/code&gt; the appimage via terminal.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;macOS&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Run &lt;code&gt;soh.app&lt;/code&gt;. When prompted, select your supported copy of the game.&lt;/li&gt; 
 &lt;li&gt;You should see a notification saying &lt;code&gt;Processing OTR&lt;/code&gt;, then, once the process is complete, you should get a notification saying &lt;code&gt;OTR Successfully Generated&lt;/code&gt;, then the game should start.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;Nintendo Switch&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Run one of the PC releases to generate an &lt;code&gt;oot.o2r&lt;/code&gt; and/or &lt;code&gt;oot-mq.o2r&lt;/code&gt; file. After launching the game on PC, you will be able to find these files in the same directory as &lt;code&gt;soh.exe&lt;/code&gt; or &lt;code&gt;soh.appimage&lt;/code&gt;. On macOS, these files can be found in &lt;code&gt;/Users/&amp;lt;username&amp;gt;/Library/Application Support/com.shipofharkinian.soh/&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Copy the files to your sd card&lt;/li&gt; 
&lt;/ul&gt; 
&lt;pre&gt;&lt;code&gt;sdcard
└── switch
    └── soh
        ├── oot-mq.o2r
        ├── oot.o2r
        ├── soh.nro
        └── soh.o2r
&lt;/code&gt;&lt;/pre&gt; 
&lt;ul&gt; 
 &lt;li&gt;Launch via Atmosphere&#39;s &lt;code&gt;Game+R&lt;/code&gt; launcher method.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;4. Play!&lt;/h3&gt; 
&lt;p&gt;Congratulations, you are now sailing with the Ship of Harkinian! Have fun!&lt;/p&gt; 
&lt;h1&gt;Configuration&lt;/h1&gt; 
&lt;h3&gt;Default keyboard configuration&lt;/h3&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;N64&lt;/th&gt; 
   &lt;th&gt;A&lt;/th&gt; 
   &lt;th&gt;B&lt;/th&gt; 
   &lt;th&gt;Z&lt;/th&gt; 
   &lt;th&gt;Start&lt;/th&gt; 
   &lt;th&gt;Analog stick&lt;/th&gt; 
   &lt;th&gt;C buttons&lt;/th&gt; 
   &lt;th&gt;D-Pad&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Keyboard&lt;/td&gt; 
   &lt;td&gt;X&lt;/td&gt; 
   &lt;td&gt;C&lt;/td&gt; 
   &lt;td&gt;Z&lt;/td&gt; 
   &lt;td&gt;Space&lt;/td&gt; 
   &lt;td&gt;WASD&lt;/td&gt; 
   &lt;td&gt;Arrow keys&lt;/td&gt; 
   &lt;td&gt;TFGH&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;Other shortcuts&lt;/h3&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Keys&lt;/th&gt; 
   &lt;th&gt;Action&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;ESC&lt;/td&gt; 
   &lt;td&gt;Toggle menu&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F2&lt;/td&gt; 
   &lt;td&gt;Toggle capture mouse input&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F5&lt;/td&gt; 
   &lt;td&gt;Save state&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F6&lt;/td&gt; 
   &lt;td&gt;Change state&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F7&lt;/td&gt; 
   &lt;td&gt;Load state&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F9&lt;/td&gt; 
   &lt;td&gt;Toggle Text-to-Speech (Windows and Mac only)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F11&lt;/td&gt; 
   &lt;td&gt;Fullscreen&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Tab&lt;/td&gt; 
   &lt;td&gt;Toggle Alternate assets&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Ctrl+R&lt;/td&gt; 
   &lt;td&gt;Reset&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h1&gt;Project Overview&lt;/h1&gt; 
&lt;p&gt;Ship of Harkinian (SOH) is built atop a custom library dubbed libultraship (LUS). Back in the N64 days, there was an SDK distributed to developers named libultra; LUS is designed to mimic the functionality of libultra on modern hardware. In addition, we are dependant on the source code provided by the OOT decompilation project.&lt;/p&gt; 
&lt;p&gt;In order for the game to function, you will require a &lt;strong&gt;legally acquired&lt;/strong&gt; ROM for Ocarina of Time. Click &lt;a href=&quot;https://ship.equipment/&quot;&gt;here&lt;/a&gt; to check the compatibility of your specific rom. Any copyrighted assets are extracted from the ROM and reformatted as a .o2r archive file which the code uses.&lt;/p&gt; 
&lt;h3&gt;Graphics Backends&lt;/h3&gt; 
&lt;p&gt;Currently, there are three rendering APIs supported: DirectX11 (Windows), OpenGL (all platforms), and Metal (MacOS). You can change which API to use in the &lt;code&gt;Settings&lt;/code&gt; menu of the menubar, which requires a restart. If you&#39;re having an issue with crashing, you can change the API in the &lt;code&gt;shipofharkinian.json&lt;/code&gt; file by finding the line &lt;code&gt;gfxbackend:&quot;&quot;&lt;/code&gt; and changing the value to &lt;code&gt;sdl&lt;/code&gt; for OpenGL. DirectX 11 is the default on Windows.&lt;/p&gt; 
&lt;h1&gt;Custom Assets&lt;/h1&gt; 
&lt;p&gt;Custom assets are packed in &lt;code&gt;.otr&lt;/code&gt; archive files. To use custom assets, place them in the &lt;code&gt;mods&lt;/code&gt; folder.&lt;/p&gt; 
&lt;p&gt;If you&#39;re interested in creating and/or packing your own custom asset &lt;code&gt;.otr&lt;/code&gt; files, check out the following tools:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/HarbourMasters64/retro&quot;&gt;&lt;strong&gt;retro - OTR generator&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/HarbourMasters/fast64&quot;&gt;&lt;strong&gt;fast64 - Blender plugin&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Development&lt;/h1&gt; 
&lt;h3&gt;Building&lt;/h3&gt; 
&lt;p&gt;If you want to manually compile SoH, please consult the &lt;a href=&quot;https://raw.githubusercontent.com/HarbourMasters/Shipwright/develop/docs/BUILDING.md&quot;&gt;building instructions&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Playtesting&lt;/h3&gt; 
&lt;p&gt;If you want to playtest a continuous integration build, you can find them at the links below. Keep in mind that these are for playtesting only, and you will likely encounter bugs and possibly crashes.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://nightly.link/HarbourMasters/Shipwright/workflows/generate-builds/develop/soh-windows.zip&quot;&gt;Windows&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://nightly.link/HarbourMasters/Shipwright/workflows/generate-builds/develop/soh-mac.zip&quot;&gt;macOS&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://nightly.link/HarbourMasters/Shipwright/workflows/generate-builds/develop/soh-linux.zip&quot;&gt;Linux&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Further Reading&lt;/h3&gt; 
&lt;p&gt;More detailed documentation can be found in the &#39;docs&#39; directory, including the aforementioned &lt;a href=&quot;https://raw.githubusercontent.com/HarbourMasters/Shipwright/develop/docs/BUILDING.md&quot;&gt;building instructions&lt;/a&gt;.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/HarbourMasters/Shipwright/develop/docs/CREDITS.md&quot;&gt;Credits&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/HarbourMasters/Shipwright/develop/docs/CUSTOM_MUSIC.md&quot;&gt;Custom Music&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/HarbourMasters/Shipwright/develop/docs/GAME_CONTROLLER_DB.md&quot;&gt;Controller Mapping&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/HarbourMasters/Shipwright/develop/docs/MODDING.md&quot;&gt;Modding&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/HarbourMasters/Shipwright/develop/docs/VERSIONING.md&quot;&gt;Versioning&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;a href=&quot;https://github.com/Kenix3/libultraship/&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;./docs/poweredbylus.darkmode.png&quot; /&gt; 
  &lt;img alt=&quot;Powered by libultraship&quot; src=&quot;https://raw.githubusercontent.com/HarbourMasters/Shipwright/develop/docs/poweredbylus.lightmode.png&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/d3e2cc977a0c614e9eb9eae5f04b8e0a4ef85b994949f5cc4716dcbed146056c/HarbourMasters/Shipwright" medium="image" />
      
    </item>
    
    <item>
      <title>facebook/zstd</title>
      <link>https://github.com/facebook/zstd</link>
      <description>&lt;p&gt;Zstandard - Fast real-time compression algorithm&lt;/p&gt;&lt;hr&gt;&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/doc/images/zstd_logo86.png&quot; alt=&quot;Zstandard&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Zstandard&lt;/strong&gt;, or &lt;code&gt;zstd&lt;/code&gt; as short version, is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios. It&#39;s backed by a very fast entropy stage, provided by &lt;a href=&quot;https://github.com/Cyan4973/FiniteStateEntropy&quot;&gt;Huff0 and FSE library&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Zstandard&#39;s format is stable and documented in &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc8878&quot;&gt;RFC8878&lt;/a&gt;. Multiple independent implementations are already available. This repository represents the reference implementation, provided as an open-source dual &lt;a href=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/LICENSE&quot;&gt;BSD&lt;/a&gt; OR &lt;a href=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/COPYING&quot;&gt;GPLv2&lt;/a&gt; licensed &lt;strong&gt;C&lt;/strong&gt; library, and a command line utility producing and decoding &lt;code&gt;.zst&lt;/code&gt;, &lt;code&gt;.gz&lt;/code&gt;, &lt;code&gt;.xz&lt;/code&gt; and &lt;code&gt;.lz4&lt;/code&gt; files. Should your project require another programming language, a list of known ports and bindings is provided on &lt;a href=&quot;https://facebook.github.io/zstd/#other-languages&quot;&gt;Zstandard homepage&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Development branch status:&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://travis-ci.com/facebook/zstd&quot;&gt;&lt;img src=&quot;https://api.travis-ci.com/facebook/zstd.svg?branch=dev&quot; alt=&quot;Build Status&quot; title=&quot;Continuous Integration test suite&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://circleci.com/gh/facebook/zstd&quot;&gt;&lt;img src=&quot;https://circleci.com/gh/facebook/zstd/tree/dev.svg?style=shield&quot; alt=&quot;Build status&quot; title=&quot;Short test suite&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://cirrus-ci.com/github/facebook/zstd&quot;&gt;&lt;img src=&quot;https://api.cirrus-ci.com/github/facebook/zstd.svg?branch=dev&quot; alt=&quot;Build status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&amp;amp;can=1&amp;amp;q=proj:zstd&quot;&gt;&lt;img src=&quot;https://oss-fuzz-build-logs.storage.googleapis.com/badges/zstd.svg?sanitize=true&quot; alt=&quot;Fuzzing Status&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Benchmarks&lt;/h2&gt; 
&lt;p&gt;For reference, several fast compression algorithms were tested and compared on a desktop featuring a Core i7-9700K CPU @ 4.9GHz and running Ubuntu 24.04 (&lt;code&gt;Linux 6.8.0-53-generic&lt;/code&gt;), using &lt;a href=&quot;https://github.com/inikep/lzbench&quot;&gt;lzbench&lt;/a&gt;, an open-source in-memory benchmark by @inikep compiled with &lt;a href=&quot;https://gcc.gnu.org/&quot;&gt;gcc&lt;/a&gt; 14.2.0, on the &lt;a href=&quot;https://sun.aei.polsl.pl//~sdeor/index.php?page=silesia&quot;&gt;Silesia compression corpus&lt;/a&gt;.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Compressor name&lt;/th&gt; 
   &lt;th&gt;Ratio&lt;/th&gt; 
   &lt;th&gt;Compression&lt;/th&gt; 
   &lt;th&gt;Decompress.&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;zstd 1.5.7 -1&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;2.896&lt;/td&gt; 
   &lt;td&gt;510 MB/s&lt;/td&gt; 
   &lt;td&gt;1550 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;brotli 1.1.0 -1&lt;/td&gt; 
   &lt;td&gt;2.883&lt;/td&gt; 
   &lt;td&gt;290 MB/s&lt;/td&gt; 
   &lt;td&gt;425 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://www.zlib.net/&quot;&gt;zlib&lt;/a&gt; 1.3.1 -1&lt;/td&gt; 
   &lt;td&gt;2.743&lt;/td&gt; 
   &lt;td&gt;105 MB/s&lt;/td&gt; 
   &lt;td&gt;390 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;zstd 1.5.7 --fast=1&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;2.439&lt;/td&gt; 
   &lt;td&gt;545 MB/s&lt;/td&gt; 
   &lt;td&gt;1850 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;quicklz 1.5.0 -1&lt;/td&gt; 
   &lt;td&gt;2.238&lt;/td&gt; 
   &lt;td&gt;520 MB/s&lt;/td&gt; 
   &lt;td&gt;750 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;zstd 1.5.7 --fast=4&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;2.146&lt;/td&gt; 
   &lt;td&gt;665 MB/s&lt;/td&gt; 
   &lt;td&gt;2050 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;lzo1x 2.10 -1&lt;/td&gt; 
   &lt;td&gt;2.106&lt;/td&gt; 
   &lt;td&gt;650 MB/s&lt;/td&gt; 
   &lt;td&gt;780 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://lz4.github.io/lz4/&quot;&gt;lz4&lt;/a&gt; 1.10.0&lt;/td&gt; 
   &lt;td&gt;2.101&lt;/td&gt; 
   &lt;td&gt;675 MB/s&lt;/td&gt; 
   &lt;td&gt;3850 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;snappy 1.2.1&lt;/td&gt; 
   &lt;td&gt;2.089&lt;/td&gt; 
   &lt;td&gt;520 MB/s&lt;/td&gt; 
   &lt;td&gt;1500 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;lzf 3.6 -1&lt;/td&gt; 
   &lt;td&gt;2.077&lt;/td&gt; 
   &lt;td&gt;410 MB/s&lt;/td&gt; 
   &lt;td&gt;820 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;The negative compression levels, specified with &lt;code&gt;--fast=#&lt;/code&gt;, offer faster compression and decompression speed at the cost of compression ratio.&lt;/p&gt; 
&lt;p&gt;Zstd can also offer stronger compression ratios at the cost of compression speed. Speed vs Compression trade-off is configurable by small increments. Decompression speed is preserved and remains roughly the same at all settings, a property shared by most LZ compression algorithms, such as &lt;a href=&quot;https://www.zlib.net/&quot;&gt;zlib&lt;/a&gt; or lzma.&lt;/p&gt; 
&lt;p&gt;The following tests were run on a server running Linux Debian (&lt;code&gt;Linux version 4.14.0-3-amd64&lt;/code&gt;) with a Core i7-6700K CPU @ 4.0GHz, using &lt;a href=&quot;https://github.com/inikep/lzbench&quot;&gt;lzbench&lt;/a&gt;, an open-source in-memory benchmark by @inikep compiled with &lt;a href=&quot;https://gcc.gnu.org/&quot;&gt;gcc&lt;/a&gt; 7.3.0, on the &lt;a href=&quot;https://sun.aei.polsl.pl//~sdeor/index.php?page=silesia&quot;&gt;Silesia compression corpus&lt;/a&gt;.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Compression Speed vs Ratio&lt;/th&gt; 
   &lt;th&gt;Decompression Speed&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/doc/images/CSpeed2.png&quot; alt=&quot;Compression Speed vs Ratio&quot; title=&quot;Compression Speed vs Ratio&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;img src=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/doc/images/DSpeed3.png&quot; alt=&quot;Decompression Speed&quot; title=&quot;Decompression Speed&quot; /&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;A few other algorithms can produce higher compression ratios at slower speeds, falling outside of the graph. For a larger picture including slow modes, &lt;a href=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/doc/images/DCspeed5.png&quot;&gt;click on this link&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;The case for Small Data compression&lt;/h2&gt; 
&lt;p&gt;Previous charts provide results applicable to typical file and stream scenarios (several MB). Small data comes with different perspectives.&lt;/p&gt; 
&lt;p&gt;The smaller the amount of data to compress, the more difficult it is to compress. This problem is common to all compression algorithms, and reason is, compression algorithms learn from past data how to compress future data. But at the beginning of a new data set, there is no &quot;past&quot; to build upon.&lt;/p&gt; 
&lt;p&gt;To solve this situation, Zstd offers a &lt;strong&gt;training mode&lt;/strong&gt;, which can be used to tune the algorithm for a selected type of data. Training Zstandard is achieved by providing it with a few samples (one file per sample). The result of this training is stored in a file called &quot;dictionary&quot;, which must be loaded before compression and decompression. Using this dictionary, the compression ratio achievable on small data improves dramatically.&lt;/p&gt; 
&lt;p&gt;The following example uses the &lt;code&gt;github-users&lt;/code&gt; &lt;a href=&quot;https://github.com/facebook/zstd/releases/tag/v1.1.3&quot;&gt;sample set&lt;/a&gt;, created from &lt;a href=&quot;https://developer.github.com/v3/users/#get-all-users&quot;&gt;github public API&lt;/a&gt;. It consists of roughly 10K records weighing about 1KB each.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Compression Ratio&lt;/th&gt; 
   &lt;th&gt;Compression Speed&lt;/th&gt; 
   &lt;th&gt;Decompression Speed&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/doc/images/dict-cr.png&quot; alt=&quot;Compression Ratio&quot; title=&quot;Compression Ratio&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;img src=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/doc/images/dict-cs.png&quot; alt=&quot;Compression Speed&quot; title=&quot;Compression Speed&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;img src=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/doc/images/dict-ds.png&quot; alt=&quot;Decompression Speed&quot; title=&quot;Decompression Speed&quot; /&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;These compression gains are achieved while simultaneously providing &lt;em&gt;faster&lt;/em&gt; compression and decompression speeds.&lt;/p&gt; 
&lt;p&gt;Training works if there is some correlation in a family of small data samples. The more data-specific a dictionary is, the more efficient it is (there is no &lt;em&gt;universal dictionary&lt;/em&gt;). Hence, deploying one dictionary per type of data will provide the greatest benefits. Dictionary gains are mostly effective in the first few KB. Then, the compression algorithm will gradually use previously decoded content to better compress the rest of the file.&lt;/p&gt; 
&lt;h3&gt;Dictionary compression How To:&lt;/h3&gt; 
&lt;ol&gt; 
 &lt;li&gt; &lt;p&gt;Create the dictionary&lt;/p&gt; &lt;p&gt;&lt;code&gt;zstd --train FullPathToTrainingSet/* -o dictionaryName&lt;/code&gt;&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Compress with dictionary&lt;/p&gt; &lt;p&gt;&lt;code&gt;zstd -D dictionaryName FILE&lt;/code&gt;&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Decompress with dictionary&lt;/p&gt; &lt;p&gt;&lt;code&gt;zstd -D dictionaryName --decompress FILE.zst&lt;/code&gt;&lt;/p&gt; &lt;/li&gt; 
&lt;/ol&gt; 
&lt;h2&gt;Build instructions&lt;/h2&gt; 
&lt;p&gt;&lt;code&gt;make&lt;/code&gt; is the main build system of this project. It is the reference, and other build systems are periodically updated to stay compatible. However, small drifts and feature differences can be present, since perfect synchronization is difficult. For this reason, when your build system allows it, prefer employing &lt;code&gt;make&lt;/code&gt;.&lt;/p&gt; 
&lt;h3&gt;Makefile&lt;/h3&gt; 
&lt;p&gt;Assuming your system supports standard &lt;code&gt;make&lt;/code&gt; (or &lt;code&gt;gmake&lt;/code&gt;), just invoking &lt;code&gt;make&lt;/code&gt; in root directory generates &lt;code&gt;zstd&lt;/code&gt; cli at root, and also generates &lt;code&gt;libzstd&lt;/code&gt; into &lt;code&gt;lib/&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;Other standard targets include:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;make install&lt;/code&gt; : install zstd cli, library and man pages&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;make check&lt;/code&gt; : run &lt;code&gt;zstd&lt;/code&gt;, test its essential behavior on local platform&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;The &lt;code&gt;Makefile&lt;/code&gt; follows the &lt;a href=&quot;https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html&quot;&gt;GNU Standard Makefile conventions&lt;/a&gt;, allowing staged install, standard compilation flags, directory variables and command variables.&lt;/p&gt; 
&lt;p&gt;For advanced use cases, specialized flags which control binary generation and installation paths are documented in &lt;a href=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/lib/README.md#modular-build&quot;&gt;&lt;code&gt;lib/README.md&lt;/code&gt;&lt;/a&gt; for the &lt;code&gt;libzstd&lt;/code&gt; library and in &lt;a href=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/programs/README.md#compilation-variables&quot;&gt;&lt;code&gt;programs/README.md&lt;/code&gt;&lt;/a&gt; for the &lt;code&gt;zstd&lt;/code&gt; CLI.&lt;/p&gt; 
&lt;h3&gt;cmake&lt;/h3&gt; 
&lt;p&gt;A &lt;code&gt;cmake&lt;/code&gt; project generator is available for generating Makefiles or other build scripts to create the &lt;code&gt;zstd&lt;/code&gt; binary as well as &lt;code&gt;libzstd&lt;/code&gt; dynamic and static libraries. The repository root now contains a minimal &lt;code&gt;CMakeLists.txt&lt;/code&gt; that forwards to &lt;code&gt;build/cmake&lt;/code&gt;, so you can configure the project with a standard &lt;code&gt;cmake -S .&lt;/code&gt; invocation, while the historical &lt;code&gt;cmake -S build/cmake&lt;/code&gt; entry point remains fully supported.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;cmake -S . -B build-cmake
cmake --build build-cmake
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;By default, &lt;code&gt;CMAKE_BUILD_TYPE&lt;/code&gt; is set to &lt;code&gt;Release&lt;/code&gt;.&lt;/p&gt; 
&lt;h4&gt;Support for Fat (Universal2) Output&lt;/h4&gt; 
&lt;p&gt;&lt;code&gt;zstd&lt;/code&gt; can be built and installed with support for both Apple Silicon (M1/M2) as well as Intel by using CMake&#39;s Universal2 support. To perform a Fat/Universal2 build and install use the following commands:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;cmake -S . -B build-cmake-debug -G Ninja -DCMAKE_OSX_ARCHITECTURES=&quot;x86_64;x86_64h;arm64&quot;
cd build-cmake-debug
ninja
sudo ninja install
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Meson&lt;/h3&gt; 
&lt;p&gt;A Meson project is provided within &lt;a href=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/build/meson&quot;&gt;&lt;code&gt;build/meson&lt;/code&gt;&lt;/a&gt;. Follow build instructions in that directory.&lt;/p&gt; 
&lt;p&gt;You can also take a look at &lt;a href=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/.travis.yml&quot;&gt;&lt;code&gt;.travis.yml&lt;/code&gt;&lt;/a&gt; file for an example about how Meson is used to build this project.&lt;/p&gt; 
&lt;p&gt;Note that default build type is &lt;strong&gt;release&lt;/strong&gt;.&lt;/p&gt; 
&lt;h3&gt;VCPKG&lt;/h3&gt; 
&lt;p&gt;You can build and install zstd &lt;a href=&quot;https://github.com/Microsoft/vcpkg/&quot;&gt;vcpkg&lt;/a&gt; dependency manager:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install zstd
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The zstd port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please &lt;a href=&quot;https://github.com/Microsoft/vcpkg&quot;&gt;create an issue or pull request&lt;/a&gt; on the vcpkg repository.&lt;/p&gt; 
&lt;h3&gt;Conan&lt;/h3&gt; 
&lt;p&gt;You can install pre-built binaries for zstd or build it from source using &lt;a href=&quot;https://conan.io/&quot;&gt;Conan&lt;/a&gt;. Use the following command:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;conan install --requires=&quot;zstd/[*]&quot; --build=missing
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The zstd Conan recipe is kept up to date by Conan maintainers and community contributors. If the version is out of date, please &lt;a href=&quot;https://github.com/conan-io/conan-center-index&quot;&gt;create an issue or pull request&lt;/a&gt; on the ConanCenterIndex repository.&lt;/p&gt; 
&lt;h3&gt;Visual Studio (Windows)&lt;/h3&gt; 
&lt;p&gt;Going into &lt;code&gt;build&lt;/code&gt; directory, you will find additional possibilities:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Projects for Visual Studio 2008 and 2010. 
  &lt;ul&gt; 
   &lt;li&gt;VS2010 project is compatible with VS2012, VS2013, VS2015 and VS2017.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Automated build scripts for Visual compiler by &lt;a href=&quot;https://github.com/KrzysFR&quot;&gt;@KrzysFR&lt;/a&gt;, in &lt;code&gt;build/VS_scripts&lt;/code&gt;, which will build &lt;code&gt;zstd&lt;/code&gt; cli and &lt;code&gt;libzstd&lt;/code&gt; library without any need to open Visual Studio solution.&lt;/li&gt; 
 &lt;li&gt;It is now recommended to generate Visual Studio solutions from &lt;code&gt;cmake&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Buck&lt;/h3&gt; 
&lt;p&gt;You can build the zstd binary via buck by executing: &lt;code&gt;buck build programs:zstd&lt;/code&gt; from the root of the repo. The output binary will be in &lt;code&gt;buck-out/gen/programs/&lt;/code&gt;.&lt;/p&gt; 
&lt;h3&gt;Bazel&lt;/h3&gt; 
&lt;p&gt;You can integrate zstd into your Bazel project by using the module hosted on the &lt;a href=&quot;https://registry.bazel.build/modules/zstd&quot;&gt;Bazel Central Repository&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Testing&lt;/h2&gt; 
&lt;p&gt;You can run quick local smoke tests by running &lt;code&gt;make check&lt;/code&gt;. If you can&#39;t use &lt;code&gt;make&lt;/code&gt;, execute the &lt;code&gt;playTest.sh&lt;/code&gt; script from the &lt;code&gt;src/tests&lt;/code&gt; directory. Two env variables &lt;code&gt;$ZSTD_BIN&lt;/code&gt; and &lt;code&gt;$DATAGEN_BIN&lt;/code&gt; are needed for the test script to locate the &lt;code&gt;zstd&lt;/code&gt; and &lt;code&gt;datagen&lt;/code&gt; binary. For information on CI testing, please refer to &lt;code&gt;TESTING.md&lt;/code&gt;.&lt;/p&gt; 
&lt;h2&gt;Status&lt;/h2&gt; 
&lt;p&gt;Zstandard is deployed within Meta and many other large cloud infrastructures, to compress humongous amounts of data in various formats and use cases. It is also continuously fuzzed for security issues by Google&#39;s &lt;a href=&quot;https://github.com/google/oss-fuzz/tree/master/projects/zstd&quot;&gt;oss-fuzz&lt;/a&gt; program.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Zstandard is dual-licensed under &lt;a href=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/LICENSE&quot;&gt;BSD&lt;/a&gt; OR &lt;a href=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/COPYING&quot;&gt;GPLv2&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;The &lt;code&gt;dev&lt;/code&gt; branch is the one where all contributions are merged before reaching &lt;code&gt;release&lt;/code&gt;. Direct commit to &lt;code&gt;release&lt;/code&gt; are not permitted. For more information, please read &lt;a href=&quot;https://raw.githubusercontent.com/facebook/zstd/dev/CONTRIBUTING.md&quot;&gt;CONTRIBUTING&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/5d3c9275f77769e96441a09d515391847945203e32d81f6b926bfad4ea2502c4/facebook/zstd" medium="image" />
      
    </item>
    
    <item>
      <title>AcademySoftwareFoundation/openexr</title>
      <link>https://github.com/AcademySoftwareFoundation/openexr</link>
      <description>&lt;p&gt;The OpenEXR project provides the specification and reference implementation of the EXR file format, the professional-grade image storage format of the motion picture industry.&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/LICENSE.md&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/license/AcademySoftwareFoundation/openexr&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://bestpractices.coreinfrastructure.org/projects/2799&quot;&gt;&lt;img src=&quot;https://bestpractices.coreinfrastructure.org/projects/2799/badge&quot; alt=&quot;CII Best Practices&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://securityscorecards.dev/viewer/?uri=github.com/AcademySoftwareFoundation/openexr&quot;&gt;&lt;img src=&quot;https://api.securityscorecards.dev/projects/github.com/AcademySoftwareFoundation/openexr/badge&quot; alt=&quot;OpenSSF Scorecard&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/AcademySoftwareFoundation/openexr/actions?query=workflow%3ACI&quot;&gt;&lt;img src=&quot;https://github.com/AcademySoftwareFoundation/openexr/workflows/CI/badge.svg?sanitize=true&quot; alt=&quot;Build Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/AcademySoftwareFoundation/openexr/actions?query=workflow%3AAnalysis&quot;&gt;&lt;img src=&quot;https://github.com/AcademySoftwareFoundation/openexr/workflows/Analysis/badge.svg?sanitize=true&quot; alt=&quot;Analysis Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://sonarcloud.io/dashboard?id=AcademySoftwareFoundation_openexr&quot;&gt;&lt;img src=&quot;https://sonarcloud.io/api/project_badges/measure?project=AcademySoftwareFoundation_openexr&amp;amp;metric=alert_status&quot; alt=&quot;Quality Gate Status&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h1&gt;OpenEXR&lt;/h1&gt; 
&lt;img align=&quot;right&quot; src=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/docs/technical/images/windowExample1.png&quot; /&gt; 
&lt;p&gt;OpenEXR provides the specification and reference implementation of the EXR file format, the professional-grade image storage format of the motion picture industry.&lt;/p&gt; 
&lt;p&gt;The purpose of EXR format is to accurately and efficiently represent high-dynamic-range scene-linear image data and associated metadata, with strong support for multi-part, multi-channel use cases.&lt;/p&gt; 
&lt;p&gt;OpenEXR is widely used in host application software where accuracy is critical, such as photorealistic rendering, texture access, image compositing, deep compositing, and DI.&lt;/p&gt; 
&lt;h2&gt;OpenEXR Project Mission&lt;/h2&gt; 
&lt;p&gt;The goal of the OpenEXR project is to keep the EXR format reliable and modern and to maintain its place as the preferred image format for entertainment content creation.&lt;/p&gt; 
&lt;p&gt;Major revisions are infrequent, and new features will be carefully weighed against increased complexity. The principal priorities of the project are:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Robustness, reliability, security&lt;/li&gt; 
 &lt;li&gt;Backwards compatibility, data longevity&lt;/li&gt; 
 &lt;li&gt;Performance - read/write/compression/decompression time&lt;/li&gt; 
 &lt;li&gt;Simplicity, ease of use, maintainability&lt;/li&gt; 
 &lt;li&gt;Wide adoption, multi-platform support - Linux, Windows, macOS, and others&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;OpenEXR is intended solely for 2D data. It is not appropriate for storage of volumetric data, cached or lit 3D scenes, or more complex 3D data such as light fields.&lt;/p&gt; 
&lt;p&gt;The goals of the Imath project are simplicity, ease of use, correctness and verifiability, and breadth of adoption. Imath is not intended to be a comprehensive linear algebra or numerical analysis package.&lt;/p&gt; 
&lt;h2&gt;Project Governance&lt;/h2&gt; 
&lt;p&gt;OpenEXR is a project of the &lt;a href=&quot;https://www.aswf.io&quot;&gt;Academy Software Foundation&lt;/a&gt;. See the project&#39;s &lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/GOVERNANCE.md&quot;&gt;governance policies&lt;/a&gt;, &lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/CONTRIBUTING.md&quot;&gt;contribution guidelines&lt;/a&gt;, and &lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/CODE_OF_CONDUCT&quot;&gt;code of conduct&lt;/a&gt; for more information.&lt;/p&gt; 
&lt;h1&gt;Building OpenEXR&lt;/h1&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://openexr.com/en/latest/install.html&quot;&gt;Install instructions&lt;/a&gt; for instructions on how to build OpenEXR and its required prerequisites.&lt;/p&gt; 
&lt;h1&gt;Quick Start&lt;/h1&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://openexr.readthedocs.io&quot;&gt;technical documentation&lt;/a&gt; for complete details, but to get started, the &quot;Hello, world&quot; &lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/website/src/exrwriter/exrwriter.cpp&quot;&gt;&lt;code&gt;exrwriter.cpp&lt;/code&gt;&lt;/a&gt; writer program is:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;#include &amp;lt;ImfRgbaFile.h&amp;gt;
#include &amp;lt;ImfArray.h&amp;gt;
#include &amp;lt;iostream&amp;gt;

using namespace OPENEXR_IMF_NAMESPACE;

int
main()
{
    int width =  100;
    int height = 50;

    Array2D&amp;lt;Rgba&amp;gt; pixels(height, width);
    for (int y=0; y&amp;lt;height; y++)
    {
        float c = (y / 5 % 2 == 0) ? (y / (float) height) : 0.0;
        for (int x=0; x&amp;lt;width; x++)
            pixels[y][x] = Rgba(c, c, c);
    }

    try {
        RgbaOutputFile file (&quot;stripes.exr&quot;, width, height, WRITE_RGBA);
        file.setFrameBuffer (&amp;amp;pixels[0][0], 1, width);
        file.writePixels (height);
    } catch (const std::exception &amp;amp;e) {
        std::cerr &amp;lt;&amp;lt; &quot;error writing image file stripes.exr:&quot; &amp;lt;&amp;lt; e.what() &amp;lt;&amp;lt; std::endl;
        return 1;
    }
    return 0;
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This creates an image 100 pixels wide and 50 pixels high with horizontal stripes 5 pixels high of graduated intensity, bright on the bottom of the image and dark towards the top. Note that &lt;code&gt;pixel[0][0]&lt;/code&gt; is in the upper left:&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/website/images/stripes.png&quot; alt=&quot;stripes&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;The &lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/website/src/exrwriter/CMakeLists.txt&quot;&gt;&lt;code&gt;CMakeLists.txt&lt;/code&gt;&lt;/a&gt; to build:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;cmake_minimum_required(VERSION 3.12)
project(exrwriter)
find_package(OpenEXR REQUIRED)

add_executable(${PROJECT_NAME} exrwriter.cpp)
target_link_libraries(${PROJECT_NAME} OpenEXR::OpenEXR)
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To build:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;$ cmake -S . -B _build -DCMAKE_PREFIX_PATH=&amp;lt;path to OpenEXR libraries/includes&amp;gt;
$ cmake --build _build
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;For more details, see &lt;a href=&quot;https://openexr.readthedocs.io/en/latest/API.html#the-openexr-api&quot;&gt;The OpenEXR API&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Community&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Ask a question:&lt;/strong&gt;&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt; &lt;p&gt;Email: &lt;a href=&quot;mailto:openexr-dev@lists.aswf.io&quot;&gt;openexr-dev@lists.aswf.io&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; 
   &lt;li&gt; &lt;p&gt;Slack: &lt;a href=&quot;https://academysoftwarefdn.slack.com/archives/CMLRW4N73&quot;&gt;academysoftwarefdn#openexr&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Attend a meeting:&lt;/strong&gt;&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt; &lt;p&gt;Technical Steering Committee meetings are open to the public, fortnightly on Thursdays, 1:30pm Pacific Time.&lt;/p&gt; &lt;/li&gt; 
   &lt;li&gt; &lt;p&gt;Calendar: &lt;a href=&quot;https://zoom-lfx.platform.linuxfoundation.org/meetings/openexr&quot;&gt;https://zoom-lfx.platform.linuxfoundation.org/meetings/openexr&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; 
   &lt;li&gt; &lt;p&gt;Meeting Notes: &lt;a href=&quot;https://wiki.aswf.io/display/OEXR/TSC+Meetings&quot;&gt;https://wiki.aswf.io/display/OEXR/TSC+Meetings&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Report a bug:&lt;/strong&gt;&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;Submit an Issue: &lt;a href=&quot;https://github.com/AcademySoftwareFoundation/openexr/issues&quot;&gt;https://github.com/AcademySoftwareFoundation/openexr/issues&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Report a security vulnerability:&lt;/strong&gt;&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;File a GitHub &lt;a href=&quot;https://github.com/AcademySoftwareFoundation/openexr/security/advisories/new&quot;&gt;security advisory&lt;/a&gt;. Email &lt;a href=&quot;mailto:security@openexr.com&quot;&gt;security@openexr.com&lt;/a&gt; for private/secure discussion with the project maintainers.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Contribute a Fix, Feature, or Improvement:&lt;/strong&gt;&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt; &lt;p&gt;Read the &lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/CONTRIBUTING.md&quot;&gt;Contribution Guidelines&lt;/a&gt; and &lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/CODE_OF_CONDUCT.md&quot;&gt;Code of Conduct&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; 
   &lt;li&gt; &lt;p&gt;Sign the &lt;a href=&quot;https://contributor.easycla.lfx.linuxfoundation.org/#/cla/project/2e8710cb-e379-4116-a9ba-964f83618cc5/user/564e571e-12d7-4857-abd4-898939accdd7&quot;&gt;Contributor License Agreement&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; 
   &lt;li&gt; &lt;p&gt;Submit a Pull Request: &lt;a href=&quot;https://github.com/AcademySoftwareFoundation/openexr/pulls&quot;&gt;https://github.com/AcademySoftwareFoundation/openexr/pulls&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; 
   &lt;li&gt; &lt;p&gt;If you&#39;d like to contribute and could use some ideas of what to do, browse &quot;good first issues&quot; &lt;a href=&quot;https://github.com/AcademySoftwareFoundation/openexr/contribute&quot;&gt;here&lt;/a&gt; or on &lt;a href=&quot;https://clotributor.dev/search?ts_query_web=openexr&amp;amp;page=1&quot;&gt;Clotributor&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Resources&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt;Website: &lt;a href=&quot;http://www.openexr.com&quot;&gt;http://www.openexr.com&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Technical documentation: &lt;a href=&quot;https://openexr.readthedocs.io&quot;&gt;https://openexr.readthedocs.io&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Porting help: &lt;a href=&quot;https://openexr.readthedocs.io/en/latest/PortingGuide.html&quot;&gt;OpenEXR/Imath Version 2.x to 3.x Porting Guide&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Reference images: &lt;a href=&quot;https://github.com/AcademySoftwareFoundation/openexr-images&quot;&gt;https://github.com/AcademySoftwareFoundation/openexr-images&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Security policy: &lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/SECURITY.md&quot;&gt;SECURITY.md&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Release notes: &lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/CHANGES.md&quot;&gt;CHANGES.md&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Contributors: &lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/CONTRIBUTORS.md&quot;&gt;CONTRIBUTORS.md&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;License&lt;/h1&gt; 
&lt;p&gt;OpenEXR is licensed under the &lt;a href=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/LICENSE.md&quot;&gt;BSD-3-Clause license&lt;/a&gt;.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/AcademySoftwareFoundation/openexr/main/ASWF/images/aswf.png&quot; alt=&quot;aswf&quot; /&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/939b221a67624aa02b40c7970a527e7248624a1c2aebc03d68755c0dac3283f8/AcademySoftwareFoundation/openexr" medium="image" />
      
    </item>
    
    <item>
      <title>jqlang/jq</title>
      <link>https://github.com/jqlang/jq</link>
      <description>&lt;p&gt;Command-line JSON processor&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;jq&lt;/h1&gt; 
&lt;p&gt;&lt;code&gt;jq&lt;/code&gt; is a lightweight and flexible command-line JSON processor akin to &lt;code&gt;sed&lt;/code&gt;,&lt;code&gt;awk&lt;/code&gt;,&lt;code&gt;grep&lt;/code&gt;, and friends for JSON data. It&#39;s written in portable C and has zero runtime dependencies, allowing you to easily slice, filter, map, and transform structured data.&lt;/p&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Official Documentation&lt;/strong&gt;: &lt;a href=&quot;https://jqlang.org&quot;&gt;jqlang.org&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Try jq Online&lt;/strong&gt;: &lt;a href=&quot;https://play.jqlang.org&quot;&gt;play.jqlang.org&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;h3&gt;Prebuilt Binaries&lt;/h3&gt; 
&lt;p&gt;Download the latest releases from the &lt;a href=&quot;https://github.com/jqlang/jq/releases&quot;&gt;GitHub release page&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Docker Image&lt;/h3&gt; 
&lt;p&gt;Pull the &lt;a href=&quot;https://github.com/jqlang/jq/pkgs/container/jq&quot;&gt;jq image&lt;/a&gt; to start quickly with Docker.&lt;/p&gt; 
&lt;h4&gt;Run with Docker&lt;/h4&gt; 
&lt;h5&gt;Example: Extracting the version from a &lt;code&gt;package.json&lt;/code&gt; file&lt;/h5&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker run --rm -i ghcr.io/jqlang/jq:latest &amp;lt; package.json &#39;.version&#39;
&lt;/code&gt;&lt;/pre&gt; 
&lt;h5&gt;Example: Extracting the version from a &lt;code&gt;package.json&lt;/code&gt; file with a mounted volume&lt;/h5&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker run --rm -i -v &quot;$PWD:$PWD&quot; -w &quot;$PWD&quot; ghcr.io/jqlang/jq:latest &#39;.version&#39; package.json
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Building from source&lt;/h3&gt; 
&lt;h4&gt;Dependencies&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;libtool&lt;/li&gt; 
 &lt;li&gt;make&lt;/li&gt; 
 &lt;li&gt;automake&lt;/li&gt; 
 &lt;li&gt;autoconf&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;Instructions&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-console&quot;&gt;git submodule update --init    # if building from git to get oniguruma
autoreconf -i                  # if building from git
./configure --with-oniguruma=builtin
make clean                     # if upgrading from a version previously built from source
make -j8
make check
sudo make install
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Build a statically linked version:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-console&quot;&gt;make LDFLAGS=-all-static
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;If you&#39;re not using the latest git version but instead building a released tarball (available on the release page), skip the &lt;code&gt;autoreconf&lt;/code&gt; step, and flex or bison won&#39;t be needed.&lt;/p&gt; 
&lt;h5&gt;Cross-Compilation&lt;/h5&gt; 
&lt;p&gt;For details on cross-compilation, check out the &lt;a href=&quot;https://raw.githubusercontent.com/jqlang/jq/master/.github/workflows/ci.yml&quot;&gt;GitHub Actions file&lt;/a&gt; and the &lt;a href=&quot;https://github.com/jqlang/jq/wiki/Cross-compilation&quot;&gt;cross-compilation wiki page&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Community &amp;amp; Support&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Questions &amp;amp; Help: &lt;a href=&quot;https://stackoverflow.com/questions/tagged/jq&quot;&gt;Stack Overflow (jq tag)&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Chat &amp;amp; Community: &lt;a href=&quot;https://discord.gg/yg6yjNmgAC&quot;&gt;Join us on Discord&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Wiki &amp;amp; Advanced Topics: &lt;a href=&quot;https://github.com/jqlang/jq/wiki&quot;&gt;Explore the Wiki&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;&lt;code&gt;jq&lt;/code&gt; is released under the &lt;a href=&quot;https://raw.githubusercontent.com/jqlang/jq/master/COPYING&quot;&gt;MIT License&lt;/a&gt;. &lt;code&gt;jq&lt;/code&gt;&#39;s documentation is licensed under the &lt;a href=&quot;https://raw.githubusercontent.com/jqlang/jq/master/COPYING&quot;&gt;Creative Commons CC BY 3.0&lt;/a&gt;. &lt;code&gt;jq&lt;/code&gt; uses parts of the open source C library &quot;decNumber&quot;, which is distributed under &lt;a href=&quot;https://raw.githubusercontent.com/jqlang/jq/master/COPYING&quot;&gt;ICU License&lt;/a&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/32fdd50af5c675869207682a634e69635f312953147ee75dbdf4575c747a5492/jqlang/jq" medium="image" />
      
    </item>
    
    <item>
      <title>tmux/tmux</title>
      <link>https://github.com/tmux/tmux</link>
      <description>&lt;p&gt;tmux source code&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Welcome to tmux!&lt;/h1&gt; 
&lt;p&gt;tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.&lt;/p&gt; 
&lt;p&gt;This release runs on OpenBSD, FreeBSD, NetBSD, Linux, macOS and Solaris.&lt;/p&gt; 
&lt;h2&gt;Dependencies&lt;/h2&gt; 
&lt;p&gt;tmux depends on &lt;a href=&quot;https://libevent.org&quot;&gt;libevent&lt;/a&gt; 2.x, available from &lt;a href=&quot;https://github.com/libevent/libevent/releases/latest&quot;&gt;this page&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;It also depends on &lt;a href=&quot;https://www.gnu.org/software/ncurses/&quot;&gt;ncurses&lt;/a&gt;, available from &lt;a href=&quot;https://invisible-mirror.net/archives/ncurses/&quot;&gt;this page&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;To build tmux, a C compiler (for example gcc or clang), make, pkg-config and a suitable yacc (yacc or bison) are needed.&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;h3&gt;Binary packages&lt;/h3&gt; 
&lt;p&gt;Some platforms provide binary packages for tmux, although these are sometimes out of date. Examples are listed on &lt;a href=&quot;https://github.com/tmux/tmux/wiki/Installing&quot;&gt;this page&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;From release tarball&lt;/h3&gt; 
&lt;p&gt;To build and install tmux from a release tarball, use:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;./configure &amp;amp;&amp;amp; make
sudo make install
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;tmux can use the utempter library to update utmp(5), if it is installed - run configure with &lt;code&gt;--enable-utempter&lt;/code&gt; to enable this.&lt;/p&gt; 
&lt;p&gt;For more detailed instructions on building and installing tmux, see &lt;a href=&quot;https://github.com/tmux/tmux/wiki/Installing&quot;&gt;this page&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;From version control&lt;/h3&gt; 
&lt;p&gt;To get and build the latest from version control - note that this requires &lt;code&gt;autoconf&lt;/code&gt;, &lt;code&gt;automake&lt;/code&gt; and &lt;code&gt;pkg-config&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure &amp;amp;&amp;amp; make
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;Bug reports, feature suggestions and especially code contributions are most welcome. Please send by email to:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;mailto:tmux-users@googlegroups.com&quot;&gt;tmux-users@googlegroups.com&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Or open a GitHub issue or pull request. &lt;strong&gt;Please read &lt;a href=&quot;https://raw.githubusercontent.com/tmux/tmux/master/CONTRIBUTING.md&quot;&gt;this document&lt;/a&gt; before opening an issue.&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;There is &lt;a href=&quot;https://github.com/tmux/tmux/wiki/Contributing&quot;&gt;a list of suggestions for contributions&lt;/a&gt;. Please feel free to ask on the mailing list if you&#39;re thinking of working on something or need further information.&lt;/p&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;p&gt;For documentation on using tmux, see the tmux.1 manpage. View it from the source tree with:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;nroff -mdoc tmux.1|less
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;A small example configuration is in &lt;code&gt;example_tmux.conf&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;And a bash(1) completion file at:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/scop/bash-completion/raw/main/completions-core/tmux.bash&quot;&gt;https://github.com/scop/bash-completion/blob/main/completions-core/tmux.bash&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;For debugging, run tmux with &lt;code&gt;-v&lt;/code&gt; or &lt;code&gt;-vv&lt;/code&gt; to generate server and client log files in the current directory.&lt;/p&gt; 
&lt;h2&gt;Support&lt;/h2&gt; 
&lt;p&gt;The tmux mailing list for general discussion and bug reports is:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://groups.google.com/forum/#!forum/tmux-users&quot;&gt;https://groups.google.com/forum/#!forum/tmux-users&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Subscribe by sending an email to:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;mailto:tmux-users+subscribe@googlegroups.com&quot;&gt;tmux-users+subscribe@googlegroups.com&lt;/a&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/058d377d7048c836a36cc3ea14586cab20af869b344efa93da065b7fbefa13a1/tmux/tmux" medium="image" />
      
    </item>
    
    <item>
      <title>OISF/suricata</title>
      <link>https://github.com/OISF/suricata</link>
      <description>&lt;p&gt;Suricata is a network Intrusion Detection System, Intrusion Prevention System and Network Security Monitoring engine developed by the OISF and the Suricata community.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Suricata&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&amp;amp;can=1&amp;amp;q=proj:suricata&quot;&gt;&lt;img src=&quot;https://oss-fuzz-build-logs.storage.googleapis.com/badges/suricata.svg?sanitize=true&quot; alt=&quot;Fuzzing Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://codecov.io/gh/OISF/suricata&quot;&gt;&lt;img src=&quot;https://codecov.io/gh/OISF/suricata/branch/main/graph/badge.svg?token=QRyyn2BSo1&quot; alt=&quot;codecov&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Introduction&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://suricata.io&quot;&gt;Suricata&lt;/a&gt; is a network IDS, IPS and NSM engine developed by the &lt;a href=&quot;https://oisf.net&quot;&gt;OISF&lt;/a&gt; and the Suricata community.&lt;/p&gt; 
&lt;h2&gt;Resources&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://suricata.io&quot;&gt;Home Page&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://redmine.openinfosecfoundation.org/projects/suricata&quot;&gt;Bug Tracker&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.suricata.io&quot;&gt;User Guide&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.suricata.io/en/latest/devguide/index.html&quot;&gt;Dev Guide&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.suricata.io/en/latest/install.html&quot;&gt;Installation Guide&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://forum.suricata.io&quot;&gt;User Support Forum&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;We&#39;re happily taking patches and other contributions. Please see our &lt;a href=&quot;https://docs.suricata.io/en/latest/devguide/contributing/contribution-process.html&quot;&gt;Contribution Process&lt;/a&gt; for how to get started.&lt;/p&gt; 
&lt;p&gt;Suricata is a complex piece of software dealing with mostly untrusted input. Mishandling this input will have serious consequences:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;in IPS mode a crash may knock a network offline&lt;/li&gt; 
 &lt;li&gt;in passive mode a compromise of the IDS may lead to loss of critical and confidential data&lt;/li&gt; 
 &lt;li&gt;missed detection may lead to undetected compromise of the network&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;In other words, we think the stakes are pretty high, especially since in many common cases the IDS/IPS will be directly reachable by an attacker.&lt;/p&gt; 
&lt;p&gt;For this reason, we have developed a QA process that is quite extensive. A consequence is that contributing to Suricata can be a somewhat lengthy process.&lt;/p&gt; 
&lt;p&gt;On a high level, the steps are:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;GitHub-CI based checks. This runs automatically when a pull request is made.&lt;/li&gt; 
 &lt;li&gt;Review by devs from the team and community&lt;/li&gt; 
 &lt;li&gt;QA runs from private QA setups. These are private due to the nature of the test traffic.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h3&gt;Overview of Suricata&#39;s QA steps&lt;/h3&gt; 
&lt;p&gt;OISF team members are able to submit builds to our private QA setup. It will run a series of build tests and a regression suite to confirm no existing features break.&lt;/p&gt; 
&lt;p&gt;The final QA runs takes a few hours minimally, and generally runs overnight. It currently runs:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;extensive build tests on different OS&#39;, compilers, optimization levels, configure features&lt;/li&gt; 
 &lt;li&gt;static code analysis using cppcheck, scan-build&lt;/li&gt; 
 &lt;li&gt;runtime code analysis using valgrind, AddressSanitizer, LeakSanitizer&lt;/li&gt; 
 &lt;li&gt;regression tests for past bugs&lt;/li&gt; 
 &lt;li&gt;output validation of logging&lt;/li&gt; 
 &lt;li&gt;unix socket testing&lt;/li&gt; 
 &lt;li&gt;pcap based fuzz testing using ASAN and LSAN&lt;/li&gt; 
 &lt;li&gt;traffic replay based IDS and IPS tests&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Next to these tests, based on the type of code change further tests can be run manually:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;traffic replay testing (multi-gigabit)&lt;/li&gt; 
 &lt;li&gt;large pcap collection processing (multi-terabytes)&lt;/li&gt; 
 &lt;li&gt;fuzz testing (might take multiple days or even weeks)&lt;/li&gt; 
 &lt;li&gt;pcap based performance testing&lt;/li&gt; 
 &lt;li&gt;live performance testing&lt;/li&gt; 
 &lt;li&gt;various other manual tests based on evaluation of the proposed changes&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;It&#39;s important to realize that almost all of the tests above are used as acceptance tests. If something fails, it&#39;s up to you to address this in your code.&lt;/p&gt; 
&lt;p&gt;One step of the QA is currently run post-merge. We submit builds to the Coverity Scan program. Due to limitations of this (free) service, we can submit once a day max. Of course it can happen that after the merge the community will find issues. For both cases we request you to help address the issues as they may come up.&lt;/p&gt; 
&lt;h2&gt;FAQ&lt;/h2&gt; 
&lt;p&gt;&lt;strong&gt;Q: Will you accept my PR?&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;A: That depends on a number of things, including the code quality. With new features it also depends on whether the team and/or the community think the feature is useful, how much it affects other code and features, the risk of performance regressions, etc.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Q: When will my PR be merged?&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;A: It depends, if it&#39;s a major feature or considered a high risk change, it will probably go into the next major version.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Q: Why was my PR closed?&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;A: As documented in the &lt;a href=&quot;https://docs.suricata.io/en/latest/devguide/contributing/github-pr-workflow.html&quot;&gt;Suricata GitHub workflow&lt;/a&gt;, we expect a new pull request for every change.&lt;/p&gt; 
&lt;p&gt;Normally, the team (or community) will give feedback on a pull request after which it is expected to be replaced by an improved PR. So look at the comments. If you disagree with the comments we can still discuss them in the closed PR.&lt;/p&gt; 
&lt;p&gt;If the PR was closed without comments it&#39;s likely due to QA failure. If the GitHub-CI checks failed, the PR should be fixed right away. No need for a discussion about it, unless you believe the QA failure is incorrect.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Q: The compiler/code analyser/tool is wrong, what now?&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;A: To assist in the automation of the QA, we&#39;re not accepting warnings or errors to stay. In some cases this could mean that we add a suppression if the tool supports that (e.g. valgrind, DrMemory). Some warnings can be disabled. In some exceptional cases the only &#39;solution&#39; is to refactor the code to work around a static code checker limitation false positive. While frustrating, we prefer this over leaving warnings in the output. Warnings tend to get ignored and then increase risk of hiding other warnings.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Q: I think your QA test is wrong&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;A: If you really think it is, we can discuss how to improve it. But don&#39;t come to this conclusion too quickly, more often it&#39;s the code that turns out to be wrong.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Q: Do you require signing of a contributor license agreement?&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;A: Yes, we do this to keep the ownership of Suricata in one hand: the Open Information Security Foundation. See &lt;a href=&quot;http://suricata.io/about/open-source/&quot;&gt;http://suricata.io/about/open-source/&lt;/a&gt; and &lt;a href=&quot;http://suricata.io/about/contribution-agreement/&quot;&gt;http://suricata.io/about/contribution-agreement/&lt;/a&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/4eb3d05478e5484ef1fdd02401609a5fda80ed82811c958929ea20acec939dd5/OISF/suricata" medium="image" />
      
    </item>
    
    <item>
      <title>nrfconnect/sdk-nrf</title>
      <link>https://github.com/nrfconnect/sdk-nrf</link>
      <description>&lt;p&gt;nRF Connect SDK main repository&lt;/p&gt;&lt;hr&gt;&lt;p&gt;nRF Connect SDK: sdk-nrf ########################&lt;/p&gt; 
&lt;p&gt;.. contents:: :local: :depth: 2&lt;/p&gt; 
&lt;p&gt;This repository contains the core of nRF Connect SDK, including subsystems, libraries, samples, and applications. It is also the SDK&#39;s west manifest repository, containing the nRF Connect SDK manifest (west.yml).&lt;/p&gt; 
&lt;p&gt;Documentation&lt;/p&gt; 
&lt;hr /&gt; 
&lt;p&gt;Official latest documentation at &lt;a href=&quot;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/index.html&quot;&gt;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/index.html&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;For earlier versions, open the latest version and use the drop-down under the title header.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/0cd376da07fda8d65a561e489150aa85763c618b9e4461852e6ae951b1d018f2/nrfconnect/sdk-nrf" medium="image" />
      
    </item>
    
    <item>
      <title>taosdata/TDengine</title>
      <link>https://github.com/taosdata/TDengine</link>
      <description>&lt;p&gt;High-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios&lt;/p&gt;&lt;hr&gt;&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://tdengine.com&quot; target=&quot;_blank&quot;&gt; &lt;img src=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/tdengine-logo.svg?sanitize=true&quot; alt=&quot;TDengine&quot; width=&quot;500&quot; /&gt; &lt;/a&gt; &lt;/p&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;p&gt;&lt;a href=&quot;https://github.com/taosdata/TDengine/actions/workflows/tdengine-release-build.yml&quot;&gt;&lt;img src=&quot;https://github.com/taosdata/TDengine/actions/workflows/tdengine-release-build.yml/badge.svg?sanitize=true&quot; alt=&quot;TDengine Release Build&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://coveralls.io/github/taosdata/TDengine?branch=3.0&quot;&gt;&lt;img src=&quot;https://coveralls.io/repos/github/taosdata/TDengine/badge.svg?branch=3.0&quot; alt=&quot;Coverage Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/feici02/TDengine/commits/main/&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/commit-activity/m/taosdata/tdengine&quot; alt=&quot;GitHub commit activity&quot; /&gt;&lt;/a&gt; &lt;br /&gt; &lt;a href=&quot;https://github.com/taosdata/TDengine/releases&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/v/release/taosdata/tdengine&quot; alt=&quot;GitHub Release&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/taosdata/TDengine/raw/main/LICENSE&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/license/taosdata/tdengine&quot; alt=&quot;GitHub License&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://bestpractices.coreinfrastructure.org/projects/4201&quot;&gt;&lt;img src=&quot;https://bestpractices.coreinfrastructure.org/projects/4201/badge&quot; alt=&quot;CII Best Practices&quot; /&gt;&lt;/a&gt; &lt;br /&gt; &lt;a href=&quot;https://twitter.com/tdenginedb&quot;&gt;&lt;img src=&quot;https://img.shields.io/twitter/follow/tdenginedb?label=TDengine&amp;amp;style=social&quot; alt=&quot;Twitter Follow&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.youtube.com/@tdengine&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Subscribe_@tdengine--white?logo=youtube&amp;amp;style=social&quot; alt=&quot;YouTube Channel&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.com/invite/VZdSuUg4pS&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Join_Discord--white?logo=discord&amp;amp;style=social&quot; alt=&quot;Discord Community&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.linkedin.com/company/tdengine&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Follow_LinkedIn--white?logo=linkedin&amp;amp;style=social&quot; alt=&quot;LinkedIn&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://stackoverflow.com/questions/tagged/tdengine&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Ask_StackOverflow--white?logo=stackoverflow&amp;amp;style=social&amp;amp;logoColor=orange&quot; alt=&quot;StackOverflow&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://deepwiki.com/taosdata/TDengine&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Ask%20DeepWiki-white.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==&quot; alt=&quot;DeepWiki&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;p&gt;English | &lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/README-CN.md&quot;&gt;简体中文&lt;/a&gt; | &lt;a href=&quot;https://cloud.tdengine.com&quot;&gt;TDengine Cloud&lt;/a&gt; | &lt;a href=&quot;https://tdengine.com/time-series-database/&quot;&gt;Learn more about TSDB&lt;/a&gt;&lt;/p&gt; 
 &lt;br /&gt; 
&lt;/div&gt; 
&lt;h1&gt;Table of Contents&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#1-introduction&quot;&gt;1. Introduction&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#2-documentation&quot;&gt;2. Documentation&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#3-prerequisites&quot;&gt;3. Prerequisites&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#31-prerequisites-on-linux&quot;&gt;3.1 Prerequisites on Linux&lt;/a&gt; 
    &lt;ul&gt; 
     &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#311-for-ubuntu&quot;&gt;3.1.1 For Ubuntu&lt;/a&gt;&lt;/li&gt; 
     &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#312-for-centos&quot;&gt;3.1.2 For CentOS&lt;/a&gt;&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#32-prerequisites-on-macos&quot;&gt;3.2 Prerequisites on macOS&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#33-prerequisites-on-windows&quot;&gt;3.3 Prerequisites on Windows&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#34-clone-the-repo&quot;&gt;3.4 Clone the repo&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#4-building&quot;&gt;4. Building&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#41-build-on-linux&quot;&gt;4.1 Build on Linux&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#42-build-on-macos&quot;&gt;4.2 Build on macOS&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#43-build-on-windows&quot;&gt;4.3 Build on Windows&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#5-packaging&quot;&gt;5. Packaging&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#6-installation&quot;&gt;6. Installation&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#61-install-on-linux&quot;&gt;6.1 Install on Linux&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#62-install-on-macos&quot;&gt;6.2 Install on macOS&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#63-install-on-windows&quot;&gt;6.3 Install on Windows&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#7-running&quot;&gt;7. Running&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#71-run-tdengine-on-linux&quot;&gt;7.1 Run TDengine on Linux&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#72-run-tdengine-on-macos&quot;&gt;7.2 Run TDengine on macOS&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#73-run-tdengine-on-windows&quot;&gt;7.3 Run TDengine on Windows&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#8-testing&quot;&gt;8. Testing&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#9-releasing&quot;&gt;9. Releasing&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#10-workflow&quot;&gt;10. Workflow&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#11-coverage&quot;&gt;11. Coverage&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/#12-contributing&quot;&gt;12. Contributing&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;1. Introduction&lt;/h1&gt; 
&lt;p&gt;TDengine is an open source, high-performance, cloud native and AI powered &lt;a href=&quot;https://tdengine.com/tsdb/&quot;&gt;time-series database&lt;/a&gt; designed for Internet of Things (IoT), Connected Cars, and Industrial IoT. It enables efficient, real-time data ingestion, processing, and analysis of TB and even PB scale data per day, generated by billions of sensors and data collectors. TDengine differentiates itself from other time-series databases with the following advantages:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://tdengine.com/tdengine/high-performance-time-series-database/&quot;&gt;High Performance&lt;/a&gt;&lt;/strong&gt;: TDengine is the only time-series database to solve the high cardinality issue to support billions of data collection points while out performing other time-series databases for data ingestion, querying and data compression.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://tdengine.com/tdengine/simplified-time-series-data-solution/&quot;&gt;Simplified Solution&lt;/a&gt;&lt;/strong&gt;: Through built-in caching, stream processing, data subscription and AI agent features, TDengine provides a simplified solution for time-series data processing. It reduces system design complexity and operation costs significantly.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://tdengine.com/tdengine/cloud-native-time-series-database/&quot;&gt;Cloud Native&lt;/a&gt;&lt;/strong&gt;: Through native distributed design, sharding and partitioning, separation of compute and storage, RAFT, support for kubernetes deployment and full observability, TDengine is a cloud native Time-Series Database and can be deployed on public, private or hybrid clouds.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://tdengine.com/tdengine/tdgpt/&quot;&gt;AI Powered&lt;/a&gt;&lt;/strong&gt;: Through the built in AI agent TDgpt, TDengine can connect to a variety of time series foundation model, large language model, machine learning and traditional algorithms to provide time series data forecasting, anomaly detection, imputation and classification.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://tdengine.com/tdengine/easy-time-series-data-platform/&quot;&gt;Ease of Use&lt;/a&gt;&lt;/strong&gt;: For administrators, TDengine significantly reduces the effort to deploy and maintain. For developers, it provides a simple interface, simplified solution and seamless integrations for third party tools. For data users, it gives easy data access.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://tdengine.com/tdengine/time-series-data-analytics-made-easy/&quot;&gt;Easy Data Analytics&lt;/a&gt;&lt;/strong&gt;: Through super tables, storage and compute separation, data partitioning by time interval, pre-computation and AI agent, TDengine makes it easy to explore, format, and get access to data in a highly efficient way.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://tdengine.com/tdengine/open-source-time-series-database/&quot;&gt;Open Source&lt;/a&gt;&lt;/strong&gt;: TDengine’s core modules, including cluster feature and AI agent, are all available under open source licenses. It has gathered 23.7k stars on GitHub. There is an active developer community, and over 730k running instances worldwide.&lt;/p&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;For a full list of TDengine competitive advantages, please &lt;a href=&quot;https://tdengine.com/tdengine/&quot;&gt;check here&lt;/a&gt;. The easiest way to experience TDengine is through &lt;a href=&quot;https://cloud.tdengine.com&quot;&gt;TDengine Cloud&lt;/a&gt;. For the latest TDengine component TDgpt, please refer to &lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/tools/tdgpt/README.md&quot;&gt;TDgpt README&lt;/a&gt; for details.&lt;/p&gt; 
&lt;h1&gt;2. Documentation&lt;/h1&gt; 
&lt;p&gt;For user manual, system design and architecture, please refer to &lt;a href=&quot;https://docs.tdengine.com&quot;&gt;TDengine Documentation&lt;/a&gt; (&lt;a href=&quot;https://docs.taosdata.com&quot;&gt;TDengine 文档&lt;/a&gt;)&lt;/p&gt; 
&lt;p&gt;You can choose to install TDengine via &lt;a href=&quot;https://docs.tdengine.com/get-started/deploy-in-docker/&quot;&gt;container&lt;/a&gt;, &lt;a href=&quot;https://docs.tdengine.com/get-started/deploy-from-package/&quot;&gt;installation package&lt;/a&gt;, &lt;a href=&quot;https://docs.tdengine.com/operations-and-maintenance/deploy-your-cluster/#kubernetes-deployment&quot;&gt;Kubernetes&lt;/a&gt; or try &lt;a href=&quot;https://cloud.tdengine.com/&quot;&gt;fully managed service&lt;/a&gt; without installation. This quick guide is for developers who want to contribute, build, release and test TDengine by themselves.&lt;/p&gt; 
&lt;p&gt;For contributing/building/testing TDengine Connectors, please check the following repositories: &lt;a href=&quot;https://github.com/taosdata/taos-connector-jdbc&quot;&gt;JDBC Connector&lt;/a&gt;, &lt;a href=&quot;https://github.com/taosdata/driver-go&quot;&gt;Go Connector&lt;/a&gt;, &lt;a href=&quot;https://github.com/taosdata/taos-connector-python&quot;&gt;Python Connector&lt;/a&gt;, &lt;a href=&quot;https://github.com/taosdata/taos-connector-node&quot;&gt;Node.js Connector&lt;/a&gt;, &lt;a href=&quot;https://github.com/taosdata/taos-connector-dotnet&quot;&gt;C# Connector&lt;/a&gt;, &lt;a href=&quot;https://github.com/taosdata/taos-connector-rust&quot;&gt;Rust Connector&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;3. Prerequisites&lt;/h1&gt; 
&lt;p&gt;At the moment, TDengine server supports running on Linux/MacOS systems. Any application can also choose the RESTful interface provided by taosAdapter to connect the taosd service. TDengine supports X64/ARM64 CPU, and it will support MIPS64, Alpha64, ARM32, RISC-V and other CPU architectures in the future. Right now we don&#39;t support build with cross-compiling environment.&lt;/p&gt; 
&lt;p&gt;Starting from version 3.1.0.0, TDengine supports the Windows system exclusively in its TSDB-Enterprise edition.&lt;/p&gt; 
&lt;p&gt;If you want to compile taosAdapter or taosKeeper, you need to install Go 1.23 or above.&lt;/p&gt; 
&lt;h2&gt;3.1 Prerequisites on Linux&lt;/h2&gt; 
&lt;details&gt; 
 &lt;summary&gt;Install required tools on Linux&lt;/summary&gt; 
 &lt;h3&gt;3.1.1 For Ubuntu&lt;/h3&gt; 
 &lt;p&gt;Verified on Ubuntu 18.04, 20.04, 22.04.&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo apt-get update
sudo apt-get install -y gcc cmake build-essential git libjansson-dev \
  libsnappy-dev liblzma-dev zlib1g-dev pkg-config libtool autoconf automake groff
&lt;/code&gt;&lt;/pre&gt; 
 &lt;h3&gt;3.1.2 For CentOS&lt;/h3&gt; 
 &lt;p&gt;Verified on CentOS 8.&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo yum update
yum install -y epel-release gcc gcc-c++ make cmake git perl dnf-plugins-core autoconf automake libtool groff
yum config-manager --set-enabled powertools
yum install -y zlib-static xz-devel snappy-devel jansson-devel pkgconfig libatomic-static libstdc++-static 
&lt;/code&gt;&lt;/pre&gt; 
&lt;/details&gt; 
&lt;h2&gt;3.2 Prerequisites on macOS&lt;/h2&gt; 
&lt;details&gt; 
 &lt;summary&gt;Install required tools on macOS&lt;/summary&gt; 
 &lt;p&gt;Please install the dependencies with &lt;a href=&quot;https://brew.sh/&quot;&gt;brew&lt;/a&gt;.&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;brew install argp-standalone gflags pkgconfig
&lt;/code&gt;&lt;/pre&gt; 
&lt;/details&gt; 
&lt;h2&gt;3.3 Prerequisites on Windows&lt;/h2&gt; 
&lt;p&gt;Not available for TDengine TSDB-OSS.&lt;/p&gt; 
&lt;h2&gt;3.4 Clone the repo&lt;/h2&gt; 
&lt;p&gt;Clone the repository to the target machine:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git clone https://github.com/taosdata/TDengine.git
cd TDengine
&lt;/code&gt;&lt;/pre&gt;  
&lt;h1&gt;4. Building&lt;/h1&gt; 
&lt;p&gt;TDengine provide a few useful tools such as taosBenchmark (was named taosdemo) and taosdump. They were part of TDengine. By default, TDengine compiling does not include taosTools. You can use &lt;code&gt;cmake .. -DBUILD_TOOLS=true&lt;/code&gt; to make them be compiled with TDengine.&lt;/p&gt; 
&lt;p&gt;TDengine requires &lt;a href=&quot;https://gcc.gnu.org/&quot;&gt;GCC&lt;/a&gt; 9.3.1 or higher and &lt;a href=&quot;https://cmake.org/&quot;&gt;CMake&lt;/a&gt; 3.18.0 or higher for building.&lt;/p&gt; 
&lt;h2&gt;4.1 Build on Linux&lt;/h2&gt; 
&lt;details&gt; 
 &lt;summary&gt;Detailed steps to build on Linux&lt;/summary&gt; 
 &lt;p&gt;You can run the bash script &lt;code&gt;build.sh&lt;/code&gt; to build both TDengine and taosTools including taosBenchmark and taosdump as below:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;./build.sh
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;It equals to execute following commands:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;mkdir debug &amp;amp;&amp;amp; cd debug
cmake .. -DBUILD_TOOLS=true -DBUILD_CONTRIB=true
make
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;If you want to compile taosAdapter, you need to add the &lt;code&gt;-DBUILD_HTTP=false&lt;/code&gt; option.&lt;/p&gt; 
 &lt;p&gt;If you want to compile taosKeeper, you need to add the &lt;code&gt;-DBUILD_KEEPER=true&lt;/code&gt; option.&lt;/p&gt; 
 &lt;p&gt;You can use Jemalloc as memory allocator instead of glibc:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;cmake .. -DJEMALLOC_ENABLED=ON
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;TDengine build script can auto-detect the host machine&#39;s architecture on x86, x86-64, arm64 platform. You can also specify architecture manually by CPUTYPE option:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;cmake .. -DCPUTYPE=aarch64 &amp;amp;&amp;amp; cmake --build .
&lt;/code&gt;&lt;/pre&gt; 
&lt;/details&gt; 
&lt;h2&gt;4.2 Build on macOS&lt;/h2&gt; 
&lt;details&gt; 
 &lt;summary&gt;Detailed steps to build on macOS&lt;/summary&gt; 
 &lt;p&gt;Please install XCode command line tools and cmake. Verified with XCode 11.4+ on Catalina and Big Sur.&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;mkdir debug &amp;amp;&amp;amp; cd debug
cmake .. &amp;amp;&amp;amp; cmake --build .
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;If you want to compile taosAdapter, you need to add the &lt;code&gt;-DBUILD_HTTP=false&lt;/code&gt; option.&lt;/p&gt; 
 &lt;p&gt;If you want to compile taosKeeper, you need to add the &lt;code&gt;-DBUILD_KEEPER=true&lt;/code&gt; option.&lt;/p&gt; 
&lt;/details&gt; 
&lt;h2&gt;4.3 Build on Windows&lt;/h2&gt; 
&lt;p&gt;Not available for TDengine TSDB-OSS.&lt;/p&gt; 
&lt;h1&gt;5. Packaging&lt;/h1&gt; 
&lt;p&gt;The TDengine TSDB-OSS installer can NOT be created by this repository only, due to some component dependencies. We are still working on this improvement.&lt;/p&gt; 
&lt;h1&gt;6. Installation&lt;/h1&gt; 
&lt;h2&gt;6.1 Install on Linux&lt;/h2&gt; 
&lt;details&gt; 
 &lt;summary&gt;Detailed steps to install on Linux&lt;/summary&gt; 
 &lt;p&gt;After building successfully, TDengine can be installed by:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo make install
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;Installing from source code will also configure service management for TDengine. Users can also choose to &lt;a href=&quot;https://docs.tdengine.com/get-started/deploy-from-package/&quot;&gt;install from packages&lt;/a&gt; for it.&lt;/p&gt; 
&lt;/details&gt; 
&lt;h2&gt;6.2 Install on macOS&lt;/h2&gt; 
&lt;details&gt; 
 &lt;summary&gt;Detailed steps to install on macOS&lt;/summary&gt; 
 &lt;p&gt;After building successfully, TDengine can be installed by:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo make install
&lt;/code&gt;&lt;/pre&gt; 
&lt;/details&gt; 
&lt;h2&gt;6.3 Install on Windows&lt;/h2&gt; 
&lt;p&gt;Not available for TDengine TSDB-OSS.&lt;/p&gt; 
&lt;h1&gt;7. Running&lt;/h1&gt; 
&lt;h2&gt;7.1 Run TDengine on Linux&lt;/h2&gt; 
&lt;details&gt; 
 &lt;summary&gt;Detailed steps to run on Linux&lt;/summary&gt; 
 &lt;p&gt;To start the service after installation on linux, in a terminal, use:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo systemctl start taosd
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;Then users can use the TDengine CLI to connect the TDengine server. In a terminal, use:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;taos
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;If TDengine CLI connects the server successfully, welcome messages and version info are printed. Otherwise, an error message is shown.&lt;/p&gt; 
 &lt;p&gt;If you don&#39;t want to run TDengine as a service, you can run it in current shell. For example, to quickly start a TDengine server after building, run the command below in terminal: (We take Linux as an example, command on Windows will be &lt;code&gt;taosd.exe&lt;/code&gt;)&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;./build/bin/taosd -c test/cfg
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;In another terminal, use the TDengine CLI to connect the server:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;./build/bin/taos -c test/cfg
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;Option &lt;code&gt;-c test/cfg&lt;/code&gt; specifies the system configuration file directory.&lt;/p&gt; 
&lt;/details&gt; 
&lt;h2&gt;7.2 Run TDengine on macOS&lt;/h2&gt; 
&lt;details&gt; 
 &lt;summary&gt;Detailed steps to run on macOS&lt;/summary&gt; 
 &lt;p&gt;To start the service after installation on macOS, double-click the /applications/TDengine to start the program, or in a terminal, use:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo launchctl start com.tdengine.taosd
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;Then users can use the TDengine CLI to connect the TDengine server. In a terminal, use:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;taos
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;If TDengine CLI connects the server successfully, welcome messages and version info are printed. Otherwise, an error message is shown.&lt;/p&gt; 
&lt;/details&gt; 
&lt;h2&gt;7.3 Run TDengine on Windows&lt;/h2&gt; 
&lt;p&gt;Not available for TDengine TSDB-OSS.&lt;/p&gt; 
&lt;h1&gt;8. Testing&lt;/h1&gt; 
&lt;p&gt;For how to run different types of tests on TDengine, please see &lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/tests/README.md&quot;&gt;Testing TDengine&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;9. Releasing&lt;/h1&gt; 
&lt;p&gt;For the complete list of TDengine Releases, please see &lt;a href=&quot;https://github.com/taosdata/TDengine/releases&quot;&gt;Releases&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;10. Workflow&lt;/h1&gt; 
&lt;p&gt;TDengine build check workflow can be found in this &lt;a href=&quot;https://github.com/taosdata/TDengine/actions/workflows/taosd-ci-build.yml&quot;&gt;Github Action&lt;/a&gt;. More workflows will be available soon.&lt;/p&gt; 
&lt;h1&gt;11. Coverage&lt;/h1&gt; 
&lt;p&gt;Latest TDengine test coverage report can be found on &lt;a href=&quot;https://coveralls.io/github/taosdata/TDengine&quot;&gt;coveralls.io&lt;/a&gt;&lt;/p&gt; 
&lt;details&gt; 
 &lt;summary&gt;How to run the coverage report locally?&lt;/summary&gt; To create the test coverage report (in HTML format) locally, please run following commands: 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;cd tests
bash setup-lcov.sh -v 1.16 &amp;amp;&amp;amp; ./run_local_coverage.sh -b main -c task 
# on main branch and run cases in longtimeruning_cases.task 
# for more information about options please refer to ./run_local_coverage.sh -h
&lt;/code&gt;&lt;/pre&gt; 
 &lt;blockquote&gt; 
  &lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Please note that the -b and -i options will recompile TDengine with the -DCOVER=true option, which may take a amount of time.&lt;/p&gt; 
 &lt;/blockquote&gt; 
&lt;/details&gt; 
&lt;h1&gt;12. Contributing&lt;/h1&gt; 
&lt;p&gt;Please follow the &lt;a href=&quot;https://raw.githubusercontent.com/taosdata/TDengine/main/CONTRIBUTING.md&quot;&gt;contribution guidelines&lt;/a&gt; to contribute to TDengine.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/196353673/52d23cbd-3efd-45c0-b2e2-ea28c38b43d1" medium="image" />
      
    </item>
    
    <item>
      <title>lz4/lz4</title>
      <link>https://github.com/lz4/lz4</link>
      <description>&lt;p&gt;Extremely Fast Compression algorithm&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;LZ4 - Extremely fast compression&lt;/h1&gt; 
&lt;p&gt;LZ4 is lossless compression algorithm, providing compression speed &amp;gt; 500 MB/s per core, scalable with multi-cores CPU. It features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems.&lt;/p&gt; 
&lt;p&gt;Speed can be tuned dynamically, selecting an &quot;acceleration&quot; factor which trades compression ratio for faster speed. On the other end, a high compression derivative, LZ4_HC, is also provided, trading CPU time for improved compression ratio. All versions feature the same decompression speed.&lt;/p&gt; 
&lt;p&gt;LZ4 is also compatible with &lt;a href=&quot;https://github.com/facebook/zstd#the-case-for-small-data-compression&quot;&gt;dictionary compression&lt;/a&gt;, both at &lt;a href=&quot;https://github.com/lz4/lz4/raw/v1.8.3/lib/lz4frame.h#L481&quot;&gt;API&lt;/a&gt; and &lt;a href=&quot;https://github.com/lz4/lz4/raw/v1.8.3/programs/lz4.1.md#operation-modifiers&quot;&gt;CLI&lt;/a&gt; levels. It can ingest any input file as dictionary, though only the final 64KB are used. This capability can be combined with the &lt;a href=&quot;https://github.com/facebook/zstd/raw/v1.3.5/programs/zstd.1.md#dictionary-builder&quot;&gt;Zstandard Dictionary Builder&lt;/a&gt;, in order to drastically improve compression performance on small files.&lt;/p&gt; 
&lt;p&gt;LZ4 library is provided as open-source software using BSD 2-Clause license.&lt;/p&gt; 
&lt;h2&gt;Benchmarks&lt;/h2&gt; 
&lt;p&gt;The benchmark uses &lt;a href=&quot;https://github.com/inikep/lzbench&quot;&gt;lzbench&lt;/a&gt;, from @inikep compiled with GCC v8.2.0 on Linux 64-bits (Ubuntu 4.18.0-17). The reference system uses a Core i7-9700K CPU @ 4.9GHz (w/ turbo boost). Benchmark evaluates the compression of reference &lt;a href=&quot;http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia&quot;&gt;Silesia Corpus&lt;/a&gt; in single-thread mode.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Compressor&lt;/th&gt; 
   &lt;th&gt;Factor&lt;/th&gt; 
   &lt;th&gt;Compression&lt;/th&gt; 
   &lt;th&gt;Decompression&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;memcpy&lt;/td&gt; 
   &lt;td&gt;1.000&lt;/td&gt; 
   &lt;td&gt;13700 MB/s&lt;/td&gt; 
   &lt;td&gt;13700 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;LZ4 default (v1.9.0)&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;strong&gt;2.101&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;strong&gt;780 MB/s&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;strong&gt;4970 MB/s&lt;/strong&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;LZO 2.09&lt;/td&gt; 
   &lt;td&gt;2.108&lt;/td&gt; 
   &lt;td&gt;670 MB/s&lt;/td&gt; 
   &lt;td&gt;860 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;QuickLZ 1.5.0&lt;/td&gt; 
   &lt;td&gt;2.238&lt;/td&gt; 
   &lt;td&gt;575 MB/s&lt;/td&gt; 
   &lt;td&gt;780 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Snappy 1.1.4&lt;/td&gt; 
   &lt;td&gt;2.091&lt;/td&gt; 
   &lt;td&gt;565 MB/s&lt;/td&gt; 
   &lt;td&gt;1950 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;http://www.zstd.net/&quot;&gt;Zstandard&lt;/a&gt; 1.4.0 -1&lt;/td&gt; 
   &lt;td&gt;2.883&lt;/td&gt; 
   &lt;td&gt;515 MB/s&lt;/td&gt; 
   &lt;td&gt;1380 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;LZF v3.6&lt;/td&gt; 
   &lt;td&gt;2.073&lt;/td&gt; 
   &lt;td&gt;415 MB/s&lt;/td&gt; 
   &lt;td&gt;910 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;http://www.zlib.net/&quot;&gt;zlib&lt;/a&gt; deflate 1.2.11 -1&lt;/td&gt; 
   &lt;td&gt;2.730&lt;/td&gt; 
   &lt;td&gt;100 MB/s&lt;/td&gt; 
   &lt;td&gt;415 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;LZ4 HC -9 (v1.9.0)&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;strong&gt;2.721&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;41 MB/s&lt;/td&gt; 
   &lt;td&gt;&lt;strong&gt;4900 MB/s&lt;/strong&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;http://www.zlib.net/&quot;&gt;zlib&lt;/a&gt; deflate 1.2.11 -6&lt;/td&gt; 
   &lt;td&gt;3.099&lt;/td&gt; 
   &lt;td&gt;36 MB/s&lt;/td&gt; 
   &lt;td&gt;445 MB/s&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;pre&gt;&lt;code&gt;make
make install     # this command may require root permissions
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;LZ4&#39;s &lt;code&gt;Makefile&lt;/code&gt; supports standard &lt;a href=&quot;https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html&quot;&gt;Makefile conventions&lt;/a&gt;, including &lt;a href=&quot;https://www.gnu.org/prep/standards/html_node/DESTDIR.html&quot;&gt;staged installs&lt;/a&gt;, &lt;a href=&quot;https://www.gnu.org/prep/standards/html_node/Directory-Variables.html&quot;&gt;redirection&lt;/a&gt;, or &lt;a href=&quot;https://www.gnu.org/prep/standards/html_node/Utilities-in-Makefiles.html&quot;&gt;command redefinition&lt;/a&gt;. It is compatible with parallel builds (&lt;code&gt;-j#&lt;/code&gt;).&lt;/p&gt; 
&lt;h3&gt;Building LZ4 - Using vcpkg&lt;/h3&gt; 
&lt;p&gt;You can download and install LZ4 using the &lt;a href=&quot;https://github.com/Microsoft/vcpkg&quot;&gt;vcpkg&lt;/a&gt; dependency manager:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg.exe install lz4
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The LZ4 port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please &lt;a href=&quot;https://github.com/Microsoft/vcpkg&quot;&gt;create an issue or pull request&lt;/a&gt; on the vcpkg repository.&lt;/p&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;p&gt;The raw LZ4 block compression format is detailed within &lt;a href=&quot;https://raw.githubusercontent.com/lz4/lz4/dev/doc/lz4_Block_format.md&quot;&gt;lz4_Block_format&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Arbitrarily long files or data streams are compressed using multiple blocks, for streaming requirements. These blocks are organized into a frame, defined into &lt;a href=&quot;https://raw.githubusercontent.com/lz4/lz4/dev/doc/lz4_Frame_format.md&quot;&gt;lz4_Frame_format&lt;/a&gt;. Interoperable versions of LZ4 must also respect the frame format.&lt;/p&gt; 
&lt;h2&gt;Other source versions&lt;/h2&gt; 
&lt;p&gt;Beyond the C reference source, many contributors have created versions of lz4 in multiple languages (Java, C#, Python, Perl, Ruby, etc.). A list of known source ports is maintained on the &lt;a href=&quot;http://www.lz4.org&quot;&gt;LZ4 Homepage&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Packaging status&lt;/h3&gt; 
&lt;p&gt;Most distributions are bundled with a package manager which allows easy installation of both the &lt;code&gt;liblz4&lt;/code&gt; library and the &lt;code&gt;lz4&lt;/code&gt; command line interface.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://repology.org/project/lz4/versions&quot;&gt;&lt;img src=&quot;https://repology.org/badge/vertical-allrepos/lz4.svg?columns=4&amp;amp;exclude_unsupported=1&quot; alt=&quot;Packaging status&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;Special Thanks&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Takayuki Matsuoka, aka @t-mat, for exceptional first-class support throughout the lifetime of this project&lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/5d7417fc0dd49bc02473dae84173f785015dee4d9ab187d7ea4daa68bc23a227/lz4/lz4" medium="image" />
      
    </item>
    
    <item>
      <title>php/php-src</title>
      <link>https://github.com/php/php-src</link>
      <description>&lt;p&gt;The PHP Interpreter&lt;/p&gt;&lt;hr&gt;&lt;div align=&quot;center&quot;&gt; 
 &lt;a href=&quot;https://www.php.net&quot;&gt; &lt;img alt=&quot;PHP&quot; src=&quot;https://www.php.net/images/logos/new-php-logo.svg?sanitize=true&quot; width=&quot;150&quot; /&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;h1&gt;The PHP Interpreter&lt;/h1&gt; 
&lt;p&gt;PHP is a popular general-purpose scripting language that is especially suited to web development. Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.&lt;/p&gt; 
&lt;p&gt;PHP is distributed under the &lt;a href=&quot;https://raw.githubusercontent.com/php/php-src/master/LICENSE&quot;&gt;Modified BSD License&lt;/a&gt; (SPDX-License-Identifier: &lt;code&gt;BSD-3-Clause&lt;/code&gt;).&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/php/php-src/actions/workflows/test.yml&quot;&gt;&lt;img src=&quot;https://github.com/php/php-src/actions/workflows/test.yml/badge.svg?sanitize=true&quot; alt=&quot;Test&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://issues.oss-fuzz.com/issues?q=project:php&quot;&gt;&lt;img src=&quot;https://oss-fuzz-build-logs.storage.googleapis.com/badges/php.svg?sanitize=true&quot; alt=&quot;Fuzzing Status&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;p&gt;The PHP manual is available at &lt;a href=&quot;https://www.php.net/docs&quot;&gt;php.net/docs&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;h3&gt;Prebuilt packages and binaries&lt;/h3&gt; 
&lt;p&gt;Prebuilt packages and binaries can be used to get up and running fast with PHP.&lt;/p&gt; 
&lt;p&gt;For Windows, the PHP binaries can be obtained from &lt;a href=&quot;https://windows.php.net&quot;&gt;windows.php.net&lt;/a&gt;. After extracting the archive the &lt;code&gt;*.exe&lt;/code&gt; files are ready to use.&lt;/p&gt; 
&lt;p&gt;For other systems, see the &lt;a href=&quot;https://www.php.net/install&quot;&gt;installation chapter&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Building PHP source code&lt;/h3&gt; 
&lt;p&gt;&lt;em&gt;For Windows, see &lt;a href=&quot;https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2&quot;&gt;Build your own PHP on Windows&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt; 
&lt;p&gt;For a minimal PHP build from Git, you will need autoconf, bison, and re2c. For a default build, you will additionally need libxml2 and libsqlite3.&lt;/p&gt; 
&lt;p&gt;On Ubuntu, you can install these using:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;sudo apt install -y pkg-config build-essential autoconf bison re2c libxml2-dev libsqlite3-dev
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;On Fedora, you can install these using:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;sudo dnf install re2c bison autoconf make ccache libxml2-devel sqlite-devel
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;On MacOS, you can install these using &lt;code&gt;brew&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;brew install autoconf bison re2c libiconv libxml2 sqlite
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;or with &lt;code&gt;MacPorts&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;sudo port install autoconf bison re2c libiconv libxml2 sqlite3
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Generate configure:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;./buildconf
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Configure your build. &lt;code&gt;--enable-debug&lt;/code&gt; is recommended for development, see &lt;code&gt;./configure --help&lt;/code&gt; for a full list of options.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;# For development
./configure --enable-debug
# For production
./configure
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Build PHP. To speed up the build, specify the maximum number of jobs using the &lt;code&gt;-j&lt;/code&gt; argument:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;make -j4
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The number of jobs should usually match the number of available cores, which can be determined using &lt;code&gt;nproc&lt;/code&gt;.&lt;/p&gt; 
&lt;h2&gt;Testing PHP source code&lt;/h2&gt; 
&lt;p&gt;PHP ships with an extensive test suite, the command &lt;code&gt;make test&lt;/code&gt; is used after successful compilation of the sources to run this test suite.&lt;/p&gt; 
&lt;p&gt;It is possible to run tests using multiple cores by setting &lt;code&gt;-jN&lt;/code&gt; in &lt;code&gt;TEST_PHP_ARGS&lt;/code&gt; or &lt;code&gt;TESTS&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;make TEST_PHP_ARGS=-j4 test
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Shall run &lt;code&gt;make test&lt;/code&gt; with a maximum of 4 concurrent jobs: Generally the maximum number of jobs should not exceed the number of cores available.&lt;/p&gt; 
&lt;p&gt;Use the &lt;code&gt;TEST_PHP_ARGS&lt;/code&gt; or &lt;code&gt;TESTS&lt;/code&gt; variable to test only specific directories:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;make TESTS=tests/lang/ test
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The &lt;a href=&quot;https://qa.php.net&quot;&gt;qa.php.net&lt;/a&gt; site provides more detailed info about testing and quality assurance.&lt;/p&gt; 
&lt;h2&gt;Installing PHP built from source&lt;/h2&gt; 
&lt;p&gt;After a successful build (and test), PHP may be installed with:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;make install
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Depending on your permissions and prefix, &lt;code&gt;make install&lt;/code&gt; may need superuser permissions.&lt;/p&gt; 
&lt;h2&gt;PHP extensions&lt;/h2&gt; 
&lt;p&gt;Extensions provide additional functionality on top of PHP. PHP consists of many essential bundled extensions. Additional extensions can be found in the PHP Extension Community Library - &lt;a href=&quot;https://pecl.php.net&quot;&gt;PECL&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;The PHP source code is located in the Git repository at &lt;a href=&quot;https://github.com/php/php-src&quot;&gt;github.com/php/php-src&lt;/a&gt;. Contributions are most welcome by forking the repository and sending a pull request.&lt;/p&gt; 
&lt;p&gt;Discussions are done on GitHub, but depending on the topic can also be relayed to the official PHP developer mailing list &lt;a href=&quot;mailto:internals@lists.php.net&quot;&gt;internals@lists.php.net&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;New features require an RFC and must be accepted by the developers. See &lt;a href=&quot;https://wiki.php.net/rfc&quot;&gt;Request for comments - RFC&lt;/a&gt; and &lt;a href=&quot;https://wiki.php.net/rfc/voting&quot;&gt;Voting on PHP features&lt;/a&gt; for more information on the process.&lt;/p&gt; 
&lt;p&gt;Bug fixes don&#39;t require an RFC. If the bug has a GitHub issue, reference it in the commit message using &lt;code&gt;GH-NNNNNN&lt;/code&gt;. Use &lt;code&gt;#NNNNNN&lt;/code&gt; for tickets in the old &lt;a href=&quot;https://bugs.php.net&quot;&gt;bugs.php.net&lt;/a&gt; bug tracker.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;Fix GH-7815: php_uname doesn&#39;t recognise latest Windows versions
Fix #55371: get_magic_quotes_gpc() throws deprecation warning
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;See &lt;a href=&quot;https://wiki.php.net/vcs/gitworkflow&quot;&gt;Git workflow&lt;/a&gt; for details on how pull requests are merged.&lt;/p&gt; 
&lt;h3&gt;Guidelines for contributors&lt;/h3&gt; 
&lt;p&gt;See further documents in the repository for more information on how to contribute:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/php/php-src/master/CONTRIBUTING.md&quot;&gt;Contributing to PHP&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/php/php-src/master/CODING_STANDARDS.md&quot;&gt;PHP coding standards&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://php.github.io/php-src/&quot;&gt;Internal documentation&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/php/php-src/master/docs/mailinglist-rules.md&quot;&gt;Mailing list rules&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/php/php-src/master/docs/release-process.md&quot;&gt;PHP release process&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Credits&lt;/h2&gt; 
&lt;p&gt;For the list of people who&#39;ve put work into PHP, please see the &lt;a href=&quot;https://www.php.net/credits.php&quot;&gt;PHP credits page&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/e12f6233a69335ca44da5f77b31f2ca2c6685f23b490bd82bcc236d9f2ea3227/php/php-src" medium="image" />
      
    </item>
    
    <item>
      <title>HarbourMasters/Starship</title>
      <link>https://github.com/HarbourMasters/Starship</link>
      <description>&lt;p&gt;SF64 PC Port&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Starship&lt;/h1&gt; 
&lt;p&gt;Lead Developers:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.github.com/sonicdcer&quot;&gt;SonicDcer&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.github.com/kiritodv&quot;&gt;Lywx&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Discord&lt;/h2&gt; 
&lt;p&gt;Official Discord: &lt;a href=&quot;https://discord.com/invite/shipofharkinian&quot;&gt;https://discord.com/invite/shipofharkinian&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;If you&#39;re having any trouble after reading through this &lt;code&gt;README&lt;/code&gt;, feel free ask for help in the Starship Support text channels. Please keep in mind that we do not condone piracy.&lt;/p&gt; 
&lt;h1&gt;Quick Start&lt;/h1&gt; 
&lt;p&gt;Starship does not include any copyrighted assets. You are required to provide a supported copy of the game.&lt;/p&gt; 
&lt;h3&gt;1. Verify your ROM dump&lt;/h3&gt; 
&lt;p&gt;The supported ROMs are US 1.0 and US 1.1 Rev A versions. You can verify you have dumped a supported copy of the game by using the SHA-1 File Checksum Online at &lt;a href=&quot;https://www.romhacking.net/hash/&quot;&gt;https://www.romhacking.net/hash/&lt;/a&gt;.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;The SHA-1 hash for a US 1.0 ROM is D8B1088520F7C5F81433292A9258C1184AFA1457.&lt;/li&gt; 
 &lt;li&gt;The SHA-1 hash for a US 1.1 ROM is 09F0D105F476B00EFA5303A3EBC42E60A7753B7A.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Starship also supports voice language replacement use from both EU (Lylat) and JP (Japanese) when used in conjunction with an US ROM.&lt;/p&gt; 
&lt;p&gt;Note: JP and EU versions of the game are not supported for the base asset O2R creation, a US ROM must be used for it, and you can only use one voice language replacement at a time (Either EU or JP).&lt;/p&gt; 
&lt;h3&gt;2. Verify your ROM is in .z64 format&lt;/h3&gt; 
&lt;p&gt;Your ROM needs to be in .z64 format. If it&#39;s in .n64 format, use the following to convert it to a .z64: &lt;a href=&quot;https://hack64.net/tools/swapper.php&quot;&gt;https://hack64.net/tools/swapper.php&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;2. Download Starship from &lt;a href=&quot;https://github.com/HarbourMasters/Starship/releases&quot;&gt;Releases&lt;/a&gt;&lt;/h3&gt; 
&lt;h3&gt;3. Generating the OTR from the ROM and Play!&lt;/h3&gt; 
&lt;h4&gt;Windows&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Extract every file from the zip into a folder of your choosing.&lt;/li&gt; 
 &lt;li&gt;Run starship.exe and select your US 1.0 or US 1.1 ROM.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;Linux&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Extract every file from the zip into a folder of your choosing.&lt;/li&gt; 
 &lt;li&gt;Execute starship.appimage. You may have to chmod +x the appimage via terminal.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;MacOS&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Extract every file from the zip into a folder of your choosing.&lt;/li&gt; 
 &lt;li&gt;Run starship and select your US 1.0 or US 1.1 ROM.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;Nintendo Switch&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Run one of the PC releases to generate an &lt;code&gt;sf64.o2r&lt;/code&gt; file. After launching the game on PC, you will be able to find these files in the same directory as &lt;code&gt;starship.exe&lt;/code&gt; or &lt;code&gt;starship.appimage&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;Copy the files to your sd card&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Configuration&lt;/h1&gt; 
&lt;h3&gt;Default keyboard configuration&lt;/h3&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;N64&lt;/th&gt; 
   &lt;th&gt;A&lt;/th&gt; 
   &lt;th&gt;B&lt;/th&gt; 
   &lt;th&gt;Z&lt;/th&gt; 
   &lt;th&gt;Start&lt;/th&gt; 
   &lt;th&gt;Analog stick&lt;/th&gt; 
   &lt;th&gt;C buttons&lt;/th&gt; 
   &lt;th&gt;D-Pad&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Keyboard&lt;/td&gt; 
   &lt;td&gt;X&lt;/td&gt; 
   &lt;td&gt;C&lt;/td&gt; 
   &lt;td&gt;Z&lt;/td&gt; 
   &lt;td&gt;Space&lt;/td&gt; 
   &lt;td&gt;WASD&lt;/td&gt; 
   &lt;td&gt;Arrow keys&lt;/td&gt; 
   &lt;td&gt;TFGH&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;Other shortcuts&lt;/h3&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Keys&lt;/th&gt; 
   &lt;th&gt;Action&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F1&lt;/td&gt; 
   &lt;td&gt;Toggle menubar&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F4&lt;/td&gt; 
   &lt;td&gt;Reset&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;F11&lt;/td&gt; 
   &lt;td&gt;Fullscreen&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Tab&lt;/td&gt; 
   &lt;td&gt;Toggle Alternate assets&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;Graphics Backends&lt;/h3&gt; 
&lt;p&gt;Currently, there are three rendering APIs supported: DirectX11 (Windows), OpenGL (all platforms), and Metal (macOS). You can change which API to use in the &lt;code&gt;Settings&lt;/code&gt; menu of the menubar, which requires a restart. If you&#39;re having an issue with crashing, you can change the API in the &lt;code&gt;starship.cfg.json&lt;/code&gt; file by finding the line &lt;code&gt;&quot;Backend&quot;:{&lt;/code&gt;... and changing the &lt;code&gt;id&lt;/code&gt; value to &lt;code&gt;3&lt;/code&gt; and set the &lt;code&gt;Name&lt;/code&gt; to &lt;code&gt;OpenGL&lt;/code&gt;. &lt;code&gt;DirectX 11&lt;/code&gt; with id &lt;code&gt;2&lt;/code&gt; is the default on Windows. &lt;code&gt;Metal&lt;/code&gt; with id &lt;code&gt;4&lt;/code&gt; is the default on macOS.&lt;/p&gt; 
&lt;h1&gt;Custom Assets&lt;/h1&gt; 
&lt;p&gt;Custom assets are packed in &lt;code&gt;.o2r&lt;/code&gt; or &lt;code&gt;.otr&lt;/code&gt; files. To use custom assets, place them in the &lt;code&gt;mods&lt;/code&gt; folder.&lt;/p&gt; 
&lt;p&gt;If you&#39;re interested in creating and/or packing your own custom asset &lt;code&gt;.o2r&lt;/code&gt;/&lt;code&gt;.otr&lt;/code&gt; files, check out the following tools:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/HarbourMasters64/retro&quot;&gt;&lt;strong&gt;retro - OTR and O2R generator&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/HarbourMasters/fast64&quot;&gt;&lt;strong&gt;fast64 - Blender plugin (Note that SF64 is not supported at this time)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Development&lt;/h1&gt; 
&lt;h3&gt;Building&lt;/h3&gt; 
&lt;p&gt;If you want to manually compile Starship, please consult the &lt;a href=&quot;https://github.com/HarbourMasters/Starship/raw/main/docs/BUILDING.md&quot;&gt;building instructions&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Playtesting&lt;/h3&gt; 
&lt;p&gt;If you want to playtest a continuous integration build, you can find them at the links below. Keep in mind that these are for playtesting only, and you will likely encounter bugs and possibly crashes.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://nightly.link/HarbourMasters/Starship/workflows/main/main/starship-windows.zip&quot;&gt;Windows&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://nightly.link/HarbourMasters/Starship/workflows/main/main/Starship-mac.zip&quot;&gt;macOS&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://nightly.link/HarbourMasters/Starship/workflows/main/main/Starship-linux.zip&quot;&gt;Linux&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://nightly.link/HarbourMasters/Starship/workflows/main/main/Starship-switch.zip&quot;&gt;Switch&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;a href=&quot;https://github.com/Kenix3/libultraship/&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;./docs/poweredbylus.darkmode.png&quot; /&gt; 
  &lt;img alt=&quot;Powered by libultraship&quot; src=&quot;https://raw.githubusercontent.com/HarbourMasters/Starship/main/docs/poweredbylus.lightmode.png&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; 
&lt;h1&gt;Special Thanks:&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/zeldaret&quot;&gt;ZeldaRET&lt;/a&gt; : for teaching me the fundamental knowledge of N64 decompilation.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/decompals&quot;&gt;Decompals&lt;/a&gt; : for helping in the initial disassembly and decompilation of the game.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/harbourMasters&quot;&gt;HM64 Team&lt;/a&gt; : for creating Libultraship and helping with various issues.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/DarioSamo&quot;&gt;DarioSamo&lt;/a&gt; : for providing important fixes to the renderer and information about the inner workings of the game graphics system.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/garrettjoecox&quot;&gt;garrettjoecox&lt;/a&gt; : for contributing with interpolation fixes to this port.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/inspectredc&quot;&gt;inspectredc&lt;/a&gt; : for contributing to the &lt;a href=&quot;https://github.com/sonicdcer/sf64&quot;&gt;SF64 decompilation project&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/KiritoDv&quot;&gt;Lywx&lt;/a&gt; : for co-developing this port as a lead and creating &lt;a href=&quot;https://github.com/HarbourMasters/Torch&quot;&gt;Torch&lt;/a&gt; asset extraction system.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/m4xw&quot;&gt;m4xw&lt;/a&gt; : for helping with audio issues in this port.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/Malkierian&quot;&gt;Malkierian&lt;/a&gt; : for contributing with important fixes to this port.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/petrie911&quot;&gt;petrie911&lt;/a&gt; : for contributing to the &lt;a href=&quot;https://github.com/sonicdcer/sf64&quot;&gt;SF64 decompilation project&lt;/a&gt; as a lead.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/Ryan-Myers&quot;&gt;Ryan-Myers&lt;/a&gt; : for contributing to the &lt;a href=&quot;https://github.com/sonicdcer/sf64&quot;&gt;SF64 decompilation project&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/Thar0&quot;&gt;Thar0&lt;/a&gt; : for contributing with an improved Starfield that can be interpolated to any framerate.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/TheBoy181&quot;&gt;TheBoy181&lt;/a&gt; : for contributing to this project with various widescreen enhancements such as level floors, an extended Starfield among other things.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;a href=&quot;https://github.com/Mr-Wiseguy&quot;&gt;Wiseguy&lt;/a&gt; : for providing important information about the inner workings of the N64 platform, as well as helping with the decompilation process.&lt;/p&gt; &lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/7c6615da4ac48d8f92abc518f7a74d224685f1e6e2c30aca2d54d60c26566e8a/HarbourMasters/Starship" medium="image" />
      
    </item>
    
    <item>
      <title>openssl/openssl</title>
      <link>https://github.com/openssl/openssl</link>
      <description>&lt;p&gt;General purpose TLS and crypto library&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Welcome to the OpenSSL Project&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.openssl.org&quot; title=&quot;OpenSSL Homepage&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/openssl/openssl/master/doc/images/openssl.svg?sanitize=true&quot; alt=&quot;openssl logo&quot; title=&quot;OpenSSL Logo&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/openssl/openssl/actions/workflows/ci.yml&quot; title=&quot;GitHub Actions CI&quot;&gt;&lt;img src=&quot;https://github.com/openssl/openssl/workflows/GitHub%20CI/badge.svg?sanitize=true&quot; alt=&quot;github actions ci badge&quot; title=&quot;GitHub Actions CI Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/openssl/openssl/actions/workflows/os-zoo.yml&quot;&gt;&lt;img src=&quot;https://github.com/openssl/openssl/actions/workflows/os-zoo.yml/badge.svg?sanitize=true&quot; alt=&quot;Nightly OS Zoo ci badge&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/openssl/openssl/actions/workflows/provider-compatibility.yml&quot;&gt;&lt;img src=&quot;https://github.com/openssl/openssl/actions/workflows/provider-compatibility.yml/badge.svg?sanitize=true&quot; alt=&quot;Provider Compatibility&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/openssl/openssl/actions/workflows/run_quic_interop.yml&quot;&gt;&lt;img src=&quot;https://github.com/openssl/openssl/actions/workflows/run_quic_interop.yml/badge.svg?sanitize=true&quot; alt=&quot;Quic Interop&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/openssl/openssl/actions/workflows/run-checker-daily.yml&quot;&gt;&lt;img src=&quot;https://github.com/openssl/openssl/actions/workflows/run-checker-daily.yml/badge.svg?sanitize=true&quot; alt=&quot;Daily checks&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://insights.linuxfoundation.org/project/openssl&quot;&gt;&lt;img src=&quot;https://insights.linuxfoundation.org/api/badge/health-score?project=openssl&quot; alt=&quot;LFX Health Score&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;OpenSSL is a robust, commercial-grade, full-featured Open Source Toolkit for the Transport Layer Security (TLS, formerly SSL), Datagram TLS (DTLS), and QUIC protocols.&lt;/p&gt; 
&lt;p&gt;The protocol implementations are based on a full-strength general purpose cryptographic library, which can also be used stand-alone. Also included is a cryptographic module validated to conform with FIPS standards.&lt;/p&gt; 
&lt;p&gt;OpenSSL is descended from the SSLeay library developed by Eric A. Young and Tim J. Hudson.&lt;/p&gt; 
&lt;p&gt;The official Home Page of the OpenSSL Project is &lt;a href=&quot;https://www.openssl.org&quot; title=&quot;OpenSSL Homepage&quot;&gt;www.openssl.org&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Table of Contents&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/#overview&quot;&gt;Overview&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/#download&quot;&gt;Download&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/#build-and-install&quot;&gt;Build and Install&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/#documentation&quot;&gt;Documentation&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/#license&quot;&gt;License&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/#support&quot;&gt;Support&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/#contributing&quot;&gt;Contributing&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/#legalities&quot;&gt;Legalities&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Overview&lt;/h1&gt; 
&lt;p&gt;The OpenSSL toolkit includes:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;libssl&lt;/strong&gt; an implementation of all TLS protocol versions up to TLSv1.3 (&lt;a href=&quot;https://tools.ietf.org/html/rfc8446&quot;&gt;RFC 8446&lt;/a&gt;), DTLS protocol versions up to DTLSv1.2 (&lt;a href=&quot;https://tools.ietf.org/html/rfc6347&quot;&gt;RFC 6347&lt;/a&gt;) and the QUIC version 1 protocol (&lt;a href=&quot;https://tools.ietf.org/html/rfc9000&quot;&gt;RFC 9000&lt;/a&gt;).&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;libcrypto&lt;/strong&gt; a full-strength general purpose cryptographic library. It constitutes the basis of the TLS implementation, but can also be used independently.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;openssl&lt;/strong&gt; the OpenSSL command line tool, a swiss army knife for cryptographic tasks, testing and analyzing. It can be used for&lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;creation of key parameters&lt;/li&gt; 
   &lt;li&gt;creation of X.509 certificates, CSRs and CRLs&lt;/li&gt; 
   &lt;li&gt;calculation of message digests&lt;/li&gt; 
   &lt;li&gt;encryption and decryption&lt;/li&gt; 
   &lt;li&gt;SSL/TLS/DTLS and client and server tests&lt;/li&gt; 
   &lt;li&gt;QUIC client tests&lt;/li&gt; 
   &lt;li&gt;handling of S/MIME signed or encrypted mail&lt;/li&gt; 
   &lt;li&gt;and more...&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Download&lt;/h1&gt; 
&lt;h2&gt;For Production Use&lt;/h2&gt; 
&lt;p&gt;Source code tarballs of the official releases can be downloaded from &lt;a href=&quot;https://openssl-library.org/source/&quot;&gt;openssl-library.org/source/&lt;/a&gt;. The OpenSSL project does not distribute the toolkit in binary form.&lt;/p&gt; 
&lt;p&gt;However, for a large variety of operating systems precompiled versions of the OpenSSL toolkit are available. In particular, on Linux and other Unix operating systems, it is normally recommended to link against the precompiled shared libraries provided by the distributor or vendor.&lt;/p&gt; 
&lt;p&gt;We also maintain a list of third parties that produce OpenSSL binaries for various Operating Systems (including Windows) on the &lt;a href=&quot;https://github.com/openssl/openssl/wiki/Binaries&quot; title=&quot;List of third party OpenSSL binaries&quot;&gt;Binaries&lt;/a&gt; page on our wiki.&lt;/p&gt; 
&lt;h2&gt;For Testing and Development&lt;/h2&gt; 
&lt;p&gt;Although testing and development could in theory also be done using the source tarballs, having a local copy of the git repository with the entire project history gives you much more insight into the code base.&lt;/p&gt; 
&lt;p&gt;The main OpenSSL Git repository is private. There is a public GitHub mirror of it at &lt;a href=&quot;https://github.com/openssl/openssl&quot; title=&quot;OpenSSL GitHub Mirror&quot;&gt;github.com/openssl/openssl&lt;/a&gt;, which is updated automatically from the former on every commit.&lt;/p&gt; 
&lt;p&gt;A local copy of the Git repository can be obtained by cloning it from the GitHub mirror using&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git clone https://github.com/openssl/openssl.git
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;If you intend to contribute to OpenSSL, either to fix bugs or contribute new features, you need to fork the GitHub mirror and clone your public fork instead.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git clone https://github.com/yourname/openssl.git
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This is necessary because all development of OpenSSL nowadays is done via GitHub pull requests. For more details, see &lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/#contributing&quot;&gt;Contributing&lt;/a&gt;.&lt;/p&gt; 
&lt;h1&gt;Build and Install&lt;/h1&gt; 
&lt;p&gt;After obtaining the Source, have a look at the &lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/INSTALL.md&quot;&gt;INSTALL&lt;/a&gt; file for detailed instructions about building and installing OpenSSL. For some platforms, the installation instructions are amended by a platform specific document.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/NOTES-UNIX.md&quot;&gt;Notes for UNIX-like platforms&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/NOTES-ANDROID.md&quot;&gt;Notes for Android platforms&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/NOTES-WINDOWS.md&quot;&gt;Notes for Windows platforms&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/NOTES-DJGPP.md&quot;&gt;Notes for the DOS platform with DJGPP&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/NOTES-VMS.md&quot;&gt;Notes for the OpenVMS platform&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/NOTES-PERL.md&quot;&gt;Notes on Perl&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/NOTES-VALGRIND.md&quot;&gt;Notes on Valgrind&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Specific notes on upgrading to OpenSSL 3.x from previous versions can be found in the &lt;a href=&quot;https://docs.openssl.org/master/man7/ossl-guide-migration&quot; title=&quot;OpenSSL Migration Guide&quot;&gt;ossl-guide-migration(7ossl)&lt;/a&gt; manual page.&lt;/p&gt; 
&lt;h1&gt;Documentation&lt;/h1&gt; 
&lt;h2&gt;README Files&lt;/h2&gt; 
&lt;p&gt;There are some &lt;a href=&quot;http://README.md&quot;&gt;README.md&lt;/a&gt; files in the top level of the source distribution containing additional information on specific topics.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/README-QUIC.md&quot;&gt;Information about the OpenSSL QUIC protocol implementation&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/README-PROVIDERS.md&quot;&gt;Information about the OpenSSL Provider architecture&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/README-FIPS.md&quot;&gt;Information about using the OpenSSL FIPS validated module&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;The OpenSSL Guide&lt;/h2&gt; 
&lt;p&gt;There are some tutorial and introductory pages on some important OpenSSL topics within the &lt;a href=&quot;https://docs.openssl.org/master/man7/ossl-guide-introduction&quot; title=&quot;An introduction to OpenSSL&quot;&gt;OpenSSL Guide&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Manual Pages&lt;/h2&gt; 
&lt;p&gt;The manual pages for the master branch and all current stable releases are available online.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.openssl.org/master/&quot;&gt;OpenSSL master&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.openssl.org/3.6/&quot;&gt;OpenSSL 3.6&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.openssl.org/3.5/&quot;&gt;OpenSSL 3.5&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.openssl.org/3.4/&quot;&gt;OpenSSL 3.4&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.openssl.org/3.3/&quot;&gt;OpenSSL 3.3&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.openssl.org/3.2/&quot;&gt;OpenSSL 3.2&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.openssl.org/3.0/&quot;&gt;OpenSSL 3.0&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Demos&lt;/h2&gt; 
&lt;p&gt;There are numerous source code demos for using various OpenSSL capabilities in the &lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/demos&quot;&gt;demos subfolder&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Wiki&lt;/h2&gt; 
&lt;p&gt;There is a &lt;a href=&quot;https://github.com/openssl/openssl/wiki&quot; title=&quot;OpenSSL Wiki&quot;&gt;GitHub Wiki&lt;/a&gt; which is currently not very active.&lt;/p&gt; 
&lt;h1&gt;License&lt;/h1&gt; 
&lt;p&gt;OpenSSL is licensed under the Apache License 2.0, which means that you are free to get and use it for commercial and non-commercial purposes as long as you fulfill its conditions.&lt;/p&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/LICENSE.txt&quot;&gt;LICENSE.txt&lt;/a&gt; file for more details.&lt;/p&gt; 
&lt;h1&gt;Support&lt;/h1&gt; 
&lt;p&gt;There are various ways to get in touch. The correct channel depends on your requirement. See the &lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/SUPPORT.md&quot;&gt;SUPPORT&lt;/a&gt; file for more details.&lt;/p&gt; 
&lt;h1&gt;Contributing&lt;/h1&gt; 
&lt;p&gt;If you are interested and willing to contribute to the OpenSSL project, please take a look at the &lt;a href=&quot;https://raw.githubusercontent.com/openssl/openssl/master/CONTRIBUTING.md&quot;&gt;CONTRIBUTING&lt;/a&gt; file.&lt;/p&gt; 
&lt;h1&gt;Legalities&lt;/h1&gt; 
&lt;p&gt;A number of nations restrict the use or export of cryptography. If you are potentially subject to such restrictions, you should seek legal advice before attempting to develop or distribute cryptographic code.&lt;/p&gt; 
&lt;h1&gt;Copyright&lt;/h1&gt; 
&lt;p&gt;Copyright (c) 1998-2026 The OpenSSL Project Authors&lt;/p&gt; 
&lt;p&gt;Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson&lt;/p&gt; 
&lt;p&gt;All rights reserved.&lt;/p&gt; 
&lt;!-- Links  --&gt; 
&lt;!-- Logos and Badges --&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/037f31960176c122b98c33b9764e0e798f65d1a7577ee9d20615033cfc0f5b4e/openssl/openssl" medium="image" />
      
    </item>
    
    <item>
      <title>Zelda64Recomp/Zelda64Recomp</title>
      <link>https://github.com/Zelda64Recomp/Zelda64Recomp</link>
      <description>&lt;p&gt;Static recompilation of Majora&#39;s Mask (and soon Ocarina of Time) for PC (Windows/Linux/Mac)&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Zelda 64: Recompiled&lt;/h1&gt; 
&lt;p&gt;Zelda 64: Recompiled is a project that uses &lt;a href=&quot;https://github.com/Mr-Wiseguy/N64Recomp&quot;&gt;N64: Recompiled&lt;/a&gt; to &lt;strong&gt;statically recompile&lt;/strong&gt; Majora&#39;s Mask (and soon Ocarina of Time) into a native port with many new features, enhancements, and extensive mod support. This project uses &lt;a href=&quot;https://github.com/rt64/rt64&quot;&gt;RT64&lt;/a&gt; as the rendering engine to provide graphical enhancements.&lt;/p&gt; 
&lt;h3&gt;&lt;a href=&quot;https://github.com/Mr-Wiseguy/Zelda64Recomp/releases/latest&quot;&gt;Check out the latest release here&lt;/a&gt;.&lt;/h3&gt; 
&lt;p&gt;Join the &lt;a href=&quot;https://discord.gg/AWZThJ4dPf&quot;&gt;N64: Recompiled Community Discord&lt;/a&gt; to discuss this and other N64: Recompiled projects!&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://discord.gg/AWZThJ4dPf&quot;&gt;&lt;img src=&quot;https://discordapp.com/api/guilds/1374083583739826328/widget.png?style=banner2&quot; alt=&quot;Discord Invitation&quot; title=&quot;N64 Recomp&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;&lt;strong&gt;This repository and its releases do not contain game assets. The original game is required to build or run this project.&lt;/strong&gt;&lt;/h3&gt; 
&lt;div align=&quot;left&quot; valign=&quot;middle&quot;&gt; 
 &lt;a href=&quot;https://runblaze.dev&quot;&gt; 
  &lt;picture&gt; 
   &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;https://www.runblaze.dev/logo_dark.png&quot; /&gt; 
   &lt;img align=&quot;right&quot; src=&quot;https://www.runblaze.dev/logo_light.png&quot; height=&quot;102px&quot; /&gt; 
  &lt;/picture&gt; &lt;/a&gt; 
 &lt;br style=&quot;display: none;&quot; /&gt; 
 &lt;p&gt;&lt;em&gt;Special thanks to &lt;a href=&quot;https://runblaze.dev&quot;&gt;Blaze&lt;/a&gt; for their support of this project. They provide high-performance Linux (AMD64 &amp;amp; ARM64) and Apple Silicon macOS runners for GitHub Actions, greatly reducing our automated build times.&lt;/em&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;h2&gt;Table of Contents&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#system-requirements&quot;&gt;System Requirements&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#features&quot;&gt;Features&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#plug-and-play&quot;&gt;Plug and Play&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#fully-intact-n64-effects&quot;&gt;Fully Intact N64 Effects&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#easy-to-use-menus&quot;&gt;Easy-to-Use Menus&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#high-framerate-support&quot;&gt;High Framerate Support&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#widescreen-and-ultrawide-support&quot;&gt;Widescreen and Ultrawide Support&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#mod-support&quot;&gt;Mod Support&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#dual-analog-camera&quot;&gt;Dual Analog Camera&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#gyro-aim&quot;&gt;Gyro Aim&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#additional-control-options&quot;&gt;Additional Control Options&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#autosaving&quot;&gt;Autosaving&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#low-input-lag&quot;&gt;Low Input Lag&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#instant-load-times&quot;&gt;Instant Load Times&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#linux-and-steam-deck-support&quot;&gt;Linux and Steam Deck Support&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#planned-features&quot;&gt;Planned Features&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#faq&quot;&gt;FAQ&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#known-issues&quot;&gt;Known Issues&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#building&quot;&gt;Building&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#libraries-used-and-projects-referenced&quot;&gt;Libraries Used and Projects Referenced&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;System Requirements&lt;/h2&gt; 
&lt;p&gt;A GPU supporting Direct3D 12.0 (Shader Model 6), Vulkan 1.2, or Metal Argument Buffers Tier 2 support is required to run this project. The oldest GPUs that should be supported for each vendor are:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;GeForce GT 630&lt;/li&gt; 
 &lt;li&gt;Radeon HD 7750 (the one from 2012, not to be confused with the RX 7000 series) and newer&lt;/li&gt; 
 &lt;li&gt;Intel HD 510 (Skylake)&lt;/li&gt; 
 &lt;li&gt;A Mac with Apple Silicon or an Intel 7th Gen CPU with MacOS 13.0+&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;On x86-64 PCs, a CPU supporting the SSE4.1 instruction set is also required (Intel Core 2 Penryn series or AMD Bulldozer and newer). ARM64 builds will work on any ARM64 CPU.&lt;/p&gt; 
&lt;p&gt;If you have issues with crashes on startup, make sure your graphics drivers are fully up to date.&lt;/p&gt; 
&lt;h2&gt;Features&lt;/h2&gt; 
&lt;h4&gt;Plug and Play&lt;/h4&gt; 
&lt;p&gt;Simply provide your copy of the North American version of the game in the main menu and start playing! This project will automatically load assets from the provided copy, so there is no need to go through a separate extraction step or build the game yourself. Other versions of the game may be supported in the future.&lt;/p&gt; 
&lt;h4&gt;Fully Intact N64 Effects&lt;/h4&gt; 
&lt;p&gt;A lot of care was put into RT64 to make sure all graphical effects were rendered exactly as they did originally on the N64. No workarounds or &quot;hacks&quot; were made to replicate these effects, with the only modifications to them being made for enhancement purposes such as widescreen support. This includes framebuffer effects like the grayscale cutscenes and the Deku bubble projectile, depth effects like the lens of truth, decals such as shadows or impact textures, accurate lighting, shading effects like the fire arrows and bomb explosions, and various textures that are often rendered incorrectly.&lt;/p&gt; 
&lt;h4&gt;Easy-to-Use Menus&lt;/h4&gt; 
&lt;p&gt;Gameplay settings, graphics settings, input mappings, and audio settings can all be configured with the in-game config menu. The menus can all be used with mouse, controller, or keyboard for maximum convenience.&lt;/p&gt; 
&lt;h4&gt;High Framerate Support&lt;/h4&gt; 
&lt;p&gt;Play at any framerate you want thanks to functionality provided by RT64! Game objects and terrain, texture scrolling, screen effects, and most HUD elements are all rendered at high framerates. By default, this project is configured to run at your monitor&#39;s refresh rate. You can also play at the original framerate of the game if you prefer. &lt;strong&gt;Changing framerate has no effect on gameplay.&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: External framerate limiters (such as the NVIDIA Control Panel) are known to potentially cause problems, so if you notice any stuttering then turn them off and use the manual framerate slider in the in-game graphics menu instead.&lt;/p&gt; 
&lt;h4&gt;Widescreen and Ultrawide Support&lt;/h4&gt; 
&lt;p&gt;Any aspect ratio is supported, with most effects modded to work correctly in widescreen. The HUD can also be positioned at 16:9 when using ultrawide aspect ratios if preferred.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Some animation quirks can be seen at the edges of the screen in certain cutscenes when using very wide aspect ratios.&lt;/p&gt; 
&lt;h4&gt;Mod Support&lt;/h4&gt; 
&lt;p&gt;Install community made mods and texture packs! Mods can change any part of the game, including adding completely new features and content. You can install mods by simply dragging the mod files onto the game window before starting the game or by clicking the &lt;strong&gt;Install Mods&lt;/strong&gt; button in the mod menu. Mods can be toggled in the mod menu, and some mods can be configured there as well.&lt;/p&gt; 
&lt;p&gt;Many mods are available on the project&#39;s Thunderstore page: &lt;a href=&quot;https://thunderstore.io/c/zelda-64-recompiled/&quot;&gt;https://thunderstore.io/c/zelda-64-recompiled/&lt;/a&gt;. The Thunderstore mod manager/r2modman is not required or supported, so be sure to click the &quot;Manual Download&quot; button when downloading a mod instead of the &quot;Install with Mod Manager&quot; button.&lt;/p&gt; 
&lt;p&gt;If you&#39;re interested in making mods for this project, check out &lt;a href=&quot;https://github.com/Zelda64Recomp/MMRecompModTemplate&quot;&gt;the mod template&lt;/a&gt; and &lt;a href=&quot;https://hackmd.io/fMDiGEJ9TBSjomuZZOgzNg&quot;&gt;the modding documentation&lt;/a&gt;. If you&#39;re interested in making texture packs, check out &lt;a href=&quot;https://github.com/rt64/rt64/raw/main/TEXTURE-PACKS.md&quot;&gt;the RT64 documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;h4&gt;Dual Analog Camera&lt;/h4&gt; 
&lt;p&gt;Play with a dual analog control layout like later entries in the series! When this option is enabled, the right stick will control the camera. You can still have the C-Buttons mapped to the right stick if you so wish, so long as you also map them to other buttons on the controller. The right stick C-button inputs will be &quot;silenced&quot;, except when you take out the ocarina, so you can still play the ocarina with the right stick.&lt;/p&gt; 
&lt;h4&gt;Gyro Aim&lt;/h4&gt; 
&lt;p&gt;When playing with a supported controller, first-person items such as the bow can be aimed with your controller&#39;s gyro sensor. This includes (but is not limited to) controllers such as the Dualshock 4, Dualsense, Switch Pro, and most third party Switch controllers (such as the 8BitDo Pro 2 in Switch mode).&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Gamepad mappers such as BetterJoy or DS4Windows may intercept gyro data and prevent the game from receiving it. Most controllers are natively supported, so turning gamepad mappers off is recommended if you want to use gyro.&lt;/p&gt; 
&lt;h4&gt;Additional Control Options&lt;/h4&gt; 
&lt;p&gt;Customize your experience by setting your stick deadzone to your liking, as well as adjusting the X and Y axis inversion for both aiming and the optional dual analog camera.&lt;/p&gt; 
&lt;h4&gt;Autosaving&lt;/h4&gt; 
&lt;p&gt;Never worry about losing progress if your power goes out thanks to autosaving! The autosave system is designed to respect Majora&#39;s Mask&#39;s original save system and maintain the intention of owl saves by triggering automatically and replacing the previous autosave or owl save. However, if you&#39;d still rather play with the untouched save system, simply turn off autosaving in the ingame menu.&lt;/p&gt; 
&lt;h4&gt;Low Input Lag&lt;/h4&gt; 
&lt;p&gt;This project has been optimized to have as little input lag as possible, making the game feel more responsive than ever!&lt;/p&gt; 
&lt;h4&gt;Instant Load Times&lt;/h4&gt; 
&lt;p&gt;Saving and loading files, going from place to place, and pausing all happen in the blink of an eye thanks to the game running natively on modern hardware.&lt;/p&gt; 
&lt;h4&gt;Linux and Steam Deck Support&lt;/h4&gt; 
&lt;p&gt;A Linux binary as well as a Flatpak is available for playing on most up-to-date distros, including on the Steam Deck.&lt;/p&gt; 
&lt;p&gt;To play on Steam Deck, extract the Linux build onto your deck. Then, in desktop mode, right click the Zelda64Recompiled executable file and select &quot;Add to Steam&quot;. From there, you can return to Gaming mode and configure the controls as needed. See the &lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#how-do-i-set-up-gyro-aiming-on-steam-deck&quot;&gt;Steam Deck gyro aim FAQ section&lt;/a&gt; for more detailed instructions.&lt;/p&gt; 
&lt;h2&gt;Planned Features&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Ocarina of Time support&lt;/li&gt; 
 &lt;li&gt;Ray Tracing and Higher Quality Model Replacements (via RT64)&lt;/li&gt; 
 &lt;li&gt;Multi-language support with support for loading custom translations&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;FAQ&lt;/h2&gt; 
&lt;h4&gt;What is static recompilation?&lt;/h4&gt; 
&lt;p&gt;Static recompilation is the process of automatically translating an application from one platform to another. For more details, check out the full description of how this project&#39;s recompilation works here: &lt;a href=&quot;https://github.com/Mr-Wiseguy/N64Recomp&quot;&gt;N64: Recompiled&lt;/a&gt;.&lt;/p&gt; 
&lt;h4&gt;How is this related to the decompilation project?&lt;/h4&gt; 
&lt;p&gt;Unlike N64 ports in the past, this project is not based on the source code provided by a decompilation of the game. This is because static recompilation bypasses the need for decompiled source code when making a port, allowing ports to be made &lt;strong&gt;without source code&lt;/strong&gt;. However, the reverse engineering work done by the decompilation team was invaluable for providing some of the enhancements featured in this project. For this reason, the project uses headers and some functions from the decompilation project in order to make modifications to the game. Many thanks to the decompilation team for all of the hard work they&#39;ve done.&lt;/p&gt; 
&lt;h4&gt;How do I set up gyro aiming on Steam Deck?&lt;/h4&gt; 
&lt;p&gt;This project provides mouse aiming as a way to allow using gyro on Steam Deck, as the Steam Deck&#39;s gyro sensors cannot be read directly. First, launch the game in Gaming Mode, press the Steam button and go to &quot;Controller Settings&quot;. Choose &quot;Controller Settings&quot; again in the menu that follows, and then set &quot;Gyro Behavior&quot; to &quot;As Mouse&quot;.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/docs/deck_gyro_1.jpg&quot; alt=&quot;Controller Settings menu&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;You&#39;ll probably also want to change the default behavior so that you don&#39;t need to be touching the right stick to allow gyro input. To do so, click on the Gear icon to the right of &quot;Gyro Behavior&quot; and ensure that &quot;Gyro Activation Buttons&quot; is set to &quot;None Selected (Gyro Always On).&quot; If this isn&#39;t the case, then select that option and then press &quot;Select None&quot; in the following menu.&lt;/p&gt; 
&lt;h4&gt;Where is the savefile stored?&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Windows: &lt;code&gt;%LOCALAPPDATA%\Zelda64Recompiled\saves&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Linux: &lt;code&gt;~/.config/Zelda64Recompiled/saves&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;macOS: &lt;code&gt;~/Library/Application Support/Zelda64Recompiled/saves&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;How do I choose a different ROM?&lt;/h4&gt; 
&lt;p&gt;&lt;strong&gt;You don&#39;t.&lt;/strong&gt; This project is &lt;strong&gt;only&lt;/strong&gt; a port of Majora&#39;s Mask (and Ocarina of Time in the future), and it will only accept one specific ROM: the US version of the N64 release of Majora&#39;s Mask. ROMs in formats other than .z64 will be automatically converted, as long as it is the correct ROM. &lt;strong&gt;It is not an emulator and it cannot run any arbitrary ROM.&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;Instead, you can change the game by installing mods. See the &lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/#mod-support&quot;&gt;mod support&lt;/a&gt; section for details.&lt;/p&gt; 
&lt;h4&gt;Does this project have a randomizer?&lt;/h4&gt; 
&lt;p&gt;Yes, there is a randomizer available as a mod for this project which can be found at &lt;a href=&quot;https://github.com/RecompRando/MMRecompRando/releases/latest&quot;&gt;https://github.com/RecompRando/MMRecompRando/releases/latest&lt;/a&gt;. Simply download MMRecompRando.zip from the releases and install it like any other mod.&lt;/p&gt; 
&lt;h4&gt;Can you run this project as a portable application?&lt;/h4&gt; 
&lt;p&gt;Yes, if you place a file named &lt;code&gt;portable.txt&lt;/code&gt; in the same folder as the executable then this project will run in portable mode. In portable mode, the save files, config files, and mods are placed in the same folder as the executable.&lt;/p&gt; 
&lt;h2&gt;Known Issues&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Overlays such as MSI Afterburner and other software such as Wallpaper Engine can cause performance issues with this project that prevent the game from rendering correctly. Disabling such software is recommended.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Building&lt;/h2&gt; 
&lt;p&gt;Building is not required to play this project, as prebuilt binaries (which do not contain game assets) can be found in the &lt;a href=&quot;https://github.com/Mr-Wiseguy/Zelda64Recomp/releases&quot;&gt;Releases&lt;/a&gt; section. Instructions on how to build this project can be found in the &lt;a href=&quot;https://raw.githubusercontent.com/Zelda64Recomp/Zelda64Recomp/dev/BUILDING.md&quot;&gt;BUILDING.md&lt;/a&gt; file.&lt;/p&gt; 
&lt;h2&gt;Libraries Used and Projects Referenced&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/rt64/rt64&quot;&gt;RT64&lt;/a&gt; for the project&#39;s rendering engine&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/mikke89/RmlUi&quot;&gt;RmlUi&lt;/a&gt; for building the menus and launcher&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sammycage/lunasvg&quot;&gt;lunasvg&lt;/a&gt; for SVG rendering, used by RmlUi&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://freetype.org/&quot;&gt;FreeType&lt;/a&gt; for font rendering, used by RmlUi&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/cameron314/concurrentqueue&quot;&gt;moodycamel::ConcurrentQueue&lt;/a&gt; for semaphores and fast, lock-free MPMC queues&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/JibbSmart/GamepadMotionHelpers&quot;&gt;Gamepad Motion Helpers&lt;/a&gt; for sensor fusion and calibration algorithms to implement gyro aiming&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/zeldaret/mm&quot;&gt;Majora&#39;s Mask Decompilation&lt;/a&gt; for headers and some function definitions, used for making patches or some enhancements&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/ares-emulator/ares&quot;&gt;Ares emulator&lt;/a&gt; for RSP vector instruction reference implementations, used in RSP recompilation&lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/cc599cecd041b80a827159adcba8849c47c34c55ab9a08613a06b1630a06b751/Zelda64Recomp/Zelda64Recomp" medium="image" />
      
    </item>
    
    <item>
      <title>portapack-mayhem/mayhem-firmware</title>
      <link>https://github.com/portapack-mayhem/mayhem-firmware</link>
      <description>&lt;p&gt;The firmware for the HackRF+PortaPack H1/H2/H4/H4M&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;PortaPack Mayhem&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/actions/workflows/create_nightly_release.yml&quot;&gt;&lt;img src=&quot;https://github.com/portapack-mayhem/mayhem-firmware/actions/workflows/create_nightly_release.yml/badge.svg?branch=next&quot; alt=&quot;Nightly Release&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://codescene.io/projects/8381&quot;&gt;&lt;img src=&quot;https://codescene.io/projects/8381/status-badges/code-health&quot; alt=&quot;CodeScene Code Health&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/releases&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/downloads/portapack-mayhem/mayhem-firmware/total&quot; alt=&quot;GitHub All Releases&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/releases/latest&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/downloads/portapack-mayhem/mayhem-firmware/latest/total&quot; alt=&quot;GitHub Releases&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://hub.docker.com/r/eried/portapack&quot;&gt;&lt;img src=&quot;https://img.shields.io/docker/pulls/eried/portapack.svg?sanitize=true&quot; alt=&quot;Docker Hub Pulls&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.gg/tuwVMv3&quot;&gt;&lt;img src=&quot;https://img.shields.io/discord/719669764804444213?label=Discord&quot; alt=&quot;Discord Chat&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;This is a fork of the &lt;a href=&quot;https://github.com/furrtek/portapack-havoc/&quot;&gt;Havoc&lt;/a&gt; firmware, which itself was a fork of the &lt;a href=&quot;https://github.com/sharebrained/portapack-hackrf&quot;&gt;PortaPack&lt;/a&gt; firmware, an add-on for the &lt;a href=&quot;http://greatscottgadgets.com/hackrf/&quot;&gt;HackRF&lt;/a&gt;. A fork is a derivate, in this case one that has extra features and fixes when compared to the older versions.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/wiki/PortaPack-Versions#new-h4m-mayhem-edition&quot;&gt;&lt;img src=&quot;https://github.com/user-attachments/assets/dea337ab-fb64-4a2a-b419-69afd272e815&quot; height=&quot;310&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/wiki/PortaPack-Versions#h2m-mayhem-edition&quot;&gt;&lt;img src=&quot;https://github-production-user-asset-6210df.s3.amazonaws.com/4393979/295532718-8e5b661c-f946-4cee-8b2d-0a615f7715f4.png&quot; height=&quot;310&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h1&gt;What is this?&lt;/h1&gt; 
&lt;p&gt;If you are new to &lt;em&gt;HackRF+PortaPack+Mayhem&lt;/em&gt;, check these:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://share.hackrf.app/SPFOZO&quot;&gt;&lt;img alt=&quot;PortaPack H4M Crash Course&quot; src=&quot;https://img.youtube.com/vi/CjI-nUzdpas/maxresdefault.jpg&quot; width=&quot;701&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://share.hackrf.app/6HKX9A&quot;&gt;&lt;img alt=&quot;The Latest HackRF &amp;amp; Portapak Combo - H4M The Flipper Zero Killer?&quot; src=&quot;https://img.youtube.com/vi/Ew2qDgm2hf0/maxresdefault.jpg&quot; width=&quot;172&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://share.hackrf.app/X4D5TF&quot;&gt;&lt;img alt=&quot;It’s TOO Easy to Accidentally Do Illegal Stuff with This&quot; src=&quot;https://img.youtube.com/vi/OPckpjBSAOw/maxresdefault.jpg&quot; width=&quot;172&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://share.hackrf.app/F9MPOO&quot;&gt;&lt;img alt=&quot;HackRF Portapack H4M - Getting Started Guide&quot; src=&quot;https://img.youtube.com/vi/wzP0zWi85SI/maxresdefault.jpg&quot; width=&quot;172&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://share.hackrf.app/0JUHZ6&quot;&gt;&lt;img alt=&quot;The new HackRF Portapack H4M&quot; src=&quot;https://img.youtube.com/vi/onQRdCITmuk/maxresdefault.jpg&quot; width=&quot;172&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h1&gt;Frequently Asked Questions&lt;/h1&gt; 
&lt;p&gt;This repository expands upon the previous work by many people and aims to constantly add new features, bugfixes and generate documentation to make further development easier. &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/wiki/How-to-collaborate&quot;&gt;Collaboration&lt;/a&gt; is always welcomed and appreciated.&lt;/p&gt; 
&lt;h2&gt;What to buy?&lt;/h2&gt; 
&lt;!--not direct to h4m but to opensourcesdrlab https://share.hackrf.app/TUOLYI---&gt; 
&lt;p&gt;✔️ &lt;img src=&quot;https://img.shields.io/badge/NEW-yellow&quot; alt=&quot;Static Badge&quot; /&gt; The fabulous H4M &lt;a href=&quot;https://share.hackrf.app/DF2BZS&quot;&gt;complete&lt;/a&gt; or &lt;a href=&quot;https://share.hackrf.app/OCSJYI&quot;&gt;upgrade&lt;/a&gt;, featuring numerous improvements and accessories. Sold by our friends at &lt;a href=&quot;https://share.hackrf.app/99SAMT&quot;&gt;OpenSourceSDRLab&lt;/a&gt;. Join their giveaways on discord (check the badge on top). &lt;em&gt;EU customers&lt;/em&gt; can purchase via &lt;a href=&quot;https://share.hackrf.app/0CI2CR&quot;&gt;Lab401&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;✔️ A recommended one is this &lt;a href=&quot;https://share.hackrf.app/QT5JMB&quot;&gt;PortaPack H2&lt;/a&gt;, that includes everything you need with the plastic case &quot;inspired&quot; on &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/wiki/3d-printed-enclosure&quot;&gt;this&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;✔️ Some individuals lean towards the &lt;a href=&quot;https://share.hackrf.app/24T3TO&quot;&gt;H2 with a metal enclosure&lt;/a&gt;, but its advantages remain debated. Share your insights on our &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/wiki/Hardware-overview&quot;&gt;wiki&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;⚠️ Be cautious , &lt;em&gt;ask&lt;/em&gt; the seller about compatibility with the latest releases. Look out for the description of the item, if they provide the firmware files for an older version or they have custom setup instructions, this means it might be &lt;strong&gt;NOT compatible&lt;/strong&gt;, for example:&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://user-images.githubusercontent.com/1091420/214579017-9ad970b9-0917-48f6-a550-588226d3f89b.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;⚠️ If it looks &lt;strong&gt;too different&lt;/strong&gt;, this might mean that they are using their own recipe, check the &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/wiki/PortaPack-Versions&quot;&gt;different models&lt;/a&gt; in our wiki. For example all the H3 and clones of that version use their own version of the firmware. They do not contribute the changes back and eventually you will be left with a device that nobody maintains:&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://user-images.githubusercontent.com/1091420/214581333-424900ee-26f8-4e96-be2f-69d8dc995ba9.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;Where is the latest version?&lt;/h2&gt; 
&lt;p&gt;The current &lt;strong&gt;stable release&lt;/strong&gt; is on the &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/releases/latest&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/v/release/portapack-mayhem/mayhem-firmware?label=Releases&amp;amp;style=social&quot; alt=&quot;GitHub release (latest by date)&quot; /&gt;&lt;/a&gt; page. Follow the instructions you can find in the release description. The &lt;strong&gt;latest (nightly) release&lt;/strong&gt; can be found &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/releases/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;How can I collaborate&lt;/h2&gt; 
&lt;p&gt;We warmly welcome your contributions! Please refer to our &lt;strong&gt;&lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/wiki/Contributing-Guidelines&quot;&gt;Contributing Guidelines&lt;/a&gt;&lt;/strong&gt; for details.&lt;/p&gt; 
&lt;p&gt;You can write &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/wiki&quot;&gt;documentation&lt;/a&gt;, fix bugs and &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/issues&quot;&gt;answer issues&lt;/a&gt; or add new functionality. Please also check the following &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/wiki/How-to-collaborate&quot;&gt;guide&lt;/a&gt; with details.&lt;/p&gt; 
&lt;p&gt;Consider that the hardware and firmware has been created and maintain by a &lt;a href=&quot;https://github.com/mossmann/hackrf/graphs/contributors&quot;&gt;lot&lt;/a&gt; of &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/graphs/contributors&quot;&gt;people&lt;/a&gt;, so always try collaborating your time and effort first. For coding related questions, if something does not fit as an issue, please join our Discord by clicking the chat badge on &lt;a href=&quot;https://raw.githubusercontent.com/portapack-mayhem/mayhem-firmware/next/#portapack-mayhem&quot;&gt;top&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/graphs/contributors&quot;&gt;&lt;img src=&quot;https://contrib.rocks/image?repo=portapack-mayhem/mayhem-firmware&quot; alt=&quot;Contributors&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;To support the people behind the hardware, please buy a genuine &lt;a href=&quot;https://greatscottgadgets.com/hackrf/&quot;&gt;HackRF&lt;/a&gt; and &lt;a href=&quot;https://store.sharebrained.com/products/portapack-for-hackrf-one-kit&quot;&gt;PortaPack&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;What if I really want something specific?&lt;/h2&gt; 
&lt;p&gt;If what you need can be relevant in general, you can &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/issues/new?assignees=&amp;amp;labels=enhancement&amp;amp;projects=&amp;amp;template=02_feature_request.yml&quot;&gt;request a feature&lt;/a&gt;. Alternatively, go to our Discord by clicking the chat badge on &lt;a href=&quot;https://raw.githubusercontent.com/portapack-mayhem/mayhem-firmware/next/#portapack-mayhem&quot;&gt;top&lt;/a&gt; and discuss there.&lt;/p&gt; 
&lt;h2&gt;What if I need help?&lt;/h2&gt; 
&lt;p&gt;First, check the &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/wiki&quot;&gt;documentation&lt;/a&gt;. If you find a bug or you think the problem is related to the current repository, please open an &lt;a href=&quot;https://github.com/portapack-mayhem/mayhem-firmware/issues/new/choose&quot;&gt;issue&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;You can reach the &lt;a href=&quot;https://www.facebook.com/groups/177623356165819&quot;&gt;official community&lt;/a&gt; in Facebook, and our Discord by clicking the chat badge on &lt;a href=&quot;https://raw.githubusercontent.com/portapack-mayhem/mayhem-firmware/next/#portapack-mayhem&quot;&gt;top&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/bb94c7f317223c1767f4caa02226c244c5cde4d168103101a2afa7076f8e01a2/portapack-mayhem/mayhem-firmware" medium="image" />
      
    </item>
    
    <item>
      <title>nginx/nginx</title>
      <link>https://github.com/nginx/nginx</link>
      <description>&lt;p&gt;The official NGINX Open Source repository.&lt;/p&gt;&lt;hr&gt;&lt;picture&gt; 
 &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;https://github.com/user-attachments/assets/9335b488-ffcc-4157-8364-2370a0b70ad0&quot; /&gt; 
 &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;https://github.com/user-attachments/assets/3a7eeb08-1133-47f5-859c-fad4f5a6a013&quot; /&gt; 
 &lt;img alt=&quot;NGINX Banner&quot; /&gt; 
&lt;/picture&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.repostatus.org/#active&quot;&gt;&lt;img src=&quot;https://www.repostatus.org/badges/latest/active.svg?sanitize=true&quot; alt=&quot;Project Status: Active – The project has reached a stable, usable state and is being actively developed.&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://community.nginx.org&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/community-forum-009639?logo=discourse&amp;amp;link=https%3A%2F%2Fcommunity.nginx.org&quot; alt=&quot;Community Forum&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/LICENSE&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/License-BSD%202--Clause-blue.svg?sanitize=true&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/CODE_OF_CONDUCT.md&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?sanitize=true&quot; alt=&quot;Code of Conduct&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;NGINX (pronounced &quot;engine x&quot; or &quot;en-jin-eks&quot;) is the world&#39;s most popular Web Server, high performance Load Balancer, Reverse Proxy, API Gateway and Content Cache.&lt;/p&gt; 
&lt;p&gt;NGINX is free and open source software, distributed under the terms of a simplified &lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/LICENSE&quot;&gt;2-clause BSD-like license&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Enterprise distributions, commercial support and training are available from &lt;a href=&quot;https://www.f5.com/products/nginx&quot;&gt;F5, Inc&lt;/a&gt;.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Important&lt;/p&gt;
 &lt;p&gt;The goal of this README is to provide a basic, structured introduction to NGINX for novice users. Please refer to the &lt;a href=&quot;https://nginx.org/en/docs/&quot;&gt;full NGINX documentation&lt;/a&gt; for detailed information on &lt;a href=&quot;https://nginx.org/en/docs/install.html&quot;&gt;installing&lt;/a&gt;, &lt;a href=&quot;https://nginx.org/en/docs/configure.html&quot;&gt;building&lt;/a&gt;, &lt;a href=&quot;https://nginx.org/en/docs/dirindex.html&quot;&gt;configuring&lt;/a&gt;, &lt;a href=&quot;https://nginx.org/en/docs/debugging_log.html&quot;&gt;debugging&lt;/a&gt;, and more. These documentation pages also contain a more detailed &lt;a href=&quot;https://nginx.org/en/docs/beginners_guide.html&quot;&gt;Beginners Guide&lt;/a&gt;, How-Tos, &lt;a href=&quot;https://nginx.org/en/docs/dev/development_guide.html&quot;&gt;Development guide&lt;/a&gt;, and a complete module and &lt;a href=&quot;https://nginx.org/en/docs/dirindex.html&quot;&gt;directive reference&lt;/a&gt;.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h1&gt;Table of contents&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#how-it-works&quot;&gt;How it works&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#modules&quot;&gt;Modules&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#configurations&quot;&gt;Configurations&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#runtime&quot;&gt;Runtime&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#downloading-and-installing&quot;&gt;Downloading and installing&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#stable-and-mainline-binaries&quot;&gt;Stable and Mainline binaries&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#linux-binary-installation-process&quot;&gt;Linux binary installation process&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#freebsd-installation-process&quot;&gt;FreeBSD installation process&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#windows-executables&quot;&gt;Windows executables&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#dynamic-modules&quot;&gt;Dynamic modules&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#getting-started-with-nginx&quot;&gt;Getting started with NGINX&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#installing-ssl-certificates-and-enabling-tls-encryption&quot;&gt;Installing SSL certificates and enabling TLS encryption&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#load-balancing&quot;&gt;Load Balancing&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#rate-limiting&quot;&gt;Rate limiting&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#content-caching&quot;&gt;Content caching&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#building-from-source&quot;&gt;Building from source&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#installing-dependencies&quot;&gt;Installing dependencies&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#cloning-the-nginx-github-repository&quot;&gt;Cloning the NGINX GitHub repository&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#configuring-the-build&quot;&gt;Configuring the build&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#compiling&quot;&gt;Compiling&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#location-of-binary-and-installation&quot;&gt;Location of binary and installation&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#running-and-testing-the-installed-binary&quot;&gt;Running and testing the installed binary&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#asking-questions-and-reporting-issues&quot;&gt;Asking questions and reporting issues&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#contributing-code&quot;&gt;Contributing code&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#additional-help-and-resources&quot;&gt;Additional help and resources&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#changelog&quot;&gt;Changelog&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#license&quot;&gt;License&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;How it works&lt;/h1&gt; 
&lt;p&gt;NGINX is installed software with binary packages available for all major operating systems and Linux distributions. See &lt;a href=&quot;https://nginx.org/en/#tested_os_and_platforms&quot;&gt;Tested OS and Platforms&lt;/a&gt; for a full list of compatible systems.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Important&lt;/p&gt;
 &lt;p&gt;While nearly all popular Linux-based operating systems are distributed with a community version of nginx, we highly advise installation and usage of official &lt;a href=&quot;https://nginx.org/en/linux_packages.html&quot;&gt;packages&lt;/a&gt; or sources from this repository. Doing so ensures that you&#39;re using the most recent release or source code, including the latest feature-set, fixes and security patches.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h2&gt;Modules&lt;/h2&gt; 
&lt;p&gt;NGINX is comprised of individual modules, each extending core functionality by providing additional, configurable features. See &quot;Modules reference&quot; at the bottom of &lt;a href=&quot;https://nginx.org/en/docs/&quot;&gt;nginx documentation&lt;/a&gt; for a complete list of official modules.&lt;/p&gt; 
&lt;p&gt;NGINX modules can be built and distributed as static or dynamic modules. Static modules are defined at build-time, compiled, and distributed in the resulting binaries. See &lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#dynamic-modules&quot;&gt;Dynamic Modules&lt;/a&gt; for more information on how they work, as well as, how to obtain, install, and configure them.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-tip&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-light-bulb mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Tip&lt;/p&gt;
 &lt;p&gt;You can issue the following command to see which static modules your NGINX binaries were built with:&lt;/p&gt; 
&lt;/div&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;nginx -V
&lt;/code&gt;&lt;/pre&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#configuring-the-build&quot;&gt;Configuring the build&lt;/a&gt; for information on how to include specific Static modules into your nginx build.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h2&gt;Configurations&lt;/h2&gt; 
&lt;p&gt;NGINX is highly flexible and configurable. Provisioning the software is achieved via text-based config file(s) accepting parameters called &quot;&lt;a href=&quot;https://nginx.org/en/docs/dirindex.html&quot;&gt;Directives&lt;/a&gt;&quot;. See &lt;a href=&quot;https://nginx.org/en/docs/beginners_guide.html#conf_structure&quot;&gt;Configuration File&#39;s Structure&lt;/a&gt; for a comprehensive description of how NGINX configuration files work.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;The set of directives available to your distribution of NGINX is dependent on which &lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#modules&quot;&gt;modules&lt;/a&gt; have been made available to it.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h2&gt;Runtime&lt;/h2&gt; 
&lt;p&gt;Rather than running in a single, monolithic process, NGINX is architected to scale beyond Operating System process limitations by operating as a collection of processes. They include:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;A &quot;master&quot; process that maintains worker processes, as well as, reads and evaluates configuration files.&lt;/li&gt; 
 &lt;li&gt;One or more &quot;worker&quot; processes that process data (eg. HTTP requests).&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;The number of &lt;a href=&quot;https://nginx.org/en/docs/ngx_core_module.html#worker_processes&quot;&gt;worker processes&lt;/a&gt; is defined in the configuration file and may be fixed for a given configuration or automatically adjusted to the number of available CPU cores. In most cases, the latter option optimally balances load across available system resources, as NGINX is designed to efficiently distribute work across all worker processes.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-tip&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-light-bulb mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Tip&lt;/p&gt;
 &lt;p&gt;Processes synchronize data through shared memory. For this reason, many NGINX directives require the allocation of shared memory zones. As an example, when configuring &lt;a href=&quot;https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req&quot;&gt;rate limiting&lt;/a&gt;, connecting clients may need to be tracked in a &lt;a href=&quot;https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_zone&quot;&gt;common memory zone&lt;/a&gt; so all worker processes can know how many times a particular client has accessed the server in a span of time.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h1&gt;Downloading and installing&lt;/h1&gt; 
&lt;p&gt;Follow these steps to download and install precompiled NGINX binaries. You may also choose to &lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/#building-from-source&quot;&gt;build NGINX locally from source code&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Stable and Mainline binaries&lt;/h2&gt; 
&lt;p&gt;NGINX binaries are built and distributed in two versions: stable and mainline. Stable binaries are built from stable branches and only contain critical fixes backported from the mainline version. Mainline binaries are built from the &lt;a href=&quot;https://github.com/nginx/nginx/tree/master&quot;&gt;master branch&lt;/a&gt; and contain the latest features and bugfixes. You&#39;ll need to &lt;a href=&quot;https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#choosing-between-a-stable-or-a-mainline-version&quot;&gt;decide which is appropriate for your purposes&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Linux binary installation process&lt;/h2&gt; 
&lt;p&gt;The NGINX binary installation process takes advantage of package managers native to specific Linux distributions. For this reason, first-time installations involve adding the official NGINX package repository to your system&#39;s package manager. Follow &lt;a href=&quot;https://nginx.org/en/linux_packages.html&quot;&gt;these steps&lt;/a&gt; to download, verify, and install NGINX binaries using the package manager appropriate for your Linux distribution.&lt;/p&gt; 
&lt;h3&gt;Upgrades&lt;/h3&gt; 
&lt;p&gt;Future upgrades to the latest version can be managed using the same package manager without the need to manually download and verify binaries.&lt;/p&gt; 
&lt;h2&gt;FreeBSD installation process&lt;/h2&gt; 
&lt;p&gt;For more information on installing NGINX on FreeBSD system, visit &lt;a href=&quot;https://nginx.org/en/docs/install.html&quot;&gt;https://nginx.org/en/docs/install.html&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Windows executables&lt;/h2&gt; 
&lt;p&gt;Windows executables for mainline and stable releases can be found on the main &lt;a href=&quot;https://nginx.org/en/download.html&quot;&gt;NGINX download page&lt;/a&gt;. Note that the current implementation of NGINX for Windows is at the Proof-of-Concept stage and should only be used for development and testing purposes. For additional information, please see &lt;a href=&quot;https://nginx.org/en/docs/windows.html&quot;&gt;nginx for Windows&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Dynamic modules&lt;/h2&gt; 
&lt;p&gt;NGINX version 1.9.11 added support for &lt;a href=&quot;https://nginx.org/en/docs/ngx_core_module.html#load_module&quot;&gt;Dynamic Modules&lt;/a&gt;. Unlike Static modules, dynamically built modules can be downloaded, installed, and configured after the core NGINX binaries have been built. &lt;a href=&quot;https://nginx.org/en/linux_packages.html#dynmodules&quot;&gt;Official dynamic module binaries&lt;/a&gt; are available from the same package repository as the core NGINX binaries described in previous steps.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-tip&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-light-bulb mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Tip&lt;/p&gt;
 &lt;p&gt;&lt;a href=&quot;https://github.com/nginx/njs&quot;&gt;NGINX JavaScript (njs)&lt;/a&gt;, is a popular NGINX dynamic module that enables the extension of core NGINX functionality using familiar JavaScript syntax.&lt;/p&gt; 
&lt;/div&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Important&lt;/p&gt;
 &lt;p&gt;If desired, dynamic modules can also be built statically into NGINX at compile time.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h1&gt;Getting started with NGINX&lt;/h1&gt; 
&lt;p&gt;For a gentle introduction to NGINX basics, please see our &lt;a href=&quot;https://nginx.org/en/docs/beginners_guide.html&quot;&gt;Beginner’s Guide&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Installing SSL certificates and enabling TLS encryption&lt;/h2&gt; 
&lt;p&gt;See &lt;a href=&quot;https://nginx.org/en/docs/http/configuring_https_servers.html&quot;&gt;Configuring HTTPS servers&lt;/a&gt; for a quick guide on how to enable secure traffic to your NGINX installation.&lt;/p&gt; 
&lt;h2&gt;Load Balancing&lt;/h2&gt; 
&lt;p&gt;For a quick start guide on configuring NGINX as a Load Balancer, please see &lt;a href=&quot;https://nginx.org/en/docs/http/load_balancing.html&quot;&gt;Using nginx as HTTP load balancer&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Rate limiting&lt;/h2&gt; 
&lt;p&gt;See our &lt;a href=&quot;https://blog.nginx.org/blog/rate-limiting-nginx&quot;&gt;Rate Limiting with NGINX&lt;/a&gt; blog post for an overview of core concepts for provisioning NGINX as an API Gateway.&lt;/p&gt; 
&lt;h2&gt;Content caching&lt;/h2&gt; 
&lt;p&gt;See &lt;a href=&quot;https://blog.nginx.org/blog/nginx-caching-guide&quot;&gt;A Guide to Caching with NGINX and NGINX Plus&lt;/a&gt; blog post for an overview of how to use NGINX as a content cache (e.g. edge server of a content delivery network).&lt;/p&gt; 
&lt;h1&gt;Building from source&lt;/h1&gt; 
&lt;p&gt;The following steps can be used to build NGINX from source code available in this repository.&lt;/p&gt; 
&lt;h2&gt;Installing dependencies&lt;/h2&gt; 
&lt;p&gt;Most Linux distributions will require several dependencies to be installed in order to build NGINX. The following instructions are specific to the &lt;code&gt;apt&lt;/code&gt; package manager, widely available on most Ubuntu/Debian distributions and their derivatives.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-tip&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-light-bulb mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Tip&lt;/p&gt;
 &lt;p&gt;It is always a good idea to update your package repository lists prior to installing new packages.&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo apt update
&lt;/code&gt;&lt;/pre&gt; 
&lt;/div&gt; 
&lt;h3&gt;Installing compiler and make utility&lt;/h3&gt; 
&lt;p&gt;Use the following command to install the GNU C compiler and Make utility.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo apt install gcc make
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Installing dependency libraries&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo apt install libpcre3-dev zlib1g-dev
&lt;/code&gt;&lt;/pre&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-warning&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-alert mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Warning&lt;/p&gt;
 &lt;p&gt;This is the minimal set of dependency libraries needed to build NGINX with rewriting and gzip capabilities. Other dependencies may be required if you choose to build NGINX with additional modules. Monitor the output of the &lt;code&gt;configure&lt;/code&gt; command discussed in the following sections for information on which modules may be missing. For example, if you plan to use SSL certificates to encrypt traffic with TLS, you&#39;ll need to install the OpenSSL library. To do so, issue the following command.&lt;/p&gt; 
&lt;/div&gt; 
&lt;blockquote&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo apt install libssl-dev
&lt;/code&gt;&lt;/pre&gt; 
&lt;/blockquote&gt; 
&lt;h2&gt;Cloning the NGINX GitHub repository&lt;/h2&gt; 
&lt;p&gt;Using your preferred method, clone the NGINX repository into your development directory. See &lt;a href=&quot;https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository&quot;&gt;Cloning a GitHub Repository&lt;/a&gt; for additional help.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git clone https://github.com/nginx/nginx.git
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Configuring the build&lt;/h2&gt; 
&lt;p&gt;Prior to building NGINX, you must run the &lt;code&gt;configure&lt;/code&gt; script with &lt;a href=&quot;https://nginx.org/en/docs/configure.html&quot;&gt;appropriate flags&lt;/a&gt;. This will generate a Makefile in your NGINX source root directory that can then be used to compile NGINX with &lt;a href=&quot;https://nginx.org/en/docs/configure.html&quot;&gt;options specified during configuration&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;From the NGINX source code repository&#39;s root directory:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;auto/configure
&lt;/code&gt;&lt;/pre&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Important&lt;/p&gt;
 &lt;p&gt;Configuring the build without any flags will compile NGINX with the default set of options. Please refer to &lt;a href=&quot;https://nginx.org/en/docs/configure.html&quot;&gt;https://nginx.org/en/docs/configure.html&lt;/a&gt; for a full list of available build configuration options.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h2&gt;Compiling&lt;/h2&gt; 
&lt;p&gt;The &lt;code&gt;configure&lt;/code&gt; script will generate a &lt;code&gt;Makefile&lt;/code&gt; in the NGINX source root directory upon successful execution. To compile NGINX into a binary, issue the following command from that same directory:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;make
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Location of binary and installation&lt;/h2&gt; 
&lt;p&gt;After successful compilation, a binary will be generated at &lt;code&gt;&amp;lt;NGINX_SRC_ROOT_DIR&amp;gt;/objs/nginx&lt;/code&gt;. To install this binary, issue the following command from the source root directory:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo make install
&lt;/code&gt;&lt;/pre&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Important&lt;/p&gt;
 &lt;p&gt;The binary will be installed into the &lt;code&gt;/usr/local/nginx/&lt;/code&gt; directory.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h2&gt;Running and testing the installed binary&lt;/h2&gt; 
&lt;p&gt;To run the installed binary, issue the following command:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo /usr/local/nginx/sbin/nginx
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;You may test NGINX operation using &lt;code&gt;curl&lt;/code&gt;.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;curl localhost
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The output of which should start with:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;title&amp;gt;Welcome to nginx!&amp;lt;/title&amp;gt;
&lt;/code&gt;&lt;/pre&gt; 
&lt;h1&gt;Asking questions and reporting issues&lt;/h1&gt; 
&lt;p&gt;See our &lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/SUPPORT.md&quot;&gt;Support&lt;/a&gt; guidelines for information on how discuss the codebase, ask troubleshooting questions, and report issues.&lt;/p&gt; 
&lt;h1&gt;Contributing code&lt;/h1&gt; 
&lt;p&gt;Please see the &lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/CONTRIBUTING.md&quot;&gt;Contributing&lt;/a&gt; guide for information on how to contribute code.&lt;/p&gt; 
&lt;h1&gt;Additional help and resources&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt;See the &lt;a href=&quot;https://blog.nginx.org/&quot;&gt;NGINX Community Blog&lt;/a&gt; for more tips, tricks and HOW-TOs related to NGINX and related projects.&lt;/li&gt; 
 &lt;li&gt;Access &lt;a href=&quot;https://nginx.org/&quot;&gt;nginx.org&lt;/a&gt;, your go-to source for all documentation, information and software related to the NGINX suite of projects.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h1&gt;Changelog&lt;/h1&gt; 
&lt;p&gt;See our &lt;a href=&quot;https://nginx.org/en/CHANGES&quot;&gt;changelog&lt;/a&gt; to keep track of updates.&lt;/p&gt; 
&lt;h1&gt;License&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nginx/nginx/master/LICENSE&quot;&gt;2-clause BSD-like license&lt;/a&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;p&gt;Additional documentation available at: &lt;a href=&quot;https://nginx.org/en/docs&quot;&gt;https://nginx.org/en/docs&lt;/a&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/4a3ec33419f7c71eac6417572ffed5d7607b8381e52ef6861c6436a041d6198c/nginx/nginx" medium="image" />
      
    </item>
    
  </channel>
</rss>
