ឯកសារអ្នកអភិវឌ្ឍន៍
ភាសាខ្មែរ

ចាប់ផ្តើម

អំពី Pabal

Pabal ជាអ្វី រចនាឡើងយ៉ាងដូចម្តេច អ្វីដែលដំណើរការហើយនៅពេលនេះ និងអ្វីដែលមិនទាន់ដំណើរការ។

Pabal ជាអ្វី

Pabal (파발, 擺撥) គឺជាប្រព័ន្ធស្ថានីយនាំសារនៃសម័យរាជវង្សជូសុន ដែលអ្នកនាំសារប្តូរសេះតាមស្ថានីយនីមួយៗ ហើយបន្តរត់នាំដំណឹងបន្ទាន់។ Pabal.me ជាកម្មវិធីផ្ញើសារដែលដាក់ឈ្មោះតាមប្រព័ន្ធនោះ — ជាកម្មវិធីផ្ញើសារដែលត្រូវគ្នាជាមួយ Telegram ដែលស្ថាប័ន ឬសហគមន៍មួយដំណើរការនៅលើម៉ាស៊ីនមេផ្ទាល់ខ្លួន

  • អ្នកដំណើរការម៉ាស៊ីនមេដោយខ្លួនឯង។ គណនី ការសន្ទនា និងរូបថតទាំងអស់ ត្រូវបានរក្សាទុកនៅលើម៉ាស៊ីនមេ និងមូលដ្ឋានទិន្នន័យ (PostgreSQL) របស់ប្រតិបត្តិករ។ កម្មវិធីម៉ាស៊ីនមេមានឈ្មោះថា HunsTelegram (Java 21)។
  • និយាយភាសាដូច Telegram ទាំងស្រុង។ រវាងកម្មវិធី និងម៉ាស៊ីនមេ គឺ MTProto 2.0 (layer 216) ដូច Telegram ហើយរវាងបូត និងម៉ាស៊ីនមេ គឺ HTTP Bot API ដូច Telegram។ ដូច្នេះ កម្មវិធី បណ្ណាល័យ និងបូតដែលបង្កើតសម្រាប់ Telegram អាចភ្ជាប់ទៅ Pabal បាន ដោយគ្រាន់តែប្តូរអាសយដ្ឋាន
  • ជាពិភពដាច់ដោយឡែក ដែលមិនភ្ជាប់ជាមួយ Telegram។ គណនី Pabal មាននៅលើម៉ាស៊ីនមេ Pabal តែប៉ុណ្ណោះ ហើយមិនអាចផ្ញើ ឬទទួលសារជាមួយអ្នកប្រើ Telegram បានទេ។

Pabal រចនាឡើងយ៉ាងដូចម្តេច

មនុស្ស · កម្មវិធី ច្រកចូល ម៉ាស៊ីនមេ Pabal (HunsTelegram) កម្មវិធី PabalPabal.app · Telegram កម្មវិធីបូតបណ្ណាល័យ · curl កម្មវិធីរុករកគេហទំព័រ · ឯកសារ · តំណ MTProto:8443 · អ៊ិនគ្រីបផ្ទាល់ HTTPS :443Caddy TLS ស្វ័យប្រវត្តិ GatewayMTProto 2.0 · layer 216 Bot API · webhook/bot<តូខឹន>/<method> គេហទំព័រ · ឯកសារ/ · /docs/ · /ឈ្មោះអ្នកប្រើ សេវា ប្រអប់សារ · បញ្ជីការសន្ទនា update ភ្លាមៗ (pts) ក្រុម · រូបថត · ប្រវត្តិរូប លេខកូដចុះឈ្មោះ · auth key @BotFather · បញ្ជីបូត ទំព័រគ្រប់គ្រង (127.0.0.1) PostgreSQLឃ្លាំងព្រឹត្តិការណ៍ ឯកសាររូបថតដើមdata/media បូត MTProto webhook (HTTPS)
រចនាសម្ព័ន្ធ Pabal — ច្រកចូលពីរ កន្លែងកត់ត្រាតែមួយ

