Bitcoin แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„?

แžœแžถแž”แžถแž“แž€แžพแžแžกแžพแž„แžŠแžผแž…แŸ’แž“แŸแŸ‡แžŠแŸ„แž™แžœแžทแž‡แŸ’แž‡แžถแž‡แžธแžœแŸˆแžแŸ’แž‰แžปแŸ†แž‡แžถแžขแŸ’แž“แž€แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแž“แžทแž„แž”แžŽแŸ’แžแžถแž‰ (แž“แžทแž™แžถแž™แžฑแŸ’แž™แžแŸ’แž›แžธ: แžขแŸ’แž“แž€แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’) แž แžพแž™แžแŸ’แž‰แžปแŸ†แž˜แžถแž“แžฑแž€แžถแžŸแž”แŸ’แžšแžถแž”แŸ‹ prof แžขแžŸแŸ‹แžšแž™แŸˆแž–แŸแž›แž‡แžถแž„ 10 แž†แŸ’แž“แžถแŸ†แŸ” แžŸแž€แž˜แŸ’แž˜แž—แžถแž–แž“แŸƒแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž‡แžถแž…แŸ’แžšแžพแž“ แžšแžฝแž˜แž‘แžถแŸ†แž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ‚แž›แž‘แžถแž˜แž‘แžถแžšแžœแžทแž’แžถแž“แž€แžถแžšแžŸแžปแžœแžแŸ’แžแžทแž—แžถแž– [แžแŸ’แž›แžถแŸ†แž„]แŸ” แžœแžถแž€แŸแž”แžถแž“แž€แžพแžแžกแžพแž„แž•แž„แžŠแŸ‚แžšแžŠแŸ‚แž›แž˜แžฝแž™แžšแž™แŸˆแž˜แžปแž“แžแŸ’แž‰แžปแŸ†แž”แžถแž“แžšแž€แžƒแžพแž‰แžแžถแžœแžถแž‚แžฝแžšแžฑแŸ’แž™แž…แžถแž”แŸ‹แžขแžถแžšแž˜แŸ’แž˜แžŽแŸ bitcoinแž แžพแž™แž˜แžทแž“แžแŸ’แžšแžนแž˜แžแŸ‚แž”แžถแž“แž”แŸ’แžšแžพแžœแžถแž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡แž‘แŸ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžแŸ‚แž˜แž‘แžถแŸ†แž„แž”แžถแž“แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŸแŸแžœแžถแž€แž˜แŸ’แž˜แžแŸ’แž“แžถแžแžแžผแž…แž‡แžถแž…แŸ’แžšแžพแž“แž•แž„แžŠแŸ‚แžš แžŠแžพแž˜แŸ’แž”แžธแžšแŸ€แž“แž–แžธแžšแž”แŸ€แž”แž’แŸ’แžœแžพแž€แžถแžšแžŠแŸ„แž™แžฏแž€แžšแžถแž‡แŸ’แž™แž‡แžถแž˜แžฝแž™แž”แžŽแŸ’แžแžถแž‰ Bitcoin (aka p2p แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž‘แžถแŸ†แž„แžขแžŸแŸ‹) แž–แžธแž‘แžŸแŸ’แžŸแž“แŸˆแžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แžขแž—แžทแžœแžŒแŸ’แžแž“แŸ (แž‡แžถแž€แžถแžšแž–แžทแžแžŽแžถแžŸแŸ‹แžแŸ’แž‰แžปแŸ†แž‡แžถแž˜แž“แžปแžŸแŸ’แžŸแž˜แŸ’แž“แžถแž€แŸ‹แž€แŸ’แž“แžปแž„แž…แŸ†แžŽแŸ„แž˜แžขแŸ’แž“แž€แž‘แžถแŸ†แž„แž“แŸ„แŸ‡แŸ” devแžŠแžผแž…แŸ’แž“แŸแŸ‡แžแŸ’แž‰แžปแŸ†แž”แžถแž“แž†แŸ’แž›แž„แž€แžถแžแŸ‹) แŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžแŸ’แž‰แžปแŸ†แž˜แžทแž“แž“แžทแž™แžถแž™แžขแŸ†แž–แžธแž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž‘แŸ แžแŸ’แž‰แžปแŸ†แž€แŸ†แž–แžปแž„แž“แžทแž™แžถแž™แžขแŸ†แž–แžธแž”แžšแžทแž™แžถแž€แžถแžŸแžŸแžปแžœแžแŸ’แžแžทแž—แžถแž– แž“แžทแž„แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แž˜แŸ’แž˜แžœแžทแž’แžธแŸ”

แž”แž…แŸ’แž…แŸแž€แžœแžทแž‘แŸ’แž™แžถแž แžทแžšแž‰แŸ’แž‰แžœแžแŸ’แžแžป (fintech) แž‘แŸ…โ€‹แž”แž“แŸ’แž‘แžถแž”แŸ‹โ€‹แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–โ€‹แž–แŸแžแŸŒแž˜แžถแž“ (แžแŸ’แž‰แžปแŸ†แž‘แž‘แžฝแž›แž”แžถแž“แž‚แŸ’แž˜แžถแž“แž€แŸ†แžŽแžแŸ‹) แž แžพแž™แž‘แžธแž˜แžฝแž™แžขแžถแž…แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ„แž™แž‚แŸ’แž˜แžถแž“แž‘แžธแž–แžธแžš แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž˜แžทแž“แž™แžผแžšแž‘แŸแŸ” แž“แŸ„แŸ‡แž แžพแž™แž‡แžถแž˜แžผแž›แž แŸแžแžปแžŠแŸ‚แž›แžแŸ’แž‰แžปแŸ†แž…แž„แŸ‹แž…แŸ‚แž€แžšแŸ†แž›แŸ‚แž€แž”แž‘แž–แžทแžŸแŸ„แž’แž“แŸแžšแž”แžŸแŸ‹แžแŸ’แž‰แžปแŸ† แž“แžทแž„แžŸแŸ†แžŽแžปแŸ†แžงแž”แž€แžšแžŽแŸแžŠแŸ‚แž›แžแŸ’แž‰แžปแŸ†แž”แŸ’แžšแžพ แžŠแŸ‚แž›แžšแžฝแž˜แž˜แžถแž“แž‘แžถแŸ†แž„แž–แžธแžš fintech, แž“แžทแž„ แžแŸ’แž‰แžปแŸ†แž‘แž‘แžฝแž›แž”แžถแž“แž‚แŸ’แž˜แžถแž“แž€แŸ†แžŽแžแŸ‹แž แžพแž™แž€แŸ’แž“แžปแž„แž–แŸแž›แžแŸ‚แž˜แžฝแž™ แž“แžทแž„แž€แŸแžขแžถแž…แž”แŸ’แžšแžพแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸ„แž›แž”แŸ†แžŽแž„แž‘แžผแž›แŸ†แž‘แžผแž›แžถแž™ แžฌแžแžปแžŸแž‚แŸ’แž“แžถแž‘แžถแŸ†แž„แžŸแŸ’แžšแžปแž„แž•แž„แžŠแŸ‚แžšแŸ” แž“แŸ…แž€แŸ’แž“แžปแž„แžขแžแŸ’แžแž”แž‘แž“แŸแŸ‡แžแŸ’แž‰แžปแŸ†แž“แžนแž„แž”แŸ’แžšแžถแž”แŸ‹แžขแŸ’แž“แž€แž˜แžทแž“แž…แŸ’แžšแžพแž“แž‘แŸแžขแŸ†แž–แžธ Bitcoin แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžขแŸ†แž–แžธแž‚แŸ†แžšแžผแž แŸแžŠแŸ’แž‹แžถแžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸ แž“แžทแž„แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžŸแŸแžœแžถแž€แž˜แŸ’แž˜แž แžทแžšแž‰แŸ’แž‰แžœแžแŸ’แžแžป (แž“แžทแž„แž˜แžทแž“แžแŸ’แžšแžนแž˜แžแŸ‚แž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡) - แž“แŸ…แž€แŸ’แž“แžปแž„แž–แžถแž€แŸ’แž™แž˜แžฝแž™ แžŸแŸแžœแžถแž€แž˜แŸ’แž˜แž‘แžถแŸ†แž„แž“แŸ„แŸ‡แžŠแŸ‚แž› "B" แžŸแŸ†แžแžถแž“แŸ‹แŸ” แž“แŸแŸ‡แžขแž“แžปแžœแžแŸ’แžแž‘แžถแŸ†แž„แž€แžถแžšแž”แŸ’แžแžผแžš Bitcoin แž“แžทแž„แž…แŸ†แž–แŸ„แŸ‡แžŸแŸแžœแžถแž€แž˜แŸ’แž˜แžŸแžถแž‡แžธแžœแž€แž˜แŸ’แž˜แž’แž˜แŸ’แž˜แžแžถแž”แŸ†แž•แžปแžแž“แŸƒแž€แŸ’แžšแžปแž˜แž แŸŠแžปแž“แžแžผแž…แž˜แžฝแž™แžŠแŸ‚แž›แž˜แžทแž“แž—แŸ’แž‡แžถแž”แŸ‹แž‡แžถแž˜แžฝแž™ Bitcoin แžแžถแž˜แž˜แž’แŸ’แž™แŸ„แž”แžถแž™แžŽแžถแž˜แžฝแž™แžกแžพแž™แŸ”

แžแŸ’แž‰แžปแŸ†แž…แž„แŸ‹แž€แžแŸ‹แžŸแž˜แŸ’แž‚แžถแž›แŸ‹แžแžถแžแŸ’แž‰แžปแŸ†แž‡แžถแžขแŸ’แž“แž€แž‚แžถแŸ†แž‘แŸ’แžšแž‚แŸ„แž›แž€แžถแžšแžŽแŸ "แžšแž€แŸ’แžŸแžถแžœแžถแžฑแŸ’แž™แžŸแžถแž˜แž‰แŸ’แž‰" ะธ "แžแžทแž…แž‚แžบแž…แŸ’แžšแžพแž“"แžŠแžผแž…แŸ’แž“แŸแŸ‡ แž‘แžถแŸ†แž„แžขแžแŸ’แžแž”แž‘ แž“แžทแž„แžขแŸ’แžœแžธแžŠแŸ‚แž›แž”แžถแž“แž–แžทแž–แžŽแŸŒแž“แžถแž“แŸ…แž€แŸ’แž“แžปแž„แžœแžถแž“แžนแž„แž˜แžถแž“แž›แž€แŸ’แžแžŽแŸˆแžŸแž˜แŸ’แž”แžแŸ’แžแžทแžŠแŸ‚แž›แž‚แŸ„แž›แž€แžถแžšแžŽแŸแž‘แžถแŸ†แž„แž“แŸแŸ‡แž“แžทแž™แžถแž™แžขแŸ†แž–แžธแŸ”

แžŸแŸแžŽแžถแžšแžธแž™แŸ‰แžผโ€‹แžŸแŸ’แžšแž˜แžพแžŸแŸ’แžšแž˜แŸƒแŸ– แžŸแžผแž˜แž€แŸ’แžšแžกแŸแž€แž˜แžพแž›แžขแŸ’แžœแžธแž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แžŠแŸ„แž™แž”แŸ’แžšแžพแžงแž‘แžถแž แžšแžŽแŸแž“แŸƒแž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžš bitcoin แŸ” แž™แžพแž„แž”แžถแž“แžŸแž˜แŸ’แžšแŸแž…แž…แžทแžแŸ’แžแž”แžพแž€แž€แžถแžšแžŠแŸ„แŸ‡แžŠแžผแžšแžšแžผแž”แžทแž™แž”แžŽแŸ’แžŽแŸแžŠแžปแž›แŸ’แž›แžถแžš แžขแžบแžšแŸ‰แžผแžŸแž˜แŸ’แžšแžถแž”แŸ‹ bitcoins แž“แžทแž„แžแŸ’แžšแžกแž”แŸ‹แž˜แž€แžœแžทแž‰ แž แžพแž™แž™แžพแž„แž˜แžถแž“แžŠแŸ†แžŽแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž€แžถแžšแž„แžถแžšแžšแžฝแž…แž แžพแž™ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž›แžปแž™แžŒแžธแž‡แžธแžแž›แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแžŠแžผแž…แž‡แžถ qiwi แž“แžทแž„ webmoney แž–แŸ„แž›แž‚แžบแžงแŸ” แž™แžพแž„แž”แžถแž“แž”แžทแž‘แžšแžถแž›แŸ‹แž”แž‰แŸ’แž แžถแž•แŸ’แž›แžผแžœแž…แŸ’แž”แžถแž”แŸ‹ แž™แžพแž„แž˜แžถแž“แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแŸ‚แž›แžแŸ’แžšแŸ€แž˜แžšแžฝแž…แž‡แžถแžŸแŸ’แžšแŸแž… แžŠแŸ‚แž›แž”แž˜แŸ’แžšแžพแž‡แžถแž…แŸ’แžšแž€แž‘แžผแž‘แžถแžแŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžšแžผแž”แŸ’แž›แžทแž„ แžŠแžปแž›แŸ’แž›แžถแžš แž“แžทแž„แžขแžบแžšแŸ‰แžผ แž“แžทแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž‘แžผแž‘แžถแžแŸ‹แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแŸ” แžœแžถแžแŸ’แžšแžผแžœแž”แžถแž“แž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ…แž‚แžŽแž“แžธแž’แž“แžถแž‚แžถแžšแžšแž”แžŸแŸ‹แž™แžพแž„ แž“แžทแž„แž˜แžถแž“แž”แŸ’แžšแž—แŸแž‘ API แž˜แžฝแž™แž…แŸ†แž“แžฝแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž…แž”แŸ‹แžšแž”แžŸแŸ‹แž™แžพแž„แŸ” แž™แžพแž„แž€แŸแž˜แžถแž“แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แžŠแžพแžšแžแžฝแž‡แžถแžขแŸ’แž“แž€แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž•แž„แžŠแŸ‚แžš แžŠแžผแž…แž‡แžถแž‚แžŽแž“แžธ qiwi แžฌ webmoney แž’แž˜แŸ’แž˜แžแžถ - แž”แž„แŸ’แž€แžพแžแž‚แžŽแž“แžธ แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžแž‡แžถแžŠแžพแž˜แŸ” แžœแžถแž‘แžถแž€แŸ‹แž‘แž„แž‡แžถแž˜แžฝแž™แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แŸ’แžšแž€แž•แŸ’แž›แžผแžœแžšแž”แžŸแŸ‹แž™แžพแž„ แž‘แŸ„แŸ‡แž”แžธแž‡แžถแžแžถแž˜แžšแž™แŸˆ REST API แž€แŸ’แž“แžปแž„แžแŸ†แž”แž“แŸ‹แž€แŸแžŠแŸ„แž™แŸ” แžŠแžผแž…แŸ’แž“แŸแŸ‡แž แžพแž™ แž™แžพแž„แž”แžถแž“แžŸแž˜แŸ’แžšแŸแž…แž…แžทแžแŸ’แžแž—แŸ’แž‡แžถแž”แŸ‹ bitcoins แž แžพแž™แž€แŸ’แž“แžปแž„แž–แŸแž›แžแŸ‚แž˜แžฝแž™ แž’แŸ’แžœแžพแžฑแŸ’แž™แž”แŸ’แžšแžŸแžพแžšแžกแžพแž„แž“แžผแžœแž แŸแžŠแŸ’แž‹แžถแžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ แžŠแŸ„แž™แžŸแžถแžšแžแŸ‚... แžŠแŸ†แž”แžผแž„แžกแžพแž™ แžขแŸ’แžœแžธแž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแžถแž€แŸ‹แžฑแŸ’แž™แž”แŸ’แžšแž‰แžถแž”แŸ‹แž”แŸ’แžšแž‰แžถแž›แŸ‹แž“แŸ…แž›แžพแž”แŸ’แžšแžขแž”แŸ‹แž“แžทแž˜แŸ’แž˜แžทแžแž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแžทแž™แžถแž›แŸแž™แž€แŸ’แžšแŸ„แž˜แžแžป... แž‚แŸแž แž‘แŸ†แž–แŸแžšแž“แŸแŸ‡แž”แžถแž“แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ แž แžพแž™แž™แžพแž„แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž–แŸ’แžšแžฝแž™แž”แžถแžšแž˜แŸ’แž—แžขแŸ†แž–แžธแž˜แŸ‰แŸ„แž„แž’แŸ’แžœแžพแž€แžถแžš แž“แžทแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแŸ”

