깃허브 액션 기다리다 속 터져서... 그냥 직접 배달하는 봇을 만들었습니다.
요즘 Github Actions 돌려놓고 멍하니 모니터만 바라보는 시간이 너무 길더라고요. 무료 티어라 그런가, 빌드 한번 걸어놓으면 세월아 네월아... 게다가 ubuntu <-> windows <-> mac 한 번에 된적이 없어요 ㅠㅠ
성격 급한 한국인으로서 더 이상은 못 참겠다 싶어서 지난 2주 동안 뚝딱거려서 Rust로 툴 하나를 만들었습니다. 이름하여 [Troy] 프로젝트. (네, 그 트로이 목마 맞습니다. 근데 이제 착한 일을 하는...)

일단 답답해서 만들었습니다.소스코드 수정하고, 커밋하고, 푸시하고, 액션 돌고... 이 과정이 너무 귀찮잖아요?그래서 그냥 내 코드가 알아서 옆에 있는 맥북이나 윈도우 데스크탑으로 날아가서 스스로 컴파일하게 만들면 어떨까? 하는 생각에서 시작했습니다.
어떻게 돌아가냐면요.메타(Meta)에서 만든 오픈소스 압축 프로토콜인 zst를 써서 프로젝트 폴더를 통째로 압축한 다음, UDP로 냅다 쏴버립니다.집에 있는 Ubuntu ↔ Windows ↔ Mac 사이를 오가는데, 속도가... 기가 막힙니다. 거의 실시간으로 내 소스 코드가 다른 OS에 "짜잔" 하고 나타나서 작업을 시작합니다. 일종의 자가증식형 작업 봇인 셈이죠.

근데 이제 고민이 좀...기능은 다 구현했어요. 로컬 네트워크에서는 기가 막히게 잘 돌아갑니다.문제는 이걸 **인터넷(외부망)**으로 여는 순간인데... 서버랑 트래커 기능까지는 다 짜놨지만, 포트를 여는 순간 제 컴퓨터가 공공재가 될까 봐(보안 이슈...) 지금 2주째 "아, 이걸 풀어 말아?" 하고 간만 보고 있습니다.
흔한 파일 공유 프로그램은 하기 싫어서요.단순히 파일 전송하는 건 이미 좋은 툴 많잖아요. 저는 이걸 좀 더 재밌게 써보고 싶습니다.예전에 끄적였던 아이디어처럼 **'인간만이 접속할 수 있는 폐쇄형 네트워크'**를 만들어볼까 싶기도 하고요.
사실 SI하러 외주 나가면 80포트로 원격접속 터널링 부터 하던 기억이 나서... 만들었는데 제미나이가 과도하게 그림을 그려놨지만 단순하게 전달하면 폴더째 통째로 어느 디스크건 보안이 막혀있건 상관없이 파일 보냅니다. 압축도 하지 않아도 폴더 선택하면 알아서 압축해서 보내게 됩니다. 사실 기술이 뭔지 알 필요없습니다.
개발한 서버를 분산해서 보낼때 편하지만 보안적 위험성은 상대적으로 높아질 수 있는 문제라 github에 올려는 놨는데 일단 기능을 조금 다듬고 오픈하겠습니다. 그냥 내부망에서는 잘 돌아갑니다.
인터넷으로 사용할 수 있게 트래커, cli, server 구현은 했지만 활용에 대해서 고민중입니다. 위키나 AI를 접목한 문서나 남의 일 해줄 거래앱으로 퍼트려 볼까 하고 있습니다.
예전에 쓴 글처럼 인간이만 접속해 볼 수 있는 사이트 폐지 줍는 프로그램의 기본 기능은 완성됐네요.
포럼 댓글
아직 댓글이 없습니다. 포럼에서 첫 댓글을 남겨주세요.