aa8af6c2e0
Flask + SQLite + Bootstrap5 暗色主题 - 仪表盘: 在线/离线统计 + 最近代理 + 操作日志 - 代理 CRUD: 增删改 + 启用/禁用 + 单/批量健康检测(SOCKS5) - 分组管理: 创建/删除/筛选 - 操作日志: 分页查询 - RESTful API + Web 界面 - 管理员登录认证 (SM_ADMIN_PASSWORD 环境变量)
61 lines
2.6 KiB
HTML
61 lines
2.6 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}{{ '编辑' if action=='edit' else '添加' }}代理 · SOCKS Manager{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
<h4 class="mb-0"><i class="bi bi-{{ 'pencil' if action=='edit' else 'plus-circle' }}"></i>
|
|
{{ '编辑代理' if action=='edit' else '添加代理' }}</h4>
|
|
<a href="/proxies" class="btn btn-outline-secondary btn-sm"><i class="bi bi-arrow-left"></i> 返回</a>
|
|
</div>
|
|
|
|
<div class="card" style="max-width:640px">
|
|
<div class="card-body">
|
|
<form method="post">
|
|
<div class="row g-3">
|
|
<div class="col-md-6">
|
|
<label class="form-label">名称</label>
|
|
<input name="name" class="form-control" required value="{{ p.name if p else '' }}">
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label class="form-label">分组</label>
|
|
<select name="group_id" class="form-select">
|
|
<option value="">无</option>
|
|
{% for g in groups %}
|
|
<option value="{{ g.id }}" {% if p and p.group and p.group.id==g.id %}selected{% endif %}>
|
|
{{ g.name }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
<div class="col-md-8">
|
|
<label class="form-label">主机地址</label>
|
|
<input name="host" class="form-control" required placeholder="1.2.3.4 或 socks.example.com"
|
|
value="{{ p.host if p else '' }}">
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label class="form-label">端口</label>
|
|
<input name="port" class="form-control" type="number" min="1" max="65535" required
|
|
value="{{ p.port if p else '' }}">
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label class="form-label">用户名(可选)</label>
|
|
<input name="username" class="form-control" value="{{ p.username if p and p.username else '' }}">
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label class="form-label">密码(可选)</label>
|
|
<input name="password" class="form-control" value="{{ p.password if p and p.password else '' }}">
|
|
</div>
|
|
<div class="col-12">
|
|
<label class="form-label">备注</label>
|
|
<textarea name="notes" class="form-control" rows="2">{{ p.notes if p else '' }}</textarea>
|
|
</div>
|
|
</div>
|
|
<div class="mt-4 d-flex gap-2">
|
|
<button type="submit" class="btn btn-primary"><i class="bi bi-check-lg"></i> 保存</button>
|
|
<a href="/proxies" class="btn btn-outline-secondary">取消</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|