· 4 years ago · Feb 11, 2021, 06:40 AM
1<?php
2error_reporting(E_ERROR | E_PARSE);
3ini_set('display_errors', '1');
4
5$DB_host = "localhost";
6$DB_user = "user";
7$DB_pass = "pass";
8$DB_name = "db";
9
10$mysqli = new MySQLi($DB_host,$DB_user,$DB_pass,$DB_name);
11if ($mysqli->connect_error) {
12 die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
13}
14function encrypt_key($paswd)
15 {
16 $mykey=getEncryptKey();
17 $encryptedPassword=encryptPaswd($paswd,$mykey);
18 return $encryptedPassword;
19 }
20 function decrypt_key($paswd)
21 {
22 $mykey=getEncryptKey();
23 $decryptedPassword=decryptPaswd($paswd,$mykey);
24 return $decryptedPassword;
25 }
26 function getEncryptKey()
27 {
28 $secret_key = md5('eugcar');
29 $secret_iv = md5('sanchez');
30 $keys = $secret_key . $secret_iv;
31 return encryptor('encrypt', $keys);
32 }
33 function encryptPaswd($string, $key)
34 {
35 $result = '';
36 for($i=0; $i<strlen ($string); $i++)
37 {
38 $char = substr($string, $i, 1);
39 $keychar = substr($key, ($i % strlen($key))-1, 1);
40 $char = chr(ord($char)+ord($keychar));
41 $result.=$char;
42 }
43 return base64_encode($result);
44 }
45 function decryptPaswd($string, $key)
46 {
47 $result = '';
48 $string = base64_decode($string);
49 for($i=0; $i<strlen($string); $i++)
50 {
51 $char = substr($string, $i, 1);
52 $keychar = substr($key, ($i % strlen($key))-1, 1);
53 $char = chr(ord($char)-ord($keychar));
54 $result.=$char;
55 }
56
57 return $result;
58 }
59
60 function encryptor($action, $string) {
61 $output = false;
62
63 $encrypt_method = "AES-256-CBC";
64 $secret_key = md5('eugcar sanchez');
65 $secret_iv = md5('sanchez eugcar');
66 $key = hash('sha256', $secret_key);
67 $iv = substr(hash('sha256', $secret_iv), 0, 16);
68 if( $action == 'encrypt' ) {
69 $output = openssl_encrypt($string, $encrypt_method, $key, 0, $iv);
70 $output = base64_encode($output);
71 }
72 else if( $action == 'decrypt' ){
73 $output = openssl_decrypt(base64_decode($string), $encrypt_method, $key, 0, $iv);
74 }
75
76 return $output;
77 }
78
79
80
81#premium
82$data = "";
83$PREMIUM="users.is_validated=1 AND users.is_freeze=0 AND users.v2ray_id<>'none'";
84//$data .= "\n".'cat << EOF >/etc/v2ray/config.json';
85$data .= "\n".'{';
86$data .= "\n".' "log": {';
87$data .= "\n".' "access": "/var/log/v2ray/access.log",';
88$data .= "\n".' "error": "/var/log/v2ray/error.log",';
89$data .= "\n".' "loglevel": "warning"';
90$data .= "\n".' },';
91$data .= "\n".' "inbounds": [';
92$data .= "\n".' {';
93$data .= "\n".' "port": 443,';
94$data .= "\n".' "protocol": "vmess",';
95$data .= "\n".' "settings": {';
96$data .= "\n".' "clients": [';
97
98
99$query = $mysqli->query("SELECT * FROM users WHERE ".$PREMIUM." ");
100while($row = $query->fetch_assoc())
101{
102 $v2ray = $row['v2ray_id'];
103
104
105 $data .= "\n".' {"id": "'.$v2ray.'", "level": 1, "alterId": 64},';
106}
107$data .= "\n".' {"id": "c50c17cd-8948-479d-da2c-b38ff00e4ab2", "level": 1, "alterId": 64}';
108$data .= "\n".' ]';
109$data .= "\n".' },';
110$data .= "\n".' "streamSettings": {';
111$data .= "\n".' "network": "ws",';
112$data .= "\n".' "security": "tls",';
113$data .= "\n".' "tlsSettings": {';
114$data .= "\n".' "certificates": [';
115$data .= "\n".' {';
116$data .= "\n".' "certificateFile": "/etc/letsencrypt/live/JHODNS/cert.pem",';
117$data .= "\n".' "keyFile": "/etc/letsencrypt/live/JHODNS/privkey.pem"';
118$data .= "\n".' }';
119$data .= "\n".' ],';
120$data .= "\n".' "serverName": "JHODNS"';
121$data .= "\n".' },';
122$data .= "\n".' "wsSettings": {';
123$data .= "\n".' "headers": {},';
124$data .= "\n".' "path": "/"';
125$data .= "\n".' }';
126$data .= "\n".' },';
127$data .= "\n".' "sniffing": {';
128$data .= "\n".' "enabled": true,';
129$data .= "\n".' "destOverride": [';
130$data .= "\n".' "http",';
131$data .= "\n".' "tls"';
132$data .= "\n".' ]';
133$data .= "\n".' }';
134$data .= "\n".' }';
135$data .= "\n".' ],';
136$data .= "\n".' "outbounds": [';
137$data .= "\n".' {';
138$data .= "\n".' "protocol": "freedom",';
139$data .= "\n".' "settings": {';
140$data .= "\n".' "domainStrategy": "UseIP"';
141$data .= "\n".' },';
142$data .= "\n".' "tag": "direct"';
143$data .= "\n".' },';
144$data .= "\n".' {';
145$data .= "\n".' "protocol": "blackhole",';
146$data .= "\n".' "settings": {},';
147$data .= "\n".' "tag": "blocked"';
148$data .= "\n".' },';
149$data .= "\n".' {';
150$data .= "\n".' "protocol": "mtproto",';
151$data .= "\n".' "settings": {},';
152$data .= "\n".' "tag": "tg-out"';
153$data .= "\n".' }';
154$data .= "\n".' ],';
155$data .= "\n".' "dns": {';
156$data .= "\n".' "servers": [';
157$data .= "\n".' "https+local://cloudflare-dns.com/dns-query",';
158$data .= "\n".' "1.1.1.1",';
159$data .= "\n".' "1.0.0.1",';
160$data .= "\n".' "8.8.8.8",';
161$data .= "\n".' "8.8.4.4",';
162$data .= "\n".' "localhost"';
163$data .= "\n".' ]';
164$data .= "\n".' },';
165$data .= "\n".' "routing": {';
166$data .= "\n".' "domainStrategy": "IPOnDemand",';
167$data .= "\n".' "rules": [';
168$data .= "\n".' {';
169$data .= "\n".' "type": "field",';
170$data .= "\n".' "ip": [';
171$data .= "\n".' "0.0.0.0/8",';
172$data .= "\n".' "10.0.0.0/8",';
173$data .= "\n".' "100.64.0.0/10",';
174$data .= "\n".' "127.0.0.0/8",';
175$data .= "\n".' "169.254.0.0/16",';
176$data .= "\n".' "172.16.0.0/12",';
177$data .= "\n".' "192.0.0.0/24",';
178$data .= "\n".' "192.0.2.0/24",';
179$data .= "\n".' "192.168.0.0/16",';
180$data .= "\n".' "198.18.0.0/15",';
181$data .= "\n".' "198.51.100.0/24",';
182$data .= "\n".' "203.0.113.0/24",';
183$data .= "\n".' "::1/128",';
184$data .= "\n".' "fc00::/7",';
185$data .= "\n".' "fe80::/10"';
186$data .= "\n".' ],';
187$data .= "\n".' "outboundTag": "blocked"';
188$data .= "\n".' },';
189$data .= "\n".' {';
190$data .= "\n".' "type": "field",';
191$data .= "\n".' "inboundTag": ["tg-in"],';
192$data .= "\n".' "outboundTag": "tg-out"';
193$data .= "\n".' },';
194$data .= "\n".' {';
195$data .= "\n".' "type": "field",';
196$data .= "\n".' "domain": [';
197$data .= "\n".' "domain:epochtimes.com",';
198$data .= "\n".' "domain:epochtimes.com.tw",';
199$data .= "\n".' "domain:epochtimes.fr",';
200$data .= "\n".' "domain:epochtimes.de",';
201$data .= "\n".' "domain:epochtimes.jp",';
202$data .= "\n".' "domain:epochtimes.ru",';
203$data .= "\n".' "domain:epochtimes.co.il",';
204$data .= "\n".' "domain:epochtimes.co.kr",';
205$data .= "\n".' "domain:epochtimes-romania.com",';
206$data .= "\n".' "domain:erabaru.net",';
207$data .= "\n".' "domain:lagranepoca.com",';
208$data .= "\n".' "domain:theepochtimes.com",';
209$data .= "\n".' "domain:ntdtv.com",';
210$data .= "\n".' "domain:ntd.tv",';
211$data .= "\n".' "domain:ntdtv-dc.com",';
212$data .= "\n".' "domain:ntdtv.com.tw",';
213$data .= "\n".' "domain:minghui.org",';
214$data .= "\n".' "domain:renminbao.com",';
215$data .= "\n".' "domain:dafahao.com",';
216$data .= "\n".' "domain:dongtaiwang.com",';
217$data .= "\n".' "domain:falundafa.org",';
218$data .= "\n".' "domain:wujieliulan.com",';
219$data .= "\n".' "domain:ninecommentaries.com",';
220$data .= "\n".' "domain:shenyun.com"';
221$data .= "\n".' ],';
222$data .= "\n".' "outboundTag": "blocked"';
223$data .= "\n".' } ,';
224$data .= "\n".' {';
225$data .= "\n".' "type": "field",';
226$data .= "\n".' "protocol": [';
227$data .= "\n".' "bittorrent"';
228$data .= "\n".' ],';
229$data .= "\n".' "outboundTag": "blocked"';
230$data .= "\n".' }';
231$data .= "\n".' ]';
232$data .= "\n".' },';
233$data .= "\n".' "transport": {';
234$data .= "\n".' "kcpSettings": {';
235$data .= "\n".' "uplinkCapacity": 100,';
236$data .= "\n".' "downlinkCapacity": 100,';
237$data .= "\n".' "congestion": true';
238$data .= "\n".' }';
239$data .= "\n".' }';
240$data .= "\n".'}';
241//$data .= "\n".'EOF';
242//$data .= "\nv2ray restart";
243$data .= "\n";
244$location1 = '/home/pathmosajsonmo/id.json';
245$fp = fopen($location1, 'w');
246fwrite($fp, $data) or die("Unable to open me!");
247fclose($fp);
248
249$mysqli->close();
250?>