{"id":15282634,"url":"https://github.com/igoogolx/lux","last_synced_at":"2025-04-06T10:10:31.968Z","repository":{"id":61599159,"uuid":"523364312","full_name":"igoogolx/lux","owner":"igoogolx","description":"A light desktop proxy app","archived":false,"fork":false,"pushed_at":"2025-04-06T08:56:31.000Z","size":966,"stargazers_count":109,"open_issues_count":2,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-06T09:27:02.556Z","etag":null,"topics":["clash","flutter","golang","gui","http","macos","outline-vpn","proxy","shadowsocks","snell","socks5","ssr","trojan","tun2socks","vpn","windows"],"latest_commit_sha":null,"homepage":"https://igoogolx.github.io/lux-docs/docs/intro","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igoogolx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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":"2022-08-10T13:55:50.000Z","updated_at":"2025-04-05T11:01:33.000Z","dependencies_parsed_at":"2023-12-28T16:45:40.634Z","dependency_job_id":"65aab960-2947-49b9-90b7-a42310f8f4f4","html_url":"https://github.com/igoogolx/lux","commit_stats":{"total_commits":608,"total_committers":2,"mean_commits":304.0,"dds":0.00164473684210531,"last_synced_commit":"95c19d0c1719d127ef31c74b391d531d29ccb69f"},"previous_names":[],"tags_count":243,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igoogolx%2Flux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igoogolx%2Flux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igoogolx%2Flux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igoogolx%2Flux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igoogolx","download_url":"https://codeload.github.com/igoogolx/lux/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247464220,"owners_count":20942970,"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":["clash","flutter","golang","gui","http","macos","outline-vpn","proxy","shadowsocks","snell","socks5","ssr","trojan","tun2socks","vpn","windows"],"created_at":"2024-09-30T14:32:10.960Z","updated_at":"2025-04-06T10:10:31.958Z","avatar_url":"https://github.com/igoogolx.png","language":"Dart","funding_links":[],"categories":["Dart"],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/igoogolx/lux\"\u003e\n    \u003cimg src=\"assets/logo.png\" alt=\"Logo\" width=\"100\" height=\"100\"\u003e\n  \u003c/a\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n[![Build Status][build-shield]][build-url]\n[![Version][version-shield]][version-url]\n[![Downloads][downloads-shield]][downloads-url]\n\n\n\u003ch3 align=\"center\"\u003eLux\u003c/h3\u003e\nA light desktop proxy app.\n\u003cbr /\u003e\n\u003ca href=\"https://igoogolx.github.io/lux-docs/\"\u003e\u003cstrong\u003elux-docs »\u003c/strong\u003e\u003c/a\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003cb\u003eDownload for \u003c/b\u003e\nmacOS(require macOS 13+)\n·\nWindows(require  \u003ca href=\"https://developer.microsoft.com/en-us/microsoft-edge/webview2\"\u003ewebview2\u003c/a\u003e)\n\n\u003cbr /\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/igoogolx/lux/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/igoogolx/lux/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n \u003ca href=\"https://igoogolx.github.io/lux-docs/docs/intro\"\u003e\n    \u003cimg src=\"https://igoogolx.github.io/lux-docs/img/pages/home_page.png\" alt=\"home page screenshot\" width=\"360\" \u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n \n\n\n- [Motivation](#motivation)\n- [Getting Started](#getting-started)\n- [Architecture](#architecture)\n- [Monorepo structure](#monorepo-structure)\n- [Roadmap](#roadmap)\n- [Built With](#built-with)\n- [Acknowledgement](#acknowledgement)\n- [License](#license)\n- [Contact](#contact)\n- [Sponsors](#sponsors)\n\n\n## Motivation\n\nThere are many great proxy clients available on GitHub. However, some of them are a little hard to use or not open sourced.\nAs a proxy tool, I think it should be easy to use. Open source technology is the only way to ensure we retain absolute control over the data.\n\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nSee the [docs](https://igoogolx.github.io/lux-docs/docs/category/getting-started) for more.\n\n\n\n\n\n## Architecture\n\nThis project is using what I'm calling the \"FGRT\" stack (Flutter, Go, React, TypeScript).\n\n* React on Flutter? Here flutter is not responsible for UI. It's more like a launcher: \n  start the core process and open the webpage in webview.\n* The core (itun2socks) is written in pure Go.\n\n\n## Monorepo structure\n* [itun2socks](https://github.com/igoogolx/itun2socks):  The Go core, referred to internally as lux-core. Contains tun, networking stack and clash logic. Can be deployed in windows and macOS. \n* [lux-client](https://github.com/igoogolx/lux-client):  A React app using fluent-ui. It's the UI of lux.\n* [lux-rules](https://github.com/igoogolx/lux-rules): A Go utility tool used to generate built in proxy rules.\n* [lux-docs](https://github.com/igoogolx/lux-docs): The docs build with docusaurus.\n\n## Roadmap\n\n- [x] Add splash screen\n- [x] Improve UI of About page\n- [x] Improve UI Dark mode\n- [x] Support DNS over https\n- [x] Support Mac OS\n- [x] Support adding rules\n- [ ] Support IPV6\n\nSee the [open issues](https://github.com/igoogolx/lux/issues) for a full list of proposed features (and known issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n## Built With\n\n* [![React][React.js]][React-url]\n* [![Flutter][Flutter]][Flutter-url]\n* [![Go][Go.dev]][Golang-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- Acknowledgement --\u003e\n## Acknowledgement\nLux was based on or inspired by these projects and so on:\n\n* [sing-tun](https://github.com/SagerNet/sing-tun): Simple transparent proxy library.\n* [outline-sdk](https://github.com/Jigsaw-Code/outline-sdk): SDK to build network tools based on Outline components.\n* [clash-verge-rev](https://github.com/clash-verge-rev/clash-verge-rev): A modern GUI client based on Tauri, designed to run in Windows, macOS and Linux for tailored proxy experience.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the GPL License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nProject Link: [https://github.com/igoogolx/lux](https://github.com/igoogolx/lux)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- Sponsors --\u003e\n## Sponsors\n\n\u003ca href=\"https://jb.gg/OpenSourceSupport\"\u003e\n\u003cimg src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.png\" alt=\"JetBrains logo.\"\u003e\n\u003c/a\u003e\n\nThanks to Jetbrains provided license!\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n[contributors-shield]: https://img.shields.io/github/contributors/igoogolx/lux.svg\n[contributors-url]: https://github.com/igoogolx/lux/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/igoogolx/lux.svg\n[forks-url]: https://github.com/igoogolx/lux/network/members\n[stars-shield]: https://img.shields.io/github/stars/igoogolx/lux.svg\n[stars-url]: https://github.com/igoogolx/lux/stargazers\n[issues-shield]: https://img.shields.io/github/issues/igoogolx/lux.svg\n[issues-url]: https://github.com/igoogolx/lux/issues\n[license-shield]: https://img.shields.io/github/license/igoogolx/lux.svg\n[license-url]: https://github.com/igoogolx/lux/blob/master/LICENSE\n[build-shield]: https://github.com/igoogolx/lux/actions/workflows/build.yml/badge.svg\n[build-url]: https://github.com/igoogolx/lux/actions/workflows/build.yml\n[version-shield]: https://img.shields.io/github/v/release/igoogolx/lux\n[version-url]: https://github.com/igoogolx/lux/releases\n\n[downloads-shield]: https://img.shields.io/github/downloads/igoogolx/lux/total\n[downloads-url]: https://github.com/igoogolx/lux/releases\n\n[React.js]: https://img.shields.io/badge/React-20232A?logo=react\u0026logoColor=61DAFB\n[React-url]: https://reactjs.org/\n[Flutter]: https://img.shields.io/badge/Flutter-%2302569B.svg?logo=flutter\u0026logoColor=61DAFB\n[Flutter-url]: https://flutter.dev/\n[Go.dev]: https://img.shields.io/badge/Go-20232A?logo=go\u0026logoColor=61DAFB\n[Golang-url]: https://go.dev/\n[Node-url]: https://nodejs.org/\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figoogolx%2Flux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figoogolx%2Flux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figoogolx%2Flux/lists"}