HeadlinesBriefing favicon HeadlinesBriefing.com

Tailcat: Tailscale ডেটা প্লেনে netcat

Hacker News •
×

Tailcat হল Tailscale ওপেন সোর্স উপাদানের রিমিক্স, netcat-এর মতো, কিন্তু Tailscale ডেটা প্লেনে, কন্ট্রোল প্লেন ছাড়া। Tailscale-এর ডেটা প্লেন (অভ্যন্তরীণভাবে magicsock) দুটি মেশিনের মধ্যে পয়েন্ট-টু-পয়েন্ট Wire Guard®-এনক্রিপ্টেড টানেল প্রদান করে, DERP NAT-হোল-পাঞ্চিং যোগাযোগ সাইড চ্যানেল এবং NAT ট্রাভার্সাল ব্যর্থ হলে শেষ রিলে-অফ-লাস্ট-রিসোর্ট হিসেবে। Tailscale কন্ট্রোল প্লেন ব্যবহার করার পরিবর্তে, সমস্ত tailcat সংযোগ মেটাডেটা আউট অফ ব্যান্ড বিনিময় করা হয়, যেমন আপনি চান। tailcat CLI (cmd/tailcat-এ) tailcat Go লাইব্রেরির উপর নির্মিত (github.com/tailscale/tailcat হিসাবে ইমপোর্টযোগ্য)।

আপনি tailcat কে CLI টুল বা লাইব্রেরি হিসাবে ব্যবহার করুন না কেন, এক পাশ tailcat সার্ভার (লিসনার) চালায় এবং একটি ছোট সংযোগ টোকেন পায়। অন্য পাশ সংযোগ করতে tailcat-এর ক্লায়েন্ট পাশে সেই টোকেন পাস করে। দুটির মধ্যে সমস্ত ট্রাফিক Wire Guard দিয়ে এন্ড-টু-এন্ড এনক্রিপ্ট করা। প্রাথমিক সংযোগ Tailscale-এর DERP রিলে নেটওয়ার্কের মাধ্যমে বুটস্ট্র্যাপ হয়, এবং তারপর magicsock NAT ট্রাভার্সাল সম্পাদন করে সরাসরি পয়েন্ট-টু-পয়েন্ট UDP সংযোগে আপগ্রেড করতে যখন সম্ভব (সাধারণত!)।

