박정기
박정기
🌿 뉴비 파트너
🧙 AI 위자드

[7기 #1인 스타트업 다마고치] GPT4로 불법복제 방지 서버 구축하기 #1


안녕하세요


개발자 박정기 입니다.


제 자세한 소개는 노션을 봐주세요!

https://oil-colony-91e.notion.site/bb4d4b567f064aa58024a2b9605a93e5?pvs=4


3줄 요약

  1. 외주로 만든 프로그램의 불법 복제를 막기 위해 설치 프로그램과 인증 서버 구축을 결심

  2. 밑바닥부터 어떤 툴을 써야하는지, 어떤 툴을 더 추천하는지, GPT4에게 큰 설계를 맡기고, 함께 코딩함 (GPT4 와 코파일럿 모두 사용)

  3. 설계에 따라 진행하면서 파스칼 코드와 파이썬 코드를 모두 함께 작성, 빠르게 AWS에 배포하여 클라이언트의 불법 복제를 막을 수 있게 설치 프로그램으로 잘 설치가 되도록 만듬


저는 최근 2달 동안, 프리렌서 개발자로 얼만큼 성장 할 수 있는지,

얼만큼의 능력이 있는지 알아보기 위해 일해봤습니다.


진행한 외주 프로젝트는 다음과 같습니다.


논문사이트 크롤링

OTT 사이트 자동 회원가입 및 구독 결제 매크로

카카오톡 매크로

네이버 서이추 매크로

네이버 포스팅 매크로

네이버 키워드 조회량, 컨텐츠 발행량 매크로

모바일 신한플레이 ADB 매크로

이외 추가적인 외주 약 10개 이상


좋은 후기를 받은 저는 아 그래도 굶어죽지는 않겠구나, 라는 생각을 갖게 됩니다.


외주를 진행하면서 필요하다고 느껴진 것은

“불법 복제 예방 프로그램”


이 프로그램이 없다면, 제가 힘들게 만든 프로그램들이

무분별하게 복제 될 수 있겠다는 생각이 들어


1인 기업, 즉 프리렌서 개발자로서 불법 복제 예방을 위해

서버를 만들게됩니다.



하지만, 어디서 어떻게 시작해야 할지도 모르고

뭘 어떻게 해야할지 모르겠던 찰나


GPT4에게 정말 처음부터 질문을 하기 시작하여 설치프로그램과 인증서버를 구축하게 됩니다.


1. 가장 처음으로 한 질문


우리가 파이썬 프로젝트를 진행했어

main.py를 pyinstaller 로 exe 파일로 만들고 있는데,

이 실행파일을 어떠한 key 값이 없으면 실행 못하도록 만들고 싶어
그리고 그 key는 일정 유효시간이 지나면 만료가 돼도록 만들고 싶어

이럴떈 어떻게 개발해야해?

https://chat.openai.com/share/d8cd0098-cba5-4174-92e0-0ea098079eb4


이 질문을 통해 답변받은 key file를 통한 인증 또한 쉽게 복제되는 경우라 생각이 들어, 주변 지인 개발자가 setup.exe 파일을 만들어보는게 어떻겠느냐라는 조언을 받아서 setup.exe를 만들 수 있는 tool를 GPT4에게 추천 받고자 하였습니다.

2. 챗지피티가 setup.exe파일을 만드는 오픈 소스인 NSIS, Inno Setup 을 언급하여 알게 됐고, 그 뒤로 질문을 하여 Inno Setup을 선택하게 됨

 NSIS, Inno Setup


이 툴을 사용해서 내가 만든 exe파일을 설치할 수 있게 하고 싶어.

일단 1.  NSIS, Inno Setup 중에서 어떤 오픈소스를 추천하는지 알고 싶어 너가 추천해줬으면 좋겠어.

2. 위에서 내가 짠 코드에서 

@app.route('/validate_serial', methods=['POST'])
def validate_serial():
    serial = request.form.get('serial')
    if serial in VALID_SERIALS:
        # 실제로는 이 부분에서 프로그램 설치 또는 다운로드 링크 제공 등의 로직을 구현하면 됩니다.
        return jsonify(status='success', message='시리얼 키가 유효합니다!')
    else:
        return jsonify(status='error', message='시리얼 키가 유효하지 않습니다.'), 400

---

이 부분에서 이제 인증이 완료되면 setup 파일이 잘 설치가 되도록 하는 걸 어떻게 구현 하면 될까


  • Inno Setup: Inno Setup은 또한 Windows용 무료 오픈소스 설치 패키지입니다. Pascal 스크립트를 기반으로 하며, 사용하기 쉬운 GUI를 제공하므로 초보자에게 좋습니다.

두 툴 모두 장단점이 있습니다. NSIS는 매우 유연하며 사용자 정의 스크립트를 통한 설치 프로세스 제어가 가능하지만, 초보자에게는 다소 복잡할 수 있습니다. 반면, Inno Setup은 사용하기 쉬운 GUI와 함께 강력한 스크립트 기능을 제공합니다. 필요에 따라 선택하면 됩니다. 개인적으로, 시작하기에는 Inno Setup이 더 사용자 친화적이므로 추천합니다.


3. INNO setup의 스크립트 언어인 파스칼 언어 코드를 챗 지피티로 작성했고, 만든 Inno setup 과 flask 서버를 연동 시킬 수 있도록 지속적으로 GPT4와 대화


파스칼 언어는 제가 처음 보는 언어였고, 이 언어를 배워서 스크립트를 짜고, 이럴시간이 부족했습니다. 하지만 GPT4가 파스칼 코드 또한 잘 만들어줘서 지속적으로 만들어나갈 수 있었습니다. 다만 파이썬보다는 전세계적으로 데이터가 적어서, 그리고 업데이트를 못따라가서 그런지 오류가 훨씬 많이 났지만, 다큐먼트를 보면서 디버깅 해나가며 할 수 있었습니다.


https://chat.openai.com/share/f7c69836-896c-4899-a92b-4fa6c29911b4


4. 약 1주일 동안 지속적인 유지보수를 통해, INNO setup과 Flask 서버로, 제가 만든 프로그램을 시리얼 값을 통해 인증받아서 설치할 수 있도록 구축 완료


설치영상_자막.mp4


8
4개의 답글


👀 지피터스 AI스터디 13기 둘러보기

지피터스 채용

2천만 크리에이터의 원-소스 멀티-유즈 노하우를 함께 실행할 팀원을 찾고 있습니다!

수 백개의 AI 활용법을 발견하는

AI 스터디 13기 모집

⏰ ~10/31(목) 23:59까지

👉 이 게시글도 읽어보세요