Convert Figma logo to code with AI

hq450 logofancyss

fancyss is a project providing tools to across the GFW on asuswrt/merlin based router.

12,235
3,171
12,235
231

Top Related Projects

23,215

The one and only one gfwlist here

🦄 🎃 👻 V2Ray 路由规则文件加强版,可代替 V2Ray 官方 geoip.dat 和 geosite.dat,适用于 V2Ray、Xray-core、mihomo(Clash-Meta)、hysteria、Trojan-Go 和 leaf。Enhanced edition of V2Ray rules dat files, applicable to V2Ray, Xray-core, mihomo(Clash-Meta), hysteria, Trojan-Go and leaf.

A platform for building proxies to bypass network restrictions.

Bug-fix-only libev port of shadowsocks. Future development moved to shadowsocks-rust

18,907

An unidentifiable mechanism that helps you bypass GFW.

13,893

A Quantum-Safe Secure Tunnel based on QPP, KCP, FEC, and N:M multiplexing.

Quick Overview

Fancyss is an open-source project that provides a set of scripts and tools for enhancing the functionality of Asuswrt-Merlin firmware on ASUS routers. It focuses on improving network connectivity, especially for users in regions with restricted internet access, by offering features like shadowsocks integration and advanced routing capabilities.

Pros

  • Enhances network connectivity and bypasses regional restrictions
  • Provides a user-friendly web interface for easy configuration
  • Regularly updated to maintain compatibility with the latest Asuswrt-Merlin firmware
  • Offers a wide range of customization options for advanced users

Cons

  • May require technical knowledge to set up and configure properly
  • Potential security risks if not configured correctly
  • Limited compatibility with certain router models
  • Some features may impact router performance on lower-end devices

Getting Started

To get started with fancyss:

  1. Ensure your ASUS router is running Asuswrt-Merlin firmware.
  2. Download the appropriate fancyss package for your router model from the GitHub repository.
  3. Upload the package to your router via the Asuswrt-Merlin web interface.
  4. Install the package and reboot your router.
  5. Access the fancyss configuration page through the router's web interface.
  6. Configure your desired settings, such as shadowsocks servers and routing rules.

Note: Detailed installation instructions and configuration guides are available in the project's documentation on GitHub.

Competitor Comparisons

23,215

The one and only one gfwlist here

Pros of gfwlist

  • Widely used and recognized standard for filtering Chinese internet censorship
  • Regularly updated by community contributors
  • Lightweight and easy to integrate into various tools and applications

Cons of gfwlist

  • Limited to URL-based filtering, which may not cover all censorship techniques
  • Requires manual updates or additional scripts to stay current
  • May include false positives or outdated entries

Code comparison

gfwlist:

||example.com
||example.net
@@||whitelist.example.org

fancyss:

#!/bin/sh
# shadowsocks script for AM380 merlin firmware
# by sadoneli & qcasey
source /koolshare/scripts/base.sh

Summary

gfwlist is a community-maintained list of URLs blocked in China, while fancyss is a comprehensive script for setting up and managing Shadowsocks on specific router firmware. gfwlist focuses on providing a standardized blocklist, whereas fancyss offers a more complete solution for circumventing censorship on supported devices. The choice between them depends on the specific use case and hardware compatibility.

🦄 🎃 👻 V2Ray 路由规则文件加强版,可代替 V2Ray 官方 geoip.dat 和 geosite.dat,适用于 V2Ray、Xray-core、mihomo(Clash-Meta)、hysteria、Trojan-Go 和 leaf。Enhanced edition of V2Ray rules dat files, applicable to V2Ray, Xray-core, mihomo(Clash-Meta), hysteria, Trojan-Go and leaf.

Pros of v2ray-rules-dat

  • More frequently updated ruleset for V2Ray
  • Provides a wider range of rule categories (e.g., geoip, domain lists)
  • Better documentation and usage instructions

Cons of v2ray-rules-dat

  • Focused solely on V2Ray, less versatile for other VPN solutions
  • May require more manual configuration compared to fancyss

Code Comparison

v2ray-rules-dat:

{
  "outbounds": [
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "tag": "block"
    }
  ]
}

fancyss:

#!/bin/sh

# Check if ss-redir is running
if [ -n "$(pidof ss-redir)" ]; then
    echo "ss-redir is already running"
    exit 0
fi

The code snippets show different approaches: v2ray-rules-dat focuses on V2Ray configuration, while fancyss includes shell scripts for managing VPN processes on routers.