แžŠแžผแž…แŸ’แž“แŸแŸ‡แžŸแžผแž˜แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž‡แžถแž˜แžฝแž™แžšแžฟแž„แžŸแŸ†แžแžถแž“แŸ‹ - แž€แžถแžšแž‡แŸ’แžšแžพแžŸแžšแžพแžŸแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแŸ” แžŠแŸ„แž™แžŸแžถแžšแžแŸ‚ แžขแžถแž‡แžธแžœแž€แž˜แŸ’แž˜แž€แŸ’แž“แžปแž„แžงแž‘แžถแž แžšแžŽแŸแžšแž”แžŸแŸ‹แž™แžพแž„แž‚แžบแžแžผแž… แž แžพแž™แž™แžพแž„แž‡แžฟแž‡แžถแž€แŸ‹แž›แžพ hoster (OVH) แžŠแŸ‚แž›แž™แžพแž„แž“แžนแž„แž‡แŸ’แžšแžพแžŸแžšแžพแžŸ แž‡แž˜แŸ’แžšแžพแžŸแžแžœแžทแž€แžถ แžŠแŸ‚แž›แžœแžถแž˜แžทแž“แžขแžถแž…แž‘แŸ…แžšแžฝแž…แž‘แŸแž€แŸ’แž“แžปแž„แž€แžถแžšแžŠแŸ†แžกแžพแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž–แžธแžšแžผแž”แž—แžถแž– .iso แžŠแžพแž˜ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžœแžถแž˜แžทแž“แž˜แžถแž“แž”แž‰แŸ’แž แžถแž“แŸ„แŸ‡แž‘แŸ แž“แžถแž™แž€แžŠแŸ’แž‹แžถแž“แžŸแž“แŸ’แžแžทแžŸแžปแž IT แž“แžนแž„แžœแžทแž—แžถแž‚แžšแžผแž”แž—แžถแž–แžŠแŸ‚แž›แž”แžถแž“แžŠแŸ†แžกแžพแž„แŸ” แž แžพแž™แž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แž™แžพแž„แž’แŸ†แžกแžพแž„ แž™แžพแž„แž“แžนแž„แž‡แžฝแž›แž‘แžผแžแŸ„แžขแžถแžœแž•แŸ’แž‘แžถแž›แŸ‹แžแŸ’แž›แžฝแž“แžšแž”แžŸแŸ‹แž™แžพแž„แž“แŸ…แž€แŸ’แžšแŸ„แž˜แžŸแŸ„ แž“แžทแž„แžŸแŸ„แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžšแžถแž„แž€แžถแž™แž˜แžถแž“แž€แž˜แŸ’แžšแžทแž แž แžพแž™แž”แŸ’แžšแž แŸ‚แž›แž‡แžถแž™แžพแž„แž“แžนแž„แž”แž„แŸ’แž€แžพแž DC แž•แŸ’แž‘แžถแž›แŸ‹แžแŸ’แž›แžฝแž“แžšแž”แžŸแŸ‹แž™แžพแž„แŸ” แž€แŸ’แž“แžปแž„แž€แžšแžŽแžธแžŽแžถแž€แŸแžŠแŸ„แž™ แž‚แžฝแžšแž…แž„แž…แžถแŸ†แžแžถ แž“แŸ…แž–แŸแž›แž‡แžฝแž›แž•แŸ’แž“แŸ‚แž€แžšแžนแž„ แž“แžทแž„แžŠแŸ†แžกแžพแž„แžšแžผแž”แž—แžถแž–แžŠแŸ‚แž›แžแŸ’แžšแŸ€แž˜แžšแžฝแž…แž‡แžถแžŸแŸ’แžšแŸแž… แž˜แžถแž“แžฑแž€แžถแžŸแžŠแŸ‚แž›แžขแŸ’แž“แž€แž“แžนแž„แž˜แžถแž“ โ€œTrojan from the hosterโ€ แž–แŸ’แž™แžฝแžšแž“แŸ…แž›แžพแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€ แžŠแŸ‚แž›แž€แŸ’แž“แžปแž„แž€แžšแžŽแžธแž—แžถแž‚แž…แŸ’แžšแžพแž“แž˜แžทแž“แž˜แžถแž“แž”แŸ†แžŽแž„แžŠแžพแž˜แŸ’แž”แžธแžˆแŸ’แž›แž”แž™แž€แž€แžถแžšแžŽแŸแž›แžพแžขแŸ’แž“แž€แž‘แŸแŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžŠแžพแž˜แŸ’แž”แžธแž•แŸ’แžแž›แŸ‹แž‡แžผแž“แž“แžผแžœแžงแž”แž€แžšแžŽแŸแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž„แžถแž™แžŸแŸ’แžšแžฝแž›แž‡แžถแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแŸ”

แž€แžถแžšแžŠแŸ†แžกแžพแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ

แžขแŸ’แžœแžธแž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แž‚แžบแžŸแžถแž˜แž‰แŸ’แž‰แž“แŸ…แž‘แžธแž“แŸแŸ‡แŸ” แž™แžพแž„แž‡แŸ’แžšแžพแžŸแžšแžพแžŸแž•แŸ’แž“แŸ‚แž€แžšแžนแž„แžŠแŸ‚แž›แžŸแžถแž€แžŸแž˜แž“แžนแž„แžแž˜แŸ’แžšแžผแžœแž€แžถแžšแžšแž”แžŸแŸ‹แž™แžพแž„แŸ” แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แž‡แŸ’แžšแžพแžŸแžšแžพแžŸแžšแžผแž”แž—แžถแž– FreeBSD แŸ” แž‡แžถแž€แžถแžšแž”แŸ’แžšแžŸแžพแžšแžŽแžถแžŸแŸ‹ แžฌแž™แžพแž„แž—แŸ’แž‡แžถแž”แŸ‹ (แž€แŸ’แž“แžปแž„แž€แžšแžŽแžธ hoster แž•แŸ’แžŸแŸแž„แž‘แŸ€แž แž“แžทแž„แž•แŸ’แž“แŸ‚แž€แžšแžนแž„แžšแž”แžŸแŸ‹แž™แžพแž„แž•แŸ’แž‘แžถแž›แŸ‹) แžแžถแž˜แžšแž™แŸˆ IPMI แžฌแž‡แžถแž˜แžฝแž™แž˜แŸ‰แžผแž“แžธแž‘แŸแžš แž แžพแž™แž”แž‰แŸ’แž…แžผแž›แžšแžผแž”แž—แžถแž– .iso FreeBSD แž…แžผแž›แž‘แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแž‘แžถแž‰แž™แž€แŸ” แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžšแŸ€แž”แž…แŸ†แžœแž„แŸ‹แž—แŸ’แž›แŸแž„ แžแŸ’แž‰แžปแŸ†แž”แŸ’แžšแžพ Ansible ะธ mfsbsd. แžšแžฟแž„แžแŸ‚แž˜แžฝแž™แž‚แžแŸ‹ แž€แŸ’แž“แžปแž„แž€แžšแžŽแžธแžšแž”แžŸแŸ‹แž™แžพแž„แž‡แžถแž˜แžฝแž™ kimsufi แž™แžพแž„แž”แžถแž“แž‡แŸ’แžšแžพแžŸแžšแžพแžŸ แž€แžถแžšแžŠแŸ†แžกแžพแž„แž•แŸ’แž‘แžถแž›แŸ‹แžแŸ’แž›แžฝแž“ แžŠแžพแž˜แŸ’แž”แžธแžฑแŸ’แž™แžแžถแžŸแž‘แžถแŸ†แž„แž–แžธแžšแž“แŸ…แž€แŸ’แž“แžปแž„แž€แž‰แŸ’แž…แž€แŸ‹แž˜แžถแž“แžแŸ‚แž—แžถแž‚แžแžถแžŸแž…แžถแž”แŸ‹แž•แŸ’แžŠแžพแž˜ แž“แžทแž„ / แž•แŸ’แž‘แŸ‡ "แž”แžพแž€" แž‘แŸ†แž แŸ†แžแžถแžŸแžŠแŸ‚แž›แž“แŸ…แžŸแž›แŸ‹แž“แžนแž„แžแŸ’แžšแžผแžœแž”แžถแž“แžขแŸŠแžทแž“แž‚แŸ’แžšแžธแž” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž…แŸ’แžšแžพแž“แž‘แŸ€แžแž“แŸ…แž–แŸแž›แž€แŸ’แžšแŸ„แž™แŸ”

Bitcoin แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„?

แž€แžถแžšแžŠแŸ†แžกแžพแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž€แžพแžแžกแžพแž„แžแžถแž˜แžŸแŸ’แžแž„แŸ‹แžŠแžถแžš แžแŸ’แž‰แžปแŸ†แž“แžนแž„แž˜แžทแž“แžšแžŸแŸ‹แž“แŸ…แž‡แžถแž˜แžฝแž™แž“แŸแŸ‡แž‘แŸ แžแŸ’แž‰แžปแŸ†แž“แžนแž„แž€แžแŸ‹แžŸแž˜แŸ’แž‚แžถแž›แŸ‹แžแžถแž˜แžปแž“แž–แŸแž›แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžœแžถแž‚แžฝแžšแžขแŸ„แž™แž™แž€แž…แžทแžแŸ’แžแž‘แžปแž€แžŠแžถแž€แŸ‹แž…แŸ†แž–แŸ„แŸ‡ แžšแžนแž„ แž‡แž˜แŸ’แžšแžพแžŸแžŠแŸ‚แž›แžœแžถแž•แŸ’แžแž›แŸ‹แž‡แžผแž“ bsdinstaller แž“แŸ…แž…แžปแž„แž”แž‰แŸ’แž…แž”แŸ‹แž“แŸƒแž€แžถแžšแžŠแŸ†แžกแžพแž„ (แž”แŸ’แžšแžŸแžทแž“แž”แžพแžขแŸ’แž“แž€แžŠแŸ†แžกแžพแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ„แž™แžแŸ’แž›แžฝแž“แžฏแž„)แŸ–

Bitcoin แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„?

แž˜แžถแž“ แžŸแž˜แŸ’แž—แžถแžšแŸˆแž›แŸ’แžขแŸ” แž›แžพแž”แŸ’แžšแž’แžถแž“แž”แž‘แž“แŸแŸ‡ แžแŸ’แž‰แžปแŸ†แž“แžนแž„แž“แžทแž™แžถแž™แžกแžพแž„แžœแžทแž‰แžŠแŸ„แž™แžŸแž„แŸ’แžแŸแž”แž“แŸ…แž‘แžธแž“แŸแŸ‡แŸ”

แžœแžถแž€แŸแžขแžถแž…แž’แŸ’แžœแžพแž‘แŸ…แž”แžถแž“แžŠแžพแž˜แŸ’แž”แžธแž”แžพแž€แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแžŠแŸ‚แž›แž”แžถแž“แžšแŸ€แž”แžšแžถแž”แŸ‹แžแžถแž„แž›แžพแž“แŸ…แž›แžพแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ‚แž›แž”แžถแž“แžŠแŸ†แžกแžพแž„แžšแžฝแž…แž แžพแž™แŸ” แžŠแžพแž˜แŸ’แž”แžธแž’แŸ’แžœแžพแžŠแžผแž…แž“แŸแŸ‡แžขแŸ’แž“แž€แžแŸ’แžšแžผแžœแž€แŸ‚แžŸแž˜แŸ’แžšแžฝแž›แžฏแž€แžŸแžถแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แžถแž”แŸ‹แž•แŸ’แžŠแžพแž˜แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž แžพแž™แž”แžพแž€แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแžแžบแžŽแŸ‚แž›แŸ” *ee แž‚แžบแž‡แžถแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž“แžทแž–แž“แŸ’แž’แžŠแžผแž…แž“แŸแŸ‡แž“แŸ…แž€แŸ’แž“แžปแž„ BSD

# ee /etc/rc.conf

...
#sec hard
clear_tmp_enable="YES"
syslogd_flags="-ss"    
sendmail_enable="NONE"

# ee /etc/sysctl.conf

...
#sec hard
security.bsd.see_other_uids=0
security.bsd.see_other_gids=0
security.bsd.unprivileged_read_msgbuf=0
security.bsd.unprivileged_proc_debug=0
kern.randompid=$(jot -r 1 9999)
security.bsd.stack_guard_page=1

แžขแŸ’แž“แž€แž€แŸแž‚แžฝแžšแž’แŸ’แžœแžพแžฑแŸ’แž™แž”แŸ’แžšแžถแž€แžŠแžแžถแžขแŸ’แž“แž€แž˜แžถแž“แž€แŸ†แžŽแŸ‚แž…แžปแž„แž€แŸ’แžšแŸ„แž™แž”แŸ†แž•แžปแžแž“แŸƒแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ‚แž›แž”แžถแž“แžŠแŸ†แžกแžพแž„ แž“แžทแž„ แž’แŸ’แžœแžพแž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž—แžถแž– แž“แžทแž„แž€แžถแžšแžขแžถแž”แŸ‹แžŠแŸแžแž‘แžถแŸ†แž„แžขแžŸแŸ‹แŸ”. แž‡แžถแžงแž‘แžถแž แžšแžŽแŸแž€แŸ’แž“แžปแž„แž€แžšแžŽแžธแžšแž”แžŸแŸ‹แž™แžพแž„ แž€แžถแžšแžขแžถแž”แŸ‹แžŠแŸแžแž‘แŸ…แž€แŸ†แžŽแŸ‚แž…แžปแž„แž€แŸ’แžšแŸ„แž™แž”แŸ†แž•แžปแžแž‚แžบแžแŸ’แžšแžผแžœแž”แžถแž“แž‘แžถแž˜แž‘แžถแžš แž–แžธแž–แŸ’แžšแŸ„แŸ‡... แžšแžผแž”แž—แžถแž–แž˜แžปแž“แž“แŸƒแž€แžถแžšแžŠแŸ†แžกแžพแž„แž™แžบแžแž–แžธ 6 แžแŸ‚แž‘แŸ…แž˜แžฝแž™แž†แŸ’แž“แžถแŸ†แŸ” แž“แŸ…แž‘แžธแž“แŸ„แŸ‡ แž™แžพแž„แž”แŸ’แžแžผแžšแž…แŸ’แžšแž€ SSH แž‘แŸ…แž‡แžถแžขแŸ’แžœแžธแžŠแŸ‚แž›แžแžปแžŸแž–แžธแž›แŸ†แž“แžถแŸ†แžŠแžพแž˜ แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž•แŸ’แž‘แŸ€แž„แž•แŸ’แž‘แžถแžแŸ‹แž‚แž“แŸ’แž›แžนแŸ‡ แž“แžทแž„แž”แžทแž‘แž€แžถแžšแž•แŸ’แž‘แŸ€แž„แž•แŸ’แž‘แžถแžแŸ‹แž–แžถแž€แŸ’แž™แžŸแž˜แŸ’แž„แžถแžแŸ‹แŸ”

แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แž™แžพแž„แž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ aideแžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™แžŸแŸ’แžแžถแž“แž—แžถแž–แž“แŸƒแžฏแž€แžŸแžถแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž”แŸ’แžšแž–แŸแž“แŸ’แž’แŸ” แžขแŸ’แž“แž€แžขแžถแž…แžขแžถแž“แž›แž˜แŸ’แžขแžทแžแž”แž“แŸ’แžแŸ‚แž˜แž‘แŸ€แž แž“แŸ…แž‘แžธแž“แŸแŸ‡.

pkg install aide

แž“แžทแž„แž€แŸ‚แžŸแž˜แŸ’แžšแžฝแž› crontab แžšแž”แžŸแŸ‹แž™แžพแž„แŸ”

crontab -e

06 01 * * 0-6 /root/chkaide.sh

#! /bin/sh
#chkaide.sh
MYDATE=`date +%Y-%m-%d`
MYFILENAME="Aide-"$MYDATE.txt
/bin/echo "Aide check !! `date`" > /tmp/$MYFILENAME
/usr/local/bin/aide --check > /tmp/myAide.txt
/bin/cat /tmp/myAide.txt|/usr/bin/grep -v failed >> /tmp/$MYFILENAME
/bin/echo "**************************************" >> /tmp/$MYFILENAME
/usr/bin/tail -20 /tmp/myAide.txt >> /tmp/$MYFILENAME
/bin/echo "****************DONE******************" >> /tmp/$MYFILENAME

