{"id":13540127,"url":"https://github.com/janusec/janusec","last_synced_at":"2026-01-11T22:05:08.139Z","repository":{"id":40761133,"uuid":"140986039","full_name":"Janusec/janusec","owner":"Janusec","description":"JANUSEC Application Gateway provides secure access, including reverse proxy, K8S Ingress Controller, Automatic ACME Certificate, WAF, 5-Second Shield, CC Defense, OAuth2 Authentication, Global Server Load Balance, and Cookie Compliance etc. JANUSEC应用网关，提供安全的接入，包括反向代理、K8S Ingress Controller、自动化ACME证书、WAF、5秒盾、CC防御、OAuth2身份认证、GSLB负载均衡与Cookie合规等。","archived":false,"fork":false,"pushed_at":"2025-03-08T08:26:11.000Z","size":38683,"stargazers_count":1166,"open_issues_count":12,"forks_count":265,"subscribers_count":39,"default_branch":"master","last_synced_at":"2025-04-13T03:59:51.160Z","etag":null,"topics":["acme","application-gateway","application-security","cookie-banner","cookie-compliance","gateway","golang","gslb","janusec","janusec-application-gateway","k8s-ingress-controller","load-balance","port-forwarding","security","sql-injection","waf","web-application-firewall","web-application-security","web-ssh"],"latest_commit_sha":null,"homepage":"https://janusec.github.io/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Janusec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-Community.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-15T00:02:44.000Z","updated_at":"2025-04-08T13:34:15.000Z","dependencies_parsed_at":"2023-07-19T04:36:39.656Z","dependency_job_id":"74aa89de-0929-4a28-991e-93027a72f56d","html_url":"https://github.com/Janusec/janusec","commit_stats":{"total_commits":318,"total_committers":8,"mean_commits":39.75,"dds":"0.28616352201257866","last_synced_commit":"697f8cda07952299ffc5a0d5e8eb7ec20d423c67"},"previous_names":["janusec/janusec","janusec/application-gateway"],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Janusec%2Fjanusec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Janusec%2Fjanusec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Janusec%2Fjanusec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Janusec%2Fjanusec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Janusec","download_url":"https://codeload.github.com/Janusec/janusec/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248661706,"owners_count":21141450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acme","application-gateway","application-security","cookie-banner","cookie-compliance","gateway","golang","gslb","janusec","janusec-application-gateway","k8s-ingress-controller","load-balance","port-forwarding","security","sql-injection","waf","web-application-firewall","web-application-security","web-ssh"],"created_at":"2024-08-01T09:01:41.009Z","updated_at":"2026-01-11T22:05:08.133Z","avatar_url":"https://github.com/Janusec.png","language":"Go","readme":"# Janusec Application Gateway / JANUSEC应用网关  \n\n[![Build Status](https://travis-ci.org/Janusec/janusec.svg?branch=master)](https://travis-ci.org/Janusec/janusec)\n\n\n[English Readme](#provide-fast-and-secure-application-delivery)  \n\n## 提供快速、安全的应用交付   \n\n![Janusec Application Gateway](gateway1.png)  \n\n介绍PPT： https://www.janusec.com/download/Janusec-Application-Gateway-CN.pdf   \n\n### 主要功能  \n\nJANUSEC应用网关的主要功能有：  \n\n* 向Web应用提供统一的安全接入，包括HTTPS、身份认证、安全防御（WAF/CC）等。如Web应用是通过K8S Pods部署的，该网关也可以作为K8S Ingress Controller使用，向Pods提供跟普通Web应用同样的接入和安全特性。  \n\n* 向非Web应用提供四层TCP/UDP路由转发（含K8S Pods）  \n\n* 提供ACME自动化证书（免费），用于支持用户HTTPS访问，证书到期时自动续期   \n\n### 主要特性  \n\n* 快速: Web化配置  \n\n* 安全  \n\n  + 安全接入: 一键启用HTTPS   \n\n  + 安全认证:  \n      - OAuth2: WxWork(企业微信), DingTalk(钉钉), Feishu(飞书)  \n      - LDAP+认证码双因子   \n      - CAS 2.0  \n\n  + 安全防御  \n      - WAF (Web应用防火墙，拦截SQL注入/XSS/敏感数据泄露等)    \n      - 拦截CC攻击  \n      - 支持CAPTCHA (验证码)  \n\n\n* 可扩展   \n\n  + GSLB (全局负载均衡，自带DNS服务器) ， v1.4.2版本开始提供   \n  + 静态文件缓存加速   \n  + Cookie合规管理(提供Cookie Banner与用户同意管理) ， v1.4.2版本开始提供  \n\n\n\n## 截图   \n\n### SQL注入截图  \n\n![Janusec Application Gateway Screenshot](waf-demo1.png)  \n\n### 敏感信息泄露截图  \n\n![Janusec Application Gateway Screenshot](waf-demo2.png)  \n\n## 产品网站   \n\nhttps://janusec.github.io/cn/   \n\n\n## 需求   \n\n* SQLite3，或PostgreSQL 10/11/12/13/14+ (开发环境，及生产环境主节点需要)  \n* Debian 9/10/11+, CentOS/RHEL 7/8+, 首选Debian 10/11+    \n* systemd  \n* nftables  \n* Golang 1.19+ (仅开发环境需要)  \n\n## 部署快速指引    \n\n详细文档可在这里获取： [Janusec应用网关快速入门](https://janusec.github.io/cn/quick-start/)  \n\n## 开发快速指引   \n\n\u003e git clone https://github.com/Janusec/janusec.git   \n\n\n编辑`config.json`  \n\n\u003e \"host\": \"127.0.0.1\",  \n\u003e \"port\": \"5432\",  \n\u003e \"user\": \"janusec\",  \n\u003e \"password\": \"123456\",  \n\u003e \"dbname\": \"janusec\"  \n\nJanusec将自动加密数据库口令    \n然后:  \n\n\u003e go build  \n\u003e su (切换到root)  \n\u003e ./janusec  \n\n## Web管理入口 \n\n当config.json中listen=false时 ，使用如下地址:  \n\n\u003e http://`your_primary_node_ip_address`/janusec-admin/    (首次使用)  \n\u003e https://`your_application_domain_name`/janusec-admin/   (配置证书后)  \n\n当config.json中listen=true时，使用如下地址:  \n\n\u003e http://`your_primary_node_ip_address:9080`/janusec-admin/    (首次使用)  \n\u003e https://`your_primary_node_domain_name:9443`/janusec-admin/  (配置证书和应用后)  \n\n只使用主节点时，任意应用域名均可用于访问管理入口。   \n如果使用了副本节点，应为主节点申请一个单独的域名。   \n\n[Janusec应用网关配置](https://janusec.github.io/cn/quick-start/)   \n\n## 发布 \n\n目前仅支持Linux  \n\n\u003e go build  \n\u003e su  \n\u003e `./release.sh`    \n\n生成的发布包位于`./dist`目录。    \n\n## Web管理发布\n\nWeb化管理所需的文件在 `./static/janusec-admin/` 目录, 源码在 [Janusec-Admin Github](https://github.com/Janusec/janusec-admin) ，前端源码使用Angular 9.  \n\n## 多许可证  \n\nJANUSEC应用网关开源版本的源文件使用GNU [AGPLv3](http://www.gnu.org/licenses/agpl-3.0.html)授权.     \n\n\n## 支持  \n\n* 产品网站 [https://janusec.github.io/cn/](https://janusec.github.io/cn/)   \n* Email: `support`**@**`janusec.com`  \n* QQ群: 776900157  \n\n\n---  \n\n## Provide Fast and Secure Application Delivery  \n\n![Janusec Application Gateway](gateway1.png)  \n\nIntroduction Slides: https://www.janusec.com/download/Janusec-Application-Gateway.pdf   \n\n### Main functions  \n\nThe main functions of JANUSEC Application Gateway include:  \n\n* Provide unified security access to web applications, including HTTPS, OAuth Authentication, security defense (WAF/CC), etc. If the web application is deployed through K8S Pods, the gateway can also be used as K8S Ingress Controller to provide Pods with the same access and security features as ordinary web applications.  \n\n* Provide four-tier TCP/UDP forwarding to non-Web applications, including K8S Pods  \n\n* Provide ACME automation certificate (free) for HTTPS access, and automatically renew the certificate when it expires   \n\n### Key Features   \n\n* Fast Delivery : Web-based Configuration    \n\n* Security    \n\n  + Secure Access: Enable HTTPS by One Click   \n\n  + Secure Authentication:  \n      - OAuth2: WxWork, DingTalk, Feishu, Lark    \n      - LDAP + Authenticator 2FA    \n      - CAS 2.0  \n\n  + Secure Defense   \n      - WAF (Web Application Firewall), Block SQL Injection, XSS, Sensitive Data leakage etc.    \n      - Block CC Attacks  \n      - CAPTCHA   \n\n* Scalable      \n\n  + GSLB (Global Server Load Balance, with DNS Server) , provided from v1.4.2       \n  + Static Content Cache and Acceleration    \n  + Cookie Compliance Management, include Cookie Banner, Consent Management and Cookie Discovery etc., provided from v1.4.\n\n\n## Screenshots     \n\n### SQL Injection Screenshot  \n\n![Janusec Application Gateway Screenshot](waf-demo1.png)  \n\n### Sensitive Data Leakage Screenshot   \n\n![Janusec Application Gateway Screenshot](waf-demo2.png)  \n\n## Product Web Site   \n\nEnglish:   \nhttps://janusec.github.io/  \n\n\n## Requirements    \n\n* SQLite3 or PostgreSQL 10/11/12/13/14+ (Required by Development and Primary Node of Deployment)  \n* Debian 9/10/11+, CentOS/RHEL 7/8+, Debian 10/11+ is preferred       \n* systemd  \n* nftables  \n* Golang 1.19+ (Required by Development Only)  \n\n## Quick Start for Deployment     \n\nDetailed documentation is available at： [Janusec Application Gateway Quick Start](https://janusec.github.io/documentation/quick-start/).   \n\n## Quick Start for Developer   \n\n\u003e git clone https://github.com/Janusec/janusec.git   \n\n\nEdit `config.json`     \n\n\u003e \"host\": \"127.0.0.1\",  \n\u003e \"port\": \"5432\",  \n\u003e \"user\": \"janusec\",  \n\u003e \"password\": \"123456\",  \n\u003e \"dbname\": \"janusec\"  \n\nJanusec will encrypt the password automatically, then:  \n\n\u003e go build  \n\u003e su (switch to root)  \n\u003e ./janusec  \n\n## Web Administration   \n\nWhen listen=false in config.json:  \n\n\u003e http://`your_primary_node_ip_address`/janusec-admin/    (first use)  \n\u003e https://`your_application_domain_name`/janusec-admin/   (after certificate configured)  \n\nWhen listen=true in config.json :  \n\n\u003e http://`your_primary_node_ip_address:9080`/janusec-admin/    (first use)  \n\u003e https://`your_primary_node_domain_name:9443`/janusec-admin/  (after certificate configured)  \n\nWhen using primary node only, any application domain name can be used for admin.   \nBut if you have one or more replica nodes, you should apply for a separate domain name for primary node.   \n\n[Janusec Application Gateway Configuration](https://janusec.github.io/documentation/quick-start/)   \n\n## Release   \n\nOnly support Linux Now    \n\n\u003e go build  \n\u003e su  \n\u003e `./release.sh`    \n\nThe release package is under `./dist` .  \n\n## Web Administration Release  \n\nRelease directory is `./static/janusec-admin/` , and source code is available at [Janusec-Admin Github](https://github.com/Janusec/janusec-admin) with Angular 9.  \n\n## Multiple LICENSES   \n\nThe open source files are made available under the terms of the GNU Affero General Public License ([GNU AGPLv3](http://www.gnu.org/licenses/agpl-3.0.html)).   \n\n\n## Support   \n\n* Product: [https://janusec.github.io/](https://janusec.github.io/)    \n* Email: `support`**@**`janusec.com`  \n* QQ Group: 776900157 \n","funding_links":[],"categories":["\u003ca id=\"946d766c6a0fb23b480ff59d4029ec71\"\u003e\u003c/a\u003e防护\u0026\u0026Defense","\u003ca id=\"0abd611fc3e9a4d9744865ca6e47a6b2\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"784ea32a3f4edde1cd424b58b17e7269\"\u003e\u003c/a\u003eWAF"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanusec%2Fjanusec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanusec%2Fjanusec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanusec%2Fjanusec/lists"}