Skip to content

Commit

Permalink
refactor: change class name
Browse files Browse the repository at this point in the history
  • Loading branch information
Zmax0 committed Feb 6, 2024
1 parent 9728268 commit dfa2a56
Show file tree
Hide file tree
Showing 44 changed files with 129 additions and 120 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ put *config.json* file into the unpacked folder before running
"port": "{port}",
"protocol": "{protocol}",
"packetEncoding": "{packetEncoding}",
"networks": [
"{networks}"
"transport": [
"{transport}"
],
"user": [
{
Expand All @@ -37,15 +37,15 @@ put *config.json* file into the unpacked folder before running
> `cipher`: see *Ciphers*
> `networks`: see *Transmission*
> `transport`: see *Transport*
> `packetEncoding`: "None" | "Packet"
> `user`: (OPTIONAL) support multiple users with [*Shadowsocks 2022 Extensible Identity Headers*](https://github.com/Shadowsocks-NET/shadowsocks-specs/blob/main/2022-2-shadowsocks-2022-extensible-identity-headers.md)
## Features

### Transmission
### Transport

| | Shadowsocks | VMess |
|:----|:-----------:|:-----:|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import com.urbanspork.common.config.ClientConfig;
import com.urbanspork.common.config.ConfigHandler;
import com.urbanspork.common.config.ServerConfig;
import com.urbanspork.common.protocol.Protocols;
import com.urbanspork.common.protocol.Protocol;
import javafx.application.Platform;
import javafx.application.Preloader;
import javafx.beans.value.ChangeListener;
Expand All @@ -22,7 +22,13 @@
import javafx.collections.ObservableList;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.MultipleSelectionModel;
import javafx.scene.control.Tab;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.control.ToggleButton;
import javafx.scene.image.Image;
import javafx.scene.layout.ColumnConstraints;
import javafx.scene.layout.GridPane;
Expand Down Expand Up @@ -82,7 +88,7 @@ public class Console extends Preloader {

private ChoiceBox<CipherKind> currentConfigCipherChoiceBox;

private ChoiceBox<Protocols> currentConfigProtocolChoiceBox;
private ChoiceBox<Protocol> currentConfigProtocolChoiceBox;

private NumericTextField clientConfigPortTextField;

Expand Down Expand Up @@ -459,9 +465,9 @@ private void initCurrentConfigCipherChoiceBox() {
}

private void initCurrentConfigProtocolChoiceBox() {
List<Protocols> ciphers = Arrays.asList(Protocols.values());
List<Protocol> ciphers = Arrays.asList(Protocol.values());
currentConfigProtocolChoiceBox.setItems(FXCollections.observableArrayList(ciphers));
currentConfigProtocolChoiceBox.setValue(Protocols.shadowsocks);
currentConfigProtocolChoiceBox.setValue(Protocol.shadowsocks);
}

private void initServerConfigListView() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.urbanspork.client.gui.console.widget;

import com.urbanspork.common.protocol.Protocols;
import com.urbanspork.common.protocol.Protocol;
import javafx.scene.control.ChoiceBox;
import javafx.scene.effect.BlendMode;

public class CurrentConfigProtocolChoiceBox extends ChoiceBox<Protocols> {
public class CurrentConfigProtocolChoiceBox extends ChoiceBox<Protocol> {

public CurrentConfigProtocolChoiceBox() {
setBlendMode(BlendMode.HARD_LIGHT);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.urbanspork.client;

import com.urbanspork.common.config.ServerConfig;
import com.urbanspork.common.protocol.network.TernaryDatagramPacket;
import com.urbanspork.common.transport.udp.TernaryDatagramPacket;
import com.urbanspork.common.util.LruCache;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
Expand Down
4 changes: 2 additions & 2 deletions urban-spork-client/src/com/urbanspork/client/Client.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import com.urbanspork.common.config.ClientConfig;
import com.urbanspork.common.config.ConfigHandler;
import com.urbanspork.common.config.ServerConfig;
import com.urbanspork.common.protocol.Protocols;
import com.urbanspork.common.protocol.Protocol;
import io.netty.bootstrap.Bootstrap;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.Channel;
Expand Down Expand Up @@ -75,7 +75,7 @@ public static void launch(ClientConfig config, CompletableFuture<Instance> promi
private static DatagramChannel launchUdp(EventLoopGroup bossGroup, EventLoopGroup workerGroup, ClientConfig config) throws InterruptedException {
ServerConfig current = config.getCurrent();
ChannelHandler udpTransportHandler;
if (Protocols.vmess == current.getProtocol()) {
if (Protocol.vmess == current.getProtocol()) {
udpTransportHandler = new ClientUdpOverTCPHandler(current, workerGroup);
} else {
udpTransportHandler = new ClientUdpRelayHandler(current, workerGroup);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.urbanspork.common.channel.ChannelCloseUtils;
import com.urbanspork.common.channel.DefaultChannelInboundHandler;
import com.urbanspork.common.config.ServerConfig;
import com.urbanspork.common.protocol.Protocols;
import com.urbanspork.common.protocol.Protocol;
import com.urbanspork.common.protocol.socks.Socks5;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
Expand Down Expand Up @@ -34,7 +34,7 @@ protected void channelRead0(ChannelHandlerContext ctx, Socks5CommandRequest requ
ServerConfig config = inboundChannel.attr(AttributeKeys.SERVER_CONFIG).get();
InetSocketAddress serverAddress = new InetSocketAddress(config.getHost(), config.getPort());
ChannelHandler outboundHandler;
if (Protocols.vmess == config.getProtocol()) {
if (Protocol.vmess == config.getProtocol()) {
outboundHandler = new ClientChannelInitializer(request, config);
} else {
outboundHandler = new ClientTCPChannelInitializer(request, config);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.urbanspork.common.channel.AttributeKeys;
import com.urbanspork.common.config.ServerConfig;
import com.urbanspork.common.protocol.Protocols;
import com.urbanspork.common.protocol.Protocol;
import com.urbanspork.common.protocol.socks.Socks5;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandler;
Expand Down Expand Up @@ -33,7 +33,7 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) {
private void channelRead0(ChannelHandlerContext ctx, Socks5CommandRequest request) {
Channel channel = ctx.channel();
ServerConfig config = channel.attr(AttributeKeys.SERVER_CONFIG).get();
if (Protocols.vmess == config.getProtocol() && !config.udpEnabled()) {
if (Protocol.vmess == config.getProtocol() && !config.udpEnabled()) {
channel.writeAndFlush(new DefaultSocks5CommandResponse(Socks5CommandStatus.FAILURE, request.dstAddrType()));
logger.error("UDP is not enabled");
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import com.urbanspork.common.codec.shadowsocks.Mode;
import com.urbanspork.common.codec.shadowsocks.udp.UdpRelayCodec;
import com.urbanspork.common.config.ServerConfig;
import com.urbanspork.common.protocol.network.TernaryDatagramPacket;
import com.urbanspork.common.transport.udp.TernaryDatagramPacket;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
import com.urbanspork.client.AbstractClientUdpRelayHandler;
import com.urbanspork.common.channel.DefaultChannelInboundHandler;
import com.urbanspork.common.config.ServerConfig;
import com.urbanspork.common.protocol.network.TernaryDatagramPacket;
import com.urbanspork.common.protocol.socks.Socks5;
import com.urbanspork.common.protocol.vmess.header.RequestCommand;
import com.urbanspork.common.transport.udp.TernaryDatagramPacket;
import io.netty.bootstrap.Bootstrap;
import io.netty.buffer.ByteBuf;
import io.netty.channel.Channel;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.urbanspork.common.channel;

import com.urbanspork.common.config.ServerConfig;
import com.urbanspork.common.protocol.network.Network;
import com.urbanspork.common.transport.Transport;
import io.netty.util.AttributeKey;

public class AttributeKeys {

public static final AttributeKey<ServerConfig> SERVER_CONFIG = AttributeKey.newInstance("SERVER_CONFIG");
public static final AttributeKey<Integer> SOCKS_PORT = AttributeKey.newInstance("SOCKS5_PORT");
public static final AttributeKey<Network> NETWORK = AttributeKey.newInstance("NETWORK");
public static final AttributeKey<Transport> TRANSPORT = AttributeKey.newInstance("TRANSPORT");

private AttributeKeys() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import com.urbanspork.common.codec.shadowsocks.Mode;
import com.urbanspork.common.config.ServerConfig;
import com.urbanspork.common.protocol.Protocols;
import com.urbanspork.common.protocol.network.Network;
import com.urbanspork.common.protocol.Protocol;
import com.urbanspork.common.transport.Transport;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
Expand All @@ -28,13 +28,13 @@ public ExceptionHandler(ServerConfig config, Mode mode) {
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
Channel channel = ctx.channel();
String network = channel instanceof DatagramChannel ? Network.UDP.value() : Network.TCP.value();
Protocols protocol = config.getProtocol();
String transport = channel instanceof DatagramChannel ? Transport.UDP.value() : Transport.TCP.value();
Protocol protocol = config.getProtocol();
String transLog = transLog(channel);
if (cause.getCause() instanceof InvalidCipherTextException) {
logger.error("[{}][{}][{}] Invalid cipher text", network, protocol, transLog);
logger.error("[{}][{}][{}] Invalid cipher text", transport, protocol, transLog);
} else {
String msg = String.format("[%s][%s][%s] Caught exception", network, protocol, transLog);
String msg = String.format("[%s][%s][%s] Caught exception", transport, protocol, transLog);
logger.error(msg, cause);
}
if (channel instanceof SocketChannel socketChannel && Mode.Server == mode) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import com.urbanspork.common.codec.shadowsocks.Mode;
import com.urbanspork.common.config.ServerConfig;
import com.urbanspork.common.manage.shadowsocks.ServerUserManager;
import com.urbanspork.common.protocol.network.TernaryDatagramPacket;
import com.urbanspork.common.protocol.shadowsocks.Control;
import com.urbanspork.common.transport.udp.TernaryDatagramPacket;
import com.urbanspork.common.util.LruCache;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.urbanspork.common.codec.socks;

import com.urbanspork.common.protocol.network.TernaryDatagramPacket;
import com.urbanspork.common.protocol.socks.Address;
import com.urbanspork.common.transport.udp.TernaryDatagramPacket;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.socket.DatagramPacket;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.urbanspork.common.codec.socks;

import com.urbanspork.common.protocol.network.TernaryDatagramPacket;
import com.urbanspork.common.protocol.socks.Address;
import com.urbanspork.common.transport.udp.TernaryDatagramPacket;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.socket.DatagramPacket;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.urbanspork.common.config;

import com.urbanspork.common.codec.CipherKind;
import com.urbanspork.common.protocol.Protocols;
import com.urbanspork.common.protocol.network.Network;
import com.urbanspork.common.protocol.network.PacketEncoding;
import com.urbanspork.common.protocol.Protocol;
import com.urbanspork.common.transport.Transport;
import com.urbanspork.common.transport.udp.PacketEncoding;

import java.util.Arrays;
import java.util.List;
Expand All @@ -18,11 +18,11 @@ public class ServerConfig {

private CipherKind cipher;

private Protocols protocol;
private Protocol protocol;

private String remark;

private Network[] networks;
private Transport[] transport;

private PacketEncoding packetEncoding;

Expand Down Expand Up @@ -60,11 +60,11 @@ public void setPassword(String password) {
this.password = password;
}

public Protocols getProtocol() {
public Protocol getProtocol() {
return protocol;
}

public void setProtocol(Protocols protocol) {
public void setProtocol(Protocol protocol) {
this.protocol = protocol;
}

Expand All @@ -76,12 +76,12 @@ public void setRemark(String remark) {
this.remark = remark;
}

public Network[] getNetworks() {
return networks;
public Transport[] getTransport() {
return transport;
}

public void setNetworks(Network[] networks) {
this.networks = networks;
public void setTransport(Transport[] transports) {
this.transport = transports;
}

public PacketEncoding getPacketEncoding() {
Expand Down Expand Up @@ -109,7 +109,7 @@ public String toString() {
StringBuilder builder = new StringBuilder(listItemText());
if (protocol != null) {
builder.append('|').append(protocol);
if (Protocols.vmess == protocol) {
if (Protocol.vmess == protocol) {
builder.append('|').append("negotiated");
} else {
builder.append('|').append(cipher.toString());
Expand All @@ -127,7 +127,7 @@ public String listItemText() {
}

public boolean udpEnabled() {
return networks != null && Arrays.stream(networks).anyMatch(n -> n == Network.UDP);
return transport != null && Arrays.stream(transport).anyMatch(n -> n == Transport.UDP);
}

private boolean isEmpty(String s) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package com.urbanspork.common.protocol;

public enum Protocols {
public enum Protocol {
shadowsocks, vmess,
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.urbanspork.common.protocol.network;
package com.urbanspork.common.transport;

public enum Network {
public enum Transport {

TCP, UDP;

private final String value;

Network() {
Transport() {
value = name().toLowerCase();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.urbanspork.common.protocol.network;
package com.urbanspork.common.transport.udp;

import java.net.InetSocketAddress;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.urbanspork.common.protocol.network;
package com.urbanspork.common.transport.udp;

import io.netty.channel.socket.DatagramPacket;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.urbanspork.common.channel.AttributeKeys;
import com.urbanspork.common.channel.DefaultChannelInboundHandler;
import com.urbanspork.common.config.ServerConfig;
import com.urbanspork.common.protocol.network.Network;
import com.urbanspork.common.transport.Transport;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFutureListener;
Expand Down Expand Up @@ -31,7 +31,7 @@ public RemoteConnectHandler(ServerConfig config) {

@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
if (Network.UDP.equals(ctx.channel().attr(AttributeKeys.NETWORK).get())) {
if (Transport.UDP.equals(ctx.channel().attr(AttributeKeys.TRANSPORT).get())) {
udp(ctx, msg);
} else {
tcp(ctx, msg);
Expand Down
6 changes: 3 additions & 3 deletions urban-spork-server/src/com/urbanspork/server/Server.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import com.urbanspork.common.config.ServerUserConfig;
import com.urbanspork.common.manage.shadowsocks.ServerUser;
import com.urbanspork.common.manage.shadowsocks.ServerUserManager;
import com.urbanspork.common.protocol.Protocols;
import com.urbanspork.common.protocol.Protocol;
import io.netty.bootstrap.Bootstrap;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.Channel;
Expand Down Expand Up @@ -81,7 +81,7 @@ public static void launch(List<ServerConfig> configs, CompletableFuture<List<Ins

private static Instance startup(EventLoopGroup bossGroup, EventLoopGroup workerGroup, ServerConfig config)
throws InterruptedException {
if (Protocols.shadowsocks == config.getProtocol()) {
if (Protocol.shadowsocks == config.getProtocol()) {
List<ServerUserConfig> user = config.getUser();
if (user != null) {
user.stream().map(ServerUser::from).forEach(ServerUserManager.DEFAULT::addUser);
Expand All @@ -97,7 +97,7 @@ private static Instance startup(EventLoopGroup bossGroup, EventLoopGroup workerG
}

private static Optional<DatagramChannel> startupUdp(EventLoopGroup bossGroup, EventLoopGroup workerGroup, ServerConfig config) throws InterruptedException {
if (Protocols.shadowsocks == config.getProtocol() && config.udpEnabled()) {
if (Protocol.shadowsocks == config.getProtocol() && config.udpEnabled()) {
Channel channel = new Bootstrap().group(bossGroup).channel(NioDatagramChannel.class)
.option(ChannelOption.SO_BROADCAST, true)
.handler(new ChannelInitializer<>() {
Expand Down
Loading

0 comments on commit dfa2a56

Please sign in to comment.