서버 설정
config.toml, 서버가 파일을 저장하는 위치, 그리고 토큰, 릴레이, 저장된 프록시, 웹훅을 관리하는 CLI 명령을 설명합니다.
번역된 페이지입니다. 영어 문서와 내용이 다르면 영어 문서가 기준입니다. English
파일 위치
| 시스템 | 폴더 |
|---|---|
| Windows | %APPDATA%\Droidline |
| macOS | ~/Library/Application Support/Droidline |
| Linux | ~/.config/droidline |
DROIDLINE_HOME이나 --home <folder>로 다른 폴더를 지정할 수 있습니다. 이렇게 하면 PC 한 대에서 서로 독립된 서버를 여러 개 띄울 수 있습니다. 지금 쓰는 폴더는 droidline doctor가 출력합니다.
| 파일 | 작성 주체 | 내용 |
|---|---|---|
config.toml | 사용자 | 포트, 언어, 원격 주소, 웹훅 |
state.json | 서버 | 페어링된 폰, 해시로 저장한 클라이언트 토큰 |
secrets.dpapi(Windows) 또는 secrets.json | 서버 | 서버 키, TLS 키, 릴레이 토큰, 저장된 프록시, 웹훅 시크릿 |
tls.crt | 서버 | 직접 연결 경로에서 폰이 고정(pinning)해 확인하는 인증서 |
config.toml
서버를 처음 시작하면 주석이 달린 이 파일을 만듭니다. 파일을 고친 뒤에는 droidline serve를 다시 시작하세요.
name = "" # 폰에 표시되는 이 PC의 이름. 비워 두면 컴퓨터 이름
lang = "" # 에러 메시지 언어: en, ko, zh. 비워 두면 시스템 언어
offline_wait = 30 # 명령이 오프라인 폰을 기다리는 시간(초)
[agent]
listen = ":8779" # 폰이 여기로 접속
[client]
listen = "127.0.0.1:8780" # 내 코드가 여기로 접속
require_token = false # true면 로컬을 포함한 모든 연결에 토큰 필요
allowed_origins = [] # HTTP API를 호출할 수 있는 웹 페이지
[discovery]
listen = ":8778" # "off"면 와이파이 탐색을 끔
[pairing]
code = true # 같은 와이파이에서 6자리 코드로 페어링 허용
[remote]
addresses = [] # 예: "tls://203.0.113.5:8779", "wss://droid.example.com/agent"
[relay]
url = "" # droidline relay set으로 설정
[[webhooks]]
url = "https://example.com/hooks/droidline"
package = "com.kakao.talk"
text_contains = ""
device = ""
관리 명령
이 명령들은 서버 폴더의 파일을 바꿉니다. 릴레이 설정을 바꿨다면 서버를 다시 시작하세요.
droidline token create "build server" # 클라이언트 토큰을 한 번만 출력
droidline token list
droidline token revoke <id>
droidline relay set <url> <token>
droidline relay status
droidline relay off
droidline proxy add kr1 socks5://user:pass@203.0.113.10:1080
droidline proxy list
droidline proxy remove kr1
droidline webhook secret
droidline rename <device> <name>
droidline revoke <device>
서비스로 실행하기
droidline serve는 포그라운드에서 실행되고 로그를 표준 에러로 출력합니다. 계속 실행해 두려면 시스템의 서비스 관리자를 쓰세요. Windows에서는 로그온할 때 실행되는 예약 작업이나 서비스 래퍼, macOS에서는 launchd 에이전트, Linux에서는 systemd 사용자 유닛을 씁니다.
[Unit]
Description=Droidline server
[Service]
ExecStart=%h/.local/bin/droidline serve
Restart=on-failure
[Install]
WantedBy=default.target