https://github.com/microsoft/reverse-proxy Skip to content Sign up * Why GitHub? + Features + Mobile + Actions + Codespaces + Packages + Security + Code review + Issues + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Learning Lab + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} microsoft / reverse-proxy Public * Notifications * Fork 436 * Star 4.6k * A toolkit for developing high-performance HTTP reverse proxy applications. microsoft.github.io/reverse-proxy MIT License 4.6k stars 436 forks Star Notifications * Code * Issues 115 * Pull requests 4 * Discussions * Actions * Projects 1 * Wiki * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Projects * Wiki * Security * Insights This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 10 branches 15 tags Code Latest commit @dpbevin dpbevin Fix typos in IngressController (#1579) ... e0bffd5 Feb 19, 2022 Fix typos in IngressController (#1579) e0bffd5 Git stats * 699 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .config Remove unused test certificates (#1053) Jun 3, 2021 .github Update CODEOWNERS (#1276) Oct 5, 2021 docs Add http.sys delegation support (#1556) Feb 18, 2022 eng Update dependencies from https://github.com/dotnet/arcade build 20220... Feb 14, 2022 samples Add http.sys delegation support (#1556) Feb 18, 2022 src Fix typos in IngressController (#1579) Feb 19, 2022 test Add http.sys delegation support (#1556) Feb 18, 2022 testassets Add cluster access API, reassignment (#1538) Feb 9, 2022 .dockerignore #1280 Fix Dockerfiles for .NET 6 SDK (#1281) Oct 25, 2021 .editorconfig File Scoped Namespaces (#1352) Nov 12, 2021 .gitattributes Style fix ups (#19) Mar 17, 2020 .gitignore Remove *.pfx from gitignore (#753) Feb 17, 2021 CODE_OF_CONDUCT.md git add --renormalize . (#35) Apr 1, 2020 Directory.Build.props File Scoped Namespaces (#1352) Nov 12, 2021 Directory.Build.targets git add --renormalize . (#35) Apr 1, 2020 LICENSE.txt clarify license (#39) Apr 7, 2020 NuGet.config Add dotnet7 feed for benchmarks (#1305) Oct 19, 2021 README.md Added a link to daily builds (#1559) Feb 8, 2022 SECURITY.md git add --renormalize . (#35) Apr 1, 2020 THIRD-PARTY-NOTICES.TXT Add initial drop of TLS parser (#262) Jul 2, 2020 activate.ps1 git add --renormalize . (#35) Apr 1, 2020 activate.sh Add Azure DevOps Pipeline (#31) Mar 31, 2020 azure-pipelines.yml Don't run linux/mac in official builds (#1544) Feb 3, 2022 build.cmd Make script names lowercase (#208) May 27, 2020 build.sh Make script names lowercase (#208) May 27, 2020 contributing.md Fix the link to the Code of Conduct (#637) Dec 19, 2020 global.json Update dependencies from https://github.com/dotnet/arcade build 20220... Feb 14, 2022 pack.cmd Make script names lowercase (#208) May 27, 2020 pack.sh Make script names lowercase (#208) May 27, 2020 restore.cmd Make script names lowercase (#208) May 27, 2020 restore.sh Make script names lowercase (#208) May 27, 2020 reverse-proxy.sln Add http.sys delegation support (#1556) Feb 18, 2022 startvs.cmd git add --renormalize . (#35) Apr 1, 2020 test.cmd Make script names lowercase (#208) May 27, 2020 test.sh Make script names lowercase (#208) May 27, 2020 View code [ ] Welcome to the YARP project Updates Build Testing Getting started Roadmap Reporting security issues and bugs Contributing README.md Welcome to the YARP project YARP (which stands for "Yet Another Reverse Proxy") is a project to create a reverse proxy server. We found a bunch of internal teams at Microsoft who were either building a reverse proxy for their service or had been asking about APIs and tech for building one, so we decided to get them all together to work on a common solution, this project. YARP is a reverse proxy toolkit for building fast proxy servers in .NET using the infrastructure from ASP.NET and .NET. The key differentiator for YARP is that it's been designed to be easily customized and tweaked to match the specific needs of each deployment scenario. We expect YARP to ship as a library and project template that together provide a robust, performant proxy server. Its pipeline and modules are designed so that you can then customize the functionality for your needs. For example, while YARP supports configuration files, we expect that many users will want to manage the configuration programmatically based on their own backend configuration management system, YARP will provide a configuration API to enable that customization in-proc. YARP is designed with customizability as a primary scenario, rather than requiring you to break out to script or having to rebuild from source. Updates For regular updates, see our releases page. Subscribe to release notifications on this repository to be notified of future updates (Watch -> Custom -> Releases). If you want to live on the bleeding edge, you can pickup the daily builds. Build To build the repo, you should only need to run build.cmd (on Windows) or build.sh (on Linux or macOS). The script will download the .NET SDK and build the solution. For VS on Windows, install the latest VS 2022 release and then run the startvs.cmd script to launch Visual Studio using the appropriate local copy of the .NET SDK. To set up local development with Visual Studio, Visual Studio for Mac or Visual Studio Code, you need to put the local copy of the .NET SDK in your PATH environment variable. Our Restore script fetches the latest build of .NET and installs it to a .dotnet directory within this repository. We provide some scripts to set all this up for you. Just follow these steps: 1. Run the restore.cmd/restore.sh script to fetch the required .NET SDK locally (to the .dotnet directory within this repo) 2. "Dot-source" the activate script to put the local .NET SDK on the PATH 1. For PowerShell, run: . .\activate.ps1 (note the leading . , it is required!) 2. For Linux/macOS/WSL, run: . ./activate.sh 3. For CMD, there is no supported script. You can manually add the .dotnet directory within this repo to your PATH. Ensure where dotnet shows a path within this repository! 3. Launch VS, VS for Mac, or VS Code! When you're done, you can run the deactivate function to undo the changes to your PATH. If you're having trouble building the project, or developing in Visual Studio, please file an issue to let us know and we'll help out (and fix our scripts/tools as needed)! Testing The command to build and run all tests: build.cmd/sh -test. To run specific test you may use XunitMethodName property: dotnet build / t:Test /p:XunitMethodName={FullyQualifiedNamespace}.{ClassName}. {MethodName}. The tests can also be run from Visual Studio if launched using startvs.cmd. Getting started * See our Getting Started docs. * Try our previews. * Try our latest daily build. Roadmap see docs/roadmap.md Reporting security issues and bugs YARP is a preview project, and as such we expect all users to take responsibility for evaluating the security of their own applications. Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) at secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found at the Microsoft Security Response Center. Contributing This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https:// cla.opensource.microsoft.com. When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments. About A toolkit for developing high-performance HTTP reverse proxy applications. microsoft.github.io/reverse-proxy Resources Readme License MIT License Code of conduct Code of conduct Stars 4.6k stars Watchers 236 watching Forks 436 forks Releases 15 1.0.0 Latest Nov 9, 2021 + 14 releases Packages 0 No packages published Contributors 74 * @Tratcher * @dotnet-maestro[bot] * @MihaZupan * @Kahbazi * @alnikola * @github-actions[bot] * @anurse * @ManickaP * @samsp-msft * @halter73 * @davidfowl + 63 contributors Languages * C# 89.0% * PowerShell 6.5% * Shell 3.9% * Other 0.6% * (c) 2022 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.