Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

크롤링 구조에 관한 생각 #13

Open
nnnlog opened this issue May 22, 2023 · 2 comments
Open

크롤링 구조에 관한 생각 #13

nnnlog opened this issue May 22, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@nnnlog
Copy link
Owner

nnnlog commented May 22, 2023

Flutter 코드를 최소화

  • Javascript 코드의 실행 비율을 늘릴 것
  • 단일 페이지가 아니라 여러 페이지에서 실행되야 한다면?
  • Flutter에 또다른 interface를 구현해야 할까?

스레드처럼 동작할 수 있을까

  • Flutter에서 task(running by worker)의 강제 중지가 현재로썬 불가능함
  • 위 문단의 방법(javascript로 모두 대체)을 채택하게 된다면, 단순히 웹뷰의 페이지를 새로고침하는 정도로 javascript 코드의 실행을 중지시킬 수 있음
  • 그런데, 여러 페이지에서 계속해서 정보를 저장하고 다니면서 실행되어야 하고, Flutter에 Javascript와의 통신 interface를 도입하면 스레드 개념을 도입하는 것이 너무 복잡해지지는 않을까?
  • 다행히 원자적(Atomic)으로는 지난 겨울방학에 작업한 Worker가 잘 실행시켜주고 있음

코드 원격 실행 관점에서 본다면,

  • 앱에서 git에 저장된 크롤링 코드를 실행하는 것은 좋게 본다면, 빠른 패치가 가능하다.
  • 그러나 이러한 방식이 코드 원격 실행(RCE)과 다른게 무엇인가?
  • 사용자에게 크롤링 코드를 업데이트할 것인지 confirm 받는 것으로 충분할지 생각해봐야 한다.
@nnnlog nnnlog added enhancement New feature or request help wanted Extra attention is needed labels May 22, 2023
@nnnlog nnnlog self-assigned this May 22, 2023
@nnnlog nnnlog mentioned this issue May 22, 2023
27 tasks
@nnnlog
Copy link
Owner Author

nnnlog commented May 25, 2023

개발자 계정이 탈취된다면 보안 위험이 있지만,

  • 이미 계정에 2FA 적용되어 있음
  • 일반적인 웹 페이지나 애드블락 같은 것들도 Javascript 코드로 업데이트 진행함
  • 사용자 동의는 초기 동의 시 받는 것으로 함

그럼에도 불구하고, sandboxing이나 전용 통신? 규격을 만들면 좋을 것 같긴하다. (다만, 효율성이 많이 떨어질지도)

@nnnlog
Copy link
Owner Author

nnnlog commented Dec 19, 2023

  • 점진적으로 코드는 원격 실행을 지원하는 방향으로 갈 것 (안 할 가능성 높음)
  • 하나의 task에 하나의 headless webview가 생성되고, 이 webview는 time qauntum을 초과하면 반드시 종료됨.
  • usaint-injector를 사용해 플러터 코드를 최소화함.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant