Skip to content

Commit 12f15e9

Browse files
committed
code encoding converted to utf8
1 parent 1d9fa3a commit 12f15e9

File tree

12 files changed

+94
-135
lines changed

12 files changed

+94
-135
lines changed

.idea/encodings.xml

Lines changed: 1 addition & 28 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 0 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/java/com/vpnmore/shadowsocks/core/DnsProxy.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ private void OnDnsResponseReceived(IPHeader ipHeader,UDPHeader udpHeader,DnsPack
172172
}
173173

174174
if (state != null) {
175-
//DNS污染,默认污染海外网站
175+
//DNS污染,默认污染海外网站
176176
dnsPollution(udpHeader.m_Data,dnsPacket);
177177

178178
dnsPacket.Header.setID(state.ClientQueryID);
@@ -236,7 +236,7 @@ private void clearExpiredQueries(){
236236

237237
public void onDnsRequestReceived(IPHeader ipHeader,UDPHeader udpHeader,DnsPacket dnsPacket){
238238
if(!interceptDns(ipHeader,udpHeader,dnsPacket)){
239-
//转发DNS
239+
//转发DNS
240240
QueryState state = new QueryState();
241241
state.ClientQueryID =dnsPacket.Header.ID;
242242
state.QueryNanoTime = System.nanoTime();
@@ -245,13 +245,13 @@ public void onDnsRequestReceived(IPHeader ipHeader,UDPHeader udpHeader,DnsPacket
245245
state.RemoteIP = ipHeader.getDestinationIP();
246246
state.RemotePort = udpHeader.getDestinationPort();
247247

248-
// 转换QueryID
249-
m_QueryID++;// 增加ID
248+
// 转换QueryID
249+
m_QueryID++;// 增加ID
250250
dnsPacket.Header.setID(m_QueryID);
251251

252252
synchronized (m_QueryArray) {
253-
clearExpiredQueries();//清空过期的查询,减少内存开销。
254-
m_QueryArray.put(m_QueryID, state);// 关联数据
253+
clearExpiredQueries();//清空过期的查询,减少内存开销。
254+
m_QueryArray.put(m_QueryID, state);// 关联数据
255255
}
256256

257257
InetSocketAddress remoteAddress = new InetSocketAddress(CommonMethods.ipIntToInet4Address(state.RemoteIP ), state.RemotePort);

app/src/main/java/com/vpnmore/shadowsocks/core/LocalVpnService.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ String getAppInstallID(){
147147
String getVersionName() {
148148
try {
149149
PackageManager packageManager = getPackageManager();
150-
// getPackageName()是你当前类的包名,0代表是获取版本信息
150+
// getPackageName()是你当前类的包名,0代表是获取版本信息
151151
PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(),0);
152152
String version = packInfo.versionName;
153153
return version;
@@ -161,15 +161,15 @@ public synchronized void run() {
161161
try {
162162
System.out.printf("VPNService(%s) work thread is runing...\n", ID);
163163

164-
ProxyConfig.AppInstallID=getAppInstallID();//获取安装ID
165-
ProxyConfig.AppVersion=getVersionName();//获取版本号
164+
ProxyConfig.AppInstallID=getAppInstallID();//获取安装ID
165+
ProxyConfig.AppVersion=getVersionName();//获取版本号
166166
System.out.printf("AppInstallID: %s\n", ProxyConfig.AppInstallID);
167167
writeLog("Android version: %s", Build.VERSION.RELEASE);
168168
writeLog("App version: %s", ProxyConfig.AppVersion);
169169

170170

171-
ChinaIpMaskManager.loadFromFile(getResources().openRawResource(R.raw.ipmask));//加载中国的IP段,用于IP分流。
172-
waitUntilPreapred();//检查是否准备完毕。
171+
ChinaIpMaskManager.loadFromFile(getResources().openRawResource(R.raw.ipmask));//加载中国的IP段,用于IP分流。
172+
waitUntilPreapred();//检查是否准备完毕。
173173

174174
writeLog("Load config from file ...");
175175
try {
@@ -193,7 +193,7 @@ public synchronized void run() {
193193

194194
while (true) {
195195
if (IsRunning) {
196-
//加载配置文件
196+
//加载配置文件
197197

198198
writeLog("set shadowsocks/(http proxy)");
199199
try {
@@ -255,7 +255,7 @@ void onIPPacketReceived(IPHeader ipHeader, int size) throws IOException {
255255
TCPHeader tcpHeader =m_TCPHeader;
256256
tcpHeader.m_Offset=ipHeader.getHeaderLength();
257257
if (ipHeader.getSourceIP() == LOCAL_IP) {
258-
if (tcpHeader.getSourcePort() == m_TcpProxyServer.Port) {// 收到本地TCP服务器数据
258+
if (tcpHeader.getSourcePort() == m_TcpProxyServer.Port) {// 收到本地TCP服务器数据
259259
NatSession session =NatSessionManager.getSession(tcpHeader.getDestinationPort());
260260
if (session != null) {
261261
ipHeader.setSourceIP(ipHeader.getDestinationIP());
@@ -270,22 +270,22 @@ void onIPPacketReceived(IPHeader ipHeader, int size) throws IOException {
270270
}
271271
} else {
272272

273-
// 添加端口映射
273+
// 添加端口映射
274274
int portKey=tcpHeader.getSourcePort();
275275
NatSession session=NatSessionManager.getSession(portKey);
276276
if(session==null||session.RemoteIP!=ipHeader.getDestinationIP()||session.RemotePort!=tcpHeader.getDestinationPort()){
277277
session=NatSessionManager.createSession(portKey, ipHeader.getDestinationIP(), tcpHeader.getDestinationPort());
278278
}
279279

280280
session.LastNanoTime=System.nanoTime();
281-
session.PacketSent++;//注意顺序
281+
session.PacketSent++;//注意顺序
282282

283283
int tcpDataSize=ipHeader.getDataLength()-tcpHeader.getHeaderLength();
284284
if(session.PacketSent==2&&tcpDataSize==0){
285-
return;//丢弃tcp握手的第二个ACK报文。因为客户端发数据的时候也会带上ACK,这样可以在服务器Accept之前分析出HOST信息。
285+
return;//丢弃tcp握手的第二个ACK报文。因为客户端发数据的时候也会带上ACK,这样可以在服务器Accept之前分析出HOST信息。
286286
}
287287

288-
//分析数据,找到host
288+
//分析数据,找到host
289289
if(session.BytesSent==0&&tcpDataSize>10){
290290
int dataOffset=tcpHeader.m_Offset+tcpHeader.getHeaderLength();
291291
String host=HttpHostHeaderParser.parseHost(tcpHeader.m_Data, dataOffset, tcpDataSize);
@@ -296,20 +296,20 @@ void onIPPacketReceived(IPHeader ipHeader, int size) throws IOException {
296296
}
297297
}
298298

299-
// 转发给本地TCP服务器
299+
// 转发给本地TCP服务器
300300
ipHeader.setSourceIP(ipHeader.getDestinationIP());
301301
ipHeader.setDestinationIP(LOCAL_IP);
302302
tcpHeader.setDestinationPort(m_TcpProxyServer.Port);
303303

304304
CommonMethods.ComputeTCPChecksum(ipHeader, tcpHeader);
305305
m_VPNOutputStream.write(ipHeader.m_Data, ipHeader.m_Offset, size);
306-
session.BytesSent+=tcpDataSize;//注意顺序
306+
session.BytesSent+=tcpDataSize;//注意顺序
307307
m_SentBytes+=size;
308308
}
309309
}
310310
break;
311311
case IPHeader.UDP:
312-
// 转发DNS数据包:
312+
// 转发DNS数据包:
313313
UDPHeader udpHeader =m_UDPHeader;
314314
udpHeader.m_Offset=ipHeader.getHeaderLength();
315315
if (ipHeader.getSourceIP() == LOCAL_IP && udpHeader.getDestinationPort() == 53) {
@@ -406,17 +406,17 @@ public void disconnectVPN() {
406406
}
407407

408408
private synchronized void dispose() {
409-
// 断开VPN
409+
// 断开VPN
410410
disconnectVPN();
411411

412-
// 停止TcpServer
412+
// 停止TcpServer
413413
if (m_TcpProxyServer != null) {
414414
m_TcpProxyServer.stop();
415415
m_TcpProxyServer = null;
416416
writeLog("LocalTcpServer stopped.");
417417
}
418418

419-
// 停止DNS解析器
419+
// 停止DNS解析器
420420
if (m_DnsProxy != null) {
421421
m_DnsProxy.stop();
422422
m_DnsProxy = null;

app/src/main/java/com/vpnmore/shadowsocks/core/NatSessionManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ static void clearExpiredSessions(){
3030

3131
public static NatSession createSession(int portKey,int remoteIP,short remotePort){
3232
if(Sessions.size()>MAX_SESSION_COUNT){
33-
clearExpiredSessions();//ÇåÀí¹ýÆÚµÄ»á»°¡£
33+
clearExpiredSessions();//清理过期的会话。
3434
}
3535

3636
NatSession session=new NatSession();

app/src/main/java/com/vpnmore/shadowsocks/core/ProxyConfig.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class ProxyConfig {
3838
ArrayList<IPAddress> m_IpList;
3939
ArrayList<IPAddress> m_DnsList;
4040
ArrayList<IPAddress> m_RouteList;
41-
ArrayList<Config> m_ProxyList;
41+
public ArrayList<Config> m_ProxyList;
4242
HashMap<String, Boolean> m_DomainMap;
4343

4444
int m_dns_ttl;
@@ -94,16 +94,16 @@ public ProxyConfig(){
9494
m_DomainMap=new HashMap<String, Boolean>();
9595

9696
m_Timer=new Timer();
97-
m_Timer.schedule(m_Task, 120000, 120000);//每两分钟刷新一次。
97+
m_Timer.schedule(m_Task, 120000, 120000);//每两分钟刷新一次。
9898
}
9999

100100
TimerTask m_Task=new TimerTask() {
101101
@Override
102102
public void run() {
103-
refreshProxyServer();//定时更新dns缓存
103+
refreshProxyServer();//定时更新dns缓存
104104
}
105105

106-
//定时更新dns缓存
106+
//定时更新dns缓存
107107
void refreshProxyServer(){
108108
try {
109109
for (int i = 0; i <m_ProxyList.size(); i++) {
@@ -344,7 +344,7 @@ protected void loadFromLines(String[] lines) throws Exception {
344344

345345
}
346346

347-
//查找默认代理。
347+
//查找默认代理。
348348
if(m_ProxyList.size()==0){
349349
tryAddProxy(lines);
350350
}

app/src/main/java/com/vpnmore/shadowsocks/core/TcpProxyServer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ void onAccepted(SelectionKey key){
118118
InetSocketAddress destAddress=getDestAddress(localChannel);
119119
if(destAddress!=null){
120120
Tunnel remoteTunnel=TunnelFactory.createTunnelByConfig(destAddress,m_Selector);
121-
remoteTunnel.setBrotherTunnel(localTunnel);//关联兄弟
122-
localTunnel.setBrotherTunnel(remoteTunnel);//关联兄弟
123-
remoteTunnel.connect(destAddress);//开始连接
121+
remoteTunnel.setBrotherTunnel(localTunnel);//关联兄弟
122+
localTunnel.setBrotherTunnel(remoteTunnel);//关联兄弟
123+
remoteTunnel.connect(destAddress);//开始连接
124124
}
125125
else {
126126
LocalVpnService.Instance.writeLog("Error: socket(%s:%d) target host is null.",localChannel.socket().getInetAddress().toString(),localChannel.socket().getPort());

app/src/main/java/com/vpnmore/shadowsocks/dns/DnsPacket.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,11 @@ public static String ReadDomain(ByteBuffer buffer, int dnsHeaderOffset)
100100
int len = 0;
101101
while (buffer.hasRemaining() && (len = (buffer.get() & 0xFF)) > 0)
102102
{
103-
if ((len & 0xc0) == 0xc0)// pointer 高2位为11表示是指针。如:1100 0000
103+
if ((len & 0xc0) == 0xc0)// pointer 高2位为11表示是指针。如:1100 0000
104104
{
105-
// 指针的取值是前一字节的后6位加后一字节的8位共14位的值。
106-
int pointer = buffer.get() & 0xFF;// 低8位
107-
pointer |= (len & 0x3F) << 8;// 高6位
105+
// 指针的取值是前一字节的后6位加后一字节的8位共14位的值。
106+
int pointer = buffer.get() & 0xFF;// 低8位
107+
pointer |= (len & 0x3F) << 8;// 高6位
108108

109109
ByteBuffer newBuffer = ByteBuffer.wrap(buffer.array(), dnsHeaderOffset + pointer, dnsHeaderOffset+buffer.limit());
110110
sb.append(ReadDomain(newBuffer,dnsHeaderOffset));
@@ -122,7 +122,7 @@ public static String ReadDomain(ByteBuffer buffer, int dnsHeaderOffset)
122122
}
123123

124124
if(len==0&&sb.length()>0){
125-
sb.deleteCharAt(sb.length()-1);//去掉末尾的点(.)
125+
sb.deleteCharAt(sb.length()-1);//去掉末尾的点(.)
126126
}
127127
return sb.toString();
128128
}

app/src/main/java/com/vpnmore/shadowsocks/tcpip/CommonMethods.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public static void writeShort(byte[] data, int offset, short value) {
6060
data[offset + 1] = (byte) (value);
6161
}
6262

63-
// 网络字节顺序与主机字节顺序的转换
63+
// 网络字节顺序与主机字节顺序的转换
6464

6565
public static short htons(short u) {
6666
int r = ((u & 0xFFFF) << 8) | ((u & 0xFFFF) >> 8);
@@ -88,7 +88,7 @@ public static int ntoh(int u) {
8888
return r;
8989
}
9090

91-
// 计算校验和
91+
// 计算校验和
9292
public static short checksum(long sum, byte[] buf, int offset, int len) {
9393
sum += getsum(buf, offset, len);
9494
while ((sum >> 16) > 0)
@@ -111,53 +111,53 @@ public static long getsum(byte[] buf, int offset, int len) {
111111
return sum;
112112
}
113113

114-
// 计算IP包的校验和
114+
// 计算IP包的校验和
115115
public static boolean ComputeIPChecksum(IPHeader ipHeader) {
116116
short oldCrc = ipHeader.getCrc();
117-
ipHeader.setCrc((short) 0);// 计算前置零
117+
ipHeader.setCrc((short) 0);// 计算前置零
118118
short newCrc = CommonMethods.checksum(0, ipHeader.m_Data,
119119
ipHeader.m_Offset, ipHeader.getHeaderLength());
120120
ipHeader.setCrc(newCrc);
121121
return oldCrc == newCrc;
122122
}
123123

124-
// 计算TCP或UDP的校验和
124+
// 计算TCP或UDP的校验和
125125
public static boolean ComputeTCPChecksum(IPHeader ipHeader,TCPHeader tcpHeader) {
126-
ComputeIPChecksum(ipHeader);//计算IP校验和
127-
int ipData_len = ipHeader.getTotalLength() - ipHeader.getHeaderLength();// IP数据长度
126+
ComputeIPChecksum(ipHeader);//计算IP校验和
127+
int ipData_len = ipHeader.getTotalLength() - ipHeader.getHeaderLength();// IP数据长度
128128
if (ipData_len < 0)
129129
return false;
130-
// 计算为伪首部和
130+
// 计算为伪首部和
131131
long sum = getsum(ipHeader.m_Data, ipHeader.m_Offset
132132
+ IPHeader.offset_src_ip, 8);
133133
sum += ipHeader.getProtocol()&0xFF;
134134
sum += ipData_len;
135135

136136
short oldCrc = tcpHeader.getCrc();
137-
tcpHeader.setCrc((short) 0);// 计算前置0
137+
tcpHeader.setCrc((short) 0);// 计算前置0
138138

139-
short newCrc = checksum(sum, tcpHeader.m_Data, tcpHeader.m_Offset, ipData_len);// 计算校验和
139+
short newCrc = checksum(sum, tcpHeader.m_Data, tcpHeader.m_Offset, ipData_len);// 计算校验和
140140

141141
tcpHeader.setCrc(newCrc);
142142
return oldCrc == newCrc;
143143
}
144144

145-
// 计算TCP或UDP的校验和
145+
// 计算TCP或UDP的校验和
146146
public static boolean ComputeUDPChecksum(IPHeader ipHeader,UDPHeader udpHeader) {
147-
ComputeIPChecksum(ipHeader);//计算IP校验和
148-
int ipData_len = ipHeader.getTotalLength() - ipHeader.getHeaderLength();// IP数据长度
147+
ComputeIPChecksum(ipHeader);//计算IP校验和
148+
int ipData_len = ipHeader.getTotalLength() - ipHeader.getHeaderLength();// IP数据长度
149149
if (ipData_len < 0)
150150
return false;
151-
// 计算为伪首部和
151+
// 计算为伪首部和
152152
long sum = getsum(ipHeader.m_Data, ipHeader.m_Offset
153153
+ IPHeader.offset_src_ip, 8);
154154
sum += ipHeader.getProtocol()&0xFF;
155155
sum += ipData_len;
156156

157157
short oldCrc = udpHeader.getCrc();
158-
udpHeader.setCrc((short) 0);// 计算前置0
158+
udpHeader.setCrc((short) 0);// 计算前置0
159159

160-
short newCrc = checksum(sum, udpHeader.m_Data, udpHeader.m_Offset, ipData_len);// 计算校验和
160+
short newCrc = checksum(sum, udpHeader.m_Data, udpHeader.m_Offset, ipData_len);// 计算校验和
161161

162162
udpHeader.setCrc(newCrc);
163163
return oldCrc == newCrc;

0 commit comments

Comments
 (0)