Browse Source

Signed-off-by: Caner <5658514@qq.com>

Caner 4 years ago
parent
commit
a78074e9bc

+ 13 - 0
News.service

@@ -0,0 +1,13 @@
+[Unit]
+Description=News Server Service
+After=network.target
+
+[Service]
+Type=simple
+User=root
+Restart=always
+RestartSec=5s
+ExecStart=/usr/bin/python3 /var/www/NewsService/news.py &
+
+[Install]
+WantedBy=multi-user.target

+ 20 - 0
conf.d/https-caner.conf

@@ -0,0 +1,20 @@
+# frpHTTPS
+server {
+    #SSL 访问端口号为 443
+    listen 443 ssl; 
+   #填写绑定证书的域名
+    server_name caner.top; 
+   #目录
+    root /var/www/web/;
+   #证书文件名称
+    ssl_certificate "/var/www/pki/caner.top_bundle.crt"; 
+   #私钥文件名称
+    ssl_certificate_key "/var/www/pki/caner.top.key"; 
+    ssl_session_timeout 5m;
+   #请按照以下协议配置
+    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
+   #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
+    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
+    ssl_prefer_server_ciphers on;
+    server_tokens off;      
+}

+ 28 - 0
conf.d/https-car.conf

@@ -0,0 +1,28 @@
+# frpHTTPS
+server {
+   #SSL 访问端口号为 443
+    listen 443 ssl;
+   #填写绑定证书的域名
+    server_name car.caner.top;
+   #目录
+    root /var/www/car/;
+   #证书文件名称
+    ssl_certificate "/var/www/pki/car.caner.top_bundle.crt";
+   #私钥文件名称
+    ssl_certificate_key "/var/www/pki/car.caner.top.key";
+    ssl_session_timeout 5m;
+   #请按照以下协议配置
+    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+   #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
+    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
+    ssl_prefer_server_ciphers on;
+    server_tokens off;
+    # wss转发
+    location ^~/socket.io {
+        proxy_http_version 1.1;
+        proxy_set_header Upgrade $http_upgrade;
+        proxy_set_header Connection "upgrade";
+        proxy_set_header X-Real-IP $remote_addr;
+        proxy_pass http://127.0.0.1:49800;
+    }   
+}

+ 28 - 0
conf.d/https-git-frp.conf

@@ -0,0 +1,28 @@
+# frpHTTPS
+server {
+   #SSL 访问端口号为 443
+    listen 443 ssl;
+   #填写绑定证书的域名
+    server_name git.caner.top;
+   #文件大小限制
+    client_max_body_size 200m;
+   #证书文件名称
+    ssl_certificate "/var/www/pki/git.caner.top_bundle.crt";
+   #私钥文件名称
+    ssl_certificate_key "/var/www/pki/git.caner.top.key";
+    ssl_session_timeout 5m;
+   #请按照以下协议配置
+    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+   #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
+    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
+    ssl_prefer_server_ciphers on;
+    server_tokens off;
+    # 拦截所有请求
+    location / {
+        proxy_http_version 1.1; #代理使用的http协议
+        proxy_set_header Host $host; #header添加请求host信息
+        proxy_set_header X-Real-IP $remote_addr; # header增加请求来源IP信息
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 增加代理记录
+        proxy_pass http://127.0.0.1:30000; #服务A访问地址
+    } 
+}

+ 28 - 0
conf.d/https-rc-frp.conf

@@ -0,0 +1,28 @@
+# frpHTTPS
+server {
+   #SSL 访问端口号为 443
+    listen 443 ssl; 
+   #填写绑定证书的域名
+    server_name rc.caner.top; 
+   #目录
+    root /var/www/rc/;
+   #证书文件名称
+    ssl_certificate "/var/www/pki/1_rc.caner.top_bundle.crt"; 
+   #私钥文件名称
+    ssl_certificate_key "/var/www/pki/2_rc.caner.top.key"; 
+    ssl_session_timeout 5m;
+   #请按照以下协议配置
+    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
+   #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
+    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
+    ssl_prefer_server_ciphers on;
+    server_tokens off; 
+    # wss转发
+    location /wss {   
+      proxy_pass http://127.0.0.1:49700;
+      proxy_http_version 1.1;    
+      proxy_set_header Upgrade $http_upgrade;    
+      proxy_set_header Connection "Upgrade";    
+      proxy_set_header X-Real-IP $remote_addr;
+    }         
+}

+ 13 - 0
frps.service

@@ -0,0 +1,13 @@
+[Unit]
+Description=Frp Server Service
+After=network.target
+
+[Service]
+Type=simple
+User=root
+Restart=always
+RestartSec=3s
+ExecStart=/root/frps/frps.sh
+
+[Install]
+WantedBy=multi-user.target

+ 6 - 0
getUserInfo.sh

@@ -0,0 +1,6 @@
+echo '' > /var/www/web/static/info.json
+echo '{"pv":' >> /var/www/web/static/info.json
+awk '{print $7}' /var/log/nginx/access.log | wc -l >> /var/www/web/static/info.json
+echo ',"uv":' >> /var/www/web/static/info.json
+awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | wc -l >> /var/www/web/static/info.json
+echo '}' >> /var/www/web/static/info.json

+ 69 - 0
news.py

@@ -0,0 +1,69 @@
+import requests
+from lxml import etree
+import json
+import os
+import time
+
+
+def requestd(url):
+    # request:
+    t = requests.get(url=url, headers={
+        "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36",
+        "Cookie": "BAIDUID=B7F548F09EEC3FB817FEE54D9E4FB734:FG=1; BD_NOT_HTTPS=1; PSTM=1589783384; BIDUPSID=B7F548F09EEC3FB817FEE54D9E4FB734; BDSVRTM=10; BD_HOME=1; H_PS_PSSID=1445_31326_21081_31111_31593_31525_31464_31322_30823"
+    }).text
+    return t
+
+
+def baidu2hot(url):
+    # 百度热搜数据:
+    b = requestd(url)
+    html = etree.HTML(b)
+    imgs = html.xpath('//a[@class="img-wrapper_29V76"]/img/@src')
+    titles = html.xpath('//div[@class="c-single-text-ellipsis"]/text()')
+    nums = html.xpath('//div[@class="hot-index_1Bl1a"]/text()')
+    big_list = []
+    for i, j in enumerate(imgs):
+        obj = dict()
+        obj['name'] = titles[i].replace(" ", "")
+        obj['url'] = 'http://www.baidu.com/s?tn=news&wd=' + obj['name']
+        obj['num'] = int(nums[i])
+        obj['strnum'] = str(int(obj['num']/10000))+'万'
+        obj['imgSrc'] = j
+        big_list.append(obj)
+    return big_list
+
+
+def save2json(file_save_path, file_db_list):
+    # 数据存json文件:
+    # 中文禁用ascii,采用UTF8
+    if file_save_path:
+        os.chdir(file_save_path)
+    with open('test.json', 'w', encoding='utf-8') as F:
+        json.dump(file_db_list, F, ensure_ascii=False)
+    pass
+
+
+def init2db(file_save_path):
+    # 合并数据list:
+    baidurl = 'https://top.baidu.com/board?tab=realtime'
+    try:
+        # 合并list
+        all_list = baidu2hot(baidurl)
+        # 倒序=》根据浏览量排序
+        new_list_1 = sorted(all_list, key=lambda num: num['num'], reverse=True)
+        print('总共', str(len(new_list_1)), new_list_1)
+        # 图表展示
+        save2json(file_save_path, new_list_1)
+    except TypeError as e:
+        print('报错', e)
+    pass
+
+
+if __name__ == "__main__":
+    # 保存位置自定
+    init2db('/var/www/web/static/')
+    # 每分钟抓一次
+    while True:
+        time.sleep(300)
+        init2db('/var/www/web/static/')
+        pass

