메뉴 닫기

iwinv-cli: 터미널 및 OpenClaw 에서 iwinv 서버 관리하기

iwinv-cli는 iwinv 클라우드 콘솔을 터미널에서 관리할 수 있게 만든 오픈소스 CLI 도구입니다.

웹 콘솔에 접속하지 않고도 서버 생성, 방화벽 설정, 트래픽 조회 같은 작업을 명령어로 바로 처리할 수 있습니다. 

 

매번 웹 브라우저를 열고 콘솔에 로그인해서 메뉴를 찾아 들어가는 과정이 반복되다 보니, 터미널에서 바로 처리할 수 있으면 좋겠다는 생각이 들어 직접 제작하게 되었습니다.

iwinv는 공식 API를 제공하고 있으나 기능이 제한적이기 때문에 Go 언어와 Playwright를 사용해서 웹 자동화 방식으로 구현했습니다.

 

주의사항: 본 도구는 iwinv 공식 지원이 아닌,  Playwright로 제작된 비공식 자동화 툴입니다.
웹 페이지 구조가 바뀌면 일부 기능 작동이 어려울 수 있고,  테스트가 완벽하지 않아 예상치 못한 버그가 발생할 가능성도 있습니다.
실제 서버 생성이나  서버  삭제가 이루어지는 도구인 만큼, 사용 시 주의가 필요로 합니다.
본 도구 사용으로 인한 과금이나 데이터 손실, 유출 등의 결과는 책임지지 않습니다.

 

설치하기

IWINV cli 다운로드

macOS와 Linux 환경에서는 설치 스크립트를 실행하여 간단하게 설치할 수 있습니다.

curl -fsSL https://raw.githubusercontent.com/ugnoeyh/iwinv-cli/main/install.sh | sh

이 스크립트는 현재 시스템에 맞는 스크립트를 다운 및 실행하면 /usr/local/bin 디렉토리에 설치됩니다.

설치가 완료되면 터미널에서 iwinvctl 명령어를 사용할 수 있습니다.

 

첫 로그인

최초 실행시 필요한 라이브러리 다운로드
최초 실행시 필요 라이브러리 다운로드
iwinvctl --login

명령어를 실행하면 계정 정보를 입력하라는 프롬프트가 나타납니다. 계정 정보를 입력하면 세션이 생성되고 state.json 파일에 저장됩니다.

24분 동안 요청이 없거나, 다른 세션에서 IWINV 로그인시 세션이 만료가 되면 재로그인 과정을 실행합니다.

 

매번 계정 정보를 입력하는 것이 번거롭다면 환경 변수 파일을 사용할 수 있습니다.

/usr/local/bin/.env 파일을 만들고 다음과 같이 작성하면 됩니다.

IWINV_ID=iwinv.kr-your-id 
IWINV_PW=iwinv.kr-your-password

이렇게 설정하면 로그인 프롬프트 없이 자동으로 인증됩니다.

 

지원 기능

iwinv-cli가 제공하는 기능을 카테고리별로 정리했습니다. 각 명령어와 사용 방법을 확인할 수 있습니다.

서버 조회 및 관리

기능 명령어 설명
서버 목록 iwinvctl –list 보유한 모든 서버의 이름, IP, 상태, idx 값 확인
전원 제어 iwinvctl –power on|off –target [idx 값] 서버 전원을 켜거나 끕니다
공인 IP 관리 iwinvctl –ip on|off –target [idx 값] 공인 IP를 활성화하거나 비활성화
트래픽 사용량 iwinvctl –traffic –target [idx 값] –traffic-year 2026 –traffic-month 3 서버별 월별 트래픽 사용량 확인
요금 조회 iwinvctl –bill [–bill-year 2026] [–bill-month 4] 청구되고 있는 실시간 전체 요금 또는 특정 월의 요금 확인
서버 삭제 iwinvctl –delete –target [idx 값] 서버 영구 삭제
서버 조회 및 관리
IWINV CLI 서버 조회 및 관리 예시

 

서버 생성

기능 명령어 설명
리전 1차 조회 iwinvctl –create-region1 사용 가능한 1차 리전 목록
리전 2차 조회 iwinvctl –create-region2 [리전 1차 조회값] 특정 1차 리전의 2차 존 목록
스펙 조회 iwinvctl –create-spec –region1 [리전 1차 조회값] –region2 [리전 2차 조회값] 특정 리전에서 사용 가능한 스펙
운영체제 조회 iwinvctl –create-os –region1 [리전 1차 조회값] –region2 [리전 2차 조회값] –spec [스펙 조회값] 특정 스펙에서 설치 가능한 OS
스펙별 리전 검색 iwinvctl –search-spec [스펙 조회값] 특정 스펙 사용 가능한 모든 리전
서버 생성 iwinvctl –create –region1 [리전 1차 조회값] –region2 [리전 2차 조회값] –spec [스펙 조회값] –os-type 기본 –os [운영체제 값] –name [작명할 서버명] 새 서버 생성
IWINV CLI 서버 생성 예시
IWINV CLI 서버 생성 예시

 