แž”แžพแž€ แžŸแžœแž“แž€แž˜แŸ’แž˜แž”แŸ’แžšแž–แŸแž“แŸ’แž’

sysrc auditd_enable=YES

# service auditd start

แžšแž”แŸ€แž”แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž”แž‰แŸ’แž แžถแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž–แžทแž–แžŽแŸŒแž“แžถแž™แŸ‰แžถแž„แž›แŸ’แžขแžฅแžแžแŸ’แž…แŸ„แŸ‡แž“แŸ…แž€แŸ’แž“แžปแž„ แž—แžถแž–แž‡แžถแžขแŸ’แž“แž€แžŠแžนแž€แž“แžถแŸ†.

แžฅแžกแžผแžœแž“แŸแŸ‡แž™แžพแž„แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แžกแžพแž„แžœแžทแž‰แž แžพแž™แž”แž“แŸ’แžแž‘แŸ…แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแŸ” แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž“แžธแž˜แžฝแž™แŸ—แž‚แžบแž‡แžถ hypervisor แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžปแž„แžแžบแž“แŸแžš แžฌแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแž–แŸแž‰แž›แŸแž‰แŸ” แžŠแžผแž…แŸ’แž“แŸแŸ‡แžœแžถแž˜แžถแž“แžŸแžถแžšแŸˆแžŸแŸ†แžแžถแž“แŸ‹แžŠแŸ‚แž›แžแžฝแžšแž€แŸ’แž”แžถแž›แž‚แžถแŸ†แž‘แŸ’แžš VT-x แž“แžทแž„ EPT แž”แŸ’แžšแžŸแžทแž“แž”แžพแž™แžพแž„แž˜แžถแž“แž‚แž˜แŸ’แžšแŸ„แž„แž”แŸ’แžšแžพแž“แžทแž˜แŸ’แž˜แžทแžแž–แŸแž‰แž›แŸแž‰แŸ”

แžŠแžพแž˜แŸ’แž”แžธแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž€แžปแž„แžแžบแž“แŸแžš แž“แžทแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแž แžแŸ’แž‰แžปแŸ†แž”แŸ’แžšแžพ cbsd แž–แžธ แžขแžผแž›แžธแžœแžปแž›แžแŸ’แž‰แžปแŸ†แžŸแžผแž˜แž‡แžผแž“แž–แžšแžฑแŸ’แž™แž‚แžถแžแŸ‹แž˜แžถแž“แžŸแžปแžแž—แžถแž–แž›แŸ’แžขแž“แžทแž„แž–แžšแž‡แŸแž™แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžงแž”แž€แžšแžŽแŸแžŠแŸแžขแžŸแŸ’แž…แžถแžšแŸ’แž™แž“แŸแŸ‡!

แž’แžปแž„? Docker แž˜แŸ’แžแž„แž‘แŸ€แžแžฌแžขแŸ’แžœแžธ?

แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž‘แŸแŸ” แž–แž“แŸ’แž’แž“แžถแž‚แžถแžš FreeBSD แž‚แžบแž‡แžถแžงแž”แž€แžšแžŽแŸแžŠแŸแž›แŸ’แžขแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžปแž„แžแžบแž“แŸแžš แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžขแŸ’แžœแžธแžŠแŸ‚แž›แž”แžถแž“แžšแŸ€แž”แžšแžถแž”แŸ‹ cbsd แžŠแžพแž˜แŸ’แž”แžธแžšแŸ€แž”แž…แŸ†แž’แžปแž„แž‘แžถแŸ†แž„แž“แŸแŸ‡ แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แž‚แŸแž แŸ…แžแžถแž€แŸ„แžŸแžทแž€แžถแŸ”

แž‘แŸ’แžšแžปแž„แž‚แžบแž‡แžถแžŠแŸ†แžŽแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แžŠแŸแž˜แžถแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แž”แŸ†แž•แžปแžแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž€แžŸแžถแž„แž แŸแžŠแŸ’แž‹แžถแžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸ„แž›แž”แŸ†แžŽแž„แž•แŸ’แžŸแŸแž„แŸ— แžŠแŸ‚แž›แž€แžถแžšแž•แŸ’แžแžถแž…แŸ‹แž‘แžถแŸ†แž„แžŸแŸ’แžšแžปแž„แž“แŸƒแžŸแŸแžœแžถแž€แž˜แŸ’แž˜ แžฌแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž“แžธแž˜แžฝแž™แŸ—แžแŸ’แžšแžผแžœแž”แžถแž“แž‘แžถแž˜แž‘แžถแžšแž“แŸ…แž‘แžธแž”แŸ†แž•แžปแžแŸ” แž‡แžถแž€แžถแžšแžŸแŸ†แžแžถแž“แŸ‹ แžœแžถแž‚แžบแž‡แžถแž€แŸ’แž›แžผแž“แž“แŸƒแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž˜แŸ‰แžถแžŸแŸŠแžธแž“ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžœแžถแž˜แžทแž“แžแž˜แŸ’แžšแžผแžœแžฑแŸ’แž™แž˜แžถแž“แž€แžถแžšแž“แžทแž˜แŸ’แž˜แžทแžแž•แŸ’แž“แŸ‚แž€แžšแžนแž„แž–แŸแž‰แž›แŸแž‰แž“แŸ„แŸ‡แž‘แŸแŸ” แž แžพแž™แžขแžšแž‚แžปแžŽแž…แŸ†แž–แŸ„แŸ‡แž”แž‰แŸ’แž แžถแž“แŸแŸ‡ แž’แž“แž’แžถแž“แž˜แžทแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸ†แžŽแžถแž™แž›แžพ "แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž—แŸ’แž‰แŸ€แžœ" แž‘แŸ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž˜แžถแž“แžแŸ‚แž›แžพแž€แžถแžšแž„แžถแžšแžŠแŸ‚แž›แž€แŸ†แž–แžปแž„แžขแž“แžปแžœแžแŸ’แžแž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡แŸ” แž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แž€แŸ„แžŸแžทแž€แžถแžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžแž˜แŸ’แžšแžผแžœแž€แžถแžšแžแžถแž„แž€แŸ’แž“แžปแž„ แž“แŸแŸ‡แž‚แžบแž‡แžถแžŠแŸ†แžŽแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แžŠแŸแž„แžถแž™แžŸแŸ’แžšแžฝแž›แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž’แž“แž’แžถแž“แžŠแŸแž›แŸ’แžขแž”แŸ’แžšแžŸแžพแžš - แž”แžŽแŸ’แžแžปแŸ†แž“แŸƒแž€แŸ„แžŸแžทแž€แžถแž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž•แŸ’แž“แŸ‚แž€แžšแžนแž„แž˜แžฝแž™แžขแžถแž…แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž’แž“แž’แžถแž“แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž‘แžถแŸ†แž„แž˜แžผแž›แžŠแŸ„แž™แžกแŸ‚แž€แž–แžธแž‚แŸ’แž“แžถแž”แŸ’แžšแžŸแžทแž“แž”แžพแž…แžถแŸ†แž”แžถแž…แŸ‹แŸ” แžŠแŸ„แž™แž–แžทแž…แžถแžšแžŽแžถแžแžถแž‡แžถแž’แž˜แŸ’แž˜แžแžถแžŸแŸแžœแžถแžšแž„แž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถแžแŸ’แžšแžผแžœแž€แžถแžšแž”แž“แŸ’แžแŸ‚แž˜แŸ” แž’แž“แž’แžถแž“แž“แŸ…แž–แŸแž›แž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถ แžขแŸ’แž“แž€แžขแžถแž…แž‘แžถแž‰แž™แž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžขแžแžทแž”แžšแž˜แžถแž–แžธแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž˜แžฝแž™ แž”แŸ’แžšแžŸแžทแž“แž”แžพแžขแŸ’แž“แž€แžšแŸ€แž”แž…แŸ†แž•แŸ‚แž“แž€แžถแžš แž“แžทแž„แžแžปแž›แŸ’แž™แž—แžถแž–แž€แŸ„แžŸแžทแž€แžถแžšแžœแžถแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž”แžถแž“แžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœแŸ” แž”แžพแž…แžถแŸ†แž”แžถแž…แŸ‹ แž€แŸ’แžšแžกแžถแž€แŸแžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžแž›แŸ‹แž€แžถแžšแžšแžนแžแž”แž“แŸ’แžแžนแž„แž›แžพแž’แž“แž’แžถแž“แžŠแŸ‚แž›แž”แžถแž“แž”แŸ’แžšแžพแž•แž„แžŠแŸ‚แžšแŸ”

Bitcoin แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„?

แž…แžปแŸ‡แž™แŸ‰แžถแž„แžŽแžถแž…แŸ†แž–แŸ„แŸ‡แž“แžทแž˜แŸ’แž˜แžทแžแž–แŸแž‰แž›แŸแž‰?

แžแžถแž˜แžแŸ’แž‰แžปแŸ†แžŠแžนแž„ cbsd แž‚แžถแŸ†แž‘แŸ’แžšแž€แžถแžšแž„แžถแžš bhyve แž“แžทแž„ XEN hypervisors แŸ” แžแŸ’แž‰แžปแŸ†แž˜แžทแž“แžŠแŸ‚แž›แž”แŸ’แžšแžพแž‘แžธแž–แžธแžšแž‘แŸ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž‘แžธแž˜แžฝแž™แž‚แžบแžแŸ’แž˜แžธแžŽแžถแžŸแŸ‹แŸ” แžขแŸ’แž“แž€แžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™แžแŸ’แž–แžŸแŸ‹แž–แžธ FreeBSD. แž™แžพแž„แž“แžนแž„แž˜แžพแž›แžงแž‘แžถแž แžšแžŽแŸแž“แŸƒแž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ bhyve แž€แŸ’แž“แžปแž„แžงแž‘แžถแž แžšแžŽแŸแžแžถแž„แž€แŸ’แžšแŸ„แž˜แŸ”

แž€แžถแžšแžŠแŸ†แžกแžพแž„ แž“แžทแž„แž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž”แžšแžทแžŸแŸ’แžแžถแž“

แž™แžพแž„แž”แŸ’แžšแžพ FS แž แŸ’แžŸแžผแžขแŸแžŸแŸ”. แž“แŸแŸ‡แž‚แžบแž‡แžถแžงแž”แž€แžšแžŽแŸแžŠแŸแž˜แžถแž“แžฅแž‘แŸ’แž’แžทแž–แž›แž”แŸ†แž•แžปแžแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž‘แŸ†แž แŸ†แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแŸ” แžŸแžผแž˜แžขแžšแž‚แžปแžŽแžŠแž›แŸ‹ ZFS แžขแŸ’แž“แž€แžขแžถแž…แž”แž„แŸ’แž€แžพแžแžขแžถแžšแŸแž“แŸƒแž€แžถแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž•แŸ’แžŸแŸแž„แŸ—แž–แžธแžแžถแžŸแžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹ แž–แž„แŸ’แžšแžธแž€แž‘แŸ†แž แŸ† "แž€แŸ’แžแŸ…" แžแžถแž˜แžœแž“แŸ’แž แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžแžถแžŸแžŸแŸ’แž›แžถแž”แŸ‹ แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžšแžผแž”แžแž แž“แžทแž„แžขแŸ’แžœแžธแŸ—แž‡แžถแž…แŸ’แžšแžพแž“แž‘แŸ€แžแžŠแŸ‚แž›แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž–แžทแž–แžŽแŸŒแž“แžถแž“แŸ…แž€แŸ’แž“แžปแž„แžŸแŸŠแŸแžšแžธแž‘แžถแŸ†แž„แž˜แžผแž›แž“แŸƒแžขแžแŸ’แžแž”แž‘แŸ” แž…แžผแžšแž™แžพแž„แžแŸ’แžšแžกแž”แŸ‹แž‘แŸ…แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแžšแž”แžŸแŸ‹แž™แžพแž„ แž“แžทแž„แžแžถแžŸแžšแž”แžŸแŸ‹แžœแžถแžœแžทแž‰แŸ” แž“แŸ…แžŠแžพแž˜แžŠแŸ†แž”แžผแž„แž“แŸƒแž€แžถแžšแžŠแŸ†แžกแžพแž„ แž™แžพแž„แž”แžถแž“แž‘แžปแž€แž€แž“แŸ’แž›แŸ‚แž„แž‘แŸ†แž“แŸแžšแž“แŸ…แž›แžพแžแžถแžŸแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž—แžถแž‚แžแžถแžŸแžŠแŸ‚แž›แž”แžถแž“แžขแŸŠแžทแž“แž‚แŸ’แžšแžธแž”แŸ” แž แŸแžแžปแžขแŸ’แžœแžธแž”แžถแž“แž‡แžถโ€‹แžขแž‰แŸ’แž…แžนแž„? แž“แŸแŸ‡แž‚แžบแžŠแžพแž˜แŸ’แž”แžธแžฑแŸ’แž™แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž—แŸ’แž‰แžถแž€แŸ‹แžกแžพแž„แžŠแŸ„แž™แžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžท แž แžพแž™แžŸแŸ’แžแžถแž”แŸ‹แžแžถแž˜แžšแž™แŸˆ SSH แŸ”

gpart add -t freebsd-zfs /dev/ada0

/dev/ada0p4 added!

แž”แž“แŸ’แžแŸ‚แž˜แž—แžถแž‚แžแžถแžŸแž‘แŸ…แž€แž“แŸ’แž›แŸ‚แž„แž‘แŸ†แž“แŸแžš

geli init /dev/ada0p4

แž”แž‰แŸ’แž…แžผแž›แž–แžถแž€แŸ’แž™แžŸแž˜แŸ’แž„แžถแžแŸ‹แžขแŸŠแžทแž“แž‚แŸ’แžšแžธแž”แžšแž”แžŸแŸ‹แž™แžพแž„แŸ”

geli attach /dev/ada0p4

แž™แžพแž„แž”แž‰แŸ’แž…แžผแž›แž–แžถแž€แŸ’แž™แžŸแž˜แŸ’แž„แžถแžแŸ‹แž˜แŸ’แžแž„แž‘แŸ€แž แž แžพแž™แž™แžพแž„แž˜แžถแž“แžงแž”แž€แžšแžŽแŸ /dev/ada0p4.eli - แž“แŸแŸ‡แž‚แžบแž‡แžถแž€แž“แŸ’แž›แŸ‚แž„แžŠแŸ‚แž›แž”แžถแž“แžขแŸŠแžทแž“แž‚แŸ’แžšแžธแž”แžšแž”แžŸแŸ‹แž™แžพแž„แŸ” แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แž™แžพแž„แž’แŸ’แžœแžพแž˜แŸ’แžแž„แž‘แŸ€แžแžŠแžผแž…แž‚แŸ’แž“แžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹ /dev/ada1 แž“แžทแž„แžแžถแžŸแžŠแŸ‚แž›แž“แŸ…แžŸแž›แŸ‹แž€แŸ’แž“แžปแž„แžขแžถแžšแŸแŸ” แž แžพแž™แž™แžพแž„แž”แž„แŸ’แž€แžพแžแžแŸ’แž˜แžธแŸ” แžขแžถแž„ ZFS.

zpool create vms mirror /dev/ada0p4.eli /dev/ada1p4.eli /dev/ada3p4.eli - แžขแž‰แŸ’แž…แžนแž„แž™แžพแž„แž˜แžถแž“แžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแž™แžปแž‘แŸ’แž’แžขแž”แŸ’แž”แž”แžšแž˜แžถแžšแžฝแž…แžšแžถแž›แŸ‹แž แžพแž™แŸ” แžขแžถแžšแŸแž†แŸ’แž›แžปแŸ‡แž“แŸƒแžแžถแžŸแž€แŸ’แž“แžปแž„แž€แžšแžŽแžธแž˜แžฝแž™แž€แŸ’แž“แžปแž„แž…แŸ†แžŽแŸ„แž˜แž”แžธแž”แžšแžถแž‡แŸแž™แŸ”

แž€แžถแžšแž”แž„แŸ’แž€แžพแžแžŸแŸ†แžŽแžปแŸ†แž‘แžทแž“แŸ’แž“แž“แŸแž™แž“แŸ…แž›แžพ "แžขแžถแž„" แžแŸ’แž˜แžธ

zfs create vms/jails

