2023年1月29日星期日

利用甲骨文云免费VPS搭建NaiveProxy节点

 准备工作:

a、一台Linux服务器,甲骨文云的免费vps,Ubuntu系统

b、域名一个,并解析到vps的IP

c、NaiveProxy 官网:https://github.com/klzgrad/naiveproxy

注意:以下所有操作都以root权限执行

1、设置防火墙并开启BBR加速

#ufw关闭:

ufw diable

#iptables开放所有端口:

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

iptables -F

#开启BBR加速

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

sysctl -p

#更新软件源

apt update

apt upgrade

apt full-upgrade

2、安装GO:

apt install golang-go -y

3、安装NaiveProxy:

# 安装xcaddy

go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest

# 通过xcaddy构建带有naive插件的caddy,--with表示打包的插件

~/go/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive

# 将caddy移动到用户可执行目录

mv caddy /usr/bin/

# 设置允许监听1024以下端口

setcap cap_net_bind_service=+ep /usr/bin/caddy

4、配置NaiveProxy:

#创建caddy配置目录:

mkdir /etc/caddy

# 新建配置文件Caddyfile

touch /etc/caddy/Caddyfile

#按i键,输入下面内容,按Esc键,输入:wq保存退出:


# 下面的{}是全局配置,详细参数看官方文档

{

  # HTTP处理链

  order forward_proxy before file_server

}

# 下面是代理的信息,域名自行修改

:443, example.com {

  # 设置tls自动签证的邮箱,自行修改

  tls [email protected]

  # 定义forward_proxy,也就是naive的配置

  forward_proxy {

    # 自定义用户名和密码,自行修改

    basic_auth user pass

    hide_ip

    hide_via

    probe_resistance

  }

  # 最终流量使用反向代理到某个网站,下面使用的是clourdreve的demo网址

  reverse_proxy https://demo.cloudreve.org {

    header_up Host {upstream_hostport}

    header_up X-Forwarded-Host {host}

  }

}

5、将 Caddy 作为守护进程运行:

#在/etc/systemd/system目录里创建caddy.service:

vim /etc/systemd/system/caddy.service

#按i键,输入下面内容,按Esc键,输入:wq保存退出:


[Unit]

Description=Caddy

Documentation=https://caddyserver.com/docs/

After=network.target network-online.target

Requires=network-online.target


[Service]

#root用户

User=root

#root用户组

Group=root

#caddy运行的配置文件路径及配置文件名,路径:/etc/caddy  配置文件:Caddyfile

ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile

TimeoutStopSec=5s

LimitNOFILE=1048576

LimitNPROC=512

PrivateTmp=true

ProtectSystem=full

AmbientCapabilities=CAP_NET_BIND_SERVICE


[Install]

WantedBy=multi-user.target

6、使用 systemd 启动 caddy 服务

systemctl daemon-reload

systemctl enable caddy

systemctl start caddy

7、官方客户端的配置说明:

{

  "listen": "socks://127.0.0.1:1080",

  "proxy": "https://user:[email protected]"

  "log": ""

}

// listen:监听的地址和端口,一般不需要修改

// proxy:代理的地址,协议可以是https或者quic,使用quic服务端需要放行tls的udp端口;需要修改用户名密码以及域名;

// 若使用的是非443端口,域名后面需要增加服务端绑定的tls端口,如,domain.example:1443



常用的Caddy管理命令:

# 重新加载`daemon`配置文件(修改daemon需要)

systemctl daemon-reload


# 设置caddy自启动

systemctl enable caddy


# 启动caddy

systemctl start caddy


# 重新加载`caddy`配置

systemctl reload caddy


# 重启caddy

systemctl restart caddy


# 停止caddy

systemctl stop caddy


# 校验配置文件是否正确

caddy validate Caddyfile         #Caddyfile为配置文件名

当运行结束后显示:Valid configuration 表示配置没有问题。


# 格式化配置文件,--overwrite 格式化后覆盖原文件

caddy fmt --overwrite Caddyfile      #Caddyfile为配置文件名


# 将Caddyfile配置适配输出为json格式,--pretty 为美化使出

caddy adapt --pretty


# 输出当前caddy包含的模块

caddy list-modules


# 查看当前caddy的版本

caddy version

2022年11月29日星期二

Ubuntu系统安装clash-core设置终端科学上网

准备工作:

1.一台Ubuntu系统的服务器      版本:22.04

2.ssh客户端:putty       下载:https://www.chiark.greenend.org.uk/~sgtatham/putty/

3.ssh文件上传软件:WinSCP     下载:https://winscp.net/eng/index.php

4.clash-core : https://github.com/Dreamacro/clash/releases

