diff --git a/CHANGELOG b/CHANGELOG
index ac48c86..b0561c6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+26 Feb 2016: AnyProxy 3.10.4:
+
+   * let users assign the port for web socket in AnyProxy cli
+
 19 Sep 2016: AnyProxy 3.10.3:
 
     * fix the cert path issue with Windows
diff --git a/bin.js b/bin.js
index df8c747..19e561a 100755
--- a/bin.js
+++ b/bin.js
@@ -15,6 +15,7 @@ program
     .option('-t, --type [value]', 'http|https, http for default')
     .option('-p, --port [value]', 'proxy port, 8001 for default')
     .option('-w, --web [value]' , 'web GUI port, 8002 for default')
+    .option('-e, --ws [value]' , 'web socket port, 8003 for default')
     .option('-f, --file [value]', 'save request data to a specified file, will use in-memory db if not specified')
     .option('-r, --rule [value]', 'path for rule file,')
     .option('-g, --root [value]', 'generate root CA')
@@ -90,6 +91,7 @@ if(program.clear){
         dbFile              : program.file,
         throttle            : program.throttle,
         webPort             : program.web,
+        socketPort          : program.ws,
         rule                : ruleModule,
         disableWebInterface : false,
         setAsGlobalProxy    : program.global,
diff --git a/package.json b/package.json
index 383a2be..771a202 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "anyproxy",
-  "version": "3.10.3",
+  "version": "3.10.4",
   "description": "A fully configurable proxy in NodeJS, which can handle HTTPS requests perfectly.",
   "main": "proxy.js",
   "bin": {