Skip to content

Commit

Permalink
typo
Browse files Browse the repository at this point in the history
  • Loading branch information
p4gefau1t committed May 28, 2020
1 parent da60d72 commit c1fbc67
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 11 deletions.
2 changes: 1 addition & 1 deletion common/net.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ func (a *Address) Marshal(r io.Reader) error {
byteBuf := [1]byte{}
_, err := r.Read(byteBuf[:])
if err != nil {
return NewError("Unable to read atype").Base(err)
return NewError("Unable to read ATYPE").Base(err)
}
a.AddressType = AddressType(byteBuf[0])
switch a.AddressType {
Expand Down
10 changes: 5 additions & 5 deletions docs/content/advance/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ Trojan-Go本身集成了API控制功能,也即可以使用一个Trojan-Go实
./trojan-go -api-addr SERVER_API_ADDRESS -api COMMAND
```

其中SERVER_API_ADDRESS为API地址和端口,如127.0.0.1:10000
其中```SERVER_API_ADDRESS```为API地址和端口,如127.0.0.1:10000

COMMAND为API命令,合法的命令有
```COMMAND```为API命令,合法的命令有

- list 列出所有用户

Expand All @@ -59,7 +59,7 @@ COMMAND为API命令,合法的命令有
./trojan-go -api-addr 127.0.0.1:10000 -api list
```

所有的用户信息将以json的形式导出,信息包括在线IP数量,实时速度,总上传和下载流量等。下面是一个例子
所有的用户信息将以json的形式导出,信息包括在线IP数量,实时速度,总上传和下载流量等。下面是一个返回的结果的例子

```json
[{"user":{"hash":"d63dc919e201d7bc4c825630d2cf25fdc93d4b2f0d46706d29038d01"},"status":{"traffic_total":{"upload_traffic":36393,"download_traffic":186478},"speed_current":{"upload_speed":25210,"download_speed":72384},"speed_limit":{"upload_speed":5242880,"download_speed":5242880},"ip_limit":50}}]
Expand All @@ -83,7 +83,7 @@ COMMAND为API命令,合法的命令有

以上两条命令等价,下面的例子统一使用明文密码的方式,散列值指定某个用户的方式以此类推。

该用户信息将以json的形式导出,格式与list命令类似。下面是一个例子
该用户信息将以json的形式导出,格式与list命令类似。下面是一个返回的结果的例子

```json
{"user":{"hash":"d63dc919e201d7bc4c825630d2cf25fdc93d4b2f0d46706d29038d01"},"status":{"traffic_total":{"upload_traffic":36393,"download_traffic":186478},"speed_current":{"upload_speed":25210,"download_speed":72384},"speed_limit":{"upload_speed":5242880,"download_speed":5242880},"ip_limit":50}}
Expand All @@ -110,4 +110,4 @@ COMMAND为API命令,合法的命令有
-download-speed-limit 5242880
```

这个命令将密码为password的用户上传和下载速度限制为5MiB/s,同时连接的IP数量限制为3个,注意这里5242880的单位是字节。如果不填写相关限制或填写0,则维持原状。如果填写负数,则表示不进行限制。
这个命令将密码为password的用户上传和下载速度限制为5MiB/s,同时连接的IP数量限制为3个,注意这里5242880的单位是字节。如果不填写这些限制或填写0,则维持原状。如果填写负数,则表示不进行限制。
13 changes: 9 additions & 4 deletions protocol/trojan/inbound.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ func (i *TrojanInboundConnSession) Close() error {
log.Info("User", i.passwordHash, "to", i.request, "closed", "sent:", common.HumanFriendlyTraffic(i.sent), "recv:", common.HumanFriendlyTraffic(i.recv))
i.cancel()
i.user.DelIP(i.ip)
log.Debug("IP " + i.ip + " deleted")
return i.rwc.Close()
}

Expand All @@ -68,17 +67,23 @@ func (i *TrojanInboundConnSession) parseRequest(r *common.RewindReader) error {
if !ok {
return common.NewError("IP limit reached")
}
log.Debug("IP " + i.ip + " added")

crlf := [2]byte{}
r.Read(crlf[:])
_, err = io.ReadFull(r, crlf[:])

if err != nil {
return err
}

i.request = new(protocol.Request)
if err := i.request.Marshal(r); err != nil {
return err
}

r.Read(crlf[:])
_, err = io.ReadFull(r, crlf[:])
if err != nil {
return err
}
return nil
}

Expand Down
2 changes: 1 addition & 1 deletion protocol/trojan/packet.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func (i *TrojanPacketSession) ReadPacket() (*protocol.Request, []byte, error) {
length := binary.BigEndian.Uint16(lengthBuf[:])
packet := make([]byte, length)
n, err := i.conn.Read(packet)
return req, packet[0:n], err
return req, packet[:n], err
}

func (i *TrojanPacketSession) WritePacket(req *protocol.Request, packet []byte) (int, error) {
Expand Down

0 comments on commit c1fbc67

Please sign in to comment.