# 리전2, Rockylinux_8.X 생성 예시 명령어
iwinvctl --create --region1 "KR1-ZONE" --region2 "KR1-Z02" --spec "hpa_4.8-g1" --os-type "기본" --os "Rockylinux_8.X" --name "임시생성테스트"

# 서버 리스트 조회
iwinvctl --list

 

 

방화벽 관리

기능 명령어 설명
정책 목록 iwinvctl –firewall-list 생성된 방화벽 정책 목록
정책 생성 iwinvctl –firewall-create –firewall [작명할 방화벽 명] 새 방화벽 정책 생성
규칙 추가 iwinvctl –firewall-add –firewall-ref [방화벽 idx값] –firewall-dir inbound|outbound|both –rule-protocol TCP –rule-port 80 –rule-ip IP/CIDR 방화벽 규칙 추가 (both로 양방향 동시 설정 가능)
규칙 삭제 iwinvctl –firewall-remove –firewall-ref [방화벽 idx값] –firewall-dir inbound –rule-protocol TCP –rule-port 80 –rule-ip IP 특정 방화벽 규칙 삭제
국제망 통신 설정 iwinvctl –firewall-ref [방화벽 idx값] –firewall-international USA,JAPAN,TAIWAN 또는 FOREIGN 특정 국가 허용 또는 전체 차단 (FOREIGN)
검색봇 차단 iwinvctl –firewall-ref [방화벽 idx값] –firewall-bot GOOGLE,NAVER 또는 ALL 특정 검색봇 차단 또는 전체 차단 (ALL)
서버에 정책 적용 iwinvctl –firewall-choice-server [서버 idx값]–firewall-choice-policy [방화벽 idx값] –firewall-choice-use Y|N 방화벽 정책 적용 또는 해제
국제망 통신 설정 iwinvctl –firewall-ref [방화벽 idx값] –firewall-international USA,JAPAN,TAIWAN 또는 FOREIGN 특정 국가 허용 또는 전체 차단 (FOREIGN)
방화벽 설정 조회 ./iwinvctl –firewall-tab inbound|outbound|international|bot –firewall-ref “[firewall-idx]” 특정 방화벽  인바운드|아웃바운드|국제망설정|봇 조회

IWINV CLI ELCAP 방화벽 관리 예시
IWINV CLI ELCAP 방화벽 관리 예시

# 특정 ELCAP 봇 정책 리스트 조회
iwinvctl --firewall-tab bot --firewall-ref 10023

# 특정 ELCAP Naver 봇 차단 명령어
iwinvctl --firewall-ref 10023 --firewall-bot NAVER 

# 특정 ELCAP 봇 정책 리스트 설정 후 재조회
iwinvctl --firewall-tab bot --firewall-ref 10023

 

 

OpenClaw 설정하기

# IWINV-CLI

## 1) 고정 작업 경로
- 작업 디렉터리: `/usr/local/bin`
- 실행 바이너리: `/usr/local/bin/iwinvctl`
- 환경파일: `/usr/local/bin/.env`
- 세션파일: (현재 작업 디렉터리 기준)

## 2) 기본 실행 템플릿
모든 명령은 아래 템플릿을 기준으로 실행합니다.

```bash
/usr/local/bin/iwinvctl <flags...>
```

## 3) 로그인/세션 규칙
- `state.json`이 있으면 저장 세션을 재사용합니다.
- 세션이 만료되었거나 꼬였으면 아래로 재로그인합니다.

주의:
- 최초 로그인 시 ID/PW 입력이 필요합니다.

## 5) 보안 규칙
- `.env`에 `IWINV_PW` 저장 후 사용


예시 `.env`:
```env
IWINV_ID=your-id
IWINV_PW=your-password
```

## 6) 액션별 명령어

