调整
This commit is contained in:
parent
9635b00e07
commit
be36cefd4b
@ -84,20 +84,71 @@ export default function NodeEditor({
|
||||
<div className="form-group">
|
||||
<label>主机ID</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.hostId || ''}
|
||||
type="number"
|
||||
min="0"
|
||||
max="255"
|
||||
step="1"
|
||||
value={formData.hostId}
|
||||
onChange={(e) => handleInputChange('hostId', e.target.value)}
|
||||
placeholder="将用作为虚拟地址的最后一位。同一子网下主机ID不能重复,不得超过255"
|
||||
placeholder="同一子网ID下主机ID不能重复,不得超过255"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="form-group">
|
||||
<label>侦听端口</label>
|
||||
<label>子网ID</label>
|
||||
<input
|
||||
type="number"
|
||||
min="0"
|
||||
max="255"
|
||||
step="1"
|
||||
value={formData.groupId}
|
||||
onChange={(e) => handleInputChange('groupId', e.target.value)}
|
||||
placeholder="不得超过255"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* host options */}
|
||||
|
||||
<div className="form-group">
|
||||
<label>PostUp (可选)</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.postUp || ''}
|
||||
onChange={(e) => handleInputChange('postUp', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="form-group">
|
||||
<label>PostDown (可选)</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.postDown || ''}
|
||||
onChange={(e) => handleInputChange('postDown', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="form-group">
|
||||
<label>mtu (可选)</label>
|
||||
<input
|
||||
type="number"
|
||||
min="1"
|
||||
step="1"
|
||||
value={formData.mtu || ''}
|
||||
onChange={(e) => handleInputChange('mtu', e.target.value)}
|
||||
placeholder={settings.mtu ? `默认值:${settings.mtu}` : ''}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="form-group">
|
||||
<label>侦听端口 (可选)</label>
|
||||
<input
|
||||
type="number"
|
||||
min="1024"
|
||||
max="49151"
|
||||
step="1"
|
||||
value={formData.listenPort || ''}
|
||||
onChange={(e) => handleInputChange('listenPort', e.target.value)}
|
||||
placeholder="例如: 51820"
|
||||
placeholder={`默认值:${settings.listenPort}`}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@ -107,17 +158,16 @@ export default function NodeEditor({
|
||||
type="text"
|
||||
value={formData.dnsServers || ''}
|
||||
onChange={(e) => handleInputChange('dnsServers', e.target.value)}
|
||||
placeholder="例如: 8.8.8.8"
|
||||
placeholder="例如: 8.8.8.8,1.1.1.1"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="form-group">
|
||||
<label>持久保活 (可选)</label>
|
||||
<input
|
||||
type="number"
|
||||
value={formData.persistentKeepalive || ''}
|
||||
onChange={(e) => handleInputChange('persistentKeepalive', e.target.value)}
|
||||
placeholder="秒数"
|
||||
<label>备注 (可选)</label>
|
||||
<textarea
|
||||
rows={3}
|
||||
value={formData.notes || ''}
|
||||
onChange={(e) => handleInputChange('notes', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
@ -4,6 +4,23 @@ export type AppNode = Node<NodeData>;
|
||||
|
||||
export type AppEdge = Edge<EdgeData>;
|
||||
|
||||
export interface GroupAllowRule {
|
||||
kind: 'group'
|
||||
allowGroup: number
|
||||
}
|
||||
|
||||
export interface HostAllowRule {
|
||||
kind: 'host'
|
||||
allowHost: number
|
||||
}
|
||||
|
||||
export interface CustomAllowRule {
|
||||
kind: 'custom'
|
||||
allow: string
|
||||
}
|
||||
|
||||
export type AllowRule = GroupAllowRule | HostAllowRule | CustomAllowRule
|
||||
|
||||
export type NodeData = {
|
||||
// basic
|
||||
label: string;
|
||||
@ -11,27 +28,28 @@ export type NodeData = {
|
||||
groupId: number;
|
||||
hostId: number;
|
||||
|
||||
// options
|
||||
// host options
|
||||
postUp?: string;
|
||||
postDown?: string;
|
||||
persistentKeepalive?: string;
|
||||
dnsServers?: string;
|
||||
disallowSubnet?: string;
|
||||
allowIPs?: string;
|
||||
mtu?: number;
|
||||
listenPort?: number;
|
||||
notes?: string;
|
||||
}
|
||||
|
||||
export type EdgeData = {
|
||||
isTwoWayEdge: boolean
|
||||
listenPort?: number;
|
||||
dnsServers?: string;
|
||||
|
||||
// peer options
|
||||
// allowRules?: AllowRule[];
|
||||
// persistentKeepalive?: string; todo: 加到边上
|
||||
}
|
||||
|
||||
export type Settings = {
|
||||
v4SubNetPrefix: [number, number];
|
||||
listenPort: number;
|
||||
|
||||
// global options
|
||||
// options
|
||||
v6SubNetPrefix?: [string, string, string, string];
|
||||
mtu?: number;
|
||||
}
|
||||
|
||||
export type EdgeData = {
|
||||
isTwoWayEdge: boolean
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user