v2ray-rules-dat is more specialized for V2Ray users, offering comprehensive rulesets and frequent updates. fancyss, on the other hand, provides a broader solution for various VPN protocols on router firmware, but may not offer as detailed rulesets for V2Ray specifically.

A platform for building proxies to bypass network restrictions.

Pros of v2ray-core

  • More versatile and supports a wider range of protocols
  • Better performance and lower latency in many scenarios
  • Actively maintained with frequent updates and improvements

Cons of v2ray-core

  • More complex to set up and configure
  • Requires more system resources to run effectively
  • Less user-friendly for beginners compared to fancyss

Code Comparison

v2ray-core (Go):

type User struct {
    Level uint32
    Email string
}

type Account struct {
    Id      string
    AlterId uint32
}

fancyss (Shell):

start_ss() {
    ss-redir -c /koolshare/ss/ss.json -f /var/run/ss-redir.pid
    ss-tunnel -c /koolshare/ss/ss.json -l 23456 -L 8.8.8.8:53 -u
}

v2ray-core is a more powerful and flexible tool for creating secure network tunnels, while fancyss is a simpler solution specifically designed for certain router firmware. v2ray-core offers better performance and protocol support but requires more technical knowledge to set up. fancyss is easier to use but has limited features compared to v2ray-core.

Bug-fix-only libev port of shadowsocks. Future development moved to shadowsocks-rust

Pros of shadowsocks-libev

  • More lightweight and efficient implementation
  • Better performance on embedded devices and low-end hardware
  • Wider platform support, including mobile devices

Cons of shadowsocks-libev

  • Less user-friendly for beginners
  • Fewer built-in features compared to fancyss
  • Requires more manual configuration

Code Comparison

shadowsocks-libev:

