shadowsocks-rust 1.24.0

shadowsocks is a fast tunnel proxy that helps you bypass firewalls.
Documentation
name: Build MSRV

on: [push, pull_request]

env:
  CARGO_TERM_COLOR: always
  RUST_LOG: "trace"

jobs:
  build-msrv-shadowsocks-rust:
    strategy:
      matrix:
        platform:
          - ubuntu-latest
          - windows-latest
          - macos-latest
    runs-on: ${{ matrix.platform }}

    steps:
      - if: ${{ matrix.platform == 'ubuntu-latest' }}
        name: Free Disk Space (Ubuntu)
        uses: jlumbroso/free-disk-space@main
      - if: ${{ matrix.platform == 'ubuntu-latest' }}
        name: Install LLVM and Clang
        run: sudo apt update && sudo apt install -y clang
      - uses: actions/checkout@v6
      - uses: Swatinem/rust-cache@v2
      - if: ${{ runner.os == 'Windows' }}
        uses: ilammy/setup-nasm@v1
      - name: Install Rust
        run: |
          rustup set profile minimal
          rustup toolchain install 1.88
          rustup default 1.88
          rustup override set 1.88
      - name: Build with All Features Enabled (Unix)
        if: ${{ runner.os == 'Linux' || runner.os == 'macOS' }}
        run: cargo build --verbose --features "full-extra local-flow-stat utility-url-outline"
      - name: Build with All Features Enabled (Windows)
        if: ${{ runner.os == 'Windows' }}
        run: cargo build --verbose --features "full-extra local-flow-stat utility-url-outline winservice"

  build-msrv-shadowsocks-service:
    strategy:
      matrix:
        platform:
          - ubuntu-latest
          - windows-latest
          - macos-latest
    runs-on: ${{ matrix.platform }}

    steps:
      - if: ${{ matrix.platform == 'ubuntu-latest' }}
        name: Free Disk Space (Ubuntu)
        uses: jlumbroso/free-disk-space@main
      - if: ${{ matrix.platform == 'ubuntu-latest' }}
        name: Install LLVM and Clang
        run: sudo apt update && sudo apt install -y clang
      - uses: actions/checkout@v6
      - uses: Swatinem/rust-cache@v2
      - if: ${{ runner.os == 'Windows' }}
        uses: ilammy/setup-nasm@v1
      - name: Install Rust
        run: |
          rustup set profile minimal
          rustup toolchain install 1.88
          rustup default 1.88
          rustup override set 1.88
      - name: Build with All Features Enabled
        run: cargo build --manifest-path crates/shadowsocks-service/Cargo.toml --verbose --features "full dns-over-tls dns-over-https dns-over-h3 local-dns local-flow-stat local-http-rustls local-tun local-fake-dns local-online-config stream-cipher aead-cipher-extra aead-cipher-2022 aead-cipher-2022-extra security-replay-attack-detect"

  build-msrv-shadowsocks:
    strategy:
      matrix:
        platform:
          - ubuntu-latest
          - windows-latest
          - macos-latest
    runs-on: ${{ matrix.platform }}

    steps:
      - if: ${{ matrix.platform == 'ubuntu-latest' }}
        name: Free Disk Space (Ubuntu)
        uses: jlumbroso/free-disk-space@main
      - if: ${{ matrix.platform == 'ubuntu-latest' }}
        name: Install LLVM and Clang
        run: sudo apt update && sudo apt install -y clang
      - uses: actions/checkout@v6
      - uses: Swatinem/rust-cache@v2
      - if: ${{ runner.os == 'Windows' }}
        uses: ilammy/setup-nasm@v1
      - name: Install Rust
        run: |
          rustup set profile minimal
          rustup toolchain install 1.88
          rustup default 1.88
          rustup override set 1.88
      - name: Build with All Features Enabled
        run: cargo build --manifest-path crates/shadowsocks/Cargo.toml --verbose --features "stream-cipher aead-cipher-extra aead-cipher-2022 aead-cipher-2022-extra security-replay-attack-detect"