syntax = "proto3";

package v2ray.core.proxy.shadowsocks;
option go_package = "shadowsocks";
option java_package = "com.v2ray.core.proxy.shadowsocks";
option java_outer_classname = "ConfigProto";

import "v2ray.com/core/common/protocol/user.proto";
import "v2ray.com/core/common/protocol/server_spec.proto";

message Account {
  enum OneTimeAuth {
    Auto = 0;
    Disabled = 1;
    Enabled = 2;
  }
  string password = 1;
  CipherType cipher_type = 2;
  OneTimeAuth ota = 3;
}

enum CipherType {
  UNKNOWN = 0;
  AES_128_CFB = 1;
  AES_256_CFB = 2;
  CHACHA20 = 3;
  CHACHA20_IEFT = 4;
}

message ServerConfig {
  bool udp_enabled = 1;
  v2ray.core.common.protocol.User user = 2;
}

message ClientConfig {
  repeated v2ray.core.common.protocol.ServerEndpoint server = 1;
}