ការពន្យល់ដ្យាក្រាម

  • តំបន់បី៖ ខាងឆ្វេងជាអ្វីដែលដំណើរការនៅក្រៅម៉ាស៊ីនមេ (កម្មវិធី កម្មវិធីបូត កម្មវិធីរុករក) កណ្តាលជាច្រកចូលពីររបស់ម៉ាស៊ីនមេ ហើយខាងស្តាំជាផ្នែកខាងក្នុងម៉ាស៊ីនមេ។ កម្មវិធីបូតក៏ដំណើរការនៅក្រៅម៉ាស៊ីនមេដែរ គឺនៅលើកុំព្យូទ័ររបស់ប្រតិបត្តិករ ឬអ្នកអភិវឌ្ឍន៍។
  • មានច្រកចូលតែពីរប៉ុណ្ណោះ៖ កម្មវិធីភ្ជាប់ដោយផ្ទាល់តាម ច្រក MTProto (8443) (មិនត្រូវការ HTTPS ទេ ព្រោះ MTProto អ៊ិនគ្រីបដោយខ្លួនឯង) ហើយគេហទំព័រ និង Bot API ចូលតាម HTTPS (443)
  • បូតភ្ជាប់តាមផ្លូវមួយក្នុងចំណោមផ្លូវពីរ៖ ជាធម្មតាតាម Bot API លើ HTTPS (បន្ទាត់ជាប់) ហើយបើចង់ ក៏អាចភ្ជាប់តាម MTProto ដូចកម្មវិធីដែរ (បន្ទាត់ដាច់ៗពណ៌ខៀវ)។ មិនថាផ្លូវណាទេ វាជាគណនីបូតតែមួយ និងប្រអប់សារតែមួយ។
  • បន្ទាត់ដាច់ៗពណ៌ក្រហម គឺជាព្រួញតែមួយគត់ដែលទៅទិសបញ្ច្រាស៖ ពេលបូតកំណត់ webhook ម៉ាស៊ីនមេនឹងផ្ញើ update ថ្មីៗទៅអាសយដ្ឋាន HTTPS របស់កម្មវិធីបូត។ ព្រួញផ្សេងទៀតទាំងអស់ ជាសំណើដែលចូលពីខាងក្រៅមកម៉ាស៊ីនមេ។
  • កន្លែងកត់ត្រាមានតែមួយ៖ រាល់ការផ្លាស់ប្តូរឆ្លងកាត់សេវា ហើយត្រូវបានកត់ទុកក្នុងឃ្លាំងព្រឹត្តិការណ៍ (event store) នៃ PostgreSQL មានតែរូបថតដើមទេដែលទុកជាឯកសារ។ ដោយសារសារដែលផ្ញើពីកម្មវិធី និងសារដែលបូតផ្ញើ ឆ្លងកាត់ផ្លូវតែមួយ ការជូនដំណឹងភ្លាមៗ (push) បញ្ជីការសន្ទនា និងការស្តារឡើងវិញពេលភ្ជាប់ម្តងទៀត អនុវត្តដូចគ្នាចំពោះទាំងអស់។

អ្វីដែលដំណើរការហើយ និងអ្វីដែលមិនទាន់

