메이드인 코리아 망했쩌
시간이 지난 얘기인데 중국이 이겼어요.
한국이 이긴거 조금 있어도 전체로 보면 대부분은 먹혀쩌.
오늘은 대망에 vpn서비스이어요. 국내 vpn 서비스는 모두 openvpn 프로젝트에 앵간의존해요. 또는 PPTP, L2TP. 물론 (불_) vpn사업을 하려는 거는 아니고 (애당초 내가 트래픽 요금을 내가 부담하는 서비스를 기획 하겠나요.) 치지직도 자기네 그리드 소프트웨어를 뿌려서 트래픽 요금을 절감하는 거여요. 그리드 정도는 webrtc만 사용하여도 충분한 거이지만 패킷 쉐도잉 같은거는 이거로 부족하는 거여요.
위에서 핵심이 tun2sock 이어요. 이거는 tun (일반적 L2) 패킷을 sock (일반적 소켓통신) 패킷으로 수신하는 거이고, 이런 프로젝트가 이쩌. udp 패킷은 시퀀스가 없어서 아무렇게 하여도 되는 거이나 tcp는 시퀀스가 있어요. 이럼 tun-tcp는 ack-syn 같은 시퀀스가 정확하여야 한다는 거여요. 이 중에서도 이거좀 바바요.
GitHub - heiher/hev-socks5-tunnel: Tun2socks (Linux/Android/BSD/macOS/iOS/WSL2) (IPv4/IPv6/TCP/UDP)
사실 jtun2socks 처럼 목적지 주소를 내 컴퓨터로 하이재킹 한다면 미리 열어 놓은 로컬서버로 데이터를 수신하는 거여요. 자바 소켓은 로우 소켓이 안되어서 이케이케 한거 같은데 다른 tun2sock 모듈에 의존성이 없으려면 이 방법 밖에 없는거 아니나요.
이거는 여담인데 위에서 루프백으로 돌리는거를 하려면 포트넘버를 8080 처럼 미리 약속하면 좋았을 거여요. 0 ~ 1024는 시스템 예약으로 인하여 루트 권한이 필요해요.
다른 거는 인터페이스 내부에서 되어지는 통신은 손실율이 0% 라고 가정하여서 데이터 필드만 뽀_서 소켓으로 보내는 거여요. 이렇게 하면 위에 처럼 체크섬 필드를 다시 계산하는거 안하여도 되게쩌. 물론 다시 되돌려주는 패킷은 여전하게 체크섬을 계산하여야 하여서 이거나 저거나 특별한 차이가 없는거 아니나 몰라요.
이번에는 socks5 규격을 사용하지 않을 거여서 어뜨케 하여야 하는지 결정을 미루고 있어요. 별도에 서버를 사용한다면 로우소켓을 사용하는 수가 있지만 필드를 변경한다 이럼 아무튼 체크섬은 다시 계산하여야 하는 거고요. 체크섬 계산은 사실 거르는 방법이 없쩌.
어뜩해야 하나요.
