分类 VPS 下的文章

  1. SSH禁用密码登录,修改端口

    # 复制公钥到服务器
    vi ~/.ssh/authorized_keys
    # 修改sshd配置文件
    Port 1234
    PermitRootLogin prohibit-password
    PubkeyAuthentication yes
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    # 重启ssh服务
    systemctl restart ssh
    service ssh restart
  2. 同步Git公钥

    # 生成SSH密钥对
    ssh-keygen -t rsa -b 4096 -C "****@gmail.com"
    # 将SSH公钥添加到Git服务
    cat ~/.ssh/id_rsa.pub
  3. 安装Docker

    Debian install docker

原理:通过解码V2ray原服务器配置,使用GcoreCDN的IP替换原域名

  1. CloudFlare先配置域名DNS Record,CNAME类型
  2. 使用配置域名的服务器生成V2ray服务器配置,vmess协议,格式如:vmess://字符串
  3. 通过对服务器配置的字符串进行解码,解密出JSON字符串
  4. 获取GcoreCDN的IP,同时对IP进行Ping处理,过滤无法访问的IP,也可以对IP的443端口进行访问,判断是否有响应
  5. 用能够联通的IP替换JSON字符串中的地址,在进行编码后加上协议生成新的V2ray服务器配置

Python代码示例:

# -*- coding:utf-8 -*-
import base64
import copy
import json
from concurrent.futures import ThreadPoolExecutor

import requests
from multiping import MultiPing

ORIGINAL_CONFIG = "vmess://字符串"

ALL_CONFIG = []
IP_URL = "https://api.gcore.com/cdn/public-ip-list"
ORIGINAL_CONFIG_DECODE = json.loads(base64.b64decode(ORIGINAL_CONFIG).decode('utf-8'))
CONFIG_FILE = open('config.txt', 'w+', encoding='utf-8')


def get_request():
    request = requests.Session()
    request.trust_env = False
    return request


def get_ip_list():
    response = get_request().get(IP_URL, verify=False)
    if response.status_code == 200:
        response_body = response.json()
        return [ip.replace('/32', '') for ip in response_body.get("addresses", [])]
    else:
        return []


def do(ip):
    config = copy.deepcopy(ORIGINAL_CONFIG_DECODE)
    config["add"] = ip
    CONFIG_FILE.write(f"vmess://{base64.b64encode(json.dumps(config).encode()).decode('utf-8')}\r")


with ThreadPoolExecutor(max_workers=10) as executor:
    mp = MultiPing(get_ip_list())
    mp.send()
    responses, no_responses = mp.receive(1)
    executor.map(do, responses.keys())
CONFIG_FILE.close()

Superspeed

bash <(curl -Lso- https://git.io/superspeed)

superbench

wget -qO- --no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbench.sh | bash

bench.sh

wget -qO- bench.sh | bash

mPing

wget https://raw.githubusercontent.com/helloxz/mping/master/mping.sh
bash mping.sh