/hamonize

Remote pc management system

Primary LanguageJavaScriptApache License 2.0Apache-2.0

HAMONIZE

GitHub License GitHub repo size

GitHub contributors GitHub stars GitHub forks GitHub issues

Contributors โœจ

Thanks goes to these wonderful people (emoji key):


yeji0407

๐Ÿ’ป

Kevin Kim

๐Ÿ’ป

julie lee

๐Ÿ’ป

JamesBae

๐Ÿ’ป

choonsik

๐Ÿ’ป

This project follows the all-contributors specification. Contributions of any kind welcome!

๊ฐœ์š”

ํ•˜๋ชจ๋‚˜์ด์ฆˆ๋Š” ํ•˜๋ชจ๋‹ˆ์นดPC๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ง์—์„œ ์ „์‚ฌ์  ๊ด€๋ฆฌ๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.

์กฐ์ง ๋‚ด ์ „์ฒด ํ•˜๋ชจ๋‹ˆ์นด ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ž์‚ฐ ๊ด€๋ฆฌ, ๋ณด์•ˆ ๊ด€๋ฆฌ, ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ, ํ™œ๋™ ๊ฐ์‚ฌ, ์›๊ฒฉ ์ œ์–ด ๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜๋ชจ๋‚˜์ด์ฆˆ๋Š” ์ธํ…” AMT ๊ธฐ์ˆ ์„ ์ด์šฉํ•˜์—ฌ ํ˜„์žฅ์˜ ๋ฐฉ๋ฌธ์—†์ด ์›๊ฒฉ์—์„œ ์šด์˜์ฒด์ œ์˜ ์žฌ์„ค์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, PC๊ฐ€ ๊บผ์ง„ ์ƒํƒœ์—์„œ๋„ ์›๊ฒฉ์ ‘์† ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” AES-256-CBC(256Bit) ๋ธ”๋ก๋ชจ๋“œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ Split Tunneling ๋กœ ์ œ๊ณตํ•˜์—ฌ ์•ˆ์ „ํ•œ ๋ณด์•ˆ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š”๊ธฐ๋Šฅ

CENTER

์ž์‚ฐ๊ด€๋ฆฌ, ์‚ฌ์šฉ์ž๊ด€๋ฆฌ, ๋ชจ๋‹ˆํ„ฐ๋ง, ๋ณด์•ˆ๊ด€๋ฆฌ, ๋ฐฑ์—… ๋ฐ ๋ณต๊ตฌ, ๋กœ๊ทธ๊ฐ์‚ฌ, ๋งค์ฒด์ œ์–ด, ํ†ต๊ณ„ ๋ฐ ๋ณด๊ณ ์„œ, ์—…๋ฐ์ดํŠธ ๊ด€๋ฆฌ, ํ”„๋กœ๊ทธ๋žจ ๊ด€๋ฆฌ

์‚ฌ์šฉ๊ธฐ์ˆ 

  • spring boot + maven ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽธ๋ฆฌํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ
  • docker๋กœ was(tomcat) ์„œ๋ฒ„ ๊ตฌ์ถ•
  • docker๋กœ postgresql ์„œ๋ฒ„ ๊ตฌ์ถ•
  • docker๋กœ ๋””๋ ‰ํ† ๋ฆฌ ์„œ๋ฒ„ ๊ตฌ์ถ• : openldap
  • docker๋กœ pc์˜ logging ์„œ๋ฒ„ ๊ตฌ์ถ• : telegraf + influxdb + grafana๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œˆ๋„์šฐ ๋ฐ ๋ฆฌ๋ˆ…์Šค ๋””๋ฐ”์ด์Šค๋“ค์—์„œ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ์ถœ๋ ฅ (์˜ˆ์ •)

์„ผํ„ฐ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

AGENT

ํ•˜๋“œ์›จ์–ด ๋ณ€๊ฒฝ ๊ฐ์‚ฌ, ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ „์†ก, ์ฃผ์š” ํ”„๋กœ๊ทธ๋žจ ๋ณดํ˜ธ, ๋ณด์•ˆ์ •์ฑ… ๊ตฌํ˜„, ๋งค์ฒด์ œ์–ด ๊ด€๋ฆฌ

์‚ฌ์šฉ๊ธฐ์ˆ 

  • Node.JS + shellscript ๋กœ ๋ฆฌ๋ˆ…์Šค H/W ๋””๋ฐ”์ด์Šค๋ฅผ ์ œ์–ด
  • Node.JS ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐ๋น„์•ˆ ์†Œ์Šค ํŒจํ‚ค์ง•
  • Node.JS๋กœ ์œˆ๋„์šฐ H/W ๋””๋ฐ”์ด์Šค๋ฅผ ์ œ์–ด(์˜ˆ์ •)
  • Node.JS ํ”„๋กœ์ ํŠธ๋ฅผ Windows ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒจํ‚ค์ง•(์˜ˆ์ •)

์—์ด์ „ํŠธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

ADMIN

ํ•˜๋“œ์›จ์–ด ๊ฐ์‚ฌ, ์›๊ฒฉํŒŒ์ผ์ „์†ก, ์„ธ์…˜์ž ๊ธˆ ๊ด€๋ฆฌ, ์›๊ฒฉ์ „์›๊ด€๋ฆฌ, ๋ชจ๋‹ˆํ„ฐ๋ง, ์Šคํฌ๋ฆฐ ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…, ์›๊ฒฉํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰, ์›๊ฒฉํ™”๋ฉด์บก์ณ, ์‹ค์‹œ๊ฐ„ ๋ฉ”์‹œ์ง€ ์ „์†ก, ๋””๋ ‰ํ† ๋ฆฌ์„œ๋น„์Šค ์—ฐ๋™, ๋ฐ”์ด์˜ค์Šค ์ œ์–ด, ์›๊ฒฉ์šด์˜์ฒด์ œ ์„ค์น˜, ์›๊ฒฉ ์‹œ๋ฆฌ์–ผ ์ฝ˜์†”, ์›๊ฒฉ๋ฐ์Šคํฌํ†ฑ, ์Šค์ผ€์ฅด ๋ถ€ํŒ…

์‚ฌ์šฉ๊ธฐ์ˆ 

  • c++๊ณผ c ์–ธ์–ด ์‚ฌ์šฉ, cmake์™€ ninja๋ฅผ ํ†ตํ•œ ๋นŒ๋“œ
  • ๊ฐ์ข… mingw ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•œ ์œˆ๋„์šฐ ํฌ๋กœ์Šค ์ปดํŒŒ์ผ ๋ฐฉ์‹ ์‚ฌ์šฉ
  • Qt5๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ์ด์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
  • OpenLDAP๊ณผ์˜ ์—ฐ๋™์œผ๋กœ ์กฐ์ง ์ •๋ณด ํ™œ์šฉ

์–ด๋“œ๋ฏผ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

์•„ํ‚คํ…์ฒ˜

architecture

๋ผ์ด์„ ์Šค