Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ssushant0011/YtFlowCore

Open more actions menu
 
 

Repository files navigation

YtFlowCore

build tests ci

A modern proxy framework, core of YtFlow.

If you are looking for the UWP app powered by YtFlowCore, please head over to YtFlowApp.

Features

  • Fully customizable. Design your own network flow!
  • Multiple inbound types: VPN, SOCKS5.
  • Supports common proxy protocols: Shadowsocks, Trojan, VMess, SOCKS5 and HTTP.
  • Flexible outbound transports: simple-obfs, WebSocket, TLS etc.
  • DNS resolvers at your option: libc resolver, classic DNS over UDP, DNS over HTTPS.
  • Rule-based split routing modules: GeoIP, Surge domain set, Quantumult X filter.
  • Share link encoders/decoders: Shadowsocks, SIP002, Trojan, SOCKS5, HTTP and V2rayN
  • Subscription parsers: Base64 encoded share links, SIP008, Surge proxy list
  • Runs on Linux, macOS and Universal Windows Platform.

Usage

Use ytflow-edit to generate a new database file conf.db and a profile my_profile, and edit plugins accordingly. For newcomers, you may be interested in the default-ss and default-redir plugins. Read the YtFlowCore Book to learn more about configuration.

When the profile is ready, execute ytflow-core --db-file conf.db my_profile to launch YtFlowCore.

Project Layout

Package Description Dependency
ytflow Includes all components and plugins to run a YtFlowCore instance. -
ytflow-bin Shell executables for the core ytflow-core and a TUI editor ytflow-edit that actually call into entrypoints exposed by ytflow-bin-shared. ytflow-bin-shared
ytflow-bin-shared Contains the actual code for the binaries. Produces a single cdylib that reuses common dependencies to reduce final artifact size. ytflow, ytflow-app-util
ytflow-app-util Provides utilities for app frontends to handle share links, subscriptions etc. Also exports FFI functions and generates a C header file. ytflow

Build

Steps to build ytflow-core and ytflow-edit:

  1. Setup rustup and Visual C++ Build Tools on Windows or GCC toolchain on Linux.
  2. Clone this repository.
  3. Rename .cargo/publish.config.toml to .cargo/config.toml.
  4. Run cargo build -p ytflow-bin --release.
  5. If no error occurrs, you can find the binaries in target/release/.

To build for YtFlowApp, please refer to the build steps on https://github.com/YtFlow/YtFlowApp/blob/main/README.md.

Credits

This project is inspired from:

About

A modern proxy framework, core of YtFlow.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.