មុខងារស្ថានភាពកំណត់ចំណាំ
ការចុះឈ្មោះ និងការចូលគណនី (លេខទូរស័ព្ទ + លេខកូដ)បានប្រតិបត្តិករជ្រើសវិធីបញ្ជូនលេខកូដ៖ SMS · អ៊ីមែល · អ្នកគ្រប់គ្រងបញ្ជូនផ្ទាល់
ការសន្ទនា 1:1 ការទទួលភ្លាមៗ ឧបករណ៍ច្រើនបានឧបករណ៍ដែលបានបិទ នឹងតាមទាន់អ្វីដែលខកខាន ពេលបើកឡើងវិញ
ការកែ និងលុបសារបានបង្ហាញភ្លាមៗនៅលើអេក្រង់របស់ភាគីម្ខាងទៀតផងដែរ
ក្រុមមូលដ្ឋាន (បង្កើត · បន្ថែមសមាជិក · ដកសមាជិកចេញ · ឈ្មោះ)បានបន្ថែមសមាជិកដោយផ្ទាល់ពីព័ត៌មានក្រុម
ការផ្ញើរូបថត រូបប្រវត្តិរូបបានរក្សាទុកតែទំហំដើមមួយប៉ុណ្ណោះ
បូត — @BotFather, HTTP Bot API, webhook, បូត MTProtoបានប៊ូតុង · callback · ម៉ឺនុយពាក្យបញ្ជា · រូបថត · ក្រុម
ទំព័រគ្រប់គ្រង ការកំណត់ប្រតិបត្តិការបានបើកតែនៅ 127.0.0.1 របស់ម៉ាស៊ីនមេប៉ុណ្ណោះ
គេហទំព័រ 10 ភាសា ទំព័រតំណឈ្មោះអ្នកប្រើ និងតំណអញ្ជើញបានឯកសារអ្នកអភិវឌ្ឍន៍ក៏មាន 10 ភាសាដែរ
ឆានែល supergroupមិនទាន់ប្រហែលជាមិនបង្ហាញត្រឹមត្រូវក្នុងកម្មវិធី
ឯកសារ វីដេអូ ឯកសារសំឡេង អាល់ប៊ុមមិនទាន់បើផ្ញើ នឹងត្រូវបដិសេធដោយ MEDIA_INVALID
អត្ថបទមានទម្រង់ (ដិត ទ្រេត) parse_mode របស់បូតមិនទាន់ផ្ញើជាអក្សរដដែល។ ពាក្យបញ្ជា ការលើកឈ្មោះ (mention) តំណ និង hashtag បង្ហាញដោយស្វ័យប្រវត្តិ
ការហៅជាសំឡេង និងវីដេអូ ការសន្ទនាសម្ងាត់មិនទាន់
ការផ្ទៀងផ្ទាត់ 2 ជំហាន (ពាក្យសម្ងាត់ cloud)មិនទាន់ទោះព្យាយាមកំណត់ ក៏ត្រូវបដិសេធ
កម្មវិធីទូរស័ព្ទ ការជូនដំណឹង pushមិនទាន់បច្ចុប្បន្នមានតែកម្មវិធីកុំព្យូទ័រ macOS
ការចូលក្រុមតាមតំណអញ្ជើញមិនទាន់អាចបង្កើតតំណបាន ប៉ុន្តែចុចហើយក៏មិនក្លាយជាសមាជិកដែរ
របៀប inline (@bot ពាក្យស្វែងរក) ការទូទាត់ ហ្គេមមិនទាន់

ទំនាក់ទំនងជាមួយ Telegram

Pabal ជាម៉ាស៊ីនមេដាច់ដោយឡែក ដែលអនុវត្តតាមពិធីការសាធារណៈរបស់ Telegram។ វាមិនមានទំនាក់ទំនងជាមួយក្រុមហ៊ុន Telegram ហើយក៏មិនភ្ជាប់ទៅម៉ាស៊ីនមេរបស់ Telegram ដែរ។

  • អ្វីដែលត្រូវគ្នា៖ MTProto 2.0 (ការដឹកជញ្ជូន 4 ប្រភេទ handshake ការភ្ជាប់សោបណ្តោះអាសន្ន) ទម្រង់សំណើ និងការឆ្លើយតបនៃ layer 216 ទម្រង់អាសយដ្ឋាន សំណើ ការឆ្លើយតប និងកំហុសរបស់ HTTP Bot API។ យើងបានផ្ទៀងផ្ទាត់ដោយភ្ជាប់ Telegram Desktop 6.2.6 ផ្លូវការ ដោយមិនកែប្រែអ្វីឡើយ (គ្រាន់តែប្តូរអាសយដ្ឋានម៉ាស៊ីនមេ និងសោសាធារណៈ)។
  • អ្វីដែលខុសគ្នា៖ គណនី និងទិន្នន័យ ដាច់ដោយឡែកតាមម៉ាស៊ីនមេនីមួយៗ។ ID អ្នកប្រើ ID សារ និង ID ឯកសារ មានន័យតែនៅក្នុងម៉ាស៊ីនមេនេះប៉ុណ្ណោះ។ តូខឹនបូតដែលធ្លាប់ប្រើនៅ Telegram មិនអាចប្រើបានទេ ត្រូវទទួលថ្មីពី @BotFather របស់ Pabal។

