anchor.diff:           terminate/2,
            code_change/3]).
   
  --record(state, {key, socket, remote}).
  +-record(state, {key, socket, remote, started = false}).
   
   -include("../../include/socks_type.hrl").
   
  
positive.code: %% @end
  %%--------------------------------------------------------------------
  
  %% send by OPT timeout
  handle_info(timeout, #state{socket=Socket} = State) when is_port(Socket) ->
      {stop, timeout, State};
  
  %% first message from client
  
negative.code: %% @end
  %%--------------------------------------------------------------------
  init([Socket]) ->
      {ok, Key} = application:get_env(make_proxy_server, key),
      {ok, #state{key=Key, socket = Socket}, 0}.
  
  %%--------------------------------------------------------------------
  %% @private
  