pkg install cbsd โ€” แž™แžพแž„โ€‹แž”แžถแž“โ€‹แž”แž„แŸ’แž€แžพแžโ€‹แž€แŸ’แžšแžปแž˜โ€‹แž˜แžฝแž™ แž“แžทแž„โ€‹แžšแŸ€แž”แž…แŸ†โ€‹แž€แžถแžšโ€‹แž‚แŸ’แžšแž”แŸ‹โ€‹แž‚แŸ’แžšแž„โ€‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹โ€‹แž€แŸ„แžŸแžทแž€แžถโ€‹แžšแž”แžŸแŸ‹โ€‹แž™แžพแž„แŸ”

แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธ cbsd แžŠแŸ†แžกแžพแž„ แžœแžถแžแŸ’แžšแžผแžœแžแŸ‚แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แŸ–

# env workdir="/vms/jails" /usr/local/cbsd/sudoexec/initenv

แž‡แžถแž€แžถแžšแž”แŸ’แžšแžŸแžพแžšแžŽแžถแžŸแŸ‹, แž™แžพแž„แž†แŸ’แž›แžพแž™แžŸแŸ†แžŽแžฝแžšแž‡แžถแž…แŸ’แžšแžพแž“, แž—แžถแž‚แž…แŸ’แžšแžพแž“แž‡แžถแž˜แžฝแž™แž“แžนแž„แž…แž˜แŸ’แž›แžพแž™แž›แŸ†แž“แžถแŸ†แžŠแžพแž˜แŸ”

* แž”แŸ’แžšแžŸแžทแž“แž”แžพแžขแŸ’แž“แž€แž€แŸ†แž–แžปแž„แž”แŸ’แžšแžพแž€แžถแžšแžขแŸŠแžทแž“แž‚แŸ’แžšแžธแž” แžœแžถแž˜แžถแž“แžŸแžถแžšแŸˆแžŸแŸ†แžแžถแž“แŸ‹แžŠแŸ‚แž›แžŠแŸแž˜แžทแž“ cbsdd แž˜แžทแž“โ€‹แž”แžถแž“โ€‹แž…แžถแž”แŸ‹โ€‹แž•แŸ’แžแžพโ€‹แž˜โ€‹แžŠแŸ„แž™โ€‹แžŸแŸ’แžœแŸแž™โ€‹แž”แŸ’แžšแžœแžแŸ’แžแžทโ€‹แžšแž แžผแžโ€‹แžŠแž›แŸ‹โ€‹แžขแŸ’แž“แž€โ€‹แžŒแžทแž‚แŸ’แžšแžธแž”โ€‹แžแžถแžŸโ€‹แžŠแŸ„แž™โ€‹แžŠแŸƒโ€‹แžฌโ€‹แžŠแŸ„แž™โ€‹แžŸแŸ’แžœแŸแž™โ€‹แž”แŸ’แžšแžœแžแŸ’แžแžท (แž€แŸ’แž“แžปแž„โ€‹แžงแž‘แžถแž แžšแžŽแŸโ€‹แžšแž”แžŸแŸ‹โ€‹แž™แžพแž„โ€‹แž“แŸแŸ‡โ€‹แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แž’แŸ’แžœแžพโ€‹แžŠแŸ„แž™ zabbix)

** แžแŸ’แž‰แžปแŸ†แž€แŸแž˜แžทแž“แž”แŸ’แžšแžพ NAT แž–แžธ cbsdแž แžพแž™แžแŸ’แž‰แžปแŸ†แž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžœแžถแžŠแŸ„แž™แžแŸ’แž›แžฝแž“แžฏแž„แž“แŸ…แž€แŸ’แž“แžปแž„ pf.

# sysrc pf_enable=YES

# ee /etc/pf.conf

IF_PUBLIC="em0"
IP_PUBLIC="1.23.34.56"
JAIL_IP_POOL="192.168.0.0/24"

#WHITE_CL="{ 127.0.0.1 }"

icmp_types="echoreq"

set limit { states 20000, frags 20000, src-nodes 20000 }
set skip on lo0
scrub in all

#NAT for jails
nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC

## Bitcoin network port forward
IP_JAIL="192.168.0.1"
PORT_JAIL="{8333}"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL

# service pf start

# pfctl -f /etc/pf.conf

แž€แžถแžšแžŠแŸ†แžกแžพแž„แž‚แŸ„แž›แž€แžถแžšแžŽแŸแž‡แž‰แŸ’แž‡แžถแŸ†แž„แž—แŸ’แž›แžพแž„แž€แŸแž‡แžถแž”แŸ’แžšแž’แžถแž“แž”แž‘แžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แž˜แžฝแž™แžŠแŸ‚แžš แžŠแžผแž…แŸ’แž“แŸแŸ‡แžแŸ’แž‰แžปแŸ†แž“แžนแž„แž˜แžทแž“แžŸแŸŠแžธแž‡แž˜แŸ’แžšแŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแžŠแŸ†แžกแžพแž„แž‚แŸ„แž›แž€แžถแžšแžŽแŸ BLOCK ALL แž“แžทแž„แž€แžถแžšแž”แž„แŸ’แž€แžพแžแž”แž‰แŸ’แž‡แžธแžŸแž‘แŸ แžขแŸ’แž“แž€แžขแžถแž…แž’แŸ’แžœแžพแžœแžถแž”แžถแž“แžŠแŸ„แž™แž€แžถแžšแžขแžถแž“ แžฏแž€แžŸแžถแžšแž•แŸ’แž›แžผแžœแž€แžถแžš แžฌแžขแžแŸ’แžแž”แž‘แž˜แžฝแž™แž…แŸ†แž“แžฝแž“แž’แŸ†แžŠแŸ‚แž›แž˜แžถแž“แž“แŸ…แž›แžพ Google แŸ”

แž˜แŸ‚แž“แž แžพแž™... แž™แžพแž„แž”แžถแž“แžŠแŸ†แžกแžพแž„ cbsd แžœแžถแžŠแž›แŸ‹แž–แŸแž›แž แžพแž™แžŠแžพแž˜แŸ’แž”แžธแž”แž„แŸ’แž€แžพแž workhorse แžŠแŸ†แž”แžผแž„แžšแž”แžŸแŸ‹แž™แžพแž„ - แž”แžทแžŸแžถแž… Bitcoin แž‡แžถแž”แŸ‹แž‘แŸ’แžšแžปแž„!

cbsd jconstruct-tui

Bitcoin แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„?

แž“แŸ…แž‘แžธแž“แŸแŸ‡แž™แžพแž„แžƒแžพแž‰แž”แŸ’แžšแžขแž”แŸ‹แž”แž„แŸ’แž€แžพแžแž€แŸ’แžšแžกแžถแŸ” แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž€แŸ†แžŽแžแŸ‹แžแž˜แŸ’แž›แŸƒแž‘แžถแŸ†แž„แžขแžŸแŸ‹แž แžพแž™ แžแŸ„แŸ‡แž”แž„แŸ’แž€แžพแž!

แž“แŸ…แž–แŸแž›แž”แž„แŸ’แž€แžพแžแž€แŸ’แžšแžกแžถแžŠแŸ†แž”แžผแž„แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€ แžขแŸ’แž“แž€แž‚แžฝแžšแžแŸ‚แž‡แŸ’แžšแžพแžŸแžšแžพแžŸแžขแŸ’แžœแžธแžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แŸ’แžšแžพแž‡แžถแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แŸ’แžšแžกแžถแŸ” แžแŸ’แž‰แžปแŸ†แž‡แŸ’แžšแžพแžŸแžšแžพแžŸแž€แžถแžšแž…แŸ‚แž€แž…แžถแž™แž–แžธแžƒแŸ’แž›แžถแŸ†แž„ FreeBSD แžŠแŸ„แž™แž”แŸ’แžšแžพแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ repo. แž‡แž˜แŸ’แžšแžพแžŸแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแžกแžพแž„แžแŸ‚แž“แŸ…แž–แŸแž›แž”แž„แŸ’แž€แžพแžแž€แŸ’แžšแžกแžถแžŠแŸ†แž”แžผแž„แž“แŸƒแž€แŸ†แžŽแŸ‚แž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹แž˜แžฝแž™ (แžขแŸ’แž“แž€แžขแžถแž…แž’แŸ’แžœแžพแž‡แžถแž˜แŸ’แž…แžถแžŸแŸ‹แž•แŸ’แž‘แŸ‡แž€แŸ’แžšแžกแžถแž“แŸƒแž€แŸ†แžŽแŸ‚แžŽแžถแž˜แžฝแž™แžŠแŸ‚แž›แž…แžถแžŸแŸ‹แž‡แžถแž„แž€แŸ†แžŽแŸ‚แž˜แŸ‰แžถแžŸแŸŠแžธแž“)แŸ”

แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแžขแŸ’แžœแžธแŸ—แžแŸ’แžšแžผแžœแž”แžถแž“แžแŸ†แžกแžพแž„ แž™แžพแž„แž”แžพแž€แž‘แŸ’แžšแžปแž„!

# cbsd jstart bitcoind

แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž™แžพแž„แžแŸ’แžšแžผแžœแžŠแŸ†แžกแžพแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„แŸ”

# jls

   JID  IP Address      Hostname                      Path
     1  192.168.0.1     bitcoind.space.com            /zroot/jails/jails/bitcoind

jexec bitcoind แžŠแžพแž˜แŸ’แž”แžธแž…แžผแž›แž‘แŸ…แž€แŸ’แž“แžปแž„แž€แžปแž„แžŸแžผแž›แž€แŸ„แžŸแžทแž€แžถ

แž แžพแž™แž“แŸ…แž€แŸ’แž“แžปแž„แž€แŸ’แžšแžกแžถแžšแžฝแž…แž แžพแž™ แž™แžพแž„แžŠแŸ†แžกแžพแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแŸ„แž™แž—แžถแž–แžขแžถแžŸแŸ’แžšแŸแž™แžšแž”แžŸแŸ‹แžœแžถ (แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž˜แŸ‰แžถแžŸแŸŠแžธแž“แžšแž”แžŸแŸ‹แž™แžพแž„แž“แŸ…แžแŸ‚แžŸแŸ’แžขแžถแž)

bitcoind:/@[15:25] # pkg install bitcoin-daemon bitcoin-utils

bitcoind:/@[15:30] # sysrc bitcoind_enable=YES

bitcoind:/@[15:30] # service bitcoind start

แž˜แžถแž“ Bitcoin แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž™แžพแž„แžแŸ’แžšแžผแžœแž€แžถแžšแžขแž“แžถแž˜แžทแž€ แž–แŸ’แžšแŸ„แŸ‡แž™แžพแž„แž…แž„แŸ‹แž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ…แž‘แŸ’แžšแžปแž„แž˜แžฝแž™แž…แŸ†แž“แžฝแž“แžแžถแž˜แžšแž™แŸˆแž”แžŽแŸ’แžแžถแž‰ TOP แŸ” แž‡แžถแž‘แžผแž‘แŸ… แž™แžพแž„แž˜แžถแž“แž‚แž˜แŸ’แžšแŸ„แž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แŸ’แžšแžกแžถแž—แžถแž‚แž…แŸ’แžšแžพแž“แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแŸ‚แž›แž‚แžฝแžšแžฑแŸ’แž™แžŸแž„แŸ’แžŸแŸแž™แžแŸ‚แžแžถแž˜แžšแž™แŸˆแž”แŸ’แžšแžผแž€แžŸแŸŠแžธแž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡แŸ” แžขแžšแž‚แžปแžŽโ€‹แž…แŸ†แž–แŸ„แŸ‡ pf แžขแŸ’แž“แž€แžขแžถแž…แž”แžทแž‘ NAT แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‡แžฝแžšแž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹แž“แŸƒแžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“ IP แž“แŸ…แž›แžพแž”แžŽแŸ’แžแžถแž‰แž˜แžผแž›แžŠแŸ’แž‹แžถแž“ แž แžพแž™แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™ NAT แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžแŸ‚แžแŸ’แž“แžถแŸ†แž„ TOR แžšแž”แžŸแŸ‹แž™แžพแž„แŸ” แžŠแžผแž…แŸ’แž“แŸแŸ‡ แž‘แŸ„แŸ‡แž”แžธแž‡แžถแž˜แŸแžšแŸ„แž‚แž…แžผแž›แž‘แŸ…แž€แŸ’แž“แžปแž„แž€แŸ’แžšแžกแžถแž€แŸแžŠแŸ„แž™ แžœแžถแž‘แŸ†แž“แž„แž‡แžถแž“แžนแž„แž˜แžทแž“แž‘แžถแž€แŸ‹แž‘แž„แž‡แžถแž˜แžฝแž™แž–แžทแž—แž–แžแžถแž„แž€แŸ’แžšแŸ…แž‘แŸ แž แžพแž™แž”แŸ’แžšแžŸแžทแž“แž”แžพแžœแžถแž€แžพแžแžกแžพแž„ แžœแžถแž“แžนแž„แž˜แžทแž“แžขแžถแž…แž”แž„แŸ’แž แžถแž‰ IP แž“แŸƒแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแžšแž”แžŸแŸ‹แž™แžพแž„แž”แžถแž“แž‘แŸแŸ” แžŠแžผแž…แŸ’แž“แŸแŸ‡แž แžพแž™ แž™แžพแž„แž”แž„แŸ’แž€แžพแžแž€แŸ’แžšแžกแžถแž˜แžฝแž™แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแžŠแžพแž˜แŸ’แž”แžธ "แž”แž‰แŸ’แž‡แžผแž“แž”แž“แŸ’แž" แžŸแŸแžœแžถแž€แž˜แŸ’แž˜แž‡แžถแžŸแŸแžœแžถแž€แž˜แŸ’แž˜ ".onion" แž“แžทแž„แž‡แžถแž”แŸ’แžšแžผแž€แžŸแŸŠแžธแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแžขแŸŠแžธแž“แž’แžบแžŽแžทแžแž‘แŸ…แž€แžถแž“แŸ‹แž€แŸ„แžŸแžทแž€แžถแž“แžธแž˜แžฝแž™แŸ—แŸ”

# cbsd jsconstruct-tui

# cbsd jstart tor

# jexec tor

tor:/@[15:38] # pkg install tor

tor:/@[15:38] # sysrc tor_enable=YES

tor:/@[15:38] # ee /usr/local/etc/tor/torrc

แž€แŸ†แžŽแžแŸ‹แžŠแžพแž˜แŸ’แž”แžธแžŸแŸ’แžแžถแž”แŸ‹แžแžถแž˜แžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“แž˜แžผแž›แžŠแŸ’แž‹แžถแž“ (แž˜แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แŸ’แžšแžกแžถแž‘แžถแŸ†แž„แžขแžŸแŸ‹)

SOCKSPort 192.168.0.2:9050

แžแžพแž™แžพแž„แžแŸ’แžšแžผแžœแž€แžถแžšแžขแŸ’แžœแžธแž‘แŸ€แžแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŸแžปแž—แž˜แž„แŸ’แž‚แž›แž–แŸแž‰แž›แŸแž‰? แž”แžถแž‘/แž…แžถแžŸ แž™แžพแž„แžแŸ’แžšแžผแžœแž€แžถแžšแžŸแŸแžœแžถแž€แž˜แŸ’แž˜แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸแž แž‘แŸ†แž–แŸแžšแžšแž”แžŸแŸ‹แž™แžพแž„ แž”แŸ’แžšแž แŸ‚แž›แž‡แžถแž…แŸ’แžšแžพแž“แž‡แžถแž„แž˜แžฝแž™แŸ” แžŸแžผแž˜แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžš nginx แžŠแŸ‚แž›แž“แžนแž„แžŠแžพแžšแžแžฝแž‡แžถแž”แŸ’แžšแžผแž€แžŸแŸŠแžธแž”แž‰แŸ’แž…แŸ’แžšแžถแžŸ แž“แžทแž„แžแŸ‚แžšแž€แŸ’แžŸแžถแž€แžถแžšแž”แž“แŸ’แžแžœแžทแž‰แŸ’แž‰แžถแž”แž“แž”แžแŸ’แžš Let's Encrypt

# cbsd jsconstruct-tui

# cbsd jstart nginx-rev

# jexec nginx-rev

nginx-rev:/@[15:47] # pkg install nginx py36-certbot

