Skip to content

sunway910/clashconverter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

194 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clash Converter

A client-side proxy configuration converter that transforms various proxy protocols into Clash YAML or Sing-Box JSON formats.

Clash Converter Next.js License

Features

  • Client-side Processing: All conversions happen in your browser - no server involved
  • 9 Proxy Protocols: SS, SSR, VMess, VLESS, Trojan, Hysteria, Hysteria2, HTTP, SOCKS5
  • Multiple Output Formats: Clash Meta, Clash Premium, Sing-Box, Loon, QuantumultX, Surfboard
  • Bidirectional Conversion: Proxy links ↔ Clash YAML ↔ Sing-Box JSON ↔ QuantumultX ↔ Surfboard
  • Multi-Language: English & 简体中文
  • Dark/Light Theme: System preference detection with Neo-Technical Minimalism design

Quick Start

# Clone and install
git clone https://github.com/sunway910/clashconverter.git
cd clashconverter
pnpm install

# Development
pnpm dev

# Production build
pnpm build

# Cloudflare Workers
pnpm build:cf && pnpm deploy:cf

Environment Variables

Create .env.local:

# Optional: Analytics
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX
NEXT_PUBLIC_ADSENSE_ID=ca-pub-XXXXXXXX

# Optional: Contact email
[email protected]

# Feature flags (default: true)
NEXT_PUBLIC_ENABLE_CLASH_META_TRANSFER=true
NEXT_PUBLIC_ENABLE_CLASH_PREMIUM_TRANSFER=true
NEXT_PUBLIC_ENABLE_SINGBOX_TRANSFER=true
NEXT_PUBLIC_ENABLE_LOON_TRANSFER=true
NEXT_PUBLIC_ENABLE_QUANTUMULTX_TRANSFER=true
NEXT_PUBLIC_ENABLE_SURFBOARD_TRANSFER=true

Project Structure

clashconverter/
├── app/              # Next.js App Router
├── components/       # React components
│   ├── ui/          # shadcn/ui components
│   ├── dialogs/     # Dialog components
│   ├── seo/         # SEO components
│   └── ...
├── lib/              # Core utilities
│   ├── core/         # Factory & Registry patterns
│   ├── adapters/     # Protocol adapters
│   ├── generators/   # Output generators
│   ├── parsers/      # Input parsers
│   ├── types/        # Type definitions
│   └── errors/       # Custom error classes
├── messages/         # i18n translations
└── public/           # Static assets

Architecture

  • Factory Pattern: FormatFactory creates parsers/generators
  • Adapter Pattern: Clean protocol-specific logic abstraction
  • Type Safety: Discriminated union types + Zod runtime validation
  • Error Handling: Custom error classes with structured codes

Technology Stack

Category Technology
Framework Next.js 16.1.5 (App Router)
Language TypeScript 5.6+
Styling Tailwind CSS v3
UI Components shadcn/ui
Icons Lucide React
Code Editor CodeMirror 6
i18n next-intl v4
Theme next-themes
Notifications Sonner
Validation Zod v4
YAML yaml library
Deployment Cloudflare Workers

Testing

# Run all tests
pnpm test

# Run with UI
pnpm test:ui

# Run with coverage
pnpm test:coverage

Supported Protocols

Protocol Format Input Output
Shadowsocks ss://
ShadowsocksR ssr://
VMess vmess://
VLESS vless://
Trojan trojan://
Hysteria hysteria://
Hysteria2 hysteria2://
HTTP http://
SOCKS5 socks5://

Output Format Compatibility

Format SS SSR VMess VLESS Trojan Hysteria Hysteria2 HTTP SOCKS5
Clash Meta
Clash Premium
Sing-Box
Loon
QuantumultX
Surfboard

License

MIT License

Support

Domain: clashconverter.com

About

Convert proxy links to clash yaml

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages