Coder Social home page Coder Social logo

luci-app-xray's Introduction

luci-app-xray

luci-app-v2ray refined to client side rendering (and switched to xray as well).

Focus on making the most of Xray (HTTP/HTTPS/Socks/TProxy inbounds, multiple protocols support, DNS server, even HTTPS reverse proxy server for actual HTTP services) while keeping thin and elegant.

Warnings

  • If you see WARNING: at least one of asset files (geoip.dat, geosite.dat) is not found under /usr/share/xray. Xray may not work properly and don't know what to do, see #52
  • This project DOES NOT SUPPORT LEDE 17.01 releases or OpenWrt 18.06 releases (including some old coolsnowwolf/lede versions) due to the fact that client side rendering requires LuCI client side apis shipped with OpenWrt 19.07 releases. If this is your case, use Passwall or similar projects instead (you could find links in XTLS/Xray-core).
  • For OpenWrt 19.07 releases, you need to prepare your own xray-core package (just download from Releases · yichya/openwrt-xray and install that) because building Xray from source requires Go 1.15 which is currently only available in OpenWrt SNAPSHOT.
  • This project may change its code structure, configuration files format, user interface or dependencies quite frequently since it is still in its very early stage.

Changelog

  • 2020-11-14 feature: basic transparent proxy function
  • 2020-11-15 fix: vless flow settings & compatible with busybox ip command
  • 2020-12-04 feature: add xtls-rprx-splice to flow
  • 2020-12-26 feature: allow to determine whether to use proxychains during build; trojan xtls flow settings
  • 2021-01-01 feature: build Xray from source; various fixes about tproxy and logging
  • 2021-01-25 feature: Xray act as HTTPS server
  • 2021-01-29 fix: add ipset as dependency to fix transparent proxy problems; remove useless and faulty extra_command in init.d script
  • 2021-01-29 feature: decouple with Xray original binary and data files. Use openwrt-xray instead.
  • 2021-01-30 feature: select GeoIP set for direct connection. This is considered a BREAKING change because if unspecified, all IP addresses is forwarded through Xray.
  • 2021-03-17 feature: support custom configuration files by using Xray integrated Multiple configuration files support. Check /var/etc/xray/config.json for tags of generated inbounds and outbounds.
  • 2021-03-20 fix: no longer be compatible with OpenWrt Packages: xray-core because of naming conflict of configuration file and init script. Again, use openwrt-xray instead.
  • 2021-03-21 feature: detailed fallback config for Xray HTTPS server
  • 2021-03-27 feature: check data files before using them. If data files don't exist, Xray will run in 'full' mode (all outgoing network traffic will be forwarded through Xray). Make sure you have a working server in this case or you have to disable Xray temporarily (SSH into your router and run service xray stop) for debugging. You can download data files from Releases · XTLS/Xray-core or Loyalsoldier/v2ray-rules-dat and upload them to /usr/share/xray on your router, or just compile your firmware with data files included (recommended in most cases).
  • 2021-04-02 feature: utls fingerprint (currently not available for xtls and will be supported in Xray-core v1.5.0)
  • 2021-04-06 feature: customize DNS bypass rules. This is considered a BREAKING change because if unspecified, all DNS requests is forwarded through Xray.
  • 2021-05-15 feature: add gRPC Transport settings; make init script infinite retry optional
  • 2021-07-03 fix: write upstream hostname to dnsmasq configurations to avoid infinite loop while resolving upstream hostname
  • 2021-08-31 feature: Accept more DNS server formats
  • 2021-09-19 fix: compatible with latest dnsmasq (2.86) by adding strict-order to dnsmasq options generated by luci-app-xray. This should not affect compatibility with earlier dnsmasq versions (mostly 2.85) but if you encounter problems please report.
  • 2021-09-26 fix: several issues related to HTTPS server
  • 2021-10-01 fix: parsing default gateway in some cases
  • 2021-10-06 feature: show information about asset files in LuCI; fix Xray startup when asset files are unavailable
  • 2021-10-08 feature: extra DNS Server Port to reduce possibility of temporary DNS lookup failures
  • 2021-10-09 fix: temporarily revert DNS over HTTPS related changes to avoid dnsmasq and iptables errors
  • 2021-10-12 fix: domain based routing if sniffing is enabled
  • 2021-10-19 feat: change upstream DNS resolve method to directly using Xray internal DNS server
  • 2021-11-14 feat: LAN access control for transparent proxy. Devices can be set to not being transparently proxied per MAC address.
  • 2021-11-15 feat: manual transparent proxy. A use case is accessing IPv6 only websites without any IPv6 address (for example, 192.0.2.1:443 -> tracker.byr.pt:443 and add hosts item 192.0.2.1 byr.pt)
  • 2021-11-20 feat: alpn settings for outbound

Todo

  • LuCI ACL Settings
  • migrate to xray-core
  • better server role configurations
  • transparent proxy access control for LAN
  • try to be compatible with OpenWrt Packages: xray-core
  • Xray Running Status Check

luci-app-xray's People

Contributors

yichya avatar ttimasdf avatar babxhwzunbetv avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.