-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathindex.html
80 lines (74 loc) · 4.13 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>V2Ray Config Modifier</title>
<meta name="description" content="A tool for modifying V2Ray configs">
<meta name="theme-color" content="#0d6efd">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;700&display=swap" rel="stylesheet">
<link href="assets/css/style.css?v=1.0.0" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark bg-primary">
<div class="container">
<a class="navbar-brand me-0" href="https://seramo.github.io/v2ray-config-modifier/">V2Ray Config Modifier</a>
<ul class="navbar-nav px-0">
<li class="nav-item">
<a class="nav-link" href="https://youtu.be/J9g1kbdW8Oc/" target="_blank">Tutorial</a>
</li>
<li class="nav-item">
<a class="nav-link pe-0" href="https://github.com/seramo/v2ray-config-modifier/" target="_blank">GitHub</a>
</li>
</ul>
</div>
</nav>
<div class="container mt-5">
<div class="row">
<div class="col-12">
<div class="alert" role="alert" id="messageBox" style="display: none;">
<span id="messageText"></span>
</div>
</div>
<div class="col-12">
<label for="inputConfig" class="form-label">Config</label>
<input type="text" id="inputConfig" class="form-control" placeholder="Enter VLESS, VMESS, WireGuard, or Trojan config">
</div>
<div class="col-12 mt-3">
<label for="inputType" class="form-label">Input Type</label>
<select id="inputType" class="form-control" onchange="toggleInputFields()">
<option value="cidr">IP Ranges</option>
<option value="list">IP List</option>
<option value="configList">Configs List</option>
</select>
</div>
<div class="col-12 mt-3" id="cidrFields">
<label for="ipRange" class="form-label">IP Ranges (CIDR)</label>
<button onclick="loadIPRanges('cloudflare')" class="badge bg-cloudflare border-0 ms-1">Cloudflare</button>
<button onclick="loadIPRanges('gcore')" class="badge bg-gcore border-0 ms-1">Gcore</button>
<button onclick="loadIPRanges('fastly')" class="badge bg-fastly border-0 ms-1">Fastly</button>
<textarea id="ipRange" class="form-control" rows="4" placeholder="Each IP range on a new line"></textarea>
<label for="outputCount" class="form-label mt-3">Number of outputs: <span id="outputCountValue">5000</span></label>
<input type="range" class="form-range" min="100" max="50000" step="100" id="outputCount" value="5000" oninput="updateOutputCountValue()">
</div>
<div class="col-12 mt-3" id="listFields" style="display: none;">
<label for="ipList" class="form-label">IP List</label>
<textarea id="ipList" class="form-control" rows="8" placeholder="Each IP on a new line"></textarea>
</div>
<div class="col-12 mt-3" id="configListFields" style="display: none;">
<label for="configList" class="form-label">Configs List</label>
<textarea id="configList" class="form-control" rows="8" placeholder="Each config on a new line"></textarea>
</div>
<div class="col-12 mt-4">
<button onclick="generateConfigs()" class="btn btn-primary">Generate Configs</button>
<button onclick="copyToClipboard()" class="btn btn-secondary px-4" id="copyButton" style="display: none;">Copy</button>
<button onclick="downloadOutput()" class="btn btn-success px-4" id="downloadButton" style="display: none;">Download</button>
</div>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ipaddr.js/2.0.1/ipaddr.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/js-base64@3.7.7/base64.min.js"></script>
<script src="assets/js/script.js?v=1.0.6"></script>
</body>
</html>