ngrok이란 터널링 프로그램이 있음.
ngrok은 go로 빌드된 것으로, elf로 실행파일이 나옴.
ngrok이 openwrt barrier breaker란 버전(수 년 전 버전)에서는 잘 돌아가는데, 최신 버전에서는 안돌아감...
최신버전에서 안돌아갈때 gdb로 bt해보니 runtime1.go라는 런타임 폴더에 있는 런타임들을 원하길래 넣어줌.
그랬더니 runtime1.go의 i, float32라는 문장이 문제라고 뜸.
ngrok 매우 예전 버전을 빌드해보기도 하고
최신 ngrok을 써보기도 했는데, 둘다 예전 버전의 openwrt에선 돌아가는데 최신 버전에선 안돌아감 ;ㅅ;
여기서 뇌정지 왔는데 도대체 뭘 찾아봐야할까? ;ㅅ;
그리고 go install로 static 하게 빌드를 했는데, go 런타임은 왜 원하는걸까 ;ㅅ;
ngrok 말고 다른거 쓰는게 정신건강에 좋지않을까
이게 타겟 아키텍쳐가 mips계열이라... 호환되는거 구하는게 넘모 힘들다
chroot돌릴 공간은 없냐?
chroot 공간 있을 것 같은데, 어떤식으로 적용함?
openwrt 자체에 go 들어가 있으니까 거기서 직접 빌드해봐
물론 콩유기에 go 컴파일러 돌아갈거 같진 않으니 qemu 들어가야 하나
https://openwrt.org/packages/pkgdata/golang
ㅋㅋ 나도 저거 설치하고 싶은데, 플래시 사이즈가 너무 작아서 안드감 ㅋㅋ
플래시 사이즈가 16메가인가 32메가라 ㅋㅋㅋ
용량 모자라면 USB 꽃고 extroot로 잡으면 될거임. 타겟이 정확히 뭐임? 내가 파보게
오우 그런방법도 있나!! 타겟은 mt7621(mips 1004kc)임 키워드줘서 감사!!!
그런데 이제보니 내가보는 ngrok은 nodejs인데
https://github.com/bubenshchykov/ngrok
https://github.com/inconshreveable/ngrok
난이거
DO NOT RUN THIS VERSION OF NGROK (1.X) IN PRODUCTION. Both the client and server are known to have serious reliability issues including memory and file descriptor leaks as well as crashes. There is also no HA story as the server is a SPOF. You are advised to run 2.0 for any production quality system.
ngrok.com ran a pay-what-you-want hosted service of 1.x from early 2013 until April 7, 2016. Afterwards, it only runs 2.x service.
님 보는 ngrok은 1.x 버전이고 2.x랑 호환 안 되는거 같은데
아 그거 봤는데, 상용 버전의 ngrok이 왜 안될까 분석하는 도중에 과거의 버전(지금 깃허브 올려준거)에서도 안되면 아예 다른 방법을 찾아보려고 했던거라
오늘 해보니까 얼추 빌드도 되고 터널링도 잘 되더라고... 그런데 openwrt 최긴버전에서 실행인안되서 :ㅅ;
안되는 이유도 똑같은거 같은데, 분석이 안되는중... 에러 내용은 illegal instrution이고, gdb bt로 보니 go runtime이 없어서 그렇다고 하는데, 과거 버전의 openwrt에도 go runtime이 없는데 잘되거든 :ㅅ;
런타임 찾아서 넣어주니, 런타임을 실행하는 와중에 특정 변수를 float32인가로 선언해주는거에서 또 뻑이나더라 ㅜㅅㅜ
저 node로 돌리는 ngrok도 usb를 extroot로 잡고 진행할수있는건가?
아예 USB 드라이브를 /overlay로 마운트 하는 거니까 용량 문제는 확실히 해결될 거임
오 한줄기 희망이 보인다
그래서 설치 성공함?
아니 내일 할건데
잘 안된다... 설상가상으로 빌드용 데탑이 터져서 일시중단