Coder Social home page Coder Social logo

jayzh1010 / furious Goto Github PK

View Code? Open in Web Editor NEW

This project forked from loreneteval/furious

0.0 0.0 0.0 8.25 MB

A PySide6-based cross platform GUI client that launches your beloved GFW to outer space. Support Xray-core and hysteria.

License: GNU General Public License v3.0

Python 100.00%

furious's Introduction

Furious

Build Furious

简体中文

A PySide6-based cross platform GUI client that launches your beloved GFW to outer space. Support Xray-core and hysteria.

Furious

Features

  • Runs on Windows, macOS and Linux.
  • Built-in support for Xray-core and hysteria(compatible with hy1 and hy2). Cores are actually Python bindings that shipped with the source code. See more information: Xray-core-python, hysteria-python and hysteria2-python.
  • Support TUN mode on Windows and macOS. (experimental, requires administrator/root privilege)
  • Support subscription.
  • Support import from JSON.
  • Support import from share link:
    • VMess
    • VLESS, including REALITY
    • Shadowsocks
    • Trojan
    • Hysteria2
  • Support export to JSON, share link or QRCode.
  • Built-in routing mode support: Bypass Mainland China(with Ads filter), Bypass Iran(with Ads filter), Route My Traffic Through Tor and Global. You can also choose to customize your own routing rules.
  • Built-in editor support.
  • VPN-client user experience.
  • Support system theme detection and switch to dark/light theme automatically.
  • Multiple language support: English, Spanish, Simplified Chinese and Traditional Chinese.
  • Built-in user-friendly feature such as startup on boot.
  • ...

Install

There are two ways of installing Furious:

  1. Download pre-built binary release. In this case there is no dependency required (Furious will run with compiled code and DLLs):
    • For Windows users: Download zip file in the release page that contains pre-built binaries.
    • For macOS users: Download dmg file in the release page. Support Apple Silicon(arm64) and Intel Chip(x86_64).
  2. Install via pip (requires Python 3.8 and above, Furious will run on native Python). You need to follow instructions below. (available for all platform)

Core Building Tools

Note: These steps are the same in Xray-core-python or hysteria-python Core Building Tools steps.

Note: hysteria requires go 1.21+ to build since v2.0.3

As mentioned above, cores are shipped as Python bindings to support cross-platform running. So to install Furious via pip you must have tools ready for building these bindings for your current platform first. Core building requires:

  • go 1.20.x in your PATH. To check go is ready, type go version. Also, if google service is blocked in your region(such as Mainland China), you have to configure your GOPROXY to be able to pull go packages. For Chinese users, refer to goproxy.cn for more information.

  • cmake in your PATH. To check cmake is ready, type cmake --version.

  • A working GNU C++ compiler(i.e. GNU C++ toolchains). To check GNU C++ compiler is ready, type g++ --version. These tools should have been installed in Linux or macOS by default. If you don't have GNU C++ toolchains(especially for Windows users) anyway:

    • For Linux users: type sudo apt update && sudo apt install g++ and that should work out fine.
    • For Windows users: install MinGW-w64 or Cygwin and make sure you have add them to PATH.

These tools should be installed easily using brew install on macOS, or using sudo apt install on Linux.

Install Furious

Note: Install Furious in a Python virtual environment(i.e. venv) is recommended.

Note: Furious supports minimum PySide6 version 6.1.0 since version 0.2.11.

Hysteria core are now specified as extra dependencies to avoid build problems related to go version. See issue #27. You can install them depending on your current go version:

  • pip install Furious-GUI will install necessary dependencies, including PySide6, Xray-core, etc.
  • pip install "Furious-GUI[go1.20]" will install extra: hysteria == 1.3.5, hysteria2 == 2.0.0
  • pip install "Furious-GUI[go1.21]" will install extra: newest hysteria2

To launch Furious, type:

Furious

Run From Source

Clone this repository and enter the project folder. Install requirements:

Note: Install requirements in a Python virtual environment(i.e. venv) is recommended.

Note: To install requirements successfully you will also need those Core Building Tools above.

pip install -r requirements.txt

Run:

python -m Furious

Note: Furious will ignore current startup on boot request if it's lauched from source.

Wiki

Build Status

See the build result in github actions.