កម្មវិធី និងម៉ាស៊ីនមេបង្កើតតំណដោយប្រើ https://pabal.me/។ បើបើកក្នុងកម្មវិធីរុករក នឹងឃើញទំព័រតូចមួយសម្រាប់បើកកម្មវិធី។

តំណអត្ថន័យអាសយដ្ឋានដែលបើកក្នុងកម្មវិធី
pabal.me/<ឈ្មោះអ្នកប្រើ>បើកការសន្ទនាជាមួយមនុស្ស ឬបូតtg://resolve?domain=<ឈ្មោះអ្នកប្រើ>
pabal.me/+<លេខកូដអញ្ជើញ>តំណអញ្ជើញចូលក្រុម (កម្មវិធីបើក ប៉ុន្តែការចូលតាមតំណមិនទាន់ដំណើរការ)tg://join?invite=<លេខកូដអញ្ជើញ>
pabal.me/joinchat/<លេខកូដអញ្ជើញ>តំណអញ្ជើញទម្រង់ចាស់ (អត្ថន័យដូចគ្នា)tg://join?invite=<លេខកូដអញ្ជើញ>

ឈ្មោះអ្នកប្រើមាន 5 ដល់ 32 តួ ដែលជាអក្សរឡាតាំង លេខ និងសញ្ញាគូសក្រោម ហើយត្រូវចាប់ផ្តើមដោយអក្សរឡាតាំង (ឈ្មោះបូតបញ្ចប់ដោយ bot)។ ឈ្មោះដែលដូចនឹងផ្លូវ (path) ដែលគេហទំព័រប្រើ ដូចជា docs, admin, health មិនអាចបើកជាតំណបានទេ។

