Tổng quan về cấu hình
V2Ray chia sẻ cùng một cấu trúc cấu hình giữa phía máy chủ và phía máy khách được hiển thị như bên dưới. Cấu hình máy chủ và máy khách khác nhau trong các phần cụ thể.
Dưới đây là cấu trúc cấp cao nhất của cấu hình. Mỗi phần có định dạng riêng.
{
"log": {},
"api": {},
"dns": {},
"stats": {},
"routing": {},
"policy": {},
"inbounds": [],
"outbounds": [],
"transport": {}
}
log
: LogObject
Đăng nhập cấu hình để kiểm soát đầu ra nhật ký.
api
: ApiObject
API RPC để điều khiển phiên bản V2Ray. Xem cấu hình API để biết chi tiết.
dns
: DnsObject
Cấu hình cho cấu hình máy chủ DNS nội bộ. Nếu phần này bị bỏ qua, V2Ray sẽ sử dụng cấu hình DNS toàn hệ thống của bạn. Để biết chi tiết, xem Cấu hình DNS.
stats
: StatsObject
Khi được chỉ định, nội bộ Thống kê được bật.
policy
: PolicyObject
Cấu hình cho quyền và các chiến lược bảo mật khác. Để biết chi tiết, xem Chính sách địa phương.
routing
: RoutingObject
Cấu hình cho nội bộ Định tuyến chiến lược.
inbounds
: [ InboundObject ]
Một mảng InboundObject làm cấu hình cho proxy gửi đến.
outbounds
: [ OutboundObject ]
Một mảng OutboundObject làm cấu hình cho các proxy gửi đi. Chuyến đi đầu tiên trong mảng là mảng chính. Đây là định tuyến mặc định trong định tuyến định tuyến.
transport
: TransportObject
Cấu hình giao thức vận tải cấp thấp. Để biết chi tiết, xem Giao thức Tùy chọn Giao vận.
LogObject
{
"access": "/path/to/file",
"error": "/path/to/file",
"loglevel": "warning"
}
access
: string
Đường dẫn để truy cập nhật ký. Nếu không trống, nó phải là một đường dẫn tập tin hợp pháp, chẳng hạn như "/tmp/v2ray/_access.log"
(Linux) hoặc "C: \\ Temp \\ v2ray \\ _ access.log"
(Windows ). Nếu trống, V2Ray ghi nhật ký truy cập vào stdout
.
error
: string
Đường dẫn đến nhật ký lỗi. Nếu không trống, nó phải là một đường dẫn tập tin hợp pháp. Nếu trống, V2Ray ghi nhật ký lỗi tới stdout
.
loglevel
: "debug" | "info" | "warning" | "error" | "none"
Mức nhật ký được ghi. Các cấp nhật ký khác nhau cho biết nội dung nhật ký khác nhau. Giá trị mặc định là "cảnh báo"
.
Mức nhật ký:
"debug"
: Thông tin dành cho nhà phát triển. Cũng bao gồm tất cả"thông tin"
bản ghi."thông tin"
: Thông tin về trạng thái hiện tại của V2Ray. Người dùng không phải chăm sóc những người đó. Cũng bao gồm tất cả"cảnh báo"
bản ghi."cảnh báo"
: Đã xảy ra sự cố với môi trường, thường nằm ngoài V2Ray, ví dụ: mạng bị vỡ. V2Ray vẫn chạy nhưng người dùng có thể gặp phải một số sự cố. Cũng bao gồm tất cả"lỗi"
bản ghi."lỗi"
: Đã xảy ra sự cố nghiêm trọng, V2Ray không thể chạy được."none"
: Tất cả ghi nhật ký đều bị tắt.
InboundObject
Một InboundObject định nghĩa một proxy gửi đến. Nó xử lý các kết nối đến V2Ray. Proxy có sẵn được liệt kê ở đây.
{
"port": 1080,
"listen": "127.0.0.1",
"protocol": "protocol_name",
"settings": {},
"streamSettings": {},
"tag": "inbound_tag_name",
"sniffing": {
"enabled": false,
"destOverride": ["http", "tls"]
},
"allocate": {
"strategy": "always",
"refresh": 5,
"concurrency": 3
},
}
port
: number | "env:variable" | string
Cổng mà proxy đang nghe. Các định dạng có thể chấp nhận là:
- Số nguyên: số cổng thực tế.
- Biến môi trường: Bắt đầu bằng
"env:"
, biến env chỉ định cổng ở định dạng chuỗi, chẳng hạn như"env: PORT"
. V2Ray sẽ giải mã biến thành chuỗi. - Chuỗi: Giá trị chuỗi số, chẳng hạn như
"1234"
hoặc một loạt các cổng, chẳng hạn như"5-10"
cho tổng số 6 cổng.
Các cổng thực tế để mở cũng phụ thuộc vào phân bổ
thiết lập. Xem bên dưới.
listen
: address
Địa chỉ cần nghe. Giá trị mặc định là "0.0.0.0"
cho các kết nối đến trên tất cả các giao diện mạng. Nếu không, giá trị phải là địa chỉ của giao diện mạng hiện có.
protocol
: string
Tên của giao thức gửi đến. Xem từng cá nhân để biết các giá trị có sẵn.
settings
: InboundConfigurationObject
Cài đặt giao thức cụ thể. Xem InboundConfigurationObject
được định nghĩa trong mỗi giao thức.
streamSettings
: [StreamSettingsObject]
Xem Giao thức Giao thức Tùy chọn để biết chi tiết.
tag
: string
Thẻ của proxy đến. Nó có thể được sử dụng cho các quyết định định tuyến. Nếu không trống, nó phải là duy nhất trong số tất cả các proxy gửi đến.
sniffing
: SniffingObject
Cấu hình cho nội dung đánh hơi.
allocate
: AllocateObject
Cấu hình cho cổng phân bổ.
SniffingObject
{
"enabled": false,
"destOverride": ["http", "tls"]
}
enabled
: true | false
Có hay không kích hoạt nội dung đánh hơi.
destOverride
: ["http" | "tls"]
Một loại nội dung. Nếu loại nội dung của lưu lượng truy cập đến được chỉ định trong danh sách, đích của kết nối sẽ bị ghi đè bởi giá trị bị đánh hơi.
AllocateObject
{
"strategy": "always",
"refresh": 5,
"concurrency": 3
}
strategy
: "always" | "random"
Chiến lược phân bổ cảng. Khi nó được đặt thành "luôn luôn"
, tất cả cổng trong trường cổng
sẽ được cấp phát để nghe. Nếu "ngẫu nhiên"
được thiết lập, V2Ray sẽ nghe số đồng thời
cổng và danh sách các cổng được giới thiệu sau mỗi làm mới
phút.
refresh
: number
Số phút để làm mới các cổng nghe. Giá trị nhỏ nhất là 2
. Cài đặt này chỉ hiệu quả khi chiến lược
được đặt thành "ngẫu nhiên"
.
concurrency
: number
Số cổng để nghe. Giá trị nhỏ nhất là 1
. Giá trị tối đa là một phần ba toàn bộ phạm vi cổng.
OutboundObject
An OutboundObject định nghĩa proxy gửi đi để xử lý các kết nối đang diễn ra. Các giao thức có sẵn được liệt kê tại đây.
{
"sendThrough": "0.0.0.0",
"protocol": "protocol_name",
"settings": {},
"tag": "this_outbound_tag_name",
"streamSettings": {},
"proxySettings": {
"tag": "another_outbound_tag_name"
},
"mux": {}
}
sendThrough
: address
Địa chỉ IP để gửi lưu lượng truy cập. Giá trị mặc định, "0.0.0.0"
là để chọn ngẫu nhiên một IP có sẵn trên máy chủ. Nếu không, giá trị phải là một địa chỉ IP từ các giao diện mạng hiện có.
protocol
: string
Tên giao thức của outbound này. Xem Giao thức cho tất cả các giá trị có sẵn.
settings
: OutboundConfigurationObject
Cài đặt giao thức cụ thể. Xem OutboundConfigurationObject
trong mỗi giao thức riêng lẻ.
tag
: string
Thẻ của lối ra này. Nếu không trống, nó phải là duy nhất trong số tất cả các giới hạn.
streamSettings
: StreamSettingsObject
Cài đặt vận chuyển ở mức độ thấp. Xem Giao thức Giao thức Tùy chọn.
proxySettings
: ProxySettingsObject
Cấu hình cho ủy quyền lưu lượng truy cập từ này đi khác. Khi điều này được thiết lập, streamSettings
của outbound này sẽ không có hiệu lực.
mux
: MuxObject
Xem cấu hình Mux để biết chi tiết.
ProxySettingsObject
{
"tag": "another-outbound-tag"
}
tag
: string
Khi thẻ
được đặt thành thẻ của một kênh khác, lưu lượng truy cập ra ngoài hiện tại sẽ được chuyển đến thẻ được chỉ định.