প্রকল্প সম্পর্কে

Husi (虎兕) একটি ক্রস-প্ল্যাটফর্ম প্রক্সি টুল সেট যা প্রক্সি সংযোগ পরিচালনার জন্য মোবাইল এবং ডেস্কটপ উভয় অ্যাপ্লিকেশন প্রদান করে। **প্ল্যাটফর্ম**: Android (APK) এবং ডেস্কটপ (Linux, macOS, Windows), Java 21 রানটাইম বা বান্ডল করা JetBrains Runtime-এর মাধ্যমে। **সমর্থিত প্রোটোকল**: - Hysteria2 - Juicity - Mieru - ShadowQUIC (Naive বাতিল করা হয়েছে; ব্যবহারকারীদের অফিসিয়াল রিপোজিটরি থেকে বিল্ড করার নির্দেশ দেওয়া হয়।) **আর্কিটেকচার**: প্রকল্পটি UI স্তরের জন্য Compose সহ Kotlin Multiplatform, কোর নেটওয়ার্কিং ইঞ্জিন (libcore) এর জন্য Go, এবং লঞ্চার ও ডেমন সহ নেটিভ ডেস্কটপ কম্পোনেন্টের জন্য Zig ব্যবহার করে। ডেমন (`husi-core`) TUN মোড সমর্থনের জন্য উন্নত বিশেষাধিকার নিয়ে চলে; এটি ছাড়া, UI একটি অসুবিধাপ্রাপ্ত সেশন হোস্টে ফিরে যায়। **ডেস্কটপ প্যাকেজ**: - সিস্টেম Java 21 প্রয়োজন এমন Uber JAR - বান্ডল করা JRE সহ AppImage (Linux) - NSIS ইনস্টলার এবং পোর্টেবল জিপ (Windows) - `.dmg` অ্যাপ্লিকেশন বান্ডল (macOS) - `deb`/`rpm`/`pacman` নেটিভ প্যাকেজ (Linux) - রুটলেস ডিপ্লয়মেন্টের জন্য TAR.ZST রিলোকেটেবল ইনস্টল **কনফিগারেশন**: ব্যবহারকারীর কনফিগারেশন ফাইলগুলি `$XDG_CONFIG_HOME/husi/` (Linux), `~/Library/Application Support/husi/` (macOS), বা `%LOCALAPPDATA%\Programs\Husi` (Windows)-এ সংরক্ষিত হয়। JVM অপশন এবং অ্যাপ স্টার্টআপ আর্গুমেন্ট একই ডিরেক্টরির কনফিগারেশন ফাইলের মাধ্যমে সেট করা যায়। **GeoIP**: Husi অঞ্চল-ভিত্তিক রাউটিংয়ের জন্য MaxMind GeoLite2 ডেটা থেকে GeoIP রুল-সেট অ্যাসেট তৈরি করতে পারে। **বিল্ড প্রয়োজনীয়তা**: JDK 21, NDK 29.0.14206865 (Android), Zig 0.16, এবং লক্ষ্যের উপর নির্ভর করে `hdiutil`, `xorrisofs`, `nfpm`, `makensis`, এবং `osslsigncode` এর মতো প্ল্যাটফর্ম-নির্দিষ্ট টুল। **লাইসেন্স**: GPL-3.0 বা পরবর্তী। **ভিত্তি**: sing-box, shadowsocks-android, NekoBoxForAndroid, ClashMetaForAndroid, এবং অন্যান্য ওপেন-সোর্স প্রক্সি প্রকল্প।