আপনার Tailscale অ্যাকাউন্টের প্রয়োজন নেই, মেশিনে রুট/অ্যাডমিন অ্যাক্সেসের প্রয়োজন নেই (এটি আপনার মেশিনের রাউটিং টেবিল, DNS ইত্যাদি পরিবর্তন করে না)। এটি শুধুমাত্র একটি ইউজারস্পেস লাইব্রেরি এবং CLI টুল। এবং এটি সব ওপেন সোর্স। আপনি আমাদের বিনামূল্যের রেট-সীমিত DERP রিলে ব্যবহার করতে পারেন (ডিফল্ট DERP ম্যাপ https://tailcat.dev/derpmap.json) অথবা আপনি নিজের চালাতে পারেন।

ব্যবহার: দুটি মেশিনের মধ্যে stdin/stdout পাইপ করুন। সার্ভার শুরু হয়, তার অস্থায়ী ঠিকানা প্রিন্ট করে: $ tailcat # নির্বাচিত বুটস্ট্র্যাপ রিলে অঞ্চল 302, সান ফ্রান্সিসকো # সার্ভার নতুন ঠিকানায় শুনছে: tcom Fw WCCcj S5n KNq Aod034n Wo JZW0LZq Dhh C8U_d Kdn DRYQ8u NGFp GQEu (ঝুলে আছে, অপেক্ষা করছে...) এবং তারপর ক্লায়েন্ট করতে পারে: $ echo hello | tailcat tcom Fw WCCcj S5n KNq Aod034n Wo JZW0LZq Dhh C8U_d Kdn DRYQ8u NGFp GQEu $ তারপর সার্ভার আনব্লক হয়: $ tailcat # নির্বাচিত বুটস্ট্র্যাপ রিলে অঞ্চল 302, সান ফ্রান্সিসকো # সার্ভার নতুন ঠিকানায় শুনছে: tcom Fw WCCcj S5n KNq Aod034n Wo JZW0LZq Dhh C8U_d Kdn DRYQ8u NGFp GQEu hello $ টানেলের মাধ্যমে স্থানীয় পোর্ট প্রকাশ করুন অথবা আপনি একটি স্থানীয় TCP পোর্ট সার্ভ করতে পারেন, localhost-এ ফরওয়ার্ড করা: $ tailcat --serve=8080,8443 # অথবা --serve=all # সার্ভার নতুন ঠিকানায় শুনছে: tc XXXXXXXXX এবং তারপর ক্লায়েন্ট: $ tailcat tc XXXXXXXXX 8080 GET / HTTP/1.1 Host: foo HTTP/1.1 200 OK.... প্রমাণীকরণ-মুক্ত SSH সার্ভার Linux এবং macOS-এ, আপনি প্রমাণীকরণ ছাড়াই SSH সার্ভার চালাতে পারেন। (যদি আপনি প্রমাণীকরণ চান, আপনি কেবল tailcat --serve=22 করতে পারেন এবং আপনার সিস্টেম SSH সার্ভারে প্রক্সি করতে পারেন) $ tailcat --serve=no-auth-ssh # সার্ভার নতুন ঠিকানায় শুনছে: tc XXXXXXXXX এবং ক্লায়েন্ট পাশে: $ tailcat ssh tc XXXXXXXXX $ tailcat ssh tc XXXXXXXXX ls -la বিবিধ কমান্ড সংযোগ পরীক্ষা করতে পিং; প্রতিটি পং রিপোর্ট করে এটি DERP রিলে বা সরাসরি পথের মাধ্যমে এসেছে কিনা। --until-direct পিং করতে থাকে (সর্বোচ্চ --timeout, ডিফল্ট 10s) যতক্ষণ না সরাসরি পথ কাজ করে, না হলে অ-শূন্য দিয়ে প্রস্থান করে: $ tailcat ping --until-direct <token> pong in 42.1ms via DERP(sfo) pong in 1.2ms via 203.0.113.7:41641 টানেলের উপর রাউট করা SOCKS5 প্রক্সির মাধ্যমে একটি কমান্ড চালান: $ tailcat socks <token> curl http://server.tailcat:8081/ টোকেন সরাসরি URL হোস্টনেম হিসাবেও কাজ করে: SOCKS প্রক্সি তাদের চিনে এবং ডায়াল করে, তাই টোকেন আর্গুমেন্ট ঐচ্ছিক। (টোকেন কেস-সংবেদনশীল; এটি curl এবং বেশিরভাগ CLI টুলের সাথে কাজ করে, কিন্তু ব্রাউজারগুলির সাথে নয়, যা হোস্টনেম ছোট হাতের করে।) $ tailcat socks curl http://<token>:8081/ একটি এক্সিট নোড হিসাবে কাজ করুন যাতে ক্লায়েন্ট সার্ভারের নেটওয়ার্কে পৌঁছাতে পারে: $ tailcat --serve=exit-node একটি সংযোগ টোকেন পার্স করুন এবং এর বিষয়বস্তু (সার্ভারের Wire Guard পাবলিক কী এবং DERP তথ্য) JSON হিসাবে প্রিন্ট করুন, কিছুতে সংযোগ না করে: $ tailcat parse tcom Fw WCCcj S5n KNq Aod034n Wo JZW0LZq Dhh C8U_d Kdn DRYQ8u NGFp GQEu {"Server Public": "nodekey:9c8d2e6728da80a1dd37e275a82595b42d9a838610bc53f74a7670d1610f2e34","Region ID": 302} একটি ছোট টোকেন (যা ID দ্বারা DERP অঞ্চল উল্লেখ করে, ক্লায়েন্টদের DERP ম্যাপ আনতে প্রয়োজন) DERP সার্ভার তথ্য সহ একটি দীর্ঘ স্ব-সম্পূর্ণ টোকেনে সমাধান করুন...