Platform Python 3.8-Python 3.11
ubuntu 20.04 ✔️
ubuntu 22.04 ✔️
windows-2019 ✔️
windows-2022 ✔️
macos-11 ✔️
macos-12 ✔️
macos-13 ✔️

License

License under GPL v3.0.


功能

  • 在Windows、macOS和Linux上运行。
  • 内置对Xray-corehysteria 的支持(对于hysteria,兼容hy1和hy2)。Core实际是与源代码一起发行的Python绑定。更多信息: Xray-core-python, hysteria-pythonhysteria2-python
  • 在Windows和macOS上支持TUN模式。(实验性功能,需要管理员/root权限)
  • 支持订阅。
  • 支持从JSON导入。
  • 支持从分享链接导入:
    • VMess
    • VLESS,包括REALITY
    • Shadowsocks
    • Trojan
    • Hysteria2
  • 支持导出为JSON、分享链接或二维码。
  • 内置路由模式支持:绕过**大陆(带广告过滤)绕过伊朗(带广告过滤)通过Tor路由我的流量全球。也可选择使用自己的路由规则。
  • 内置编辑器支持。
  • VPN客户端的使用体验。
  • 支持系统主题检测并自动切换深色/浅色主题。
  • 多语言支持:英语、西班牙语、简体中文和繁体中文。
  • 内置用户友好的功能,例如开机自启动等。
  • ...

安装

两种安装Furious的方式:

  1. 下载打包好的二进制版本,无需其它依赖(Furious将在编译过的代码和DLL上运行):
    • Windows用户:在release界面下载打包好的zip文件。
    • macOS用户:在release界面下载dmg文件。支持苹果芯片(arm64)和Intel芯片(x86_64)
  2. 通过pip安装(需要Python 3.8及以上Furious将在本地Python上运行),且需要按照以下步骤进行操作。 (适用于所有平台)

Core编译工具

注意: 这些步骤与Xray-core-pythonhysteria-pythonCore Building Tools一节的步骤一样。

注意: hysteria从v2.0.3开始需要go 1.21+编译

根据上文所述,Core是对应的Python绑定以支持跨平台运行。所以通过pip安装Furious首先得准备好当前平台的Core编译工具。编译Core需要:

  • go 1.20.x 在PATH中。要检查go是否就绪,输入go version 。另外,如果当前所在地区(例如**大陆)屏蔽了google服务,还需要配置GOPROXY才能拉取go包。对于**用户,请访问goproxy.cn 了解更多信息。

  • cmake在PATH中. 要检查cmake是否就绪,输入cmake --version

  • GNU C++编译器(即GNU C++工具链)。要检查GNU C++编译器是否准备就绪,输入g++ --version 。默认情况下,这些工具应该已安装在Linux或macOS中。如果仍然没有GNU C++工具链(特别是对于Windows用户):

    • 对于Linux用户:输入sudo apt update && sudo apt install g++
    • 对于Windows用户:安装MinGW-w64Cygwin并确保已将它们添加至PATH。

这些工具可用brew install在macOS上安装,或者用sudo apt install在Linux上安装。

安装Furious

注意:推荐在Python虚拟环境(i.e. venv)中安装。

注意:Furious从0.2.11起支持最低PySide6版本6.1.0

Hysteria现在被指定为额外的依赖项,以避免与go版本相关的编译问题,见 Issue #27。可以根据当前go版本安装额外依赖:

  • pip install Furious-GUI将安装必要的依赖, 包括PySide6, Xray-core, 等
  • pip install "Furious-GUI[go1.20]"将安装额外的依赖:hysteria == 1.3.5, hysteria2 == 2.0.0
  • pip install "Furious-GUI[go1.21]"将安装额外的依赖:最新的hysteria2

启动Furious,输入:

Furious

从源码运行

克隆该仓库并进入项目文件夹。安装所需依赖包:

注意:推荐在Python虚拟环境(i.e. venv)中安装依赖。

注意:为了安装依赖包成功,仍然需要准备好上文中的Core编译工具。

pip install -r requirements.txt

运行:

python -m Furious

注意:如果从源码运行,Furious将忽略当前的开机自启动请求。

License

License under GPL v3.0.

furious's People

Contributors

loreneteval 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.