Apache Traffic Control is an Open Source implementation of a Content Delivery Network

Build Status Weasel License Checks Traffic Ops Integration Tests Go Unit Tests Go Formatting TP Integration Tests TM Integration Tests Documentation Status

Apache Traffic Control

Apache Traffic Control is an Open Source implementation of a Content Delivery Network.

Documentation

Releases

Downloads

Questions, Comments, Bugs and More

Comments
  • Traffic Ops Golang parent.config

    Traffic Ops Golang parent.config

    What does this PR do?

    Traffic Ops Golang parent.config

    ~Still WIP. I've tested against a single edge and mid; still need to test against a large number of configurations of edges and mids.~

    Removing WIP - I think this is good to be merged. I've manually diffed versus the old Perl parent.config, against every edge and mid in our production CDN.

    The only differences vs Perl, are where duplicate origins exist with different configurations (a data bug), and Perl arbitrarily selects one with no warning or error. Go now logs an error when that happens. Unfortunately, Perl is ordering them by an internal Perl hash of the object, which isn't feasible to replicate in Go. But again, it's a data bug to have that scenario at all.

    Fixes #3071 in https://github.com/apache/trafficcontrol/pull/3075/commits/48ba440ce7f79d9c7701ed3cdc381a666372216d Does not fix #2725 - that's a much more invasive fix, I think should be a separate PR.

    Includes API tests.

    Which TC components are affected by this PR?

    • [ ] Documentation
    • [ ] Grove
    • [ ] Traffic Analytics
    • [ ] Traffic Monitor
    • [x] Traffic Ops
    • [ ] Traffic Ops ORT
    • [ ] Traffic Portal
    • [ ] Traffic Router
    • [ ] Traffic Stats
    • [ ] Traffic Vault
    • [ ] Other _________

    What is the best way to verify this PR?

    Check all that apply

    • [x] This PR includes tests
    • [ ] This PR includes documentation updates
    • [ ] This PR includes an update to CHANGELOG.md
    • [ ] This PR includes all required license headers
    • [ ] This PR includes a database migration (ensure that migration sequence is correct)
    • [ ] This PR fixes a serious security flaw. Read more: www.apache.org/security
  • Rewrote /user/reset_password to Go

    Rewrote /user/reset_password to Go

    What does this PR (Pull Request) do?

    Rewrites the /user/reset_password API endpoint to Go

    • [x] This PR fixes #3842

    Which Traffic Control components are affected by this PR?

    • Traffic Ops

    Functionality is unchanged, so no documentation required.

    What is the best way to verify this PR?

    Configure SMTP to be used with a TO instance built from this branch, then attempt to send a password reset email via this endpoint.

    No tests because it requires an SMTP server to send an email to a human which is hard to test.

    The following criteria are ALL met by this PR

    • [x] I have explained why tests are absent
    • [x] I have explained why documentation is unnecessary
    • [x] This PR includes an update to CHANGELOG.md
    • [x] This PR includes any and all required license headers
    • [x] This PR does not include a database migration
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY
  • Improvements to Server-to-Delivery Service assignments

    Improvements to Server-to-Delivery Service assignments

    What does this PR (Pull Request) do?

    • [x] This PR fixes #3756

    Reworked the POST method handler of the /servers/{{ID}}/deliveryservices endpoint to both

    a) respect CDN limitations in assignments b) respect tenancy permissions

    Also updated Traffic Portal so that servers which are unavailable for DS assignment cloning do not appear in the selection menu.

    Draft status pending testing.

    Which Traffic Control components are affected by this PR?

    • Traffic Ops
    • Traffic Portal

    What is the best way to verify this PR?

    Build and run Traffic Ops and Traffic Portal, attempt to assign a server to one or more Delivery Services in a different CDN, and/or to one or more Delivery Services to which access by your tenant is forbidden. Traffic Portal should not present you with the ability to do so, and Traffic Ops should reject your attempt should you bypass the UI.

    If this is a bug fix, what versions of Traffic Control are affected?

    • 3.0.1
    • master (@ 5da4a5b43605d499c474a38dfdc33d20a88a3913)

    The following criteria are ALL met by this PR

    • [x] This PR includes tests OR I have explained why tests are unnecessary
    • [x] This PR includes documentation OR I have explained why documentation is unnecessary
    • [x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
    • [x] This PR includes any and all required license headers
    • [x] This PR ensures that database migration sequence is correct OR this PR does not include a database migration
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY
  • Rewrite /capabilities to Go

    Rewrite /capabilities to Go

    What does this PR (Pull Request) do?

    • [x] This PR fixes #3821

    Rewrites the /capabilities endpoint to Go. Also adds handlers for the PUT and DELETE request methods.

    Which Traffic Control components are affected by this PR?

    • Documentation
    • Traffic Control Client (Python and Go)
    • Traffic Ops
    • Traffic Portal

    What is the best way to verify this PR?

    Run the associated tests in traffic_ops/testing/api/v14.

    The following criteria are ALL met by this PR

    • [x] This PR includes tests
    • [x] This PR includes documentation
    • [x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
    • [x] This PR includes any and all required license headers
    • [x] This PR does not include a database migration
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY
  • Experimental Traffic Portal Self-Service UI

    Experimental Traffic Portal Self-Service UI

    What does this PR do?

    Introduces an Angular7-based subset of Traffic Portal, intended for use by users who want to monitor/configure limited parts of a syndicated CDN architecture. This is meant to first and foremost replace a certain, closed-source UI for which there is currently no open-source equivalent.

    This project is overall a WIP, but I'd like it to be merged into experimental/ in case anyone else wants to help out with the development.

    Here's what's implemented so far:

    • (mostly) mobile-friendly interface
    • preliminary HTTPS support (only listens on localhost atm)
    • login works and is persistent across page loads for as long as the mojolicious cookie is valid.
    • unauthenticated users are directed to login
    • API proxy fully implemented - any request that falls under /api/ is sent upstream to TO
    • Dashboard loads with a sticky nav bar and lists Delivery Service "cards" as details disclosure.
      • They aren't sorted, but can be quickly filtered by displayName using a fuzzy search bar
      • By default, the "cards" display only a summary consisting of the Display Name and Type, with some styling to indicate when a Delivery Service is not active (gets "greyed out" and appends (inactive) to the name), and an informational link that appears when the Delivery Service has an infoURL which, when clicked, opens said URL in a new browsing context (usually a "tab").
      • When the disclosures are opened - by clicking on them - further information is displayed, at the time of this writing consisting of:
        • The Delivery Service's "key" in the format Key: {{xml_id}} ({{numeric id}})
        • The longDesc field, if defined
        • A graph of edge bandwidth in KBPS since 00:00 UTC on the current day (refreshes whenever the disclosure is re-opened)
        • Meters measuring capacity (used/available/maintenance) and Cache Group Health. These display as <meter>s which generally render as a bar that goes from red to green as conditions improve, and include hover text and fallback rendering that display the actual percent as a number.
    • The dashboard has a little FAB that you can use to create a new Delivery Service with limited configuration.
    • "Users" page just lists all the users, containing the following information:
      • full name
      • username (currently used in the 'fuzzy search')
      • role
      • tenant
      • address (including street, city, state, zip)
      • contact info (including email/telephone)

    Which TC components are affected by this PR?

    • [x] Introduces a new component: Traffic Portal Self-Service/Traffic Portal Angular7

    What is the best way to verify this PR?

    A README with instructions for setup, deployment and development can be found at the project root (i.e. in experimental/traffic-portal-angular-7)

    Check all that apply

    • [x] This PR includes tests (MUCH work to be done on them, however)
    • [x] This PR includes all required license headers
  • Changes for Backup Edge Cache Group

    Changes for Backup Edge Cache Group

    This PR implements solution for the issue: https://github.com/apache/incubator-trafficcontrol/issues/1907

    It places the backup policy in the CZF file

    { "coverageZones": { "GROUP2": { "backupList": ["GROUP1"], "network6": [ "1234:567a::/64", "1234:567b::/64" ], "network": [ "10.197.69.0/24" ] }, "GROUP1": { "backupList": ["GROUP2"], "network6": [ "1234:5677::/64", "1234:5676::/64" ], "network": [ "10.126.250.0/24" ] } } }

    The following test cases has been executed successfully for both DNS and HTTP Routing: Test Setup

    GROUP1 : Two cache Servers Group2 : One Cache Server GEO Limit set to CZF only

    Request from GROUP1's subnet , with one server in GROUP1 down and make sure the request is getting redirected to the remaining server in GROUP1 Request from GROUP1's subnet , with both servers in GROUP1 down and make sure the request is getting redirected to the GROUP2

    Regression cases Set GEO limit to None without backup list configured in CZF Request from GROUP1's subnet , with both servers in GROUP1 down and make sure the request is getting redirected to the GROUP2

  • Rewrote jobs endpoints to go

    Rewrote jobs endpoints to go

    What does this PR (Pull Request) do?

    • [x] This PR resolves #1867, fixes #3116, closes #3803, closes #3804 and closes #3802

    Rewrites the "Jobs" endpoints from Perl to Go. This includes

    • /jobs
      • DELETE method - NEW deletes an existing Job. Queues reval_pending on all servers.
      • GET method
      • PUT method - NEW replaces an existing Job. Queues reval_pending on all servers.
      • POST method - NEW creates a new Job. Queues reval_pending on all servers.
    • /user/current/jobs
      • GET method
      • POST method - now requires privilege Role >= Portal, regardless of tenancy. No longer checks DS-to-user assignments when considering permissions.

    Input timestamps are now accepted in RFC3339 format (with or without nanosecond precision) as well as our proprietary format used for "Last Updated" fields.

    Which Traffic Control components are affected by this PR?

    • Documentation
    • Traffic Ops
    • Traffic Ops Client (Go)
    • Traffic Portal

    What is the best way to verify this PR?

    Creating, deleting, editing, replacing and viewing Jobs. Output and behavior should match the provided documentation. Client code has associated tests, which should pass when run.

    The following criteria are ALL met by this PR

    • [x] This PR includes tests
    • [x] This PR includes documentation
    • [x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
    • [x] This PR includes any and all required license headers
    • [x] This PR does not include a database migration
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)
  • Pattern-based consistent hashing feature for TR/TO/TP

    Pattern-based consistent hashing feature for TR/TO/TP

    What does this PR do?

    Pattern-based consistent hashing is a new feature that allows the user to influence cache selection (and delivery service selection for steering ds's) by adjusting the request path before it is passed to the consistent hasher in Traffic Router by applying a regex group matching. This is accomplished via a new delivery service field on HTTP and Steering delivery services called "Consistent Hash Regex" that is propagated to TR through the CRConfig.

    Traffic Router parses the new optional regex field from the CRConfig and uses it during cache selection (HTTP delivery services) or delivery service selection (Steering delivery services).

    For HTTP delivery services:

    • consistent hash regex is applied to request path to extract pieces of the original request path to 'normalize' a string before passing to the consistent hasher for cache selection

    For Steering delivery services:

    • consistent hash regex is applied to request path to extract pieces of the original request path to 'normalize' a string before passing to the consistent hasher for delivery service selection
    • the selected (target) delivery service then inherits the consistent hash regex from the parent/steering delivery service and uses it as an HTTP delivery service does

    Additionally, I've included a Traffic Portal "Test Tool" so that users can test a regex against a request path to determine exactly what will be used by Traffic Router's consistent hasher. There is a link to the test tool underneath the form field in Traffic Portal.

    Which TC components are affected by this PR?

    • [x] Documentation
    • [ ] Grove
    • [ ] Traffic Analytics
    • [ ] Traffic Monitor
    • [x] Traffic Ops
    • [ ] Traffic Ops ORT
    • [x] Traffic Portal
    • [x] Traffic Router
    • [ ] Traffic Stats
    • [ ] Traffic Vault
    • [ ] Other _________

    What is the best way to verify this PR?

    • run Traffic Router unit and integration tests
    • run Traffic Ops unit and integration tests
    • install the components (TP/TO/TR) and verify the "consistentHashRegex" field makes it into the CrConfig
    • verify the TP "Test Tool" works as expected by providing various inputs

    Check all that apply

    • [x] This PR includes tests
    • [x] This PR includes documentation updates
    • [ ] This PR includes an update to CHANGELOG.md
    • [x] This PR includes all required license headers
    • [x] This PR includes a database migration (ensure that migration sequence is correct)
    • [ ] This PR fixes a serious security flaw. Read more: www.apache.org/security
  • Traffic Ops Golang Incremental Rewrite App

    Traffic Ops Golang Incremental Rewrite App

    This adds an app, which serves Traffic Ops endpoints as they're written (currently, just monitoring.json), and reverse-proxies everything else to the old Perl Traffic Ops.

    Includes RPM and Service files, to deploy it alongside the old TO.

    This can be trivially deployed alongside the old TO with no config (Puppet) changes. It reads the old TO config, and Postinstall sets the new port it needs.


    Things left before this can be merged:

    • [x] Configurable Logging (/traffic_monitor_golang/common/log)
    • [x] Unit Tests
    • [x] Move to /traffic_ops dir for build.sh
    • [x] Golang Perl Config parser
    • [x] Move tocookie out of experimental
    • [x] Add header (via wrapper) to Golang endpoints
    • [x] Add info to tocookie, indicating Golang created it
    • [x] Add Capability to RPM to run unprivileged service on privileged port
    • [x] CORS headers
    • [x] Routes for .json and without
    • [x] Log to access.log identical to Perl TO
    • [x] Logrotate new log files
    • [x] Documentation
    • [x] Postinstall adding new high port for old TO
    • [x] Configurable max database connections
  • [Issue 1907] TO API for backup edge cachegroup

    [Issue 1907] TO API for backup edge cachegroup

    [Issue 1907] Backup edge cache group TO API / TR cr-config changes

    https://github.com/apache/incubator-trafficcontrol/issues/1907

    Contains the following changes: Traffic Router - Backup edge configuration parsing and decision making code changes Traffic Ops - Mojolicious Perl CRUD APIs

    This is the initial version of code. Only minimal testing has been done. Will run more cases and update. Hosting it in advance to get review comments :-)

  • Add server capabilities API

    Add server capabilities API

    What does this PR (Pull Request) do?

    Add a new API for creating, reading, and deleting (not updating) server capabilities:

    POST /api/1.4/server_capabilities
    GET /api/1.4/server_capabilities[?name=<name>]
    DELETE /api/1.4/server_capabilities?name=<name>
    
    expected POST body:
    {"name": "bar"}
    
    expected POST response:
    {
      "alerts": [
        {
          "text": "server capability was created.",
          "level": "success"
        }
      ],
      "response": {
        "name": "bar",
        "lastUpdated": "2019-10-07 22:10:00+00"
      }
    }
    
    expected GET response (can use ?name=... qparam to filter by name):
    {
      "response": [
        {
          "name": "bar",
          "lastUpdated": "2019-10-07 20:38:24+00"
        }
      ]
    }
    
    expected DELETE response:
    {
      "alerts": [
        {
          "text": "server capability was deleted.",
          "level": "success"
        }
      ]
    }
    
    • [x] This PR is not related to any Issue

    Which Traffic Control components are affected by this PR?

    • Traffic Control Client (Go)
    • Traffic Monitor
    • Traffic Ops

    Documentation will be done in a follow-up PR.

    What is the best way to verify this PR?

    Read the added TO API tests to verify they're sufficient, then run the TO API tests.

    The following criteria are ALL met by this PR

    • [x] This PR includes tests OR I have explained why tests are unnecessary
    • [x] This PR includes documentation OR I have explained why documentation is unnecessary
    • [x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
    • [x] This PR includes any and all required license headers
    • [x] This PR ensures that database migration sequence is correct OR this PR does not include a database migration
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)
  • Use golang docker image

    Use golang docker image

    Replace go install with the golang docker image


    Which Traffic Control components are affected by this PR?

    • Docker images

    What is the best way to verify this PR?

    Build docker images and verify they are still working

    PR submission checklist

  • Fixed docs for roles and cdn locks description

    Fixed docs for roles and cdn locks description

    Closes: #7221 Closes: #7225


    Which Traffic Control components are affected by this PR?

    • Documentation

    What is the best way to verify this PR?

    1. Goto /api/v4/cdn_locks.html and /api/v4/roles.html in the docs.
    2. Response structure documentation aligns with the response sample.

    If this is a bugfix, which Traffic Control versions contained the bug?

    • master

    PR submission checklist

  • Bump fast-json-patch from 3.1.0 to 3.1.1 in /traffic_portal/app/src

    Bump fast-json-patch from 3.1.0 to 3.1.1 in /traffic_portal/app/src

    Bumps fast-json-patch from 3.1.0 to 3.1.1.

    Release notes

    Sourced from fast-json-patch's releases.

    3.1.1

    Security Fix for Prototype Pollution - huntr.dev #262

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • fix(docker build router): docker build arg TMCAT & RPM, allow http resources

    fix(docker build router): docker build arg TMCAT & RPM, allow http resources

    Fix support of http rpm resources in Dockerfile (--build-arg TMCAT & RPM) of Traffic Router like other components.

    Useful in CI/CD build context and work as expected with the current Example Build and Run of Dockerfile

    Which Traffic Control components are affected by this PR?

    • Automation: Docker images

    What is the best way to verify this PR?

    Try docker build with--build-arg=TMCAT=https://<internal mirror>/tomcat-9.0.67-1.el8.noarch.rpm --build-arg=RPM=https://<internal mirror>/traffic_router.rpm

    PR submission checklist

  • Documentation-based changelog generation

    Documentation-based changelog generation

    Justification/backstory

    Changes between API versions are extensive, and generally aren't enumerated in the changelog - for example, in APIv5 the format of a timestamp in a Delivery Service structure changed from the TO custom timestamp to RFC3339, but that is not listed in the changelog. Such things are usually implementation details of larger changes listed in the CHANGELOG and are usually quite extensive for any given (major) version gap, so it's not reasonable to expect people to add all of that to a regular CHANGELOG. Especially not since we (try to) always require .. versionadded::, .. versionchanged::, and .. deprecated:: directives to the documentation for Traffic Ops endpoints whenever these changes occur.

    So how do you know the API differences? There are two equally tedious methods today. You can read all of the documentation for one version, then all of the documentation for the other and compare what's different. Or, you could read through all of the changes for all of the PRs that went into a release that solidified the version in question, and by examining the changes to Go code and documentation you can figure out what's different.

    However, because we (try to) always add the Sphinx directives above, there's a much easier way that just isn't being utilized at the moment.


    You can get a list of the changes in a version with the changes Sphinx builder. The only problem is that we have a project-wide version that doesn't match our API version, so the changes get messed up. There's a simple way around that, and what this PR does is expose that through our docs' makefile. Now, if you want to see the things that were added, changed, and deprecated in API version, say 4.0, you can do:

    make VERSION=4.0 apichanges
    

    ... and it spits out an HTML document summarizing those changes into docs/build/apichanges/. Note that if you don't specify a version, it'll default to the project version - 7.1.0 at the time of this writing.

    This PR also adds the ability to override the version for the already-supported changes target, which summarizes changes to the entire project. This is because (in the API docs specifically, but also some other places throughout the docs) the prefix ATCv is prepended to the version number for those directives, to make it clear that it's the project version and not an API version. So make changes may not give you the whole truth; it may be necessary to also look at e.g. make VERSION=ATCv7.1.

    I intend to follow this PR up with another that syncs this disparate usage across the docs to make this functionality easier to use, along with a guidelines section on the topic.


    Which Traffic Control components are affected by this PR?

    • Documentation

    What is the best way to verify this PR?

    1. make VERSION=4.0 apichanges and verify output

    PR submission checklist

    • [x] This PR doesn't need tests
    • [x] This PR has documentation
    • [x] This PR doesn't need a CHANGELOG.md entry
    • [x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY
  • Failed to load default certificate when changing hostname for Traffic Router

    Failed to load default certificate when changing hostname for Traffic Router

    This Bug Report affects these Traffic Control components:

    • Traffic Router

    Current behavior:

    Looks like Traffic Router creates a default self-signed certificate. 2 files seems to be generated:

    • keyStore.jks
    • fqdn.crt

    When one changes the hostname of the server. A new certificate is not generated and Traffic Router complaints with a few messages like:

    ERROR 2022-12-14T20:11:54.307 [Thread-21] org.apache.traffic_control.traffic_router.secure.CertificateRegistry - Failed to load default certificate. Received class java.lang.NullPointerException with message: null
    ERROR 2022-12-14T20:11:54.308 [Thread-21] org.apache.traffic_control.traffic_router.secure.CertificateRegistry - Failed to initialize the API Default certificate.
    

    Expected behavior:

    Traffic Router should regenerate a new certificate that matches the hostname.

    Steps to reproduce:

    • Install Traffic Router on a VM
    • Change the hostname of the VM
    • Restart Traffic Router
A simple network analyzer that capture http network traffic
A simple network analyzer that capture http network traffic

httpcap A simple network analyzer that captures http network traffic. support Windows/MacOS/Linux/OpenWrt(x64) https only capture clienthello colorful

Oct 25, 2022
Headscale - An open source, self-hosted implementation of the Tailscale control server

Headscale - An open source, self-hosted implementation of the Tailscale control server

Dec 29, 2022
The Akita CLI for watching network traffic, automatically generating API specs, and diffing API specs.

Catch breaking changes faster Akita builds models of your APIs to help you: Catch breaking changes on every pull request, including added/removed endp

Jan 2, 2023
Schema-free, document-oriented streaming database that optimized for monitoring network traffic in real-time

Basenine Schema-free, document-oriented streaming database that optimized for monitoring network traffic in real-time. Featured Aspects Has the fastes

Nov 2, 2022
🐶 A modern alternative network traffic sniffer.
🐶  A modern alternative network traffic sniffer.

sniffer A modern alternative network traffic sniffer inspired by bandwhich(Rust) and nethogs(C++). sniffer.mov Introduction 中文介绍 sniffer is designed f

Dec 29, 2022
Capdns is a network capture utility designed specifically for DNS traffic. This utility is based on tcpdump.
Capdns is a network capture utility designed specifically for DNS traffic. This utility is based on tcpdump.

Capdns is a network capture utility designed specifically for DNS traffic. This utility is based on tcpdump. Some of its features include: Unde

Feb 26, 2022
Go Http Proxy with Authentication, Schedule Control, and Portal Control

goproxy Go Http Proxy with Authentication, Schedule Control, and Portal Control Why this tool? You may need to restrict my kids's youtube watch time i

Mar 27, 2022
Open source 5G core network base on 3GPP R15
Open source 5G core network base on 3GPP R15

What is free5GC The free5GC is an open-source project for 5th generation (5G) mobile core networks. The ultimate goal of this project is to implement

Jan 4, 2023
Openp2p - an open source, free, and lightweight P2P sharing network
Openp2p - an open source, free, and lightweight P2P sharing network

It is an open source, free, and lightweight P2P sharing network. As long as any device joins in, you can access them anywhere

Dec 31, 2022
Project Kebe is the open-source Snap Store implementation.

Introduction Kebe intends to be a full replacement for the Snap Store. Quickstart Once you have an environment setup (for instance using https://githu

Nov 9, 2022
An open source Pusher server implementation compatible with Pusher client libraries written in Go

Try browsing the code on Sourcegraph! IPÊ An open source Pusher server implementation compatible with Pusher client libraries written in Go. Why I wro

Aug 27, 2022
Apache RocketMQ go client

RocketMQ Client Go A product ready RocketMQ Client in pure go, which supports almost the full features of Apache RocketMQ, such as pub and sub message

Jan 4, 2023
Paster 服务端核心模块,使用字节跳动开源的微服务 RPC 框架 KiteX ,以 Apache Thrift 作为通信协议
Paster 服务端核心模块,使用字节跳动开源的微服务 RPC 框架 KiteX ,以 Apache Thrift 作为通信协议

paster_core Paster 服务端核心模块,使用字节跳动开源的微服务 RPC 框架 KiteX ,以 Apache Thrift 作为通信协议。 Todo: 实现 KiteX 服务注册扩展接口,使用 Consul 服务注册 新增 frame 层,通过 PreProcessor, PostP

Aug 4, 2022
apache dubbo gateway,L7 proxy,virtual host,k8s ingress controller.
apache dubbo gateway,L7 proxy,virtual host,k8s ingress controller.

apache dubbo gateway,L7 proxy,virtual host,k8s ingress controller.

Jul 22, 2022
Message relay written in golang for PostgreSQL and Apache Kafka

Message Relay Message relay written in golang for PostgreSQL and Apache Kafka Requirements Docker and Docker Compose Local installation and using dock

Dec 19, 2021
Traefik plugin to proxy requests to owasp/modsecurity-crs:apache container
Traefik plugin to proxy requests to owasp/modsecurity-crs:apache container

Traefik Modsecurity Plugin Traefik plugin to proxy requests to owasp/modsecurity-crs:apache Traefik Modsecurity Plugin Demo Full Configuration with do

Dec 27, 2022