5.clash节点yaml文件,自行网上查找


下载好clash-core文件和clash节点yaml文件

并用WinSCP把clash-core文件和clash节点yaml文件上传到Ubuntu系统里


打开putty连接到Ubuntu系统

获取Root权限:

sudo -i

进入上传文件的目录:

cd /home/king/Downloads

解压clash-core文件:

gunzip clash-linux-amd64-v1.12.0.gz

给文件权限:

chmod +x clash-linux-amd64-v1.12.0

在opt目录里建立一个名称clash目录:

mkdir /opt/clash

移动clash-core文件到建立的clash目录里:

mv clash-linux-amd64-v1.12.0 /opt/clash

移动clash节点yaml文件到建立的clash目录里:

mv ywJYD4.yaml /opt/clash

进入clash目录:

cd /opt/clash

重命名clash-core文件:

mv clash-linux-amd64-v1.12.0 clash

重命名clash节点文件:

mv ywJYD4.yaml config.yaml

运行clash并指定yaml文件:

./clash -f config.yaml


简化运行方法:

先安装文件编辑软件:

apt install vim

建立clash服务:

vim /etc/systemd/system/clash.service

按键盘 i 进入编辑,插入内容:

[Unit]

Description=clash-core

[Service]

Type=simple

ExecStart=/opt/clash/clash -f /opt/clash/config.yaml

按Esc退出编辑,输入:wq按回车

重新加载配置:

systemctl daemon-reload

启动clash:

systemctl start clash

查看clash运行状态:

systemctl status clash


安装上网软件:

apt install curl

检查终端能否科学上网:

curl -i google.com


手动设置终端科学上网:

export http_proxy=http://127.0.0.1:7890

export https_proxy=http://127.0.0.1:7890


设置一个终端科学上网的变量:

vim ~/.bashrc

按键盘 i 进入编辑,插入内容:

alias proxy="export http_proxy=http://127.0.0.1:7890;export https_proxy=http://127.0.0.1:7890;"

alias unproxy="unset http_proxy;unset https_proxy;"

按Esc退出编辑,输入:wq按回车

编译下变量文件:

source ~/.bashrc


运行unproxy检查科学上网状态:

运行proxy检查科学上网状态:


可视化UI界面:

建立一个名称ui目录:

mkdir ui

进入ui目录:

cd ui

下载ui文件:

wget https://github.com/Dreamacro/clash-dashboard/archive/refs/heads/gh-pages.zip

解压ui文件:

unzip gh-pages.zip

删除压缩包文件:

rm -rf gh-pages.zip

查看文件:

ls

把目录里的文件移动到ui目录:

mv clash-dashboard-gh-pages/* .

返回clash目录:

cd ..

打开配置文件:

vim config.yaml

按键盘 i 进入编辑,插入内容:

external-ui: /opt/clash/ui

按Esc退出编辑,输入:wq按回车

重启clash:

systemctl restart clash

打开浏览器,输入网址:ubuntu系统IP:9090


端口被占用:

列出占用端口的PID:

lsof -i:7890

杀掉占用端口的PID:

kill -9 pid

2022年10月16日星期日

折腾黑苹果过程中收集的常用网站及软件

 在折腾黑苹果时经常要上一些网站看资料,还要用到一些软件,为了方便特地整理了。

OpenCore(简称 OC) 是一个着眼于未来开源的引导工具, 最初诞生于 HermitCrabs 实验室, 现在接手于 Acidanthera, 其目的是创造一个更加严谨的模组化的轻量引导系统。尽管 OpenCore 的主要用途是黑苹果, 它也支持其它操作系统的引导。

OpenCore官网:https://dortania.github.io/

OpenCore Github项目官网:https://github.com/acidanthera


Clover是操作系统启动加载器,支持MacOS, Linux, Windows。

Clover Github官网:https://github.com/CloverHackyColor


硬盘分区工具:

DiskGenius:https://www.diskgenius.cn/


AIDA64是一个运行在Microsoft Windows操作系统上的系统信息、诊断和审计程序,用于显示计算机的组件的详细信息。这些信息可以以HTML、CSV或XML等格式保存到文件。

AIDA64官网:https://www.aida64.com/


U盘启动盘制作工具:

Rufus:https://rufus.ie/

balenaEtcher:https://www.balena.io/etcher/


OpenCore Configurator官网:https://mackie100projects.altervista.org/opencore-configurator/

Hackintool Github项目官网:https://github.com/headkaze/Hackintool

ProperTree Github项目官网:https://github.com/corpnewt/ProperTree

SSDTTime Github项目官网:https://github.com/corpnewt/SSDTTime

GenSMBIOS项目官网:https://github.com/corpnewt/GenSMBIOS

USBToolBox Github项目官网:https://github.com/USBToolBox/tool


上面很多Github项目都依赖Python环境,建议先安装。

Python官网:https://www.python.org/


更新时间:2022.10.16

2022年8月28日星期日

Linux笔记:Ubuntu防火墙ufw的一般使用

UFW,或称Uncomplicated Firewall,是iptables的一个接口,为不熟悉防火墙概念的初学者提供了易于使用的界面,同时支持IPv4和IPv6。

安装:

apt install ufw

删除:

apt remove ufw

查看防火墙状态及规则:

ufw status

重启防火墙,设置为开机启动:

ufw enable

停止防火墙,禁止开机启动:

ufw disable

重启防火墙:

ufw reload

打开某个端口:

ufw allow 80   允许外部访问本机80端口

关闭某个端口:

ufw deny 80   禁止外部访问本机80端口

删除某条规则:

ufw delet allow 80   删除允许外部访问本机80端口规则


ufw常用命令:

ufw enable     enables the firewall

ufw disable    disables the firewall

ufw default ARG   set default policy

ufw logging LEVEL    set logging to LEVEL

ufw  allow ARGS    add allow rule

ufw  deny ARGS    add deny rule

ufw reject ARGS    add reject rule

ufw limit ARGS    add limit rule

ufw delete RULE|NUM    delete RULE

ufw insert NUM RULE    insert RULE at NUM

ufw prepend RULE    prepend RULE

ufw route RULE    add route RULE

ufw route delete RULE|NUM    delete route RULE

ufw route insert NUM RULE    insert route RULE at NUM

ufw reload    reload firewall

ufw reset    reset firewall

ufw status    show firewall status

ufw status numbered    show firewall status as numbered list of RULES

ufw status verbose    show verbose firewall status

ufw show ARG    show firewall report

ufw version    display version information


2022年8月24日星期三

甲骨文云终身免费主机(Oracle Always Free cloud services)Ubuntu系统安装cloudreve搭建自己私人网盘

 今天利用甲骨文云终身免费主机搭建了cloudreve网盘,记录整个过程做个备忘录。环境为Ubuntu系统,利用Nginx反向代理并使用了Https,采用systemd进程守护,使用内置的 SQLite 数据库。

1.根据机器确定cloudreve版本

用SSH工具连接vps后获取root权限

sudo -i




查询CPU类型

arch



查看输出结果x86_64代表amd64;aarch64代表arm64


2.下载对应版本cloudreve应用程序

创建文件夹

mkdir /usr/local/cloudreve



进入文件夹

cd /usr/local/cloudreve



官方下载:https://github.com/cloudreve/Cloudreve/releases

到官方下载查询对应版本下载地址,下载应用程序压缩包








wget https://github.com/cloudreve/Cloudreve/releases/download/3.5.3/cloudreve_3.5.3_linux_arm64.tar.gz












3.解压缩应用程序压缩包,赋予执行权限并启动

#解压获取到的主程序

tar -zxvf cloudreve_3.5.3_linux_arm64.tar.gz




# 赋予执行权限

chmod +x ./cloudreve



# 启动 Cloudreve

./cloudreve








4.保存初始管理员账号和初始管理员密码


5.安装Nginx

升级系统

apt update













安装Nginx

apt install nginx











6.申请证书

#安装acme:

curl https://get.acme.sh | sh











#安装socat:

apt install socat









#添加软链接:

ln -s  /root/.acme.sh/acme.sh /usr/local/bin/acme.sh



#切换CA机构: 

acme.sh --set-default-ca --server letsencrypt




#申请证书: 

acme.sh  --issue -d 你的域名 -k ec-256 --webroot  /var/www/html















#安装证书:

acme.sh --install-cert -d 你的域名 --ecc \

--key-file       /usr/local/cloudreve/server.key  \

--fullchain-file /usr/local/cloudreve/server.crt \

--reloadcmd     "service nginx force-reload"






7.修改配置文件

配置nginx:vim /etc/nginx/nginx.conf



nginx配置(替换http{}里的内容):

server {

listen 443 ssl;

listen [::]:443 ssl;


server_name 你的域名;

ssl_certificate       /usr/local/cloudreve/server.crt; 

ssl_certificate_key   /usr/local/cloudreve/server.key;

ssl_session_timeout 1d;

ssl_session_cache shared:MozSSL:10m;

ssl_session_tickets off;

ssl_protocols TLSv1.2 TLSv1.3;

ssl_prefer_server_ciphers off;


location / {

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host;

proxy_redirect off;

proxy_pass http://127.0.0.1:5212;


# 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸

# client_max_body_size 20000m;

}

}


server {

listen 80;

listen [::]:80;


server_name 你的域名;

rewrite ^(.*)$ https://${server_name}$1 permanent;

}


 重新加载nginx配置:systemctl reload nginx.service



8.防火墙配置

到甲骨文云控制台,在默认的入站规则后面加入80-443端口的入站规则












9.使用初始管理员账号和初始管理员密码登入根据自身需求修改相关设置。



2022年5月14日星期六

Linux笔记:Ubuntu中screen命令的使用

实际工作中,我们经常需要通过SSH 或者telent远程登录到Linux服务器完成一些任务,其中有些任务需要很长时间(短则几小时,长则几天)的运行才能完成,比如训练深度学习模型、系统备份、ftp传输等。我们必须等待任务执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废。因此我们使用的电脑在等待任务完成期间,不能快速切换到其他任务,也不能被关闭,只能等待浪任务完成,白白浪费时间和资源。

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能

会话恢复

只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。

多窗口

在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。

会话共享

Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。

GNU's Screen 官方站点:http://www.gnu.org/software/screen/

1、检查是否安装:

命令行输入下面的命令检查是否安装,没有安装,程序会提示"screen"尚未安装。

screen -ls

2、未安装则输入如下命令安装:

yun install screen    // CentOS & RedHat安装命令

apt-get install screen    // Ubuntu & Debian安装命令

3、常用的使用方法

#  查看screen版本

screen -v

#  新建screen会话

screen -S name    // 创建一个名称为name的会话

#  显示screen list:如果忘记了创建的screen会话名称,或者当时没有指定会话名可以列出当前所有screen窗口

screen -ls

#  改变screen会话状态,当会话状态为Attached时是无法连接的,需要杀掉连接的session

screen -d name    // 远程detach名称为name的session

#  进入已有的screen窗口,如果screen会话是Attached状态,需要杀掉连接的session

screen -r name    // 进入名称为name的会话

screen -r id    // 进入ID为id的会话

#  退出screen会话:

Ctrl+a d(即按住Ctrl,依次再按a,d)    // 离开或者关闭ssh回话,会话中的程序不会关闭,仍在运行。不建议直接用exit退出screen,因为exit后,screen仍是Attached状态,若想重新进入需要杀掉连接的session

#  删除某个screen

screen -S name -X quit    // 删除名称为name的会话

screen -S ID -X quit    // 删除ID=ID的会话

#  擦除全部的screen会话,服务器重启之后,全部的screen均会挂掉,需要借助擦除命令,将所有挂掉的screen清除掉。

screen -wipe    // 检查目前所有的screen会话,并删除已经无法使用的screen会话

常用快捷键

Ctrl+a c :在当前screen会话中创建窗口

Ctrl+a w :窗口列表

Ctrl+a n :下一个窗口

Ctrl+a p :上一个窗口

Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换

2021年10月1日星期五

运营YouTube常用的工具网站

 1:Youtube Studio

链接:https://studio.youtube.com/



Youtube Studio即创作者工作室,也是每位创作者的后台,频道的全部管理功能都在这里,是YouTube运营者必须用到的工具。

 2:Tubebuddy

链接:https://www.tubebuddy.com/

tubebuddy


TubeBuddy是一个经过认证的YouTube SEO浏览器扩展程序,目前可用于Chrome,Firefox和Edge的浏览器,, 同时它也有适用于iPhone和Android的手机应用程序。主要用来查询分析热门关键词,帮助你选择判断Tags标签,可以让更多客户精准地找到你所上传的视频。你不光能查看自己的视频tags标签,还能看别人视频的tag标签,当看到和你的视频相关的,可以添加到你自己的视频中。
TubeBuddy有免费版和收费版,可以根据自己的需求选择。

 3:vidIQ

链接:https://vidiq.com/


vidIQ 和Tubebuddy一样,也是一个YouTube SEO浏览器扩展程序,vidIQ只有Chrome和Firefox两种浏览器扩展,不支持Edge浏览器。主要用于添加标签和分析视频。vidIQ是一个经YouTube测试跟认证的服务提供商。vidiq有免费版和收费版,免费版只能使用基础的功能,收费版也分几个版本,一般都是绑定账号的,越高级的版本功能越多。


利用甲骨文云免费VPS搭建NaiveProxy节点

 准备工作: a、一台Linux服务器,甲骨文云的免费vps,Ubuntu系统 b、域名一个,并解析到vps的IP c、NaiveProxy 官网:https://github.com/klzgrad/naiveproxy 注意:以下所有操作都以root权限执行 1、设置防火墙并...