static int create_and_bind(const char *host, const char *port,
                           int mptcp, int ipv6first)
{
    struct addrinfo hints;
    struct addrinfo *result, *rp, *ipv4v6bindall;
    int s, listen_sock;

fancyss:

start_ss() {
    echo "Starting shadowsocks..."
    ss-redir -c /koolshare/ss/ss.json -f /var/run/ss-redir.pid
    ss-tunnel -c /koolshare/ss/ss.json -l 5353 -L 8.8.8.8:53 -u
    ss-local -c /koolshare/ss/ss.json -f /var/run/ss-local.pid
}

The code comparison shows that shadowsocks-libev is written in C, focusing on low-level network operations, while fancyss uses shell scripts to manage Shadowsocks processes, indicating a higher-level approach geared towards user-friendly configuration and management on specific router platforms.

18,907

An unidentifiable mechanism that helps you bypass GFW.

Pros of trojan

  • Simpler and more focused protocol, potentially offering better performance
  • Designed to be undetectable, mimicking HTTPS traffic more effectively
  • Cross-platform support with official clients for various operating systems

Cons of trojan

  • Less feature-rich compared to the comprehensive fancyss toolkit
  • May require more manual configuration and setup for advanced use cases
  • Limited to trojan protocol, while fancyss supports multiple protocols

Code Comparison

trojan (config.json):

{
    "run_type": "client",
    "local_addr": "127.0.0.1",
    "local_port": 1080,
    "remote_addr": "example.com",
    "remote_port": 443,
    "password": ["password1"]
}

fancyss (ss_config.sh):

ss_basic_server_ip="server_ip"
ss_basic_server_port="server_port"
ss_basic_password="password"
ss_basic_method="aes-256-cfb"
ss_basic_rss_protocol="origin"

The code snippets demonstrate the configuration differences between trojan and fancyss. trojan uses a JSON format for its configuration, while fancyss employs shell variables. trojan's config is more compact and focuses on essential connection parameters, whereas fancyss includes additional options for various protocols and encryption methods.

13,893

A Quantum-Safe Secure Tunnel based on QPP, KCP, FEC, and N:M multiplexing.

Pros of kcptun

  • Focuses specifically on network acceleration and packet reliability
  • Lightweight and efficient implementation in Go
  • Supports multiple operating systems and architectures

Cons of kcptun

  • More limited in scope compared to fancyss's broader feature set
  • Requires separate client and server setup
  • May have higher learning curve for non-technical users

Code Comparison

kcptun (server configuration):

kcptun.Listener("0.0.0.0:12948", &KCPConfig{
    MTU:          1350,
    SndWnd:       1024,
    RcvWnd:       1024,
    DataShard:    10,
    ParityShard:  3,
    DSCP:         0,
    NoComp:       false,
    AckNodelay:   true,
    NoDelay:      0,
    Interval:     40,
    Resend:       0,
    NoCongestion: 0,
    SockBuf:      4194304,
    StreamBuf:    2097152,
})

fancyss (configuration snippet):

ss_basic_server_ip="server_address"
ss_basic_server_port="8388"
ss_basic_password="password"
ss_basic_method="aes-256-gcm"
ss_basic_rss_protocol="origin"
ss_basic_rss_obfs="plain"

While kcptun focuses on network protocol optimization, fancyss provides a more comprehensive set of features for configuring and managing Shadowsocks on routers. The code examples highlight the different approaches: kcptun's Go-based configuration for network parameters versus fancyss's shell-based configuration for Shadowsocks settings.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

fancyss - 科学上网

  • Fancyss is a project providing tools to across the GFW on asuswrt/merlin based router with software center.
  • 此项目提供用于asuswrt、asuswrt-merlin为基础的,带软件中心固件(≥384)路由器的科学上网功能。


插件特色

  • 多平台支持:博通armv7,博通arm64,联发科Filogic 830 MT7986A
  • 多客户端支持:Shadowsocks、ShadowsocksR、V2ray、Xray、Trojan、NaïveProxy、TuicV5、Hysteria2
  • shadowsocks支持SIP003插件:simple-obfs和v2ray-plugin;V2ray和Xray支持多种协议配置
  • 多种模式支持:gfwlist模式、大陆白名单、游戏模式、全局模式、回国模式
  • 提供多种现成的DNS方案,并且可以自由方便的进行DNS方案自定义配置
  • 支持SS/SSR/V2ray/Xray/Trojan节点的在线订阅,支持节点生成二维码用以分享
  • 故障转移、主备切换、负载均衡、定时重启、定时订阅、规则更新、二进制更新
  • 支持kcptun、udpspeeder、udp2raw,可以实现代理加速,游戏加速,应对丢包等
  • 同时提供full版本和lite版本,hnd_lite版本安装后占用不到8MB的空间,适合小jffs机型
  • armv8机型支持tcp fast open和ss/ssr/trojan多核心运行

支持机型/固件

以下为fancyss 3.0支持的机型/固件,点击机型可以前往相应固件下载地址

最新固件下载地址:https://fw.koolcenter.com/

机型/固件下载类型平台CPU架构linux内核fancyss版本
R6300V2梅改6.x.4708BCM4708armv72.6.36.4fancyss_arm
RT-AC68U梅改6.x.4708BCM4708armv72.6.36.4fancyss_arm
RT-AC88U梅改7.14.114.xBCM4709armv72.6.36.4fancyss_arm
RT-AC3100梅改7.14.114.xBCM4709armv72.6.36.4fancyss_arm
RT-AC5300梅改7.14.114.xBCM4709armv72.6.36.4fancyss_arm
RT-AC86U梅改hndBCM4906armv84.1.27fancyss_hnd_v8
RT-AC86U官改hndBCM4906armv84.1.27fancyss_hnd_v8
GT-AC2900梅改hndBCM4906armv84.1.27fancyss_hnd_v8
GT-AC2900官改hndBCM4906armv84.1.27fancyss_hnd_v8
GT-AC5300官改hndBCM4908armv84.1.27fancyss_hnd_v8
RT-AX88U梅改axhndBCM4908armv84.1.51fancyss_hnd_v8
RT-AX88U官改axhndBCM4908armv84.1.51fancyss_hnd_v8
RAX80梅改axhndBCM4908armv84.1.51fancyss_hnd_v8
GT-AX11000官改axhndBCM4908armv84.1.51fancyss_hnd_v8
GT-AX11000梅改axhndBCM4908armv84.1.51fancyss_hnd_v8
RT-AX92U官改axhndBCM4906armv84.1.51fancyss_hnd_v8
TUF-AX3000官改axhnd.675xBCM6750armv74.1.52fancyss_hnd
TUF-AX5400梅改axhnd.675xBCM6750armv74.1.52fancyss_hnd
TUF-AX5400官改axhnd.675xBCM6750armv74.1.52fancyss_hnd
RT-AX58U梅改axhnd.675xBCM6750armv74.1.52fancyss_hnd
RAX50梅改axhnd.675xBCM6750armv74.1.52fancyss_hnd
RT-AX82U官改axhnd.675xBCM6750armv74.1.52fancyss_hnd
RT-AX82U梅改axhnd.675xBCM6750armv74.1.52fancyss_hnd
ZenWiFi_XT8官改axhnd.675xBCM6755armv74.1.52fancyss_hnd
ZenWiFi_XT8梅改axhnd.675xBCM6755armv74.1.52fancyss_hnd
ZenWiFi_XD4官改axhnd.675xBCM6755armv74.1.52fancyss_hnd
RT-AX56U_V2官改axhnd.675xBCM6755armv74.1.52fancyss_hnd
RT-AX1800梅改axhnd.675xBCM6755armv74.1.52fancyss_hnd
RT-AX56U梅改axhnd.675xBCM6755armv74.1.52fancyss_hnd
RAX70梅改axhnd.675xBCM6755armv74.1.52fancyss_hnd
RT-AX68U官改5.02L.07p2axhndBCM4906armv84.1.52fancyss_hnd_v8
RT-AX68U梅改5.02L.07p2axhndBCM4906armv84.1.52fancyss_hnd_v8
RT-AX86U官改5.02L.07p2axhndBCM4908armv84.1.52fancyss_hnd_v8
RT-AX86U梅改5.02L.07p2axhndBCM4908armv84.1.52fancyss_hnd_v8
GT-AXE11000梅改5.02L.07p2axhndBCM4908armv84.1.52fancyss_hnd_v8
GT-AX6000官改5.04axhnd.675xBCM4912armv84.19.183fancyss_hnd_v8
GT-AX6000梅改5.04axhnd.675xBCM4912armv84.19.183fancyss_hnd_v8
ZenWiFi_Pro_XT12官改5.04axhnd.675xBCM4912armv84.19.183fancyss_hnd_v8
ZenWiFi_Pro_XT12梅改5.04axhnd.675xBCM4912armv84.19.183fancyss_hnd_v8
TUF-AX3000_V2官改5.04axhnd.675xBCM6756armv74.19.183fancyss_hnd
RT-AX86U PRO官改5.04axhnd.675xBCM4912armv84.19.183fancyss_hnd_v8
RT-AX86U PRO梅改5.04axhnd.675xBCM4912armv84.19.183fancyss_hnd_v8
GT-AX11000 PRO官改5.04axhnd.675xBCM4912armv84.19.183fancyss_hnd_v8
GT-AX11000 PRO梅改5.04axhnd.675xBCM4912armv84.19.183fancyss_hnd_v8
RT-AX89X官改qca-ipq806xipq8074/aarmv714.4.60fancyss_qca
TX-AX6000官改mtk-MT798XMT7986Aarmv85.4.182fancyss_mtk
TUF-AX4200Q官改mtk-MT798XMT7986Aarmv85.4.182fancyss_mtk
RT-BE88U官改5.04behnd.4916BCM4916armv84.19.275fancyss_hnd_v8
GT-BE96官改5.04behnd.4916BCM4916armv84.19.275fancyss_hnd_v8

版本选择

fancyss 3.0支持hnd、hnd_v8、qca、arm、mtk 五个平台,每个平台又有full版本和lite版本

full版本为全功能版本,支持SS、 SSR、V2ray、 Xray、Trojan、NaïveProxy、TuicV5、Hysteria2 八种客户端,安装包体积较大

lite版本为精简版本,支持SS、 SSR、 V2ray、 Xray、 Trojan 五种客户端,安装包小巧,以下为lite版本精简内容:

  1. lite版本移除了NaïveProxy支持及其相关二进制文件:naive、ipt2socks
  2. lite版本移除了shadowsocks的v2ray-plugin插件功能及其对应的二进制文件:v2ray-plugin
  3. lite版本移除了UDP加速功能及其二进制文件:speederv1、speederv2、udp2raw
  4. lite版本移除了KCP加速功能及其二进制文件:kcptun
  5. lite版本移除了负载均衡支持及其页面和二进制文件:haproxy
  6. lite版本移除了直连解析的DNS方案及其二进制:chinadns、chinadns、https_dns_proxyy
  7. lite版本移除了haveged,因为现在较新的固件系统自带了熵增软件
  8. lite版本移除了shadowsocks-rust替换shadowsocks-libev功能,默认由shadowsocks-libev运行ss协议
  9. lite版本移除了socks5页面及其脚本及其acl规则文件

如果是不折腾以上被精简功能的用户,完全可以使用体积更小的lite版本

RT-AX56U_V2、RT-AX57 这种jffs分区极小(15MB)的机型,直接使用lite版本即可

要切换为lite版本,直接安装lite版本的离线安装包即可,以后在线更新也会维持为lite版本

要切换为full版本,直接安装full版本的离线安装包即可,以后在线更新也会维持为full版本

RT-AX86U、GT-AX6000等armv8机型(见上表),从3.0.6开始建议安装fancyss_hnd_v8版本,当然fancyss_hnd同样兼容

插件下载

插件下载有两种方式:

  1. 在packages目录下,点击tar.gz后缀文件,下载当前最新版本的离线安装包
  2. 在fancyss_history_package项目中,包含**历史版本和最新版本**的离线安装包

插件离线包下载导航:

平台最新full版本下载最新lite版本下载历史版本下载(包含最新版)
hndfancyss_hnd_fullfancyss_hnd_litefancyss_hnd
hnd_v8fancyss_hnd_v8_fullfancyss_hnd_v8_litefancyss_hnd_v8
qcafancyss_qca_fullfancyss_qca_litefancyss_qca
armfancyss_arm_fullfancyss_arm_litefancyss_arm
mtkfancyss_mtk_fullfancyss_mtk_litefancyss_mtk

插件安装

  1. 离线安装:下载并校验好离线安装包后,在软件中心内使用离线安装/手动安装功能,选择安装包后上传并安装即可。

  2. 命令安装:(以fancyss_hnd_lite.tar.gz为例,先下载好安装包,并将其上传到路由器的/tmp目录)

    mv /tmp/fancyss_hnd_lite.tar.gz /tmp/shadowsocks.tar.gz
    tar -zxvf /tmp/shadowsocks.tar.gz
    sh /tmp/shadowsocks/install.sh
    

关于皮肤

目前插件皮肤支持以下版本:

asuswrt:经典asuswrt皮肤

rog:华硕红色rog皮肤

tuf:华硕橙色tuf皮肤

tx:华硕天选青色皮肤

注意事项

  • 强烈建议使用chrome或者chrouium内核的浏览器!以保证最佳兼容性!
  • 强烈建议在最新版本的固件和最新版本软件中心上使用fancyss_hnd!
  • 插件会自动跟随当前固件的皮肤类型,支持assuwrt、rog、tuf三种皮肤。
  • 一些机型的联名版,只要刷了官改/梅林改版固件的,均能安装本插件!

目录说明

  1. fancyss:插件代码主目录,由build.sh打包成不同路由器的离线安装包
  2. binaries:一些在线更新的二进制程序,如v2ray、xray
  3. packages:不同平台的离线安装包的最新版本,用于插件的在线更新
  4. rules:插件的规则文件,如gfwlist.conf、chnroute.txt、cdn.txt

打包插件

打包过程就是将fancyss目录下相关二进制和代码文件通过脚本生成不同平台,不同版本的离线安装包。

为保证在不同路由器/固件版本中都能运行,项目提供的所有二进制都是预编译好的,且尽量提供全静态编译版本。

  1. 克隆本项目:使用linux系统,比如Ubuntu 20.04

    git clone https://github.com/hq450/fancyss.git
    
  2. 切换到3.0分支

    cd fancyss
    git checkout 3.0
    
  3. 修改代码:根据自己需要修改代码主目录fancyss目录下的相关文件,如./fancyss/ss/ssconfig.sh

  4. 打包插件,运行打包命令后会自动同步rules下最新的规则和binaries下最新的二进制

    如需要开发,请使用sh build.sh debug命令,将会额外打包带debug字样的安装包,安装包内网页文件等保留了注释信息

    sh build.sh
    
  5. 打包好的离线安装包位于./packages/目录,包含以下5个平台的离线安装文件,每个平台分为full版本和lite版本

    fancyss_arm_full.tar.gz
    fancyss_arm_lite.tar.gz
    fancyss_hnd_full.tar.gz
    fancyss_hnd_lite.tar.gz
    fancyss_hnd_v8_full.tar.gz
    fancyss_hnd_v8_lite.tar.gz
    fancyss_qca_full.tar.gz
    fancyss_qca_lite.tar.gz
    fancyss_mtk_full.tar.gz
    fancyss_mtk_lite.tar.gz
    

相关链接

Star History

Star History Chart

Footnotes

  1. RT-AX89X采用的SoC为ipq8074/ipq8074A,支持64位系统,但是其固件是32位系统。