แžŠแžผแž…แŸ’แž“แŸแŸ‡แž แžพแž™ แž™แžพแž„แž”แžถแž“แžŠแžถแž€แŸ‹ 150 MB แž“แŸƒแž—แžถแž–แžขแžถแžŸแŸ’แžšแŸแž™แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„แž˜แžฝแž™แŸ” แž แžพแž™แž˜แŸ’แž…แžถแžŸแŸ‹แž•แŸ’แž‘แŸ‡แž“แŸ…แžแŸ‚แžŸแŸ’แžขแžถแžแŸ”

แž…แžผแžšแž™แžพแž„แžแŸ’แžšแž›แž”แŸ‹แž‘แŸ…แž€แžถแžšแžŠแŸ†แžกแžพแž„ nginx แžœแžทแž‰แž“แŸ…แž–แŸแž›แž€แŸ’แžšแŸ„แž™ แž™แžพแž„แžแŸ’แžšแžผแžœแž›แžพแž€แž€แŸ’แžšแžกแžถแž–แžธแžšแž”แž“แŸ’แžแŸ‚แž˜แž‘แŸ€แžแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž…แŸ’แžšแž€แž•แŸ’แž›แžผแžœแž‘แžผแž‘แžถแžแŸ‹แžšแž”แžŸแŸ‹แž™แžพแž„แž“แŸ…แž›แžพ nodejs แž“แžทแž„ rust แž“แžทแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แžŽแŸ’แžแžถแž‰แžŠแŸ‚แž›แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž แŸแžแžปแž•แž›แž˜แžฝแž™แž…แŸ†แž“แžฝแž“แž‚แžบแž“แŸ…แž€แŸ’แž“แžปแž„ Apache แž“แžทแž„ PHP แž แžพแž™แž€แŸ’แžšแŸ„แž™แž˜แž€แž‘แŸ€แžแž€แŸแžแŸ’แžšแžผแžœแž€แžถแžšแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™ MySQL แž•แž„แžŠแŸ‚แžšแŸ”

# cbsd jsconstruct-tui

# cbsd jstart paygw

# jexec paygw

paygw:/@[15:55] # pkg install git node npm

paygw:/@[15:55] # curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

... แž“แžทแž„แž€แž‰แŸ’แž…แž”แŸ‹ 380 MB แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€

แž”แž“แŸ’แž‘แžถแž”แŸ‹แž™แžพแž„แž‘แžถแž‰แž™แž€แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžšแž”แžŸแŸ‹แž™แžพแž„แž‡แžถแž˜แžฝแž™ git แž แžพแž™แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžœแžถแŸ”

# cbsd jsconstruct-tui

# cbsd jstart webapp

# jexec webapp

webapp:/@[16:02] # pkg install mariadb104-server apache24 php74 mod_php74 php74-pdo_mysql

แž€แž‰แŸ’แž…แž”แŸ‹ 450 MB แŸ” แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„แž˜แžฝแž™แŸ”

แž“แŸ…แž‘แžธแž“แŸแŸ‡แž™แžพแž„แž•แŸ’แžแž›แŸ‹แžฑแŸ’แž™แžขแŸ’แž“แž€แžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž…แžผแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžแžถแž˜แžšแž™แŸˆ SSH แžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹แž‘แŸ…แž€แžถแž“แŸ‹แž€แŸ’แžšแžกแžถ แž–แžฝแž€แž‚แŸแž“แžนแž„แž’แŸ’แžœแžพแžขแŸ’แžœแžธแž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แž“แŸ…แž‘แžธแž“แŸ„แŸ‡แžŠแŸ„แž™แžแŸ’แž›แžฝแž“แžฏแž„แŸ–

webapp:/@[16:02] # ee /etc/ssh/sshd_config

Port 2267 - แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž…แŸ’แžšแž€ SSH แž“แŸƒแž€แŸ’แžšแžกแžถแž‘แŸ…แž‡แžถแž€แžถแžšแž”แŸ†แž–แžถแž“แžŽแžถแž˜แžฝแž™แŸ”

webapp:/@[16:02] # sysrc sshd_enable=YES

webapp:/@[16:02] # service sshd start

แž‡แžถแž€แžถแžšแž”แŸ’แžšแžŸแžพแžšแžŽแžถแžŸแŸ‹ แžŸแŸแžœแžถแž€แž˜แŸ’แž˜แž€แŸ†แž–แžปแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžš แž แžพแž™แžขแŸ’แžœแžธแžŠแŸ‚แž›แž“แŸ…แžŸแž›แŸ‹แž‚แžบแžแŸ’แžšแžผแžœแž”แž“แŸ’แžแŸ‚แž˜แž…แŸ’แž”แžถแž”แŸ‹แž‘แŸ… pf แž‡แž‰แŸ’แž‡แžถแŸ†แž„แž—แŸ’แž›แžพแž„

แžแŸ„แŸ‡แž˜แžพแž›แžแžถแžแžพ IP แžšแž”แžŸแŸ‹แž™แžพแž„แž˜แžถแž“แž€แŸ„แžŸแžทแž€แžถแžขแŸ’แžœแžธแžแŸ’แž›แŸ‡ แž“แžทแž„แž‡แžถแž‘แžผแž‘แŸ… "แžแŸ†แž”แž“แŸ‹" แžšแž”แžŸแŸ‹แž™แžพแž„แž˜แžพแž›แž‘แŸ…แžŠแžผแž…แžขแŸ’แžœแžธแŸ”

# jls

   JID  IP Address      Hostname                      Path
     1  192.168.0.1     bitcoind.space.com            /zroot/jails/jails/bitcoind
     2  192.168.0.2     tor.space.com                 /zroot/jails/jails/tor
     3  192.168.0.3     nginx-rev.space.com           /zroot/jails/jails/nginx-rev
     4  192.168.0.4     paygw.space.com               /zroot/jails/jails/paygw
     5  192.168.0.5     webapp.my.domain              /zroot/jails/jails/webapp

แž แžพแž™แž”แž“แŸ’แžแŸ‚แž˜แž…แŸ’แž”แžถแž”แŸ‹

# ee /etc/pf.conf

## SSH for web-Devs
IP_JAIL="192.168.0.5"
PORT_JAIL="{ 2267 }"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL

แž˜แŸ‚แž“แž แžพแž™ แžŠแŸ„แž™แžŸแžถแžšแž™แžพแž„แž“แŸ…แž‘แžธแž“แŸแŸ‡ แž™แžพแž„แž€แŸแž”แž“แŸ’แžแŸ‚แž˜แž…แŸ’แž”แžถแž”แŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แž‰แŸ’แž…แŸ’แžšแžถแžŸแž”แŸ’แžšแžผแž€แžŸแŸŠแžธแŸ–

## web-ports for nginx-rev
IP_JAIL="192.168.0.3"
PORT_JAIL="{ 80, 443 }"
rdr pass on $IF_PUBLIC proto tcp from any to $IP_PUBLIC port $PORT_JAIL -> $IP_JAIL

# pfctl -f /etc/pf.conf

แžฅแžกแžผแžœแž“แŸแŸ‡แž”แž“แŸ’แžแžทแž…แžขแŸ†แž–แžธ bitcoins

แžขแŸ’แžœแžธโ€‹แžŠแŸ‚แž›โ€‹แž™แžพแž„โ€‹แž˜แžถแž“โ€‹แž‚แžบโ€‹แž™แžพแž„โ€‹แž˜แžถแž“โ€‹แž€แž˜แŸ’แž˜แžœแžทแž’แžธโ€‹แž”แžŽแŸ’แžŠแžถแž‰โ€‹แžŠแŸ‚แž›โ€‹แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แž›แžถแžแžแŸ’แžšแžŠแžถแž„โ€‹แž–แžธโ€‹แžแžถแž„โ€‹แž€แŸ’แžšแŸ… แž แžพแž™โ€‹แžœแžถโ€‹แž“แžทแž™แžถแž™โ€‹แž€แŸ’แž“แžปแž„โ€‹แžŸแŸ’แžšแžปแž€โ€‹แž‘แŸ…โ€‹แž…แŸ’แžšแž€โ€‹แž•แŸ’แž›แžผแžœโ€‹แž‘แžผแž‘แžถแžแŸ‹โ€‹แž”แŸ’แžšแžถแž€แŸ‹โ€‹แžšแž”แžŸแŸ‹โ€‹แž™แžพแž„แŸ” แžฅแžกแžผแžœแž“แŸแŸ‡แž™แžพแž„แžแŸ’แžšแžผแžœแžšแŸ€แž”แž…แŸ†แž”แžšแžทแž™แžถแž€แžถแžŸแž€แžถแžšแž„แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž’แŸ’แžœแžพแžขแž“แŸ’แžแžšแž€แž˜แŸ’แž˜แž‡แžถแž˜แžฝแž™แž”แžŽแŸ’แžแžถแž‰ Bitcoin แžแŸ’แž›แžฝแž“แžœแžถ - แžแŸ’แž“แžถแŸ†แž„ bitcoind แžœแžถแž‚แŸ’แžšแžถแž“แŸ‹แžแŸ‚แž‡แžถแžŠแŸแž˜แžทแž“แžŠแŸ‚แž›แžšแž€แŸ’แžŸแžถแž…แŸ’แž”แžถแž”แŸ‹แž…แž˜แŸ’แž›แž„แž€แŸ’แž“แžปแž„แžŸแŸ’แžšแžปแž€แž“แŸƒ blockchain แž‘แžถแž“แŸ‹แžŸแž˜แŸแž™แŸ” แžŠแŸแž˜แžทแž“แž“แŸแŸ‡แž˜แžถแž“แž˜แžปแžแž„แžถแžš RPC แž“แžทแž„แž€แžถแž”แžผแž” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž˜แžถแž“ "แžšแžปแŸ†" แž„แžถแž™แžŸแŸ’แžšแžฝแž›แž‡แžถแž„แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž€แž˜แŸ’แž˜แžœแžทแž’แžธแŸ” แžŠแžพแž˜แŸ’แž”แžธแž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž‡แžถแž˜แžฝแž™แž™แžพแž„แžŸแž˜แŸ’แžšแŸแž…แž…แžทแžแŸ’แžแžŠแžถแž€แŸ‹ electrum แž‚แžบแž‡แžถแž€แžถแž”แžผแž” CLI แŸ” แž€แžถแž”แžผแž”แž“แŸแŸ‡แŸ” แž™แžพแž„แž“แžนแž„แž”แŸ’แžšแžพแžœแžถแž‡แžถ "แž€แž“แŸ’แž›แŸ‚แž„แž•แŸ’แž‘แžปแž€แžแŸ’แžšแž‡แžถแž€แŸ‹" แžŸแž˜แŸ’แžšแžถแž”แŸ‹ bitcoins แžšแž”แžŸแŸ‹แž™แžพแž„ - แž‡แžถแž‘แžผแž‘แŸ… bitcoins แž‘แžถแŸ†แž„แž“แŸ„แŸ‡แžŠแŸ‚แž›แž“แžนแž„แžแŸ’แžšแžผแžœแžšแž€แŸ’แžŸแžถแž‘แžปแž€ "แž“แŸ…แžแžถแž„แž€แŸ’แžšแŸ…" แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ‚แž›แžขแžถแž…แž…แžผแž›แž”แŸ’แžšแžพแž”แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ แž แžพแž™แž‡แžถแž‘แžผแž‘แŸ…แž“แŸ…แž†แŸ’แž„แžถแž™แž–แžธแž˜แž“แžปแžŸแŸ’แžŸแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แž“แžถแŸ” แžœแžถแž€แŸแž˜แžถแž“ GUI แž•แž„แžŠแŸ‚แžš แžŠแžผแž…แŸ’แž“แŸแŸ‡แž™แžพแž„แž“แžนแž„แž”แŸ’แžšแžพแž€แžถแž”แžผแž”แžŠแžผแž…แž‚แŸ’แž“แžถแž“แŸ…แž›แžพแžšแž”แžŸแŸ‹แž™แžพแž„แŸ”
แž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแž™แžฝแžšแžŠแŸƒแŸ” แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž–แŸแž›แž“แŸแŸ‡ แž™แžพแž„แž“แžนแž„แž”แŸ’แžšแžพ Electrum แž‡แžถแž˜แžฝแž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแžŸแžถแž’แžถแžšแžŽแŸˆ แž แžพแž™แž“แŸ…แž–แŸแž›แž€แŸ’แžšแŸ„แž™ แž™แžพแž„แž“แžนแž„แž›แžพแž€แžœแžถแž“แŸ…แž€แŸ’แž“แžปแž„แž€แŸ’แžšแžกแžถแž˜แžฝแž™แž•แŸ’แžŸแŸแž„แž‘แŸ€แž ElectrumXแžŠแžผแž…แŸ’แž“แŸแŸ‡แžŠแžพแž˜แŸ’แž”แžธแž€แžปแŸ†แžฑแŸ’แž™แž–แžนแž„แž•แŸ’แžขแŸ‚แž€แž›แžพแž“แžšแžŽแžถแž˜แŸ’แž“แžถแž€แŸ‹แž‘แžถแŸ†แž„แžขแžŸแŸ‹แŸ”

# cbsd jsconstruct-tui

# cbsd jstart electrum

# jexec electrum

electrum:/@[8:45] # pkg install py36-electrum

แž€แž˜แŸ’แž˜แžœแžทแž’แžธ 700 MB แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„แžšแž”แžŸแŸ‹แž™แžพแž„แŸ”

electrum:/@[8:53] # adduser

Username: wallet
Full name: 
Uid (Leave empty for default): 
Login group [wallet]: 
Login group is wallet. Invite wallet into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh nologin) [sh]: tcsh
Home directory [/home/wallet]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: no
Lock out the account after creation? [no]: 
Username   : wallet
Password   : <disabled>
Full Name  : 
Uid        : 1001
Class      : 
Groups     : wallet 
Home       : /home/wallet
Home Mode  : 
Shell      : /bin/tcsh
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (wallet) to the user database.
Add another user? (yes/no): no
Goodbye!
electrum:/@[8:53] # su wallet

electrum:/@[8:53] # su wallet

wallet@electrum:/ % electrum-3.6 create

{
    "msg": "Please keep your seed in a safe place; if you lose it, you will not be able to restore your wallet.",
    "path": "/usr/home/wallet/.electrum/wallets/default_wallet",
    "seed": "jealous win pig material ribbon young punch visual okay cactus random bird"
}

แžฅแžกแžผแžœแž“แŸแŸ‡แž™แžพแž„แž”แžถแž“แž”แž„แŸ’แž€แžพแžแž€แžถแž”แžผแž”แž˜แžฝแž™แŸ”

wallet@electrum:/ % electrum-3.6 listaddresses

[
    "18WEhbjvMLGRMfwudzUrUd25U5C7uZYkzE",
    "14XHSejhxsZNDRtk4eFbqAX3L8rftzwQQU",
    "1KQXaN8RXiCN1ne9iYngUWAr6KJ6d4pPas",
    ...
    "1KeVcAwEYhk29qEyAfPwcBgF5mMMoy4qjw",
    "18VaUuSeBr6T2GwpSHYF3XyNgLyLCt1SWk"
]

wallet@electrum:/ % electrum-3.6 help

แž‘แŸ…แžšแž”แžŸแŸ‹แž™แžพแž„แŸ” แž“แŸ…แž›แžพแžแŸ’แžŸแŸ‚แžŸแž„แŸ’แžœแžถแž€แŸ‹ แž˜แžถแž“แžแŸ‚แž˜แž“แžปแžŸแŸ’แžŸแž˜แžฝแž™แž…แŸ†แž“แžฝแž“แž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡แžŠแŸ‚แž›แžขแžถแž…แž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ…แž€แžถแž“แŸ‹แž€แžถแž”แžผแž”แž…แžถแž”แŸ‹แž–แžธแž–แŸแž›แž“แŸแŸ‡แžแž‘แŸ…แŸ” แžŠแžพแž˜แŸ’แž”แžธแž˜แžทแž“แž”แžพแž€แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแž€แŸ’แžšแžกแžถแž“แŸแŸ‡แž–แžธแžแžถแž„แž€แŸ’แžšแŸ… แž€แžถแžšแžแž—แŸ’แž‡แžถแž”แŸ‹แžแžถแž˜แžšแž™แŸˆ SSH แž“แžนแž„แž€แžพแžแžกแžพแž„แžแžถแž˜แžšแž™แŸˆ TOP (แž€แŸ†แžŽแŸ‚แžœแžทแž˜แž‡แŸ’แžˆแž€แžถแžšแž“แŸƒ VPN)แŸ” แž™แžพแž„แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžš SSH แž“แŸ…แž€แŸ’แž“แžปแž„แž€แŸ’แžšแžกแžถ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž€แžปแŸ†แž”แŸ‰แŸ‡ pf.conf แžšแž”แžŸแŸ‹แž™แžพแž„แž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แŸ”