서버 조회:
```bash
/usr/local/bin/iwinvctl`
```

서버 트래픽 조회(일일 상세):
```bash
/usr/local/bin/iwinvctl --traffic --target "<서버명 또는 server-idx>"
/usr/local/bin/iwinvctl --traffic --target "<서버명 또는 server-idx>" --traffic-year <Year> --traffic-month <Month>
```

요금 상세 조회(서버/상품별):
```bash
/usr/local/bin/iwinvctl --bill
/usr/local/bin/iwinvctl --bill --bill-year 2026 --bill-month 4
/usr/local/bin/iwinvctl --bill --target "<서버IP 또는 server-idx>"
```

전원 제어:
```bash
/usr/local/bin/iwinvctl --power on --target "<서버명 또는 server-idx>"
/usr/local/bin/iwinvctl --power off --target "<서버명 또는 server-idx>"
```

공인 IP 제어:
```bash
/usr/local/bin/iwinvctl --ip on --target "<서버명 또는 server-idx>"
/usr/local/bin/iwinvctl --ip off --target "<서버명 또는 server-idx>"
```

서버 삭제:
```bash
/usr/local/bin/iwinvctl --delete --target "<서버명 또는 IDX>"
```

예시 생성용 메타 조회:
```bash
/usr/local/bin/iwinvctl --create-region1
/usr/local/bin/iwinvctl --create-region2 "KR1-ZONE"
/usr/local/bin/iwinvctl --create-spec --region1 "KR1-ZONE" --region2 "KR1-Z02"
/usr/local/bin/iwinvctl --create-os --region1 "KR1-ZONE" --region2 "KR1-Z02" --spec "hpa_2.4-g2"
/usr/local/bin/iwinvctl --search-spec "2 vCore"
```

예시 서버 생성:
```bash
/usr/local/bin/iwinvctl --create \
  --region1 "KR1-ZONE" \
  --region2 "KR1-Z02" \
  --spec "hpa_2.4-g2" \
  --os-type "기본" \
  --os "Ubuntu 22.04" \
  --name "auto-server"
```

방화벽 목록/탭 조회:
```bash
/usr/local/bin/iwinvctl --firewall-list
/usr/local/bin/iwinvctl --firewall-create --firewall "<firewalld-name>"
/usr/local/bin/iwinvctl --firewall-tab inbound --firewall-ref "<firewalld-idx>"
/usr/local/bin/iwinvctl --firewall-tab outbound --firewall-ref "<firewalld-idx>"
/usr/local/bin/iwinvctl --firewall-tab international --firewall-ref "<firewalld-idx>"
/usr/local/bin/iwinvctl --firewall-tab bot --firewall-ref "<firewalld-idx>"
```

방화벽 룰 추가/삭제:
```bash
/usr/local/bin/iwinvctl --firewall-add --firewall-ref "<firewalld-idx>" --firewall-dir inbound --rule-protocol TCP --rule-port <PORT> --rule-ip "<IP>"
/usr/local/bin/iwinvctl --firewall-remove --firewall-ref "<firewalld-idx>" --firewall-dir inbound --rule-protocol TCP --rule-port <PORT> --rule-ip "<IP>"
```

국제망/검색봇 정책:
```bash
/usr/local/bin/iwinvctl --firewall-ref "<firewalld-idx>" --firewall-international "FOREIGN"
/usr/local/bin/iwinvctl --firewall-ref "<firewalld-idx>" --firewall-international-remove "CHINA,USA"
/usr/local/bin/iwinvctl --firewall-ref "<firewalld-idx>" --firewall-international-clear
/usr/local/bin/iwinvctl --firewall-ref "<firewalld-idx>" --firewall-bot-remove "NAVER"
/usr/local/bin/iwinvctl --firewall-ref "<firewalld-idx>" --firewall-bot-clear
```

서버별 방화벽 사용 설정:
```bash
/usr/local/bin/iwinvctl --firewall-choice-server "<server-idx>" --firewall-choice-policy ""<firewalld-idx>" --firewall-choice-use "Y"
/usr/local/bin/iwinvctl --firewall-choice-server "<server-idx>" --firewall-choice-policy ""<firewalld-idx>" --firewall-choice-use "N"
```

필수 인자/충돌 규칙
- `--power`, `--ip`, `--delete`는 `--target` 필수
- `--traffic-year`, `--traffic-month`는 `--traffic`와 함께 사용
- `--bill-year`, `--bill-month`는 `--bill`과 함께 사용
- `--delete`는 비밀번호 필수 (`IWINV_PW` 또는 `--pw`)
- `--create`는 `--region1`, `--region2`, `--spec` 필수
- `--qty >= 2`이면 비밀번호 필수
- `--firewall-create`는 `--firewall`(정책명) 필수
- `--firewall-tab`, `--firewall-add`, `--firewall-remove`, `--firewall-international*`, `--firewall-bot*`는 `--firewall-ref` 필수
- `--firewall-choice-use` 사용 시 `--firewall-choice-server`, `--firewall-choice-policy` 필수

동시 사용 불가:
- `--firewall-international` + `--firewall-international-remove`
- `--firewall-international` + `--firewall-international-clear`
- `--firewall-international-remove` + `--firewall-international-clear`
- `--firewall-bot` + `--firewall-bot-remove`
- `--firewall-bot` + `--firewall-bot-clear`
- `--firewall-bot-remove` + `--firewall-bot-clear`

 

[OpenClaw 도구 설정 방법]

  1. 왼쪽 메뉴에서 ‘에이전트’ 클릭

  2. 상단 탭에서 ‘파일’ 선택

  3. 세부 항목 중 ‘TOOLS’ 클릭

  4. 나타나는 편집창에 위 내용을 복사하여 붙여넣기  ‘저장’

  5. OpenClaw 재시작
openclaw gateway restart

 

OpenClaw IWINV-CLI 자연어 명령 실행

 

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다