គំរូសុវត្ថិភាព

  • កម្មវិធី ↔ ម៉ាស៊ីនមេ៖ ត្រូវបានអ៊ិនគ្រីបដោយ MTProto 2.0។ កម្មវិធីត្រូវបាន build ដោយបង្កប់សោសាធារណៈ RSA របស់ម៉ាស៊ីនមេក្នុងខ្លួន ដូច្នេះម៉ាស៊ីនមេផ្សេងមិនអាចក្លែងខ្លួនជាម៉ាស៊ីនមេ Pabal បានទេ។ ការសន្ទនាដូចគ្នានឹង "ការសន្ទនា cloud" របស់ Telegram ដូច្នេះម៉ាស៊ីនមេអាចអានខ្លឹមសារបាន (មិនមែនការអ៊ិនគ្រីបពីចុងដល់ចុងទេ)។ នេះជាមូលហេតុដែលម៉ាស៊ីនមេត្រូវតែដំណើរការដោយមនុស្សដែលអាចទុកចិត្តបាន។
  • បូត ↔ ម៉ាស៊ីនមេ៖ Bot API បើកចំហតាម HTTPS តែប៉ុណ្ណោះ។ តូខឹនបូតគឺជាពាក្យសម្ងាត់របស់បូត — បើវាលេចធ្លាយ សូមប្តូរវាដោយ /revoke នៅ @BotFather។ តូខឹនចាស់ និងការតភ្ជាប់ដែលកំពុងភ្ជាប់ដោយតូខឹននោះ នឹងត្រូវផ្តាច់ភ្លាមៗ។
  • ម៉ាស៊ីនមេ → webhook៖ ម៉ាស៊ីនមេផ្ញើសំណើតែទៅ webhook ដែលជា HTTPS និងមានអាសយដ្ឋានសាធារណៈប៉ុណ្ណោះ។ អាសយដ្ឋានខាងក្នុង ដូចជាបណ្តាញឯកជន loopback ឬ metadata របស់ cloud ត្រូវបានបដិសេធ។ បូតអាចប្រើ secret_token ដើម្បីពិនិត្យថាសំណើពិតជាមកពីម៉ាស៊ីនមេ Pabal មែន។
  • ការគ្រប់គ្រង៖ ទំព័រគ្រប់គ្រងបើកតែនៅលើម៉ាស៊ីនមេខ្លួនឯង (127.0.0.1) ហើយត្រូវមានតូខឹនទើបអាចមើលទិន្នន័យបាន។ ប្រតិបត្តិករចូលតាម SSH tunnel។
  • ការរក្សាទុក៖ ដោយសារម៉ាស៊ីនមេត្រូវប្រើសោផ្ទៀងផ្ទាត់ (auth key) ដើម្បីឌិគ្រីប សោទាំងនោះត្រូវបានរក្សាទុកក្នុងមូលដ្ឋានទិន្នន័យដូចដើម។ មូលដ្ឋានទិន្នន័យ និងការបម្រុងទុក ត្រូវការពារឲ្យបានដូចសោឯកជន RSA របស់ម៉ាស៊ីនមេដែរ។

វាក្យសព្ទ

ពាក្យអត្ថន័យ
MTProtoពិធីការអ៊ិនគ្រីបរវាងកម្មវិធី និងម៉ាស៊ីនមេ ដែល Telegram បានបង្កើត។ Pabal ប្រើកំណែ 2.0។
Layer (ស្រទាប់)កំណែនៃទម្រង់សំណើ និងការឆ្លើយតប ដែលឆ្លងកាត់លើ MTProto។ Pabal ប្រើ 216
សោផ្ទៀងផ្ទាត់ (auth key)អាថ៌កំបាំងទំហំ 2048 ប៊ីត ដែលកម្មវិធីបង្កើតជាមួយម៉ាស៊ីនមេ ពេលភ្ជាប់ជាលើកដំបូង។ ការចូលគណនីត្រូវបានភ្ជាប់ទៅនឹងសោនេះ។
DCលេខមជ្ឈមណ្ឌលទិន្នន័យរបស់ Telegram។ នៅ Pabal ម៉ាស៊ីនមេមួយគ្រឿងទទួលបន្ទុក DC 1 ដល់ 5 ទាំងអស់។
Update, ptsការផ្លាស់ប្តូរ ដូចជាសារថ្មី ការកែ និងការលុប។ pts ជាលេខរៀងនៃការផ្លាស់ប្តូររបស់អ្នកប្រើម្នាក់ៗ ដែលជួយឲ្យឧបករណ៍ដែលធ្លាប់ដាច់ការតភ្ជាប់ ដឹងថាខ្លួនបានខកខានអ្វីខ្លះ។
Peerភាគីសន្ទនា — មនុស្ស បូត ក្រុម។
តូខឹនបូតខ្សែអក្សរក្នុងទម្រង់ <ID បូត>:<អាថ៌កំបាំង>។ ដាក់ក្នុងអាសយដ្ឋាន Bot API ដើម្បីបញ្ជាក់អត្តសញ្ញាណបូត។
Webhookវិធីដែលម៉ាស៊ីនមេផ្ញើ update ថ្មីៗទៅអាសយដ្ឋាន HTTPS របស់បូត ជំនួសឲ្យបូតមកទាញយកដោយខ្លួនឯង។