electrum:/@[9:00] # sysrc sshd_enable=YES

electrum:/@[9:00] # service sshd start

แžฅแžกแžผแžœแž“แŸแŸ‡ แžŸแžผแž˜แž”แžทแž‘แž€แŸ’แžšแžกแžถแž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแžขแŸŠแžธแž“แž’แžบแžŽแžทแžแžšแž”แžŸแŸ‹แž€แžถแž”แžผแž”แŸ” แž…แžผแžšแž•แŸ’แžแž›แŸ‹แžฑแŸ’แž™แžœแžถแž“แžผแžœแžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“ IP แž–แžธแž…แž“แŸ’แž›แŸ„แŸ‡แž”แžŽแŸ’แžแžถแž‰แžšแž„แž˜แžฝแž™แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแžŠแŸ‚แž›แž˜แžทแž“แžแŸ’แžšแžผแžœแž”แžถแž“ NATed แŸ” แž‡แžถแžŠแŸ†แž”แžผแž„แžŸแžผแž˜แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžš /etc/pf.conf แž“แŸ…แž›แžพแž˜แŸ’แž…แžถแžŸแŸ‹แž•แŸ’แž‘แŸ‡

# ee /etc/pf.conf

JAIL_IP_POOL="192.168.0.0/24" แžแŸ„แŸ‡แž”แŸ’แžแžผแžšแžœแžถแž‘แŸ… JAIL_IP_POOL="192.168.0.0/25"แžŠแžผแž…แŸ’แž“แŸแŸ‡แžขแžถแžŸแŸแž™แžŠแŸ’แž‹แžถแž“แž‘แžถแŸ†แž„แžขแžŸแŸ‹ 192.168.0.126-255 แž“แžนแž„แž˜แžทแž“แžขแžถแž…แž…แžผแž›แž”แŸ’แžšแžพแžขแŸŠแžธแž“แž’แžบแžŽแžทแžแžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹แž”แžถแž“แž‘แŸแŸ” แž”แŸ’แžšแž—แŸแž‘แž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แžŽแŸ’แžแžถแž‰ "air-gap" แŸ” แž แžพแž™แž…แŸ’แž”แžถแž”แŸ‹ NAT แž“แŸ…แžแŸ‚แžŠแžผแž…แžŠแžพแž˜

nat pass on $IF_PUBLIC from $JAIL_IP_POOL to any -> $IP_PUBLIC

แž•แŸ’แž‘แžปแž€แž›แžพแžŸแž‘แž˜แŸ’แž„แž“แŸ‹แž…แŸ’แž”แžถแž”แŸ‹

# pfctl -f /etc/pf.conf

แžฅแžกแžผแžœแž“แŸแŸ‡ แž…แžผแžšแž™แžพแž„แž™แž€แž€แŸ’แžšแžกแžถแžšแž”แžŸแŸ‹แž™แžพแž„แŸ”

# cbsd jconfig jname=electrum

Bitcoin แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„?

Bitcoin แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„?

jset mode=quiet jname=electrum ip4_addr="192.168.0.200"
Remove old IP: /sbin/ifconfig em0 inet 192.168.0.6 -alias
Setup new IP: /sbin/ifconfig em0 inet 192.168.0.200 alias
ip4_addr: 192.168.0.200

แž แŸŠแžบ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžฅแžกแžผแžœแž“แŸแŸ‡แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžแŸ’แž›แžฝแž“แžฏแž„แž“แžนแž„แžˆแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž™แžพแž„แŸ” แž‘แŸ„แŸ‡แž™แŸ‰แžถแž„แžŽแžถแž€แŸแžŠแŸ„แž™ แž™แžพแž„แžขแžถแž…แž”แž‰แŸ’แž‡แžถแž€แŸ‹แž”แŸ’แžšแžผแž€แžŸแŸŠแžธแž”แŸ’แžšแž–แŸแž“แŸ’แž’แŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž˜แžถแž“แžšแžฟแž„แž˜แžฝแž™แž“แŸ…แž›แžพ TOR แžœแžถแž‚แžบแž‡แžถแž”แŸ’แžšแžผแž€แžŸแŸŠแžธ SOCKS5 แž แžพแž™แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž—แžถแž–แž„แžถแž™แžŸแŸ’แžšแžฝแž› แž™แžพแž„แž€แŸแž…แž„แŸ‹แž”แžถแž“แž”แŸ’แžšแžผแž€แžŸแŸŠแžธ HTTP แž•แž„แžŠแŸ‚แžšแŸ”

# cbsd jsconstruct-tui

# cbsd jstart polipo

# jexec polipo

polipo:/@[9:28] # pkg install polipo

polipo:/@[9:28] # ee /usr/local/etc/polipo/config

socksParentProxy = "192.168.0.2:9050"
socksProxyType = socks5

polipo:/@[9:42] # sysrc polipo_enable=YES

polipo:/@[9:43] # service polipo start

แžฅแžกแžผแžœแž“แŸแŸ‡แž˜แžถแž“แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž”แŸ’แžšแžผแž€แžŸแŸŠแžธแž–แžธแžšแž“แŸ…แž€แŸ’แž“แžปแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžšแž”แžŸแŸ‹แž™แžพแž„ แž แžพแž™แž›แž‘แŸ’แž’แž•แž›แž‘แžถแŸ†แž„แž–แžธแžšแžแžถแž˜แžšแž™แŸˆ TOR: socks5://192.168.0.2:9050 แž“แžทแž„ http://192.168.0.6:8123

แžฅแžกแžผแžœแž“แŸแŸ‡แž™แžพแž„แžขแžถแž…แž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž€แžถแž”แžผแž”แžšแž”แžŸแŸ‹แž™แžพแž„แž”แžถแž“แŸ”

# jexec electrum

electrum:/@[9:45] # su wallet

wallet@electrum:/ % ee ~/.cshrc

#in the end of file proxy config
setenv http_proxy http://192.168.0.6:8123
setenv https_proxy http://192.168.0.6:8123

แžฅแžกแžผแžœแž“แŸแŸ‡แžŸแŸ‚แž›แž“แžนแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž–แžธแž€แŸ’แžšแŸ„แž˜แž”แŸ’แžšแžผแž€แžŸแŸŠแžธแŸ” แž”แŸ’แžšแžŸแžทแž“แž”แžพแž™แžพแž„แž…แž„แŸ‹แžŠแŸ†แžกแžพแž„แž€แž‰แŸ’แž…แž”แŸ‹ แž“แŸ„แŸ‡แž™แžพแž„แž‚แžฝแžšแžแŸ‚แž”แž“แŸ’แžแŸ‚แž˜แž‘แŸ… /usr/local/etc/pkg.conf แž–แžธแž€แŸ’แžšแŸ„แž˜แžซแžŸแž“แŸƒแž‘แŸ’แžšแžปแž„

pkg_env: {
               http_proxy: "http://my_proxy_ip:8123",
           }

แžฅแžกแžผแžœแž“แŸแŸ‡แžœแžถแžŠแž›แŸ‹แž–แŸแž›แž แžพแž™แžŠแžพแž˜แŸ’แž”แžธแž”แž“แŸ’แžแŸ‚แž˜แžŸแŸแžœแžถแž›แžถแž€แŸ‹ TOR แž‡แžถแžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“แž“แŸƒแžŸแŸแžœแžถแž€แž˜แŸ’แž˜ SSH แžšแž”แžŸแŸ‹แž™แžพแž„แž“แŸ…แž€แŸ’แž“แžปแž„แž€แŸ’แžšแžกแžถแž€แžถแž”แžผแž”แŸ”

# jexec tor

tor:/@[9:59] # ee /usr/local/etc/tor/torrc

HiddenServiceDir /var/db/tor/electrum/
HiddenServicePort 22 192.168.0.200:22

tor:/@[10:01] # mkdir /var/db/tor/electrum

tor:/@[10:01] # chown -R _tor:_tor /var/db/tor/electrum

tor:/@[10:01] # chmod 700 /var/db/tor/electrum

tor:/@[10:03] # service tor restart

tor:/@[10:04] # cat /var/db/tor/electrum/hostname

mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion

แž“แŸแŸ‡แž‚แžบแž‡แžถแžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“แžแž—แŸ’แž‡แžถแž”แŸ‹แžšแž”แžŸแŸ‹แž™แžพแž„แŸ” แžแŸ„แŸ‡แž–แžทแž“แžทแžแŸ’แž™แž˜แžพแž›แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž€แŸ’แž“แžปแž„แžŸแŸ’แžšแžปแž€แŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžŠแŸ†แž”แžผแž„แž™แžพแž„แžแŸ’แžšแžผแžœแž”แž“แŸ’แžแŸ‚แž˜แžŸแŸ„ SSH แžšแž”แžŸแŸ‹แž™แžพแž„แŸ–

wallet@electrum:/ % mkdir ~/.ssh

wallet@electrum:/ % ee ~/.ssh/authorized_keys

ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAG9Fk2Lqi4GQ8EXZrsH3EgSrVIQPQaAlS38MmJLBabihv9KHIDGXH7r018hxqLNNGbaJWO/wrWk7sG4T0yLHAbdQAFsMYof9kjoyuG56z0XZ8qaD/X/AjrhLMsIoBbUNj0AzxjKNlPJL4NbHsFwbmxGulKS0PdAD5oLcTQi/VnNdU7iFw== user@local

แž‡แžถแž€แžถแžšแž”แŸ’แžšแžŸแžพแžšแžŽแžถแžŸแŸ‹, แž–แžธแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž—แŸ’แž‰แŸ€แžœแž›แžธแž“แžปแž…

user@local ~$ nano ~/.ssh/config

#remote electrum wallet
Host remotebtc
        User wallet
        Port 22
        Hostname mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion
        ProxyCommand /bin/ncat --proxy localhost:9050 --proxy-type socks5 %h %p

แžแŸ„แŸ‡แž—แŸ’แž‡แžถแž”แŸ‹ (แžŠแžพแž˜แŸ’แž”แžธแžฑแŸ’แž™แžœแžถแžŠแŸ†แžŽแžพแžšแž€แžถแžš แžขแŸ’แž“แž€แžแŸ’แžšแžผแžœแž€แžถแžšแžŠแŸแž˜แžทแž“ TOR แž€แŸ’แž“แžปแž„แžŸแŸ’แžšแžปแž€แžŠแŸ‚แž›แžŸแŸ’แžแžถแž”แŸ‹แž“แŸ…แž›แžพ 9050)

user@local ~$ ssh remotebtc

The authenticity of host 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion (<no hostip for proxy command>)' can't be established.
ECDSA key fingerprint is SHA256:iW8FKjhVF4yyOZB1z4sBkzyvCM+evQ9cCL/EuWm0Du4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'mdjus4gmduhofwcso57b3zl3ufoitguh2knitjco5cmgrokpreuxumad.onion' (ECDSA) to the list of known hosts.
FreeBSD 12.1-RELEASE-p1 GENERIC 
To save disk space in your home directory, compress files you rarely
use with "gzip filename".
        -- Dru <genesis@istar.ca>
wallet@electrum:~ % logout

แž‡แŸ„แž‚แž‡แŸแž™!

แžŠแžพแž˜แŸ’แž”แžธแž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™แž€แžถแžšแž‘แžผแž‘แžถแžแŸ‹แž—แŸ’แž›แžถแž˜แŸ— แž“แžทแž„แžแŸ’แž“แžถแžแžแžผแž… แž™แžพแž„แž€แŸแžแŸ’แžšแžผแžœแž€แžถแžšแžแŸ’แž“แžถแŸ†แž„แž•แž„แžŠแŸ‚แžšแŸ” แž”แžŽแŸ’แžแžถแž‰แžšแž“แŸ’แž‘แŸ‡แžแžถแž˜แž–แžทแžแž‘แŸ… แž“แŸแŸ‡แž“แžนแž„แž€แŸ’แž›แžถแž™แž‡แžถแžงแž”แž€แžšแžŽแŸแžŸแŸ†แžแžถแž“แŸ‹แžšแž”แžŸแŸ‹แž™แžพแž„แž‡แžถแž˜แžฝแž™ Bitcoin แŸ” U*แž‚-แžšแž“แŸ’แž‘แŸ‡แžŠแŸ‚แž›แž™แžพแž„แž“แžนแž„แž”แŸ’แžšแžพแž‡แžถแžŠแŸแž˜แžทแž“ แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‡แŸ†แž“แžฝแž™ SparkoแžŠแŸ‚แž›แž‡แžถแž…แŸ†แžŽแžปแž…แž”แŸ’แžšแž‘แžถแž€แŸ‹ HTTP (REST) โ€‹โ€‹แž–แŸแž‰แž›แŸแž‰ แž“แžทแž„แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™แž‘แžถแŸ†แž„แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž€แŸ’แžšแŸ…แž”แžŽแŸ’แžแžถแž‰ แž“แžทแž„แž“แŸ…แž›แžพแžแŸ’แžŸแŸ‚แžŸแž„แŸ’แžœแžถแž€แŸ‹แŸ” c-lightning แžแŸ’แžšแžผแžœแž€แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžš bitcoind แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž”แžถแž‘แŸ”

*แž˜แžถแž“แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแžแžปแžŸแŸ—แž‚แŸ’แž“แžถแž“แŸƒแž–แžทแž’แžธแž€แžถแžšแž”แžŽแŸ’แžแžถแž‰แžšแž“แŸ’แž‘แŸ‡แž‡แžถแž—แžถแžŸแžถแž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถแŸ” แž€แŸ’แž“แžปแž„แž…แŸ†แžŽแŸ„แž˜แžขแŸ’แžœแžธแžŠแŸ‚แž›แž™แžพแž„แž”แžถแž“แžŸแžถแž€แž›แŸ’แž”แž„ c-lightning (แžŸแžšแžŸแŸแžšแž‡แžถ C) แž แžถแž€แŸ‹แžŠแžผแž…แž‡แžถแž˜แžถแž“แžŸแŸ’แžแŸแžšแž—แžถแž– แž“แžทแž„แžŸแž“แŸ’แžŸแŸ†แžŸแŸ†แž…แŸƒแž”แŸ†แž•แžปแž

# cbsd jsconstruct-tui

# cbsd jstart cln

# jexec cln

lightning:/@[10:23] # adduser

Username: lightning
...

lightning:/@[10:24] # pkg install git

lightning:/@[10:23] # su lightning

cd ~ && git clone https://github.com/ElementsProject/lightning

lightning@lightning:~ % exit

lightning:/@[10:30] # cd /home/lightning/lightning/

lightning:/home/lightning/lightning@[10:31] # pkg install autoconf automake gettext git gmp gmake libtool python python3 sqlite3 libsodium py36-mako bash bitcoin-utils

lightning:/home/lightning/lightning@[10:34] # ./configure && gmake && gmake install

แžแžŽแŸˆแž–แŸแž›แžŠแŸ‚แž›แžขแŸ’แžœแžธแŸ—แž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แž…แžถแŸ†แž”แžถแž…แŸ‹แžแŸ’แžšแžผแžœแž”แžถแž“แž…แž„แž€แŸ’แžšแž„ แž“แžทแž„แžŠแŸ†แžกแžพแž„ แžŸแžผแž˜แž”แž„แŸ’แž€แžพแžแžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ RPC แžŸแž˜แŸ’แžšแžถแž”แŸ‹ lightningd ะฒ bitcoind

# jexec bitcoind

bitcoind:/@[10:36] # ee /usr/local/etc/bitcoin.conf

rpcbind=192.168.0.1
rpcuser=test
rpcpassword=test
#allow only c-lightning
rpcallowip=192.168.0.7/32

bitcoind:/@[10:39] # service bitcoind restart

แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžŠแŸแž…แŸ’แžšแž”แžผแž€แž…แŸ’แžšแž”แž›แŸ‹แžšแž”แžŸแŸ‹แžแŸ’แž‰แžปแŸ†แžšแžœแžถแž„แž€แŸ’แžšแžกแžถ แž”แŸ’แžšแŸ‚แž‘แŸ…แž‡แžถแž˜แžทแž“แž˜แžถแž“แž—แžถแž–แž…แŸ’แžšแž”แžผแž€แž…แŸ’แžšแž”แž›แŸ‹แž‘แŸ แž”แŸ’แžšแžŸแžทแž“แž”แžพแžขแŸ’แž“แž€แž€แžแŸ‹แžŸแž˜แŸ’แž‚แžถแž›แŸ‹แžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ tmuxแžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž”แž„แŸ’แž€แžพแžแžœแž‚แŸ’แž‚แžšแž„แžŸแŸ’แžแžถแž“แžธแž™แž…แŸ’แžšแžพแž“แž€แŸ’แž“แžปแž„แžœแž‚แŸ’แž‚แž˜แžฝแž™แŸ” แžขแžถแžŽแžถแžกแžผแž€แŸ– screen

Bitcoin แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„?

แžŠแžผแž…แŸ’แž“แŸแŸ‡ แž™แžพแž„แž˜แžทแž“แž…แž„แŸ‹แž”แž„แŸ’แž แžถแž‰ IP แž–แžทแžแž”แŸ’แžšแžถแž€แžŠแž“แŸƒแžแŸ’แž“แžถแŸ†แž„แžšแž”แžŸแŸ‹แž™แžพแž„แž‘แŸ แž แžพแž™แž™แžพแž„แž…แž„แŸ‹แž’แŸ’แžœแžพแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž แžทแžšแž‰แŸ’แž‰แžœแžแŸ’แžแžปแž‘แžถแŸ†แž„แžขแžŸแŸ‹แžแžถแž˜แžšแž™แŸˆ TOP แŸ” แžŠแžผแž…แŸ’แž“แŸแŸ‡ .onion แž˜แžฝแž™แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแž‚แžบแž˜แžทแž“แž…แžถแŸ†แž”แžถแž…แŸ‹แž‘แŸแŸ”

# jexec tor

tor:/@[9:59] # ee /usr/local/etc/tor/torrc

HiddenServiceDir /var/db/tor/cln/
HiddenServicePort 9735 192.168.0.7:9735

tor:/@[10:01] # mkdir /var/db/tor/cln

tor:/@[10:01] # chown -R _tor:_tor /var/db/tor/cln

tor:/@[10:01] # chmod 700 /var/db/tor/cln

tor:/@[10:03] # service tor restart

tor:/@[10:04] # cat /var/db/tor/cln/hostname

en5wbkavnytti334jc5uzaudkansypfs6aguv6kech4hbzpcz2ove3yd.onion

แžฅแžกแžผแžœแž“แŸแŸ‡ แž…แžผแžšแž™แžพแž„แž”แž„แŸ’แž€แžพแž config แžŸแž˜แŸ’แžšแžถแž”แŸ‹ c-lightning

lightning:/home/lightning/lightning@[10:31] # su lightning

lightning@lightning:~ % mkdir .lightning

lightning@lightning:~ % ee .lightning/config

alias=My-LN-Node
bind-addr=192.168.0.7:9735
rgb=ff0000
announce-addr=en5wbkavnytti334jc5uzaudkansypfs6aguv6kech4hbzpcz2ove3yd.onion:9735
network=bitcoin
log-level=info
fee-base=0
fee-per-satoshi=1
proxy=192.168.0.2:9050
log-file=/home/lightning/.lightning/c-lightning.log
min-capacity-sat=200000

# sparko plugin
# https://github.com/fiatjaf/lightningd-gjson-rpc/tree/master/cmd/sparko

sparko-host=192.168.0.7
sparko-port=9737

sparko-tls-path=sparko-tls

#sparko-login=mywalletusername:mywalletpassword

#sparko-keys=masterkey;secretread:+listchannels,+listnodes;secretwrite:+invoice,+listinvoices,+delinvoice,+decodepay,+waitpay,+waitinvoice
sparko-keys=masterkey;secretread:+listchannels,+listnodes;ultrawrite:+invoice,+listinvoices,+delinvoice,+decodepay,+waitpay,+waitinvoice
# for the example above the initialization logs (mixed with lightningd logs) should print something like

lightning@lightning:~ % mkdir .lightning/plugins

lightning@lightning:~ % cd .lightning/plugins/

lightning@lightning:~/.lightning/plugins:% fetch https://github.com/fiatjaf/sparko/releases/download/v0.2.1/sparko_full_freebsd_amd64

lightning@lightning:~/.lightning/plugins % mkdir ~/.lightning/sparko-tls

lightning@lightning:~/.lightning/sparko-tls % cd ~/.lightning/sparko-tls

lightning@lightning:~/.lightning/sparko-tls % openssl genrsa -out key.pem 2048

lightning@lightning:~/.lightning/sparko-tls % openssl req -new -x509 -sha256 -key key.pem -out cert.pem -days 3650

lightning@lightning:~/.lightning/plugins % chmod +x sparko_full_freebsd_amd64

lightning@lightning:~/.lightning/plugins % mv sparko_full_freebsd_amd64 sparko

lightning@lightning:~/.lightning/plugins % cd ~

แžขแŸ’แž“แž€แž€แŸแžแŸ’แžšแžผแžœแž”แž„แŸ’แž€แžพแžแžฏแž€แžŸแžถแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžŸแž˜แŸ’แžšแžถแž”แŸ‹ bitcoin-cli แžŠแŸ‚แž›แž‡แžถแžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŠแŸ‚แž›แž‘แžถแž€แŸ‹แž‘แž„แž‡แžถแž˜แžฝแž™ bitcoind

lightning@lightning:~ % mkdir .bitcoin

lightning@lightning:~ % ee .bitcoin/bitcoin.conf

rpcconnect=192.168.0.1
rpcuser=test
rpcpassword=test

แžแŸ’แž‰แžปแŸ†แž“แžนแž„แž–แžทแž“แžทแžแŸ’แž™

lightning@lightning:~ % bitcoin-cli echo "test"

[
  "test"
]

แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžš lightningd

lightning@lightning:~ % lightningd --daemon

แžแŸ’แž›แžฝแž“แž‚แžถแžแŸ‹แž•แŸ’แž‘แžถแž›แŸ‹ lightningd แžขแŸ’แž“แž€แžขแžถแž…แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ lightning-cliแžงแž‘แžถแž แžšแžŽแŸ:

lightning-cli newaddr แž‘แž‘แžฝแž›แž”แžถแž“แžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž‘แžผแž‘แžถแžแŸ‹แž…แžผแž›แžแŸ’แž˜แžธแŸ”

{
   "address": "bc1q2n2ffq3lplhme8jufcxahfrnfhruwjgx3c78pv",
   "bech32": "bc1q2n2ffq3lplhme8jufcxahfrnfhruwjgx3c78pv"
}

lightning-cli withdraw bc1jufcxahfrnfhruwjgx3cq2n2ffq3lplhme878pv all แž•แŸ’แž‰แžพแž”แŸ’แžšแžถแž€แŸ‹แž‘แžถแŸ†แž„แžขแžŸแŸ‹แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแž”แžผแž”แž‘แŸ…แžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“ (แžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“แž“แŸ…แž›แžพแžแŸ’แžŸแŸ‚แžŸแž„แŸ’แžœแžถแž€แŸ‹แž‘แžถแŸ†แž„แžขแžŸแŸ‹)

แž€แŸแž˜แžถแž“แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž€แŸ’แžšแŸ…แžŸแž„แŸ’แžœแžถแž€แŸ‹แž•แž„แžŠแŸ‚แžšแŸ” lightning-cli invoice, lightning-cli listinvoices, lightning-cli pay แž›แŸ”

แž‡แžถแž€แžถแžšแž”แŸ’แžšแžŸแžพแžšแžŽแžถแžŸแŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž‘แŸ†แž“แžถแž€แŸ‹แž‘แŸ†แž“แž„แž‡แžถแž˜แžฝแž™แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž™แžพแž„แž˜แžถแž“ REST Api

curl -k https://192.168.0.7:9737/rpc -d '{"method": "pay", "params": ["lnbc..."]}' -H 'X-Access masterkey'

แž…แžผแžšแžŸแž“แŸ’แž˜แžแž›แž‘แŸ’แž’แž•แž›

# jls

   JID  IP Address      Hostname                      Path
     1  192.168.0.1     bitcoind.space.com            /zroot/jails/jails/bitcoind
     2  192.168.0.2     tor.space.com                 /zroot/jails/jails/tor
     3  192.168.0.3     nginx-rev.space.com           /zroot/jails/jails/nginx-rev
     4  192.168.0.4     paygw.space.com               /zroot/jails/jails/paygw
     5  192.168.0.5     webapp.my.domain              /zroot/jails/jails/webapp
     7  192.168.0.200   electrum.space.com            /zroot/jails/jails/electrum
     8  192.168.0.6     polipo.space.com              /zroot/jails/jails/polipo
     9  192.168.0.7     lightning.space.com           /zroot/jails/jails/cln

Bitcoin แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„?

แž™แžพแž„แž˜แžถแž“แžŸแŸ†แžŽแžปแŸ†แž“แŸƒแž€แžปแž„แžแžบแž“แŸแžš แžŠแŸ‚แž›แž“แžธแž˜แžฝแž™แŸ—แž˜แžถแž“แž€แž˜แŸ’แžšแžทแžแž“แŸƒแž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแžšแž”แžŸแŸ‹แžœแžถแž‘แžถแŸ†แž„แž–แžธ แž“แžทแž„แž‘แŸ…แž€แžถแž“แŸ‹แž”แžŽแŸ’แžแžถแž‰แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แŸ”

# zfs list

NAME                    USED  AVAIL  REFER  MOUNTPOINT
zroot                   279G  1.48T    88K  /zroot
zroot/ROOT             1.89G  1.48T    88K  none
zroot/ROOT/default     1.89G  17.6G  1.89G  /
zroot/home               88K  1.48T    88K  /home
zroot/jails             277G  1.48T   404M  /zroot/jails
zroot/jails/bitcoind    190G  1.48T   190G  /zroot/jails/jails-data/bitcoind-data
zroot/jails/cln         653M  1.48T   653M  /zroot/jails/jails-data/cln-data
zroot/jails/electrum    703M  1.48T   703M  /zroot/jails/jails-data/electrum-data
zroot/jails/nginx-rev   190M  1.48T   190M  /zroot/jails/jails-data/nginx-rev-data
zroot/jails/paygw      82.4G  1.48T  82.4G  /zroot/jails/jails-data/paygw-data
zroot/jails/polipo     57.6M  1.48T  57.6M  /zroot/jails/jails-data/polipo-data
zroot/jails/tor        81.5M  1.48T  81.5M  /zroot/jails/jails-data/tor-data
zroot/jails/webapp      360M  1.48T   360M  /zroot/jails/jails-data/webapp-data

แžŠแžผแž…แžŠแŸ‚แž›แžขแŸ’แž“แž€แžขแžถแž…แžƒแžพแž‰ bitcoind แž™แž€แž‘แŸ†แž แŸ†แž‘แžถแŸ†แž„แžขแžŸแŸ‹ 190 GB แŸ” แž…แžปแŸ‡แž”แŸ’แžšแžŸแžทแž“แž”แžพแž™แžพแž„แžแŸ’แžšแžผแžœแž€แžถแžšแžแŸ’แž“แžถแŸ†แž„แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž’แŸ’แžœแžพแžแŸแžŸแŸ’แž? แž“แŸแŸ‡แž‡แžถแž€แž“แŸ’แž›แŸ‚แž„แžŠแŸ‚แž› ZFS แž„แžถแž™แžŸแŸ’แžšแžฝแž›แŸ” แžŠแŸ„แž™แž˜แžถแž“แž‡แŸ†แž“แžฝแž™ cbsd jclone old=bitcoind new=bitcoind-clone host_hostname=clonedbtc.space.com แžขแŸ’แž“แž€แžขแžถแž…แž”แž„แŸ’แž€แžพแžแžšแžผแž”แžแžแž˜แžฝแž™แžŸแž“แŸ’แž›แžนแž€ แž“แžทแž„แž—แŸ’แž‡แžถแž”แŸ‹แž€แŸ’แžšแžกแžถแžแŸ’แž˜แžธแž˜แžฝแž™แž‘แŸ…แžšแžผแž”แžแžแž“แŸแŸ‡แŸ” แž€แŸ’แžšแžกแžถแžแŸ’แž˜แžธแž“แžนแž„แž˜แžถแž“แž‘แŸ†แž แŸ†แž•แŸ’แž‘แžถแž›แŸ‹แžแŸ’แž›แžฝแž“แžšแž”แžŸแŸ‹แžœแžถ แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž˜แžถแž“แžแŸ‚แž—แžถแž–แžแžปแžŸแž‚แŸ’แž“แžถแžšแžœแžถแž„แžŸแŸ’แžแžถแž“แž—แžถแž–แž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“ แž“แžทแž„แžŸแŸ’แžแžถแž“แž—แžถแž–แžŠแžพแž˜แž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡แžŠแŸ‚แž›แž“แžนแž„แžแŸ’แžšแžผแžœแž™แž€แž˜แž€แž–แžทแž…แžถแžšแžŽแžถแž“แŸ…แž€แŸ’แž“แžปแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžฏแž€แžŸแžถแžš (แž™แžพแž„แž“แžนแž„แžšแž€แŸ’แžŸแžถแž‘แžปแž€แž™แŸ‰แžถแž„แž แŸ„แž…แžŽแžถแžŸแŸ‹ 190 GB)

แž€แŸ’แžšแžกแžถแž“แžธแž˜แžฝแž™แŸ—แž‚แžบแž‡แžถแžŸแŸ†แžŽแžปแŸ†แž‘แžทแž“แŸ’แž“แž“แŸแž™ ZFS แžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แžšแž”แžŸแŸ‹แžœแžถ แž แžพแž™แž“แŸแŸ‡แž‚แžบแž‡แžถแž€แžถแžšแž„แžถแž™แžŸแŸ’แžšแžฝแž›แž”แŸ†แž•แžปแžแŸ” ZFS แž€แŸแžขแž“แžปแž‰แŸ’แž‰แžถแžแž•แž„แžŠแŸ‚แžšแŸ” แž’แŸ’แžœแžพแžšแžฟแž„แž›แŸ’แžขแŸ—แž•แŸ’แžŸแŸแž„แž‘แŸ€แž แžŠแžผแž…แž‡แžถแž€แžถแžšแž•แŸ’แž‰แžพแžšแžผแž”แžแžแžแžถแž˜แžšแž™แŸˆ SSH แž‡แžถแžŠแžพแž˜แŸ” แž™แžพแž„โ€‹แž“แžนแž„โ€‹แž˜แžทแž“โ€‹แž–แžŽแŸŒแž“แžถโ€‹แžœแžถโ€‹แž‘แŸ แž˜แžถแž“โ€‹แž…แŸ’แžšแžพแž“โ€‹แž แžพแž™โ€‹แŸ”

แžœแžถแž€แŸแž‚แžฝแžšแžฑแŸ’แž™แž€แžแŸ‹แžŸแž˜แŸ’แž‚แžถแž›แŸ‹แž•แž„แžŠแŸ‚แžšแžขแŸ†แž–แžธแžแž˜แŸ’แžšแžผแžœแž€แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™แž–แžธแž…แž˜แŸ’แž„แžถแž™แžšแž”แžŸแŸ‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸ„แž›แž”แŸ†แžŽแž„แž‘แžถแŸ†แž„แž“แŸแŸ‡แžŠแŸ‚แž›แž™แžพแž„แž˜แžถแž“ Zabbix.

แž - แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–

แž‘แžถแž€แŸ‹แž‘แž„แž“แžนแž„แžŸแž“แŸ’แžแžทแžŸแžปแž แžŸแžผแž˜แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž–แžธแž‚แŸ„แž›แž€แžถแžšแžŽแŸแžŸแŸ†แžแžถแž“แŸ‹แŸ—แž€แŸ’แž“แžปแž„แž”แžšแžทแž”แž‘แž“แŸƒแž แŸแžŠแŸ’แž‹แžถแžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แŸ–

แž€แžถแžšแžŸแž˜แŸ’แž„แžถแžแŸ‹ - แžงแž”แž€แžšแžŽแŸแžŸแŸ’แžแž„แŸ‹แžŠแžถแžšแž“แŸƒแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแžผแž… UNIX แž’แžถแž“แžถแž“แžผแžœแž‚แŸ„แž›แž€แžถแžšแžŽแŸแž“แŸแŸ‡แŸ” แž™แžพแž„แž”แŸ‚แž„แž…แŸ‚แž€แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแžŠแŸ„แž™แžกแžผแž‡แžธแžแž›แž‘แŸ…แž’แžถแžแžปแžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แž“แžธแž˜แžฝแž™แŸ—แž“แŸƒแž”แŸ’แžšแž–แŸแž“แŸ’แž’ - แž€แŸ’แžšแžกแžถแž˜แžฝแž™แŸ” แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžแž›แŸ‹แž‡แžผแž“แžแžถแž˜แžšแž™แŸˆแž€แžถแžšแž•แŸ’แž‘แŸ€แž„แž•แŸ’แž‘แžถแžแŸ‹แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŸแŸ’แžแž„แŸ‹แžŠแžถแžšแžŠแŸ„แž™แž”แŸ’แžšแžพแžŸแŸ„แž•แŸ’แž‘แžถแž›แŸ‹แžแŸ’แž›แžฝแž“แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แŸ” แž€แžถแžšแž‘แŸ†แž“แžถแž€แŸ‹แž‘แŸ†แž“แž„แž‘แžถแŸ†แž„แžขแžŸแŸ‹แžšแžœแžถแž„ แž“แžทแž„แž‘แŸ…แž€แŸ’แžšแžกแžถแž…แžปแž„แž€แŸ’แžšแŸ„แž™แž€แžพแžแžกแžพแž„แž€แŸ’แž“แžปแž„แž‘แž˜แŸ’แžšแž„แŸ‹แžŠแŸ‚แž›แž”แžถแž“แžขแŸŠแžทแž“แž‚แŸ’แžšแžธแž”แŸ” แžŸแžผแž˜แžขแžšแž‚แžปแžŽแž…แŸ†แž–แŸ„แŸ‡แž€แžถแžšแžขแŸŠแžทแž“แž‚แŸ’แžšแžธแž”แžแžถแžŸ แž™แžพแž„แž˜แžทแž“แž…แžถแŸ†แž”แžถแž…แŸ‹แž–แŸ’แžšแžฝแž™แž”แžถแžšแž˜แŸ’แž—แžขแŸ†แž–แžธแžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž“แŸƒแž‘แžทแž“แŸ’แž“แž“แŸแž™แž“แŸ…แž–แŸแž›แž‡แŸ†แž“แžฝแžŸแžแžถแžŸ แžฌแž•แŸ’แž‘แŸแžšแž‘แŸ…แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž•แŸ’แžŸแŸแž„แž“แŸ„แŸ‡แž‘แŸแŸ” แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแžŠแŸแžŸแŸ†แžแžถแž“แŸ‹แžแŸ‚แž˜แžฝแž™แž‚แžแŸ‹แž‚แžบแž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž˜แŸ‰แžถแžŸแŸŠแžธแž“ แžŠแŸ„แž™แžŸแžถแžšแž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแž”แŸ‚แž”แž“แŸแŸ‡แž‡แžถแž‘แžผแž‘แŸ…แž•แŸ’แžแž›แŸ‹แž“แžผแžœแž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแž‘แžทแž“แŸ’แž“แž“แŸแž™แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžปแž„แžแžบแž“แŸแžšแŸ”

แžŸแžปแž…แžšแžทแžแž—แžถแž– โ€œแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž‚แŸ„แž›แž€แžถแžšแžŽแŸแž“แŸแŸ‡แž€แžพแžแžกแžพแž„แž“แŸ…แž€แž˜แŸ’แžšแžทแžแž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถแŸ” แž‡แžถแžŠแŸ†แž”แžผแž„ แžœแžถแž‡แžถแžšแžฟแž„แžŸแŸ†แžแžถแž“แŸ‹แž€แŸ’แž“แžปแž„แž€แžถแžšแž€แžแŸ‹แžŸแž˜แŸ’แž‚แžถแž›แŸ‹แžแžถแž€แŸ’แž“แžปแž„แž€แžšแžŽแžธแž“แŸƒแž•แŸ’แž“แŸ‚แž€แžšแžนแž„แžšแž”แžŸแŸ‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ† ECC ZFS แžšแžฝแž…แž แžพแž™ "แž…แŸแž‰แž–แžธแž”แŸ’แžšแžขแž”แŸ‹" แž™แž€แž…แžทแžแŸ’แžแž‘แžปแž€แžŠแžถแž€แŸ‹แž›แžพแž—แžถแž–แžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœแž“แŸƒแž‘แžทแž“แŸ’แž“แž“แŸแž™แž“แŸ…แž€แž˜แŸ’แžšแžทแžแž“แŸƒแž”แŸŠแžธแžแž–แŸแžแŸŒแž˜แžถแž“แŸ” แžšแžผแž”แžแžแž—แŸ’แž›แžถแž˜แŸ—แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž’แŸ’แžœแžพแž€แžถแžšแž”แž˜แŸ’แžšแžปแž„แž‘แžปแž€แž“แŸ…แž–แŸแž›แžŽแžถแž€แŸแž”แžถแž“แŸ” แžงแž”แž€แžšแžŽแŸแž“แžถแŸ†แž…แŸแž‰/แž“แžถแŸ†แž…แžผแž›แž€แŸ„แžŸแžทแž€แžถแž„แžถแž™แžŸแŸ’แžšแžฝแž›แž’แŸ’แžœแžพแžฑแŸ’แž™แž€แžถแžšแž…แž˜แŸ’แž›แž„แž€แŸ„แžŸแžทแž€แžถแžŸแžถแž˜แž‰แŸ’แž‰แŸ”

แž—แžถแž–แž‘แŸ†แž“แŸแžš - แž“แŸแŸ‡แž‚แžบแž‡แžถแž‡แž˜แŸ’แžšแžพแžŸแžšแžฝแž…แž แžพแž™แŸ” แžขแžถแžŸแŸ’แžšแŸแž™แž›แžพแž€แž˜แŸ’แžšแžทแžแž“แŸƒแž€แžทแžแŸ’แžแžทแž“แžถแž˜แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€ แž“แžทแž„แž€แžถแžšแž–แžทแžแžŠแŸ‚แž›แžแžถแžขแŸ’แž“แž€แž˜แžถแž“แžขแŸ’แž“แž€แžŸแŸ’แžขแž”แŸ‹แŸ” แž€แŸ’แž“แžปแž„แžงแž‘แžถแž แžšแžŽแŸแžšแž”แžŸแŸ‹แž™แžพแž„ แž™แžพแž„แž’แžถแž“แžถแžแžถแž€แžถแž”แžผแž”แžขแžถแž…แž…แžผแž›แž”แŸ’แžšแžพแž”แžถแž“แž‘แžถแŸ†แž„แžŸแŸ’แžšแžปแž„แž–แžธแž”แžŽแŸ’แžแžถแž‰ TOP แŸ” แž”แžพแž…แžถแŸ†แž”แžถแž…แŸ‹ แžขแŸ’แž“แž€แžขแžถแž…แž”แžทแž‘แžขแŸ’แžœแžธแŸ—แž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แž“แŸ…แž›แžพแž‡แž‰แŸ’แž‡แžถแŸ†แž„แž—แŸ’แž›แžพแž„ แž“แžทแž„แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž…แžผแž›แž”แŸ’แžšแžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž‘แžถแŸ†แž„แžŸแŸ’แžšแžปแž„แžแžถแž˜แžšแž™แŸˆแž•แŸ’แž›แžผแžœแžšแžผแž„แž€แŸ’แžšแŸ„แž˜แžŠแžธ (TOR แžฌ VPN แž‚แžบแž‡แžถแž”แž‰แŸ’แž แžถแž˜แžฝแž™แž•แŸ’แžŸแŸแž„แž‘แŸ€แž)แŸ” แžŠแžผแž…แŸ’แž“แŸแŸ‡แž แžพแž™ แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž“แžนแž„แžแŸ’แžšแžผแžœแž€แžถแžแŸ‹แž•แŸ’แžแžถแž…แŸ‹แž…แŸแž‰แž–แžธแž–แžทแž—แž–แžแžถแž„แž€แŸ’แžšแŸ…แžแžถแž˜แžŠแŸ‚แž›แžขแžถแž…แž’แŸ’แžœแžพแž‘แŸ…แž”แžถแž“ แž แžพแž™แž˜แžถแž“แžแŸ‚แž™แžพแž„แžแŸ’แž›แžฝแž“แžฏแž„แž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡แžŠแŸ‚แž›แžขแžถแž…แž˜แžถแž“แžฅแž‘แŸ’แž’แžทแž–แž›แž›แžพแž—แžถแž–แžขแžถแž…แžšแž€แž”แžถแž“แžšแž”แžŸแŸ‹แžœแžถแŸ”

แž—แžถแž–แž˜แžทแž“แžขแžถแž…แž‘แŸ…แžšแžฝแž…แž“แŸƒแž€แžถแžšแž”แžŠแžทแžŸแŸแž’ - แž แžพแž™แž“แŸแŸ‡แžขแžถแžŸแŸ’แžšแŸแž™แž‘แŸ…แž›แžพแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž”แž“แŸ’แžแŸ‚แž˜แž‘แŸ€แž แž“แžทแž„แž€แžถแžšแžขแž“แžปแž›แŸ„แž˜แžแžถแž˜แž‚แŸ„แž›แž€แžถแžšแžŽแŸแžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŸแžทแž‘แŸ’แž’แžทแžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แŸ”แž›แŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž‡แžถแž˜แžฝแž™แž“แžนแž„แžœแžทแž’แžธแžŸแžถแžŸแŸ’แžšแŸ’แžแžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœ แžŸแž€แž˜แŸ’แž˜แž—แžถแž–แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž‘แžถแŸ†แž„แžขแžŸแŸ‹แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžœแž“แž€แž˜แŸ’แž˜ แž แžพแž™แžขแžšแž‚แžปแžŽแž…แŸ†แž–แŸ„แŸ‡แžŠแŸ†แžŽแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž‚แŸ’แžšแžธแž” แžœแžถแžขแžถแž…แž€แŸ†แžŽแžแŸ‹แžขแžแŸ’แžแžŸแž‰แŸ’แž‰แžถแžŽแžŠแŸ„แž™แž˜แžทแž“แž…แŸ’แž”แžถแžŸแŸ‹แžแžถแžขแŸ’แž“แž€แžŽแžถแž”แžถแž“แž’แŸ’แžœแžพแžŸแž€แž˜แŸ’แž˜แž—แžถแž–แž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹ แž“แžทแž„แž“แŸ…แž–แŸแž›แžŽแžถแŸ”

แž‡แžถแž€แžถแžšแž–แžทแžแžŽแžถแžŸแŸ‹ แž€แžถแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แžŠแŸ‚แž›แž”แžถแž“แž–แžทแž–แžŽแŸŒแž“แžถแž˜แžทแž“แž˜แŸ‚แž“แž‡แžถแžงแž‘แžถแž แžšแžŽแŸแžŠแžถแž…แŸ‹แžแžถแžแž“แŸƒแžšแž”แŸ€แž”แžŠแŸ‚แž›แžœแžถแž‚แžฝแžšแžแŸ‚แž˜แžถแž“แž‡แžถแž“แžทแž…แŸ’แž… แžœแžถแž‚แžบแž‡แžถแžงแž‘แžถแž แžšแžŽแŸแž˜แžฝแž™แž“แŸƒแžšแž”แŸ€แž”แžŠแŸ‚แž›แžœแžถแžขแžถแž…แž‡แžถ แžแžŽแŸˆแž–แŸแž›แžŠแŸ‚แž›แžšแž€แŸ’แžŸแžถแž”แžถแž“แž“แžผแžœแž›แž‘แŸ’แž’แž—แžถแž–แž“แŸƒแž€แžถแžšแž’แŸ’แžœแžพแž˜แžถแžแŸ’แžšแžŠแŸ’แž‹แžถแž“ แž“แžทแž„แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžŠแŸ‚แž›แžขแžถแž…แž”แžแŸ‹แž”แŸ‚แž“แž”แžถแž“แŸ”

แž…แžปแŸ‡แž™แŸ‰แžถแž„แžŽแžถแž…แŸ†แž–แŸ„แŸ‡แž“แžทแž˜แŸ’แž˜แžทแžแž–แŸแž‰แž›แŸแž‰?

แžขแŸ†แž–แžธแž“แžทแž˜แŸ’แž˜แžทแžแž–แŸแž‰แž›แŸแž‰แžŠแŸ„แž™แž”แŸ’แžšแžพ cbsd แžขแŸ’แž“แž€แžขแžถแž…แž’แŸ’แžœแžพแž”แžถแž“ แžขแžถแž“แž“แŸ…แž‘แžธแž“แŸแŸ‡. แžแŸ’แž‰แžปแŸ†แž“แžนแž„แž”แž“แŸ’แžแŸ‚แž˜แžœแžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž„แžถแžš bhyve แžขแŸ’แž“แž€แžแŸ’แžšแžผแžœแž”แžพแž€แž‡แž˜แŸ’แžšแžพแžŸแžแžบแžŽแŸ‚แž›แž˜แžฝแž™แž…แŸ†แž“แžฝแž“แŸ”

# cat /etc/rc.conf

...
kld_list="vmm if_tap if_bridge nmdm"
...

# cat /boot/loader.conf

...
vmm_load="YES"
...

แžŠแžผแž…แŸ’แž“แŸแŸ‡แž”แŸ’แžšแžŸแžทแž“แž”แžพแž—แŸ’แž›แžถแž˜แŸ—แž“แŸ„แŸ‡แž˜แžถแž“แžแž˜แŸ’แžšแžผแžœแž€แžถแžšแž€แŸ’แž“แžปแž„แž€แžถแžšแž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜ docker แž“แŸ„แŸ‡แž™แžพแž„แž”แž„แŸ’แž€แžพแž“แžแŸ’แž›แŸ‡ debian แž แžพแž™แž‘แŸ…แž˜แžปแž!

Bitcoin แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แŸ’แžšแžปแž„?

แžขแžŸแŸ‹แž แžพแž™

แžแŸ’แž‰แžปแŸ†แž‚แžทแžแžแžถแž“แŸ„แŸ‡แž‡แžถแžขแŸ’แžœแžธแžŠแŸ‚แž›แžแŸ’แž‰แžปแŸ†แž…แž„แŸ‹แž…แŸ‚แž€แžšแŸ†แž›แŸ‚แž€แŸ” แž”แŸ’แžšแžŸแžทแž“แž”แžพแžขแŸ’แž“แž€แž…แžผแž›แž…แžทแžแŸ’แžแžขแžแŸ’แžแž”แž‘แž“แŸ„แŸ‡ แžขแŸ’แž“แž€แžขแžถแž…แž•แŸ’แž‰แžพ bitcoins แžแŸ’แž›แŸ‡แž˜แž€แžแŸ’แž‰แžปแŸ† bc1qu7lhf45xw83ddll5mnzte6ahju8ktkeu6qhttc. แž”แŸ’แžšแžŸแžทแž“แž”แžพแžขแŸ’แž“แž€แž…แž„แŸ‹แžŸแžถแž€แž›แŸ’แž”แž„แž€แŸ„แžŸแžทแž€แžถแž“แŸ…แž€แŸ’แž“แžปแž„แžŸแž€แž˜แŸ’แž˜แž—แžถแž– แž“แžทแž„แž˜แžถแž“ bitcoins แžแŸ’แž›แŸ‡ แžขแŸ’แž“แž€แžขแžถแž…แž…แžผแž›แž‘แŸ…แž€แžถแž“แŸ‹แžšแž”แžŸแŸ‹แžแŸ’แž‰แžปแŸ† แž‚แž˜แŸ’แžšแŸ„แž„แžŸแžแŸ’แžœแž…แžทแž‰แŸ’แž…แžนแž˜.

แž”แŸ’แžšแž—แž–: www.habr.com

แž‘แžทแž‰แž€แžถแžšแž”แž„แŸ’แž แŸ„แŸ‡แžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แž˜แžถแž“แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS, แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS ๐Ÿ”ฅ แž‘แžทแž‰แžŸแŸแžœแžถแž”แž„แŸ’แž แŸ„แŸ‡แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS แž“แžทแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS | ProHoster