+ 91 - 0
nginx.conf

@@ -0,0 +1,91 @@
+user www-data;
+worker_processes auto;
+pid /run/nginx.pid;
+include /etc/nginx/modules-enabled/*.conf;
+
+events {
+	worker_connections 768;
+	# multi_accept on;
+}
+
+http {
+
+	##
+	# Basic Settings
+	##
+
+	sendfile on;
+	tcp_nopush on;
+	tcp_nodelay on;
+	keepalive_timeout 65;
+	types_hash_max_size 2048;
+	# server_tokens off;
+
+	# server_names_hash_bucket_size 64;
+	# server_name_in_redirect off;
+
+	include /etc/nginx/mime.types;
+	default_type application/octet-stream;
+
+	##
+	# SSL Settings
+	##
+
+	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
+	ssl_prefer_server_ciphers on;
+
+	##
+	# Logging Settings
+	##
+
+	access_log /var/log/nginx/access.log;
+	error_log /var/log/nginx/error.log;
+
+	##
+	# Gzip Settings
+	##
+
+	gzip on;
+
+	# gzip_vary on;
+	# gzip_proxied any;
+	# gzip_comp_level 6;
+	# gzip_buffers 16 8k;
+	# gzip_http_version 1.1;
+	# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
+
+	##
+	# Virtual Host Configs
+	##
+
+	include /etc/nginx/conf.d/*.conf;
+	include /etc/nginx/sites-enabled/*;
+	
+	server{
+		listen 80;
+		server_name www.caner.top;
+		rewrite /$ https://www.caner.top;
+	}
+}
+
+
+#mail {
+#	# See sample authentication script at:
+#	# http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
+# 
+#	# auth_http localhost/auth.php;
+#	# pop3_capabilities "TOP" "USER";
+#	# imap_capabilities "IMAP4rev1" "UIDPLUS";
+# 
+#	server {
+#		listen     localhost:110;
+#		protocol   pop3;
+#		proxy      on;
+#	}
+# 
+#	server {
+#		listen     localhost:143;
+#		protocol   imap;
+#		proxy      on;
+#	}
+#}

+ 63 - 0
pki/1_rc.caner.top_bundle.crt

@@ -0,0 +1,63 @@
+-----BEGIN CERTIFICATE-----
+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
+he2gWyE1Emg=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIErjCCA5agAwIBAgIQBYAmfwbylVM0jhwYWl7uLjANBgkqhkiG9w0BAQsFADBh
+MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
+QTAeFw0xNzEyMDgxMjI4MjZaFw0yNzEyMDgxMjI4MjZaMHIxCzAJBgNVBAYTAkNO
+MSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMR0wGwYDVQQL
+ExREb21haW4gVmFsaWRhdGVkIFNTTDEdMBsGA1UEAxMUVHJ1c3RBc2lhIFRMUyBS
+U0EgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgWa9X+ph+wAm8
+Yh1Fk1MjKbQ5QwBOOKVaZR/OfCh+F6f93u7vZHGcUU/lvVGgUQnbzJhR1UV2epJa
+e+m7cxnXIKdD0/VS9btAgwJszGFvwoqXeaCqFoP71wPmXjjUwLT70+qvX4hdyYfO
+JcjeTz5QKtg8zQwxaK9x4JT9CoOmoVdVhEBAiD3DwR5fFgOHDwwGxdJWVBvktnoA
+zjdTLXDdbSVC5jZ0u8oq9BiTDv7jAlsB5F8aZgvSZDOQeFrwaOTbKWSEInEhnchK
+ZTD1dz6aBlk1xGEI5PZWAnVAba/ofH33ktymaTDsE6xRDnW97pDkimCRak6CEbfe
+3dXw6OV5AgMBAAGjggFPMIIBSzAdBgNVHQ4EFgQUf9OZ86BHDjEAVlYijrfMnt3K
+AYowHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDgYDVR0PAQH/BAQD
+AgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAG
+AQH/AgEAMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Au
+ZGlnaWNlcnQuY29tMEIGA1UdHwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwzLmRpZ2lj
+ZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwTAYDVR0gBEUwQzA3Bglg
+hkgBhv1sAQIwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29t
+L0NQUzAIBgZngQwBAgEwDQYJKoZIhvcNAQELBQADggEBAK3dVOj5dlv4MzK2i233
+lDYvyJ3slFY2X2HKTYGte8nbK6i5/fsDImMYihAkp6VaNY/en8WZ5qcrQPVLuJrJ
+DSXT04NnMeZOQDUoj/NHAmdfCBB/h1bZ5OGK6Sf1h5Yx/5wR4f3TUoPgGlnU7EuP
+ISLNdMRiDrXntcImDAiRvkh5GJuH4YCVE6XEntqaNIgGkRwxKSgnU3Id3iuFbW9F
+UQ9Qqtb1GX91AJ7i4153TikGgYCdwYkBURD8gSVe8OAco6IfZOYt/TEwii1Ivi1C
+qnuUlWpsF1LdQNIdfbW3TSe0BhQa7ifbVIfvPWHYOu3rkg1ZeMo6XRU9B4n5VyJY
+RmE=
+-----END CERTIFICATE-----

+ 27 - 0
pki/2_rc.caner.top.key

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEA5STpD4/I4fYWBha7aPHADUQ3+ZA/ZDtIokPvZBtZ6dXYQUmc
+BHrJMcBp984AYPKD5gESRDdzxnwhCrUw9v55MOzRX23CfUlD3OEy1UhbRdl7W4/B
+F+0GiHfnOBrmQhKf6O8azGEuRX02tmSY/4KJkiOQEZHfYX8PhSWa7k66eYFOZskk
+xUlqdBz3mAww9bbygUnRhWx3Gx0ibwt/KX4QHSFNt4Mk5ZxzNyg7i1A50R6W+kOc
+r+8g2Rqjg1SD5CJ55A3OGhIcgK73z31sMMkTW/CCuBD/FM7FCnSywsqwidnlORty
+NN1NNaR1U8ZvU6iWyeF3kFdFyd/R7mrpyXMVxQIDAQABAoIBADsi8vj+qR/TxCxP
+Go/DcEacN/vyw8Fo4V5rPPFvc517AGQdDKRFUf5Cg7ad1hAvFmY6GY48Z2cuqtJa
+H6hm1T0QqRpBN+PgkCCFh/puQYv9zC29pF454ClBFI2wt4MOznEtoBNl8yyg24ln
+3ep3NGzgO7KlHGrLgWRh56Gf9NUdUkOXqv/Z7a72ffECC5XrsadvJoVnUUyBbMQf
+s8qF0is+ulzqV3td9oT9l7KuzjMfwLOaaiiDrvuKvb3enw7lRp3GKOaaK0/B0W1P
+b5mW4X4+xGb4un0u+Eov48O2Ka136myZpaLcKivyXvFuPpzLFzPH2N4tZt9kJKmI
+nt0cW6MCgYEA/sKonnL3k1X84ng7xmeBZHlCGAG8mO+KtukxZ6uko11zM2MuFk2b
+U2clqMgucTwxsRZuoxgT1pf9wTQzd0G06Dy1ilLUEDysCGzeHFENWyYFEgo1GuqN
+Y41E/oI+SiiKMEHH82gSH865QsCi8o7ZdUeO3LgbFYwUW1KIE1kEnUcCgYEA5kJX
+zpRrQqrB3vXu92zeR8qkZXq6oFm9jZPn8T1sAzKvCiWkhY7seR9MJU+R3b4iJ/XI
+AdXyOnypUU5b93ltcpv9HTVNMz/Hbu7ZsTovcmrYhKPC6QCWSSQA1jNGgRm3qVWA
+ERhmcqeEkhesOVC6spSZNCe7ZZc9YeSSWMkYCpMCgYAEXopNzWL5n+vqZm2ABZ5u
+frXne4Akj1cts+opAQSd2Kh1JSpRL5uOXqKCtow1XPbtNplHKs6MS6cKfT60uOfF
+Y+UpLip87M12h4d3rNwxyAEmQg6PG565Kl8YjltLIk7cbQRk5FALQ5xhzLP+vPx1
+ynhkyLOONwzSVCQJUOmHWQKBgEa5pgLb775AeOAlJkt1cykWAzzwX5aVOfXcsmeU
++DJbRQyW11v2tIfXpynmsOUtW4xuoAqATrDMTa2dpf3znDyR0UNBdf8B3h4i21bm
+imBYlTzYmCu9dGvu1Rr2EPfikFlA299kYUNiVQQSpWHNfCsSHaS5d4QS2lXRQWpo
+CixlAoGAIMTgA0PmxapYCQfN7LIBCNeHkljAn54tn+/H6CmJBfIcGziiIUrs491N
+haluAB8vpPNl+o4cmaQP7qDSZCP8//JGQwjpi/MXtX3Z5cPvw0U2EB0PHaLvz+r+
+Ok/PkPqg3NYPZ9RF89R4rl0SSBVyXQGdTqWSTkE2b35Ez0hdyxM=
+-----END RSA PRIVATE KEY-----

+ 27 - 0
pki/caner.top.key

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEAlLtBmhHB7hDetjehqFgT/fi+qXF+vvPDVsJWD2WOYYiiy9k7
+5G5l3PLMd3Cw7L4W8qAu4sMtNu3lXVKYOyIdx1TX/S9ePcxkhgLC8bwqvEmDxZ3n
+DfVNbpIKybpnPDXiCOwQ7AosZn9v8FDQVDfOUi7R73VNA6VcRmT80ng0KxPfMA4S
+DgRo5cbfPLP40OQkQkZ3vGbiXIHwJSn67gkubFeLSWFX/Gbn2SRyiLr3NdLXXTV9
+0lNXSqlVcrI9Xe/Q7pniSXPHpuxujzDbohJiLC6/Dbl3c/xndeik5+/x0dO5juwx
+r9g6yS0jpd8/V5DsGP9ddSaYxBbSSfQB0EUOyQIDAQABAoIBAEKggjpRMyWBJCvP
+zxjZYBdZS5wfbi5/h6XBiAj8ryRNL9SO27AwrmwkzmjBMFjVrPUCwg4ubf5Z4vKD
+8hMnbNyjSuCuTBL2EaAg85CUATb43dF0s5GCrq3WOYP1/5Iu9zOVAN2kjxBZjV1D
+7peTqlcRh1U0oIv+E1Cro8BrPb9/x/nBdk1QackRVihE9XqVpuxX1oFPW2DARMqn
+OmtFmAl+/BX23HWdSAdeKUOn7L9gowHq5iy8JnMwDb0ei76njoQ+tF+FcSLF8CxQ
+VUL+qO0K/E1yxHEfkoGFEnAm4ZjJluwJpgWwOungpEGQpx4stloC1qLjGm4oy0C6
+I68uR6MCgYEAyuWxQ7803/Ui4m0GfgMa5rJ1cv37oX6/Qlm4rfdCDlnE46gnQ7+1
+KwpYlzlJkG2CfNxyUTPHPxkTNS7qt/Sc4kIPJ7L3/mY7Y1uiow32VN5RD4+SY0zG
+kVl9wOtVoy+tcHnF6b7jHX1GcQssNmOdjsLLNjgK9W1KvtQQ7huASIcCgYEAu6hn
+8MiTirkuf91K55dylCmVV3MjSYzbYbX5anwdzTq5E+4XoLjL71VVExRP+rhGW3dO
+fVZXFdUBBubYgQ3cA8F9QXjpd3fIVtJTUXLrGqcDdgRQk8FUAFlPwCaabDa8zx4m
+8Ff4jJT2vI98ixxDgygpXHrTFiwL42I855k/0i8CgYAwzqIert80RI64swtNwsd0
+2VcBa3FdftTZTCXtyz3bn+KJ9QhE9tfI27tF3WUB1iX+jTT+rZrvZcPGFlwmFjSr
+BMMKhLW9P7BnjUKJQLGR5szPFnVbZ7uYeVOT1ciK8cwh81kVinKtxFXumYZwKvRa
+xCcICuEv+rNxRigwbvMj/wKBgEwfh3J0Wu2GKyexRAZoOBGEQNGFokXevsuHPxME
+IC61aIh+J9WJwShoDCe+MKd7AwdtgUh0ssTncBA1qpPHZH2disr5WnOdAoa9sRC0
+NkzMfSntnCYj4Yh2slQ3FKNbHQJDr/YFKY0VjHV3G0VvBK/6pbSfGmu/GF935U7p
+qqr/AoGASJZDXS0gde9GFKoJI8Awwtt5ZPWqLwNQ52OWcJjZv/y/8uivhCWUAxMS
+LyxOHQ2Ghl3Crl9yKbuh48m4f269w9qVWswJrdMd9PZYfoA8FSCzg4Dvwcg7WAg1
+hmcQbWdeyfwBeMNA7toAa5U11PZwpQmA09Ri6O2XchjpMcCJNfs=
+-----END RSA PRIVATE KEY-----

+ 63 - 0
pki/caner.top_bundle.crt

@@ -0,0 +1,63 @@
+-----BEGIN CERTIFICATE-----
+MIIGDDCCBPSgAwIBAgIQCuOLq6YN70N9/Vth1pAcvDANBgkqhkiG9w0BAQsFADBy
+MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywg
+SW5jLjEdMBsGA1UECxMURG9tYWluIFZhbGlkYXRlZCBTU0wxHTAbBgNVBAMTFFRy
+dXN0QXNpYSBUTFMgUlNBIENBMB4XDTIyMDEyODAwMDAwMFoXDTIzMDEyODIzNTk1
+OVowFDESMBAGA1UEAxMJY2FuZXIudG9wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAlLtBmhHB7hDetjehqFgT/fi+qXF+vvPDVsJWD2WOYYiiy9k75G5l
+3PLMd3Cw7L4W8qAu4sMtNu3lXVKYOyIdx1TX/S9ePcxkhgLC8bwqvEmDxZ3nDfVN
+bpIKybpnPDXiCOwQ7AosZn9v8FDQVDfOUi7R73VNA6VcRmT80ng0KxPfMA4SDgRo
+5cbfPLP40OQkQkZ3vGbiXIHwJSn67gkubFeLSWFX/Gbn2SRyiLr3NdLXXTV90lNX
+SqlVcrI9Xe/Q7pniSXPHpuxujzDbohJiLC6/Dbl3c/xndeik5+/x0dO5juwxr9g6
+yS0jpd8/V5DsGP9ddSaYxBbSSfQB0EUOyQIDAQABo4IC+jCCAvYwHwYDVR0jBBgw
+FoAUf9OZ86BHDjEAVlYijrfMnt3KAYowHQYDVR0OBBYEFGaQmj36u8WH++OlIKHK
+7nSg9q50MCMGA1UdEQQcMBqCCWNhbmVyLnRvcIINd3d3LmNhbmVyLnRvcDAOBgNV
+HQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMD4GA1Ud
+IAQ3MDUwMwYGZ4EMAQIBMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNl
+cnQuY29tL0NQUzCBkgYIKwYBBQUHAQEEgYUwgYIwNAYIKwYBBQUHMAGGKGh0dHA6
+Ly9zdGF0dXNlLmRpZ2l0YWxjZXJ0dmFsaWRhdGlvbi5jb20wSgYIKwYBBQUHMAKG
+Pmh0dHA6Ly9jYWNlcnRzLmRpZ2l0YWxjZXJ0dmFsaWRhdGlvbi5jb20vVHJ1c3RB
+c2lhVExTUlNBQ0EuY3J0MAkGA1UdEwQCMAAwggF+BgorBgEEAdZ5AgQCBIIBbgSC
+AWoBaAB3AOg+0No+9QY1MudXKLyJa8kD08vREWvs62nhd31tBr1uAAABfp5BLHEA
+AAQDAEgwRgIhAInjkczX9MTktemi2VpWKPVFYeas91qMT78JTviZH7m8AiEAsiqP
+4/oEmcqY33TpBVCQH9jfl2kvFR7uNPcHX+8ijOMAdgA1zxkbv7FsV78PrUxtQsu7
+ticgJlHqP+Eq76gDwzvWTAAAAX6eQSwSAAAEAwBHMEUCIAOkxwPLJ1oiLtEcEh/r
+aJsH+9/e0Vk66NoT6zRxQJjsAiEAjsVfWCjaUul6sVfI2QMTwzz0v0KimqwWJFpa
+M1czbsYAdQCzc3cH4YRQ+GOG1gWp3BEJSnktsWcMC4fc8AMOeTalmgAAAX6eQSw7
+AAAEAwBGMEQCICDBrI2+kWj88ox5+hVadzmHmp3THKQRJu2++WnIgASYAiAsDvLJ
+8GlBNhi7FyfH6fc5ZcH8RhvbyzXg2/pAKf747zANBgkqhkiG9w0BAQsFAAOCAQEA
+Gnfm5PC7Us5XYGMPZwYRKTUzycdwXAoxSqmR4bnCryE9tqeWHR0Q8XjKaUiE/6lP
+SVQ5npvkIG+CmKbAzTx5zt4snChWhE76qbeu0NQNIlQplz3BqmEPsvKmZa8d4PPR
+QdLyvoFvbqyVUyj/r9nh6pkJI3Ro/Dm/C6RAFbKotJOXNaLG/MKY0kj1gXUWyMx3
+VQp3cKsSX23H+UL1wnXoN1WWruM8NsF3dJ3n23ZuG0gTMcCmJqPPKMPclr3IDTEG
++MeNfIoLpTWsCvjugI97L0jj/DK9AJcJ90wRmOlyfTryoqYMQ/W3feil4nbSuWrh
+yd+MHjN5FQWBPNtKeT3/xg==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIErjCCA5agAwIBAgIQBYAmfwbylVM0jhwYWl7uLjANBgkqhkiG9w0BAQsFADBh
+MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
+QTAeFw0xNzEyMDgxMjI4MjZaFw0yNzEyMDgxMjI4MjZaMHIxCzAJBgNVBAYTAkNO
+MSUwIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMR0wGwYDVQQL
+ExREb21haW4gVmFsaWRhdGVkIFNTTDEdMBsGA1UEAxMUVHJ1c3RBc2lhIFRMUyBS
+U0EgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgWa9X+ph+wAm8
+Yh1Fk1MjKbQ5QwBOOKVaZR/OfCh+F6f93u7vZHGcUU/lvVGgUQnbzJhR1UV2epJa
+e+m7cxnXIKdD0/VS9btAgwJszGFvwoqXeaCqFoP71wPmXjjUwLT70+qvX4hdyYfO
+JcjeTz5QKtg8zQwxaK9x4JT9CoOmoVdVhEBAiD3DwR5fFgOHDwwGxdJWVBvktnoA
+zjdTLXDdbSVC5jZ0u8oq9BiTDv7jAlsB5F8aZgvSZDOQeFrwaOTbKWSEInEhnchK
+ZTD1dz6aBlk1xGEI5PZWAnVAba/ofH33ktymaTDsE6xRDnW97pDkimCRak6CEbfe
+3dXw6OV5AgMBAAGjggFPMIIBSzAdBgNVHQ4EFgQUf9OZ86BHDjEAVlYijrfMnt3K
+AYowHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDgYDVR0PAQH/BAQD
+AgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAG
+AQH/AgEAMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Au
+ZGlnaWNlcnQuY29tMEIGA1UdHwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwzLmRpZ2lj
+ZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwTAYDVR0gBEUwQzA3Bglg
+hkgBhv1sAQIwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29t
+L0NQUzAIBgZngQwBAgEwDQYJKoZIhvcNAQELBQADggEBAK3dVOj5dlv4MzK2i233
+lDYvyJ3slFY2X2HKTYGte8nbK6i5/fsDImMYihAkp6VaNY/en8WZ5qcrQPVLuJrJ
+DSXT04NnMeZOQDUoj/NHAmdfCBB/h1bZ5OGK6Sf1h5Yx/5wR4f3TUoPgGlnU7EuP
+ISLNdMRiDrXntcImDAiRvkh5GJuH4YCVE6XEntqaNIgGkRwxKSgnU3Id3iuFbW9F
+UQ9Qqtb1GX91AJ7i4153TikGgYCdwYkBURD8gSVe8OAco6IfZOYt/TEwii1Ivi1C
+qnuUlWpsF1LdQNIdfbW3TSe0BhQa7ifbVIfvPWHYOu3rkg1ZeMo6XRU9B4n5VyJY
+RmE=
+-----END CERTIFICATE-----

+ 27 - 0
pki/car.caner.top.key

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA0sjznHuu138gngFGD5ybUq1w69lSt1l8Rloie5FxPy+v2zzn
+vChm0X/0F3XKCqBum790QuQRYmSXYJq+xfnaRGTieIP7bGrEfq07Ckutut+ZGeuR
+crd26i7JGxyeQCMc9P/h564Cjca93jdMhX8JSQJVSscu3qizyDYtd81m9ZdwCrON
+t5RKDfFcxLiKYqo5frOoCDxbSMpSg/XF0wI3KwdoCkf6cp5muNpS+GgH8k1Vr6lp
+AedfVzbNRmAGHvbrEIBxZZTA9Ma9YG6jEGbRylkvICF7tXQtc4Gg6jYFzVy/4Sm8
+/yc7Hhah62qYHv0VTnsDVRmJK8gY/RO6DwirhQIDAQABAoIBABBtwS8NJM9/BRfL
+mZ5V4nVLN2XqhlvsCZeiJtXivCTknpxD3vv3WiwyAOBjOeAiKPzSq0kbZY95r6LD
+7OKZWr3B7zTddJc6qx4EenmO9HeAPfqbNbbvPcF67AnE7UCqe/NMjlr0YRaTyvCq
+9rfg8uRR3jv50llgZMLSFjEkPUYe50quuT9W4iLnaUamZuj637WtzzDCH0Lef+22
+sf4su65l9YPpT8u0Lhem909xAhx32SPmZKbeNXXZmqaN+YcOC1wrf0YXXjl6m0ty
+uFaGyx4+0FKlzQAHzvYquY9e7p7+jkuGsvgJDG8piwgOLq/IVGeUhdv5VqYbAOyB
+cJmFc4ECgYEA8iJBNjo6JABMdlxJ268zWIr5ZNChtqUCy9tSoM0gUFYfAaLx7dId
+n8quuO3P40jVX/NW2G9cFi9/cx2DsTnD8Ude5XoHuYbS2/pHk1kgut0tN5D/GpbR
+zWXiiqFoA1rlHr7CVGEzWSBgTzkmCyotB6criljpmx1Bf2BAReE5ZD0CgYEA3tsd
+WJbOJZASjEsuDY3jGQ5QXvQuMB36Th2UhmhggW/9QNJyITl2dozjr1755Qn/MkpH
+T46Xf3rB87YpG4JjkaF+yv0PUY+XBi640E4SFd8+FMElNB9lSEx8BL0NdWuXo9Ys
+8mc5OMiwZkMlinPCaXkn6GvjnrLUB7H1E84VMOkCgYEAwYQzDj33HbLHaYlU1iju
+JoPb0oET3b9/vqGpJi8K9mn+Gfa62FGnr3/zqIUYMxSQxEDdVdmahXisqboa+Fes
+jHd4FnszFUn12C3taow/JlmCu/g8immjgD8/kYByesv4dlwLQBj3SvIfRvHrv9yT
+ZJxspgNtoLT/Feg9NhxNHBkCgYAtQNlIr/bUcdkSXAHSBsniwKFZZsQqSSwWyLLs
+SC2wmwkWLKW4UW7Yy+tAJU0hUVJc5/BrG01wOYFA9/CJAYUugVi554FA0qOcQciN
+pAzQHDEDDeV8HBP5Bm74l1swSNTWFBu0bXmVKkuHuILbBn6n5E5SR/ZEt5OOrHhT
+uTlcYQKBgQCndKnPR1/1hciyIV24W5h0aYmlCH3gGCk0HGz95hBlg7Lvd57uEbg1
+gIIc/5QKgvXT5xBBc0XWCYkQS97WeIGIBuTQ1ibACAB5BzPfmGKVgzPUN0QoHgvo
+Uxj0koqv09lqr/qfYkNuFJ7RmmxpE33LuzghuWsqvzmQmoUG+WGXag==
+-----END RSA PRIVATE KEY-----

+ 66 - 0
pki/car.caner.top_bundle.crt

@@ -0,0 +1,66 @@
+-----BEGIN CERTIFICATE-----
+MIIGYjCCBMqgAwIBAgIQT1Z6TTcGXdp9Al3xo8DIoTANBgkqhkiG9w0BAQwFADBZ
+MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywg
+SW5jLjEjMCEGA1UEAxMaVHJ1c3RBc2lhIFJTQSBEViBUTFMgQ0EgRzIwHhcNMjIw
+MzE1MDAwMDAwWhcNMjMwMzE1MjM1OTU5WjAYMRYwFAYDVQQDEw1jYXIuY2FuZXIu
+dG9wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0sjznHuu138gngFG
+D5ybUq1w69lSt1l8Rloie5FxPy+v2zznvChm0X/0F3XKCqBum790QuQRYmSXYJq+
+xfnaRGTieIP7bGrEfq07Ckutut+ZGeuRcrd26i7JGxyeQCMc9P/h564Cjca93jdM
+hX8JSQJVSscu3qizyDYtd81m9ZdwCrONt5RKDfFcxLiKYqo5frOoCDxbSMpSg/XF
+0wI3KwdoCkf6cp5muNpS+GgH8k1Vr6lpAedfVzbNRmAGHvbrEIBxZZTA9Ma9YG6j
+EGbRylkvICF7tXQtc4Gg6jYFzVy/4Sm8/yc7Hhah62qYHv0VTnsDVRmJK8gY/RO6
+DwirhQIDAQABo4IC5TCCAuEwHwYDVR0jBBgwFoAUXzp8ERB+DGdxYdyLo7UAA2f1
+VxwwHQYDVR0OBBYEFGIetqkHpAKONRxSiRQITwhBaAC4MA4GA1UdDwEB/wQEAwIF
+oDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBJ
+BgNVHSAEQjBAMDQGCysGAQQBsjEBAgIxMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8v
+c2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATB9BggrBgEFBQcBAQRxMG8wQgYIKwYB
+BQUHMAKGNmh0dHA6Ly9jcnQudHJ1c3QtcHJvdmlkZXIuY24vVHJ1c3RBc2lhUlNB
+RFZUTFNDQUcyLmNydDApBggrBgEFBQcwAYYdaHR0cDovL29jc3AudHJ1c3QtcHJv
+dmlkZXIuY24wGAYDVR0RBBEwD4INY2FyLmNhbmVyLnRvcDCCAXwGCisGAQQB1nkC
+BAIEggFsBIIBaAFmAHYArfe++nz/EMiLnT2cHj4YarRnKV3PsQwkyoWGNOvcgooA
+AAF/jO13VAAABAMARzBFAiEAoIPFLOxFjROmtuwp1m617I0YzWczLhkBip+F5c7A
+PDYCID+TCCR92oPCxrzurev5o6MauqDUrRBxAsL03iP8rSPiAHUAejKMVNi3LbYg
+6jjgUh7phBZwMhOFTTvSK8E6V6NS61IAAAF/jO13UwAABAMARjBEAiAWXllCn3ox
+tDgrX9pJd6eui9t+2GDv/bozLky3IQsBpwIgMJPE7bwrw5b5G8Wt7XvYIiIOyxcZ
+yJx8yVxZOECFqpAAdQDoPtDaPvUGNTLnVyi8iWvJA9PL0RFr7Otp4Xd9bQa9bgAA
+AX+M7Xc0AAAEAwBGMEQCIBS5tfbcaoTxpMcVc2clSUzOU0i+F+kL76SiL3tgpS42
+AiBHAkdd8Q5pAJjh7D6RW+qnnlaQds/vLjUvvt6vjxuMfzANBgkqhkiG9w0BAQwF
+AAOCAYEAE7RCh+pxa9z+ySUz6rkzZV+8WeNoIgPlyVdJle6hcpeLCzW1ynn3nTN4
+7iZCPLMBDpVvHJVTCSRBUdKqAQf8L8t3ghHZM7TPnFwwSg74SHcUT+apLePHdV7Z
+wJXPxmLtO3Wy/JY+BCqIqXvaoGqKG0NfDcOz+jHSlC/+m98IFGs6VLjkviMSaOFw
+footds++9bBmbfv/y4qqZH3cmiRFVibhBd0zNIYHnoqgf3OndWsHkVLNwfxmdYzj
+8T+UNNhxKVfx89+Py4Q+MK6Tj4vSvrTociTgMnYMgjVMpang8NxHYf51qZZaedu7
+zCLhXTwEKeVcnVLQRlAIXGnZNABmqeGqW/nRc+JA95u1pd517b7TulV+gUuBd/cd
+/Wu2XzEocPMudkUAvFJNqkN+4g/2YKxCHEkLP1c47286eP+vuoroeOKq92p/KG0n
+O9CGu7Tqeozzwd2ewcbzkIpEOuEAXyFooIsQ0owSa/1bXXv72OKkCwlEMED6ecZE
+6ZNWYrPj
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFBzCCA++gAwIBAgIRALIM7VUuMaC/NDp1KHQ76aswDQYJKoZIhvcNAQELBQAw
+ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
+A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
+BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0yMjAxMTAwMDAwMDBaFw0y
+ODEyMzEyMzU5NTlaMFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEg
+VGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIERWIFRM
+UyBDQSBHMjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjGDe0GSaBs
+Yl/VhMaTM6GhfR1TAt4mrhN8zfAMwEfLZth+N2ie5ULbW8YvSGzhqkDhGgSBlafm
+qq05oeESrIJQyz24j7icGeGyIZ/jIChOOvjt4M8EVi3O0Se7E6RAgVYcX+QWVp5c
+Sy+l7XrrtL/pDDL9Bngnq/DVfjCzm5ZYUb1PpyvYTP7trsV+yYOCNmmwQvB4yVjf
+IIpHC1OcsPBntMUGeH1Eja4D+qJYhGOxX9kpa+2wTCW06L8T6OhkpJWYn5JYiht5
+8exjAR7b8Zi3DeG9oZO5o6Qvhl3f8uGU8lK1j9jCUN/18mI/5vZJ76i+hsgdlfZB
+Rh5lmAQjD80M9TY+oD4MYUqB5XrigPfFAUwXFGehhlwCVw7y6+5kpbq/NpvM5Ba8
+SeQYUUuMA8RXpTtGlrrTPqJryfa55hTuX/ThhX4gcCVkbyujo0CYr+Uuc14IOyNY
+1fD0/qORbllbgV41wiy/2ZUWZQUodqHWkjT1CwIMbQOY5jmrSYGBwwIDAQABo4IB
+JjCCASIwHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYE
+FF86fBEQfgxncWHci6O1AANn9VccMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8E
+CDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAiBgNVHSAE
+GzAZMA0GCysGAQQBsjEBAgIxMAgGBmeBDAECATBDBgNVHR8EPDA6MDigNqA0hjJo
+dHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNy
+bDA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9k
+b2NhLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAHMUom5cxIje2IiFU7mOCsBr2F6CY
+eU5cyfQ/Aep9kAXYUDuWsaT85721JxeXFYkf4D/cgNd9+hxT8ZeDOJrn+ysqR7NO
+2K9AdqTdIY2uZPKmvgHOkvH2gQD6jc05eSPOwdY/10IPvmpgUKaGOa/tyygL8Og4
+3tYyoHipMMnS4OiYKakDJny0XVuchIP7ZMKiP07Q3FIuSS4omzR77kmc75/6Q9dP
+v4wa90UCOn1j6r7WhMmX3eT3Gsdj3WMe9bYD0AFuqa6MDyjIeXq08mVGraXiw73s
+Zale8OMckn/BU3O/3aFNLHLfET2H2hT6Wb3nwxjpLIfXmSVcVd8A58XH0g==
+-----END CERTIFICATE-----

+ 27 - 0
pki/git.caner.top.key

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEApxlyXfdiMHqqigVIt1p+8GnWAFhPrj5iSM0WChgzO1pJoX/s
+CXCEhU/OydxJUqEaNjT1668HnSQTpw6zuyzO+RQ8i/I1A8COIJc3mr/UMT/HKf2P
+8KzqLW2en0clw0L3diHX3fdBRhsv1OjBCvUhQxXzTt1gFhVeY2GkD0OHSiLuAJgg
+Z49ExGB0fAeWL4AKxnd0+3oES1tBhlqIrcyyBc3/NQMzCZDBzFAV4ZenqHFwFyEB
+0ZXJWVQ/aLJ/DWSWy32PKZh/q3nsDuHJjZoyewK2dodkssWHIkBTnTTVyfI4Cqk1
+UpgyUtb2OuSQrBWTIzWjukfmdeIDnHgadkeNJwIDAQABAoIBAA2rWhI6xv2tQzSC
+5dBt/D1hgwqd2XgpDUmO/AhmXhEzERvqMYkSJcfGtWVeT7c34O43ReN6UCv4LrgM
+pAJMp5UeT9eo6tJRlwQuf/N4/CbtOeHYUW/q9/CFwPie+DAG0zncNI2pXjMZzT9k
+V5+0WXy57SCcoRwdXQ58hyW310zmowQcmCHIXurFG5XD3Q21hdu7wl3s8/LQRs9i
+uionn6uJBdoDH6qsmtURbV1YSI09+mO5cqUic3nhBPfxonfILpSMJweCqX6vZmyx
+MuqOufknkl+zAbvkSHjQ0A16EaAPZ15Xsn0pNYo33722yIrxalB+xJGXIJBUxbJM
+MaRideECgYEA3UTePAXtWbNtI8LWmTXKZAUHA/oOTtPOJZFduLg3csiK5KFHitTj
+KBK8TKjT2Nc5PZHN2ANPNKtNGqYAfvL3pwNBJWVfnngncHqPv+1pOIWF7v3LlstE
+173zoBTFqPWG8+afXNTVcR7v5O0vZ2PfGfXr3Hj6sNMcWKYqBdNyOyECgYEAwVPp
+HzdbY4LJhDRwSmBCPAc+yq5BYj+dxrrff7g/zipwaKfquQwuMW3M4BTVUko39919
+EiQswBHLozDDkabSV5DHOqDw7UvzYbvcNRMe5K8FYH//V9JI2uNXyzIQLZBRKGjg
+RU5h7CJZr/egshvxHGjKK1LbSN+ZPAB5I4fTR0cCgYAeTUMd9zXU9fR5VEJtQueP
+oPyf98uj0e/GR00NcfTt/DbBLrEMezEMmNw+p1Qzuu2019XXwkRDkz4A60DgIcf2
+kESIqYRZwFyuU6qB/zJMskRwQUNzSC0KWpIVlyKmi9FKb4fdf6wnTLRPpoe6Yfv4
+oywEynCSbKbSIRdaKuXW4QKBgQCDAVOF3cNGCYh41/gHznbTqq04NyEDbMyDsHpn
+V/mUwVlu8eqy/rgGsrsUVcnAe561jheExZK1jNmLei3sczkyMV9wMUNR6hfA8MZm
+CND0ck2YeOQVJOBNw6TogsJHvfXhBkCDdnwQwa44+fqg9yJJ+BCXjwwds7do24E7
+PH1FXQKBgBJTA1FYdCRCzQCIEzBRM/2z1gcpd0ipWx15yn9qKuAwN/M8mP766Jvm
+AIgM4SmNrOPT/em5RTag/bhjCeFRPi02IPXzS47mKXp8vsf+PZ/tM+QMacbYgYYZ
+cnboEWHV1OzT8IPBeKq+Ht5eTf2f1XX1VjNY9Cr8ZUMqAODfA4cL
+-----END RSA PRIVATE KEY-----

+ 66 - 0
pki/git.caner.top_bundle.crt

@@ -0,0 +1,66 @@
+-----BEGIN CERTIFICATE-----
+MIIGYzCCBMugAwIBAgIQT09bAHhz4Q0hytRGboJY4TANBgkqhkiG9w0BAQwFADBZ
+MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywg
+SW5jLjEjMCEGA1UEAxMaVHJ1c3RBc2lhIFJTQSBEViBUTFMgQ0EgRzIwHhcNMjIw
+MzI3MDAwMDAwWhcNMjMwMzI3MjM1OTU5WjAYMRYwFAYDVQQDEw1naXQuY2FuZXIu
+dG9wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApxlyXfdiMHqqigVI
+t1p+8GnWAFhPrj5iSM0WChgzO1pJoX/sCXCEhU/OydxJUqEaNjT1668HnSQTpw6z
+uyzO+RQ8i/I1A8COIJc3mr/UMT/HKf2P8KzqLW2en0clw0L3diHX3fdBRhsv1OjB
+CvUhQxXzTt1gFhVeY2GkD0OHSiLuAJggZ49ExGB0fAeWL4AKxnd0+3oES1tBhlqI
+rcyyBc3/NQMzCZDBzFAV4ZenqHFwFyEB0ZXJWVQ/aLJ/DWSWy32PKZh/q3nsDuHJ
+jZoyewK2dodkssWHIkBTnTTVyfI4Cqk1UpgyUtb2OuSQrBWTIzWjukfmdeIDnHga
+dkeNJwIDAQABo4IC5jCCAuIwHwYDVR0jBBgwFoAUXzp8ERB+DGdxYdyLo7UAA2f1
+VxwwHQYDVR0OBBYEFCU6Q2j5xmQEAIP/BOGSrpLBRW21MA4GA1UdDwEB/wQEAwIF
+oDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBJ
+BgNVHSAEQjBAMDQGCysGAQQBsjEBAgIxMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8v
+c2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATB9BggrBgEFBQcBAQRxMG8wQgYIKwYB
+BQUHMAKGNmh0dHA6Ly9jcnQudHJ1c3QtcHJvdmlkZXIuY24vVHJ1c3RBc2lhUlNB
+RFZUTFNDQUcyLmNydDApBggrBgEFBQcwAYYdaHR0cDovL29jc3AudHJ1c3QtcHJv
+dmlkZXIuY24wGAYDVR0RBBEwD4INZ2l0LmNhbmVyLnRvcDCCAX0GCisGAQQB1nkC
+BAIEggFtBIIBaQFnAHUArfe++nz/EMiLnT2cHj4YarRnKV3PsQwkyoWGNOvcgooA
+AAF/yrfQwgAABAMARjBEAiA514CDMMb+fbNDISrXoG5sE6iuKw4lOAhav60wooaP
+5QIgYmUMLnD7/QuWx15XkFVqBXydyrDw1vLVVu310mNI0iYAdgB6MoxU2LcttiDq
+OOBSHumEFnAyE4VNO9IrwTpXo1LrUgAAAX/Kt9CUAAAEAwBHMEUCIQCLO+ACyqSD
+KrcsolAn7fKNXTFgWTJBgGi//bFGoF7tVgIgcamLdo5B5s7Pu+smC14QT7P55T9p
+0cxFYwYfNxDmY0sAdgDoPtDaPvUGNTLnVyi8iWvJA9PL0RFr7Otp4Xd9bQa9bgAA
+AX/Kt9BpAAAEAwBHMEUCIQDyz7V7slj0QIgW/UpdDaR6QJw0oLdN83x3zP1j7y2p
+qwIgV3mkt6HTNJ3/vVhX8QdEuMoTTSuD0oLjId1aBGQBBgowDQYJKoZIhvcNAQEM
+BQADggGBAEm6n1ijPfuPC57+0xvH5osRzux3CmkezZ/Cdl8X+wTAVhstd/UATKxD
+pJEAdogqtfUBEmqrBJDTOTOpXVE7p1FjvPy3cglqXst5Li5v7WHR9Lnp3ASZlzuz
+N59qyeoGqrHD7WgYiwa7b9gE8nbpwT32zccxqVAONzE4GZpOBjwS5+Et4v2xWalL
+Epr4zUhbORGqS0ttK3TuXLqQwlEiUNP5JtiEQaBYIjPEq6kXckyBV51GQRYq6nQx
+JOjeYQkPCuO5R3kENVHJ25BFhEFs35/h8qpiA5RiSHt2O5g9JkqtIXJeM8bQwwDh
+fosVJIEML/s6Jpxz+jSmuLNHkJ126XOWboDRnOzzZLaIcjVUGOsmXqYb47WFvueB
+NzSi4TCPfAsASITbtfi11O4xFC5d0lmfYI5jc3///5moSqjoJQ6wErCzQUq4vvOW
+bSxcNJ/WgVs8IYMJKfuTcsJrqdpoZ+nch6Lv8dMBGGII1IswKyohlifk1Gy1TS4v
+egSCkrdeAw==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFBzCCA++gAwIBAgIRALIM7VUuMaC/NDp1KHQ76aswDQYJKoZIhvcNAQELBQAw
+ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
+A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
+BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0yMjAxMTAwMDAwMDBaFw0y
+ODEyMzEyMzU5NTlaMFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEg
+VGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIERWIFRM
+UyBDQSBHMjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjGDe0GSaBs
+Yl/VhMaTM6GhfR1TAt4mrhN8zfAMwEfLZth+N2ie5ULbW8YvSGzhqkDhGgSBlafm
+qq05oeESrIJQyz24j7icGeGyIZ/jIChOOvjt4M8EVi3O0Se7E6RAgVYcX+QWVp5c
+Sy+l7XrrtL/pDDL9Bngnq/DVfjCzm5ZYUb1PpyvYTP7trsV+yYOCNmmwQvB4yVjf
+IIpHC1OcsPBntMUGeH1Eja4D+qJYhGOxX9kpa+2wTCW06L8T6OhkpJWYn5JYiht5
+8exjAR7b8Zi3DeG9oZO5o6Qvhl3f8uGU8lK1j9jCUN/18mI/5vZJ76i+hsgdlfZB
+Rh5lmAQjD80M9TY+oD4MYUqB5XrigPfFAUwXFGehhlwCVw7y6+5kpbq/NpvM5Ba8
+SeQYUUuMA8RXpTtGlrrTPqJryfa55hTuX/ThhX4gcCVkbyujo0CYr+Uuc14IOyNY
+1fD0/qORbllbgV41wiy/2ZUWZQUodqHWkjT1CwIMbQOY5jmrSYGBwwIDAQABo4IB
+JjCCASIwHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYE
+FF86fBEQfgxncWHci6O1AANn9VccMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8E
+CDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAiBgNVHSAE
+GzAZMA0GCysGAQQBsjEBAgIxMAgGBmeBDAECATBDBgNVHR8EPDA6MDigNqA0hjJo
+dHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNy
+bDA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9k
+b2NhLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAHMUom5cxIje2IiFU7mOCsBr2F6CY
+eU5cyfQ/Aep9kAXYUDuWsaT85721JxeXFYkf4D/cgNd9+hxT8ZeDOJrn+ysqR7NO
+2K9AdqTdIY2uZPKmvgHOkvH2gQD6jc05eSPOwdY/10IPvmpgUKaGOa/tyygL8Og4
+3tYyoHipMMnS4OiYKakDJny0XVuchIP7ZMKiP07Q3FIuSS4omzR77kmc75/6Q9dP
+v4wa90UCOn1j6r7WhMmX3eT3Gsdj3WMe9bYD0AFuqa6MDyjIeXq08mVGraXiw73s
+Zale8OMckn/BU3O/3aFNLHLfET2H2hT6Wb3nwxjpLIfXmSVcVd8A58XH0g==
+-----END CERTIFICATE-----

+ 13 - 0
socketCar.service

@@ -0,0 +1,13 @@
+[Unit]
+Description=Car-server
+After=network.target
+
+[Service]
+Type=simple
+User=root
+ExecStart=/usr/bin/node /var/www/socket/index.js &
+Restart=always
+RestartSec=3s
+
+[Install]
+WantedBy=multi-user.target

+ 13 - 0
turnserver.service

@@ -0,0 +1,13 @@
+[Unit]
+Description=turn-server
+After=network.target
+
+[Service]
+Type=forking
+User=root
+ExecStart=/usr/local/bin/turnserver -o -a -f -user=admin:123456 -r chendu
+Restart=always
+RestartSec=3s
+
+[Install]
+WantedBy=multi-user.target