分类: 经验

  • 英文日期缩写

    月份缩写:

    January 一月 Jan.

    February 二月 Feb.

    March 三月 Mar.

    April 四月 Apr.

    May 五月 May

    June 六月 Jun.

    July 七月 Jul.

    August 八月 Aug.

    September 九月 Sept.

    October 十月 Oct.

    November 十一月 Nov.

    December 十二月 Dec.

    日期的缩写表示法

    1st,2nd,3rd,4th,5th,6th,7th,8th,9th,10th,11th,12th,13th,14th,15th,16th,17th,18th,19th,20th,21st,22nd,23rd,24th,25th,26th,27th,28th,29th,30th。

    星期的缩写:

    Monday,星期一,Mon.

    Tuesday,星期二,Tue.

    Wednesday,星期三,Wed.

    Thursday,星期四,Thurs/Thur.

    Friday,星期五,Fri.

    Saturday,星期六,Sat.

    Sunday,星期日,Sun.

  • nginx 开启文件浏览功能

    1、开启全站所有目录浏览功能

    vi  /usr/local/nginx/conf/nginx.conf  #编辑配置文件,在http {下面添加以下内容:

    autoindex on;   #开启nginx目录浏览功能

    autoindex_exact_size off;  #文件大小从KB开始显示

    autoindex_localtime on;  #显示文件修改时间为服务器本地时间

    charset utf-8,gbk; #防止中文乱码 
  • CURL 发送POST请求

    CURL 发送POST请求

    curl -H “Content-Type: application/json” -X POST -d ‘{“user_id”: “123”, “coin”:100, “success”:1, “msg”:”OK!” }’ “http://192.168.0.1:8001/test

    参数 内容
    -H 请求头
    -d POST内容
    -X 请求协议

    简介
    curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。

    -A

    -A参数指定客户端的用户代理标头,即User-Agent。curl 的默认用户代理字符串是curl/[version]

    $ curl -A ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36’ https://google.com

    上面命令将User-Agent改成 Chrome 浏览器。

    $ curl -A ” https://google.com

    上面命令会移除User-Agent标头。

    也可以通过-H参数直接指定标头,更改User-Agent

    $ curl -H ‘User-Agent: php/1.0’ https://google.com

    -b

    -b参数用来向服务器发送 Cookie。

    $ curl -b ‘foo=bar’ https://google.com

    上面命令会生成一个标头Cookie: foo=bar,向服务器发送一个名为foo、值为bar的 Cookie。

    $ curl -b ‘foo1=bar;foo2=bar2’ https://google.com

    上面命令发送两个 Cookie。

    $ curl -b cookies.txt https://www.google.com

    上面命令读取本地文件cookies.txt,里面是服务器设置的 Cookie(参见-c参数),将其发送到服务器。

    -c

    -c参数将服务器设置的 Cookie 写入一个文件。

    $ curl -c cookies.txt https://www.google.com

    上面命令将服务器的 HTTP 回应所设置 Cookie 写入文本文件cookies.txt

    -d

    -d参数用于发送 POST 请求的数据体。

    $ curl -d’login=emma&password=123′-X POST https://google.com/login # 或者 $ curl -d ‘login=emma’ -d ‘password=123’ -X POST https://google.com/login

    使用-d参数以后,HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded。并且会自动将请求转为 POST 方法,因此可以省略-X POST

    -d参数可以读取本地文本文件的数据,向服务器发送。

    $ curl -d ‘@data.txt’ https://google.com/login

    上面命令读取data.txt文件的内容,作为数据体向服务器发送。

    –data-urlencode

    --data-urlencode参数等同于-d,发送 POST 请求的数据体,区别在于会自动将发送的数据进行 URL 编码。

    $ curl –data-urlencode ‘comment=hello world’ https://google.com/login

    上面代码中,发送的数据hello world之间有一个空格,需要进行 URL 编码。

    -e

    -e参数用来设置 HTTP 的标头Referer,表示请求的来源。

    curl -e ‘https://google.com?q=example’ https://www.example.com

    上面命令将Referer标头设为https://google.com?q=example

    -H参数可以通过直接添加标头Referer,达到同样效果。

    curl -H ‘Referer: https://google.com?q=example’ https://www.example.com

    -F

    -F参数用来向服务器上传二进制文件。

    $ curl -F ‘file=@photo.png’ https://google.com/profile

    上面命令会给 HTTP 请求加上标头Content-Type: multipart/form-data,然后将文件photo.png作为file字段上传。

    -F参数可以指定 MIME 类型。

    $ curl -F ‘file=@photo.png;type=image/png’ https://google.com/profile

    上面命令指定 MIME 类型为image/png,否则 curl 会把 MIME 类型设为application/octet-stream

    -F参数也可以指定文件名。

    $ curl -F ‘file=@photo.png;filename=me.png’ https://google.com/profile

    上面命令中,原始文件名为photo.png,但是服务器接收到的文件名为me.png

    -G

    -G参数用来构造 URL 的查询字符串。

    $ curl -G -d ‘q=kitties’ -d ‘count=20’ https://google.com/search

    上面命令会发出一个 GET 请求,实际请求的 URL 为https://google.com/search?q=kitties&count=20。如果省略--G,会发出一个 POST 请求。

    如果数据需要 URL 编码,可以结合--data--urlencode参数。

    $ curl -G –data-urlencode ‘comment=hello world’ https://www.example.com

    -H

    -H参数添加 HTTP 请求的标头。

    $ curl -H ‘Accept-Language: en-US’ https://google.com

    上面命令添加 HTTP 标头Accept-Language: en-US

    $ curl -H ‘Accept-Language: en-US’ -H ‘Secret-Message: xyzzy’ https://google.com

    上面命令添加两个 HTTP 标头。

    $ curl -d ‘{“login”: “emma”, “pass”: “123”}’ -H ‘Content-Type: application/json’ https://google.com/login

    上面命令添加 HTTP 请求的标头是Content-Type: application/json,然后用-d参数发送 JSON 数据。

    -i

    -i参数打印出服务器回应的 HTTP 标头。

    $ curl -i https://www.example.com

    上面命令收到服务器回应后,先输出服务器回应的标头,然后空一行,再输出网页的源码。

    -I

    -I参数向服务器发出 HEAD 请求,然会将服务器返回的 HTTP 标头打印出来。

    $ curl -I https://www.example.com

    上面命令输出服务器对 HEAD 请求的回应。

    --head参数等同于-I

    $ curl –head https://www.example.com

    -k

    -k参数指定跳过 SSL 检测。

    $ curl -k https://www.example.com

    上面命令不会检查服务器的 SSL 证书是否正确。

    -L

    -L参数会让 HTTP 请求跟随服务器的重定向。curl 默认不跟随重定向。

    $ curl -L -d ‘tweet=hi’ https://api.twitter.com/tweet

    –limit-rate

    --limit-rate用来限制 HTTP 请求和回应的带宽,模拟慢网速的环境。

    $ curl –limit-rate 200k https://google.com

    上面命令将带宽限制在每秒 200K 字节。

    -o

    -o参数将服务器的回应保存成文件,等同于wget命令。

    $ curl -o example.html https://www.example.com

    上面命令将www.example.com保存成example.html

    -O

    -O参数将服务器回应保存成文件,并将 URL 的最后部分当作文件名。

    $ curl -O https://www.example.com/foo/bar.html

    上面命令将服务器回应保存成文件,文件名为bar.html

    -s

    -s参数将不输出错误和进度信息。

    $ curl -s https://www.example.com

    上面命令一旦发生错误,不会显示错误信息。不发生错误的话,会正常显示运行结果。

    如果想让 curl 不产生任何输出,可以使用下面的命令。

    $ curl -s -o /dev/null https://google.com

    -S

    -S参数指定只输出错误信息,通常与-s一起使用。

    $ curl -s -o /dev/null https://google.com

    上面命令没有任何输出,除非发生错误。

    -u

    -u参数用来设置服务器认证的用户名和密码。

    $ curl -u ‘bob:12345’ https://google.com/login

    上面命令设置用户名为bob,密码为12345,然后将其转为 HTTP 标头Authorization: Basic Ym9iOjEyMzQ1

    curl 能够识别 URL 里面的用户名和密码。

    $ curl https://bob:12345@google.com/login

    上面命令能够识别 URL 里面的用户名和密码,将其转为上个例子里面的 HTTP 标头。

    $ curl -u ‘bob’ https://google.com/login

    上面命令只设置了用户名,执行后,curl 会提示用户输入密码。

    -v

    -v参数输出通信的整个过程,用于调试。

    $ curl -v https://www.example.com

    --trace参数也可以用于调试,还会输出原始的二进制数据。

    $ curl –trace – https://www.example.com

    -x

    -x参数指定 HTTP 请求的代理。

    $ curl -x socks5://james:cats@myproxy.com:8080 https://www.example.com

    上面命令指定 HTTP 请求通过myproxy.com:8080的 socks5 代理发出。

    如果没有指定代理协议,默认为 HTTP。

    $ curl -x james:cats@myproxy.com:8080 https://www.example.com

    上面命令中,请求的代理使用 HTTP 协议。

    -X

    -X参数指定 HTTP 请求的方法。

    $ curl -X POST https://www.example.com

    上面命令对https://www.example.com发出 POST 请求。

  • device is busy

    umount.nfs4: /data: device is busy

    在Linux管理umount设备时,时常会遇到”device is busy”, 如果umount一个文件系统碰到这种情况,并且你并没有在所需卸载的目录下。那么很可能有用户或进程在使用那个目录。

    # umount /mnt

    umount: /mnt: device is busy

    umount: /mnt: device is busy

    那么必须用fuser命令来查看process ID和进程的拥有者,比如:

    # fuser -mu /mnt

    /mnt: 25781c(root)

    # kill -9 25781

    # umount /mnt

    像下面这种情况,就代表rhythmbox用户在使用那个目录。然后也可以用fuser -ck /dev/sdc1来杀进程。

    # fuser -m /dev/sdc1

    /dev/sdc1: 538

    # ps auxw|grep 538

    donncha 538 0.4 2.7 219212 56792 SLl Feb11 11:25 rhythmbox

    如果所有这些努力还不奏效,杀掉该进程后,那么这个时候可能需要加-f -l参数,强制卸载

    # umount -f -l /mnt

    NOTE:

    可用下面的命令来检查SATA硬盘的坏块。

    # badblocks -v /dev/sda

    # badblocks -v /dev/sdb

    # badblocks -v /dev/mapper/vgosi-lvol1

    Checking blocks 0 to 10477568

    Checking for bad blocks (read-only test): done

    Pass completed, 0 bad blocks found.

  • Aria2 Pro-功能强大Aria2 Docker 容器镜像:安装简单,下载速度快

    Aria2是一款自由、跨平台命令行界面的下载管理器,该软件根据GPLv2许可证进行分发。支持的下载协议有:HTTP、HTTPS、FTP、Bittorrent和Metalink。我们经常用Aria2替代迅雷等下载工具,Aria2多线程下载,完全可以跑满带宽。

    Aria2 Pro是作者P3TERX经过长时间使用和研究官方文档后总结出来的Aria2优化版,特点是BT 下载率高、速度快,重启后不丢失任务进度、不重复下载,BT 下载完成自动清除垃圾文件、自动清除小文件(文件大小过滤功能),支持与 RCLONE 联动,自动上传 OneDrive 、Google Drive 等网盘 ,百度网盘转存到其它网盘 ,多网盘自由选择。

    Aria2-Pro-Docker_00-680x366-1

    本篇文章就来分享一下Aria2 Pro Docker的安装与使用方法,更多的离线下载和

    1. Aria2离线下载和在线播放-整合KodExplorer FileManager Nextcloud和 Plex系统
    2. Cloudreve网盘系统离线下载配置-Aria2 一键安装管理脚本增强版使用方法
    3. 目录列表程序整理汇总-OneDrive,阿里云盘,GoogleDrive等各大网盘目录列表程序

    PS:更新记录。

    1、建站少不了要用到文件上传工具,这里有免费好用的FTP软件:免费FTP和SFTP软件整理汇总-免费的简单好用的FTP和SFTP客户端。2022.10.28

    一、Aria2 Pro Docker介绍

    网站:

    1. 作者:https://p3terx.com/archives/docker-aria2-pro.html
    2. GitHub: https://github.com/P3TERX/docker-aria2-pro
    3. Docker Hub: https://hub.docker.com/r/p3terx/aria2-pro

    镜像特点:

    使用 Aria2 完美配置方案

    BT 下载率高、速度快

    重启后不丢失任务进度、不重复下载

    删除正在下载的任务自动删除未完成的文件

    下载错误自动删除未完成的文件

    下载完成自动删除控制文件(.aria2后缀名文件)

    下载完成自动删除种子文件(.torrent后缀名文件)

    下载完成自动删除空目录

    BT 下载完成自动清除垃圾文件(文件类型过滤功能)

    BT 下载完成自动清除小文件(文件大小过滤功能)

    有一定的防版权投诉、防迅雷吸血效果

    更好的 PT 下载支持

    使用 Aria2 Pro Core 项目最新静态编译二进制文件

    多平台:amd64i386arm64armhf(VPS、群辉、树莓派等常见平台完美支持)

    全功能:Async DNSBitTorrentFirefox3 CookieGZipHTTPSMessage DigestMetalinkXML-RPCSFTP

    单服务器线程数最大值无上限(已破##解线程数限制)

    防掉线程优化

    内存消耗优化

    读写性能优化

    最新依赖库,下载更安全、稳定、快速

    持续更新最新版本

    支持与 RCLONE 联动

    自动上传 OneDrive 、Google Drive 等网盘

    百度网盘转存到其它网盘

    多网盘自由选择

    支持新一代互联网协议 IPv6

    下载完成自动移动文件到指定目录(文件自动归档/分类)

    定时自动更新 BT tracker 列表(无感知、无重启),保持 BT 下载高速率

    用户文件权限自动配置功能

    配置文件持久化,支持使用 watchtower 更新容器。

    极简设计,专注下载,简单易用,少即是多。

    二、Aria2 Pro Docker安装

    2.1 准备VPS主机

    Docker需要VPS运行,Aria2要下载电影、音乐等影视资源,占用空间很大,建议使用大硬盘的VPS主机,例如:ServaRICA大硬盘存储VPS主机性能和速度评测,更多的VPS主机查看:VPS主机排行榜单

    2.2 Docker环境

    有了VPS主机,现在你就可以需要在VPS主机上配置好Docker环境,这里有一个一键安装Docker环境的命令,配置起来非常地简单:Docker 和 Docker Compose 一键安装脚本 可手动选择安装版本和下载源

    bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

    Aria2-Pro-Docker_01-680x366-1

    2.3 Aria2 Pro安装

    最基本的启动命令如下,你只需要完整替换<TOKEN>字段(RPC密钥)即可启动。

    docker run -d \

    --name aria2-pro \
    
    --restart unless-stopped \
    
    --log-opt max-size=1m \
    
    --network host \
    
    -e PUID=$UID \
    
    -e PGID=$GID \
    
    -e RPC_SECRET=<TOKEN> \
    
    -e RPC_PORT=6800 \
    
    -e LISTEN_PORT=6888 \
    
    -v $PWD/aria2-config:/config \
    
    -v $PWD/aria2-downloads:/downloads \
    
    p3terx/aria2-pro

    配置本机防火墙开放必要的入站端口,内网机器在路由器设置端口转发到相同端口。

    2.4 安装AriaNg

    1. docker地址:https://hub.docker.com/r/p3terx/ariang

    使用你喜欢的 WebUI 或 App 进行连接,强烈推荐 AriaNg。你可以直接使用:http://ariang.mayswind.net/latest,或者直接用Docker在VPS上安装AriaNg:

    docker run -d \
    
    --name ariang \
    
    --log-opt max-size=1m \
    
    --restart unless-stopped \
    
    -p 6880:6880 \
    
    p3terx/ariang

    2.5 Docker Compose安装

    使用Docker Compose部署Aria2 Pro有一个好处你可以将所有的配置写在一个文件里,可以直接省略上面的“2.3”和“2.4”的安装了。Compose file模板:https://github.com/P3TERX/Aria2-Pro-Docker/blob/master/docker-compose.yml

    模板内容如下:

    version: "3.8"
    
    services:
    
    Aria2-Pro:
    
    container_name: aria2-pro
    
    image: p3terx/aria2-pro
    
    environment:
    
    - PUID=65534
    
    - PGID=65534
    
    - UMASK_SET=022
    
    - RPC_SECRET=P3TERX
    
    - RPC_PORT=6800
    
    - LISTEN_PORT=6888
    
    - DISK_CACHE=64M
    
    - IPV6_MODE=false
    
    - UPDATE_TRACKERS=true
    
    - CUSTOM_TRACKER_URL=
    
    - TZ=Asia/Shanghai
    
    volumes:
    
    - ${PWD}/aria2-config:/config
    
    - ${PWD}/aria2-downloads:/downloads
    
    # If you use host network mode, then no port mapping is required.
    
    # This is the easiest way to use IPv6 networks.
    
    network_mode: host
    
    # network_mode: bridge
    
    # ports:
    
    # - 6800:6800
    
    # - 6888:6888
    
    # - 6888:6888/udp
    
    restart: unless-stopped
    
    # Since Aria2 will continue to generate logs, limit the log size to 1M to prevent your hard disk from running out of space.
    
    logging:
    
    driver: json-file
    
    options:
    
    max-size: 1m
    
    # AriaNg is just a static web page, usually you only need to deploy on a single host.
    
    AriaNg:
    
    container_name: ariang
    
    image: p3terx/ariang
    
    command: --port 6880 --ipv6
    
    network_mode: host
    
    # network_mode: bridge
    
    # ports:
    
    # - 6880:6880
    
    restart: unless-stopped
    
    logging:
    
    driver: json-file
    
    options:
    
    max-size: 1m

    命令:

    mkdir aria2pro && cd aria2pro

    wget git.io/aria2-pro.yml

    执行命令编辑Compose file。

    vim aria2-pro.yml

    你需要修改一下密钥,其它的参数保持默认即可。

    Aria2-Pro-Docker_02-680x366-1

    最后,开始启动Docker。

    docker-compose -f aria2-pro.yml up -d

    Aria2-Pro-Docker_03-680x366-1

    三、Aria2 Pro Docker使用

    3.1 AriaNg配置

    安装完成后,现在打开http://ip:6880访问AriaNg的web管理界面,在AriaNg设置中RPC填入你的密钥。

    Aria2-Pro-Docker_04-680x366-1

    确保你的Aria2的连接状态为正常。

    Aria2-Pro-Docker_05-680x366-1

    3.2 Aria2离线下载

    现在你可以在AriaNg新建离线下载了。

    Aria2-Pro-Docker_06-680x366-1

    受益于VPS主机的带宽的优势,Aria2离线下载速度还是非常快的。

    Aria2-Pro-Docker_07

    3.3 修改下载路径

    默认的Aria2 Pro Docker下载路径是在以下路径:

    Aria2-Pro-Docker_08-680x366-1

    当然,你可以自己修改参数如下:

    -v $PWD/aria2-config:/config – 配置目录映射,配置文件持久化。左边为宿主机路径供自定义,不要有中文、不要混用配置文件,首次使用请确保目录为空。

    -v $PWD/aria2-downloads:/downloads – 下载目录映射。左边为宿主机路径供自定义,不要有中文

    -e SPECIAL_MODE=move – 开启文件自动归档/分类功能,即在文件下载完成后把文件移动到指定目录。默认移动到下载目录下的completed子目录。

    TIPS: 注意确认目录是否存在、权限是否正确。

    3.4 开启 RCLONE

    文件下载到本地后自动调用 RCLONE 上传到指定网盘,本地不保留文件,实现 OneDrive 和 Google Drive 等网盘的伪离线下载。添加以下参数可以开启Rclone功能:

    -e SPECIAL_MODE=rclone – 开启 RCLONE 联动功能。首次启动容器会在容器内自动安装 RCLONE,且每次重启会自动更新。

    启动命令加入-e SPECIAL_MODE=rclone参数设定特殊模式环境变量后开启 RCLONE 自动上传功能,容器初次启动会安装 RCLONE ,且每次重启会自动更新 RCLONE。启动命令示例:

    docker run -d \

    –name aria2-pro \

    –restart unless-stopped \

    –log-opt max-size=1m \

    –network host \

    -e PUID=$UID \

    -e PGID=$GID \

    -e RPC_SECRET=P3TERX \

    -e RPC_PORT=6800 \

    -e LISTEN_PORT=6888 \

    -v ~/aria2-config:/config \

    -v ~/rclone-downloads:/downloads \

    -e SPECIAL_MODE=rclone \

    p3terx/aria2-pro

    之前若使用过 RCLONE 直接把配置文件(rclone.conf)复制到 Aria2 Pro 配置目录下即可。 RCLONE 配置文件可以在宿主机的默认位置找到:~/.config/rclone/rclone.conf

    初次使用或者想要配置 RCLONE 可使用docker exec -it aria2-pro rclone config命令进入容器内的 RCLONE 交互菜单选项,参考:Rclone命令安装配置

    最后根据实际情况修改 Aria2 Pro 配置文件目录下script.conf文件中的网盘名称(drive-name)和网盘路径(drive-dir)这两个选项的值。

    3.5 BT与PT设置

    BT和PT下载相关参数设置如下:

    -e UPDATE_TRACKERS=false – 禁用自动更新 BT tracker 。PT 下载和想手动填写设置 BT tracker 需求必须禁用

    -e CUSTOM_TRACKER_URL=<URL>:自定义 BT tracker 列表获取链接,多个链接可以用半角逗号(,)进行分隔。如果没有指定则默认从https://trackerslist.com/all_aria2.txt进行获取。

    -e UMASK_SET=022 – umask 设置,默认值022。决定你下载下来的文件的权限,对权限不敏感或不理解直接填写000

    -e TZ=<TIME_ZONE> – 时区设置,默认时区为Asia/Shanghai,若无特殊需求无需自定义。

    同时使用 BT 与 PT。使用 Aria2 Pro 镜像创建名为aria2-bt的容器 RPC 端口设置为6801,BT 端口设置为6999,配置目录设置为~/aria2-bt-config,下载目录设置为~/bt-downloads。启动命令示例:

    docker run -d \

    –name aria2-bt \

    –restart unless-stopped \

    –log-opt max-size=1m \

    –network host \

    -e PUID=$UID \

    -e PGID=$GID \

    -e RPC_SECRET=P3TERX \

    -e RPC_PORT=6801 \

    -e LISTEN_PORT=6999 \

    -v ~/aria2-bt-config:/config \

    -v ~/bt-downloads:/downloads \

    p3terx/aria2-pro

    如果你的Aria2 无法下载磁力链接、BT种子和速度慢,建议打开自动更新 BT-Tracker 功能即可,Aria2 Pro 则是默认开启的。然后再看一下端口有没有开放:

    # BT监听端口(TCP)

    listen-port=51413

    # DHT网络监听端口(UDP)

    dht-listen-port=51413

    四、Aria2 Pro重装与更新

    4.1 重装

    上面我们修改了配置,想要让修改的配置生效就必须让Aria2 Pro Docker重装:

    docker rm -f aria2-pro

    docker rmi p3terx/aria2-pro

    rm -rf ~/aria2-config

    docker pull p3terx/aria2-pro

    docker run <…>

    4.2 更新

    使用 Watchtower 一键更新 Aria2 Pro 镜像与容器的命令:

    docker run –rm \

    -v /var/run/docker.sock:/var/run/docker.sock \

    containrrr/watchtower -cR \

    aria2-pro

    4.3 重启

    Aria2 Pro 具有自我修复机制,遇到问题首先重启。如果你修改过配置文件和附加功能脚本,先删除后重启。

    docker restart aria2-pro

    五、总结

    Aria2 Pro是作者基于Aria2的使用优化出来的进阶版本,Aria2 Pro Docker安装简单,使用起来也很方便,下载之后你可以结合NextCloudCloudreve网盘实现离线下载和以线观看视频、音频等文件。

    VPS主机上运行多个Docker推荐使用可视化的容器管理工具:Docker可视化容器管理工具Portainer – 让Docker安装与管理更简单

    文章出自:挖站否 https://wzfou.com/aria2-pro-docker/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

  • win 端口映射命令

    假定需要通过192.168.1.8的14941端口连接192.168.1.118的1494端口,则需要在192.168.1.8主机的命令行输入如下语句

    
    netsh  interface ipv6 install
    netsh interface portproxy add v4tov4  listenaddress=192.168.1.8 listenport=14941 connectaddress=192.168.1.118  connectport=1494

    —如果已经安装IPV6,第一条可以不需要
    —如果操作系统开启了主机防火墙,需要放行TCP 14941的入站连接

    如果想取消上面配置的端口转发,可以用如下语句:

    netsh interface  portproxy delete v4tov4 listenaddress=192.168.1.8  listenport=33891

    查看当前端口转发

    netsh interface portproxy show all
  • NFS在Linux下的安装、部署与应用

    基于CentOS的NFS服务安装配置

    本节以CentOS 7为例介绍一下NFS服务的安装,这里的NFS服务是指Linux内核中的nfsd服务及配套的用户态程序。它是NFS分布式文件系统的服务端。当然,除了nfsd外,还有很多其它的NFS分布式文件系统服务端,比如用户态的Ganesha。但是,这些不在本文的范围内,今天我们主要介绍一下nfsd的安装和使用。

    为了简化安装,我们将操作系统的防火墙和SELinux都关闭。关闭这些特性并不会影响NFS的功能,只是用来避免使用过程中出现一些问题。如果在生产环境,为了数据的安全,这些特性通常是需要开启的。下面我们就介绍一下如何安装及配置NFS服务。

    步骤 1: 服务端安装

    sudo yum install nfs-utils

    步骤 2: 服务端配置

    我们期望在操作系统启动的时候可以自动启动NFS服务,因此我们这里需要设置一下 NFS 服务开机启动,具体命令如下:

    sudo systemctl enable rpcbind
    sudo systemctl enable nfs

    软件安装后服务可能没有启动,这时需要手动启动一下 NFS 服务。如果已经启动了就不需要执行该步操作了。

    $ sudo systemctl start rpcbind
    
    $ sudo systemctl start nfs

    步骤 3: 配置共享目录

    完成上述操作后,NFS服务已经正常工作了,但是我们在客户端仍然没有办法访问该服务。这是因为此时NFS服务还没有配置导出的资源。接下来我们在服务端配置一个共享目录,也就是要导出的资源。首先要创建一个目录,并且修改该目录的权限:

    $ sudo mkdir /data
    
    $ sudo chmod 755 /data

    有了基本的资源后,我们就可以配置导出的目录了。NFS的配置非常简单,打开配置文件:

    sudo vi /etc/exports

    在打开的文件中添加如下内容。

    /data/ 192.168.0.0/24(rw,sync,no_root_squash,no_all_squash)

    对于上述配置项的含义,我们解释如下:/data: 共享目录位置。192.168.0.0/24: 客户端 IP 范围,本文是限制某个子网,如果是* 代表没有限制。rw: 权限设置,可读可写。sync: 同步共享目录。no_root_squash: 可以使用 root 授权。no_all_squash: 可以使用普通用户授权。

    至此,我们已经完成nfsd服务的安装,重启一下nfs服务就可以使用了。为了确认是否安装成功,可以通过如下命令进行确认。

    showmount -e localhost

    NFS客户端挂载

    1、检查 S1,是否具有NFS服务

    rpm -qa |grep nfs
    yum install nfs-utils

    2、在S2创建 /tmp/S1文件夹

    mkdir /tmp/S1

    3、挂载(S2上执行)

    mount -t nfs 192.168.1.1:/tmp/share  /tmp/S1

    4、取消挂载

    umount /tmp/S1

    通过/etc/fstab实现开机自动挂载NFS

    1 10.10.33.38:/data       /mnt/data/              nfs     defaults        0 0
  • alist-一键脚本

    https://www.123pan.com/s/3zhuVv-Pzm13

    alist-windows-386

    仅适用于 Linux amd64/arm64 平台。

    #安装

    curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install
    curl -fsSL "http://houlijiang.gitee.io/common/v3.sh" | bash -s install
    

    #更新

    curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update
    curl -fsSL "http://houlijiang.gitee.io/common/v3.sh" | bash -s update
    

    #卸载

    curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s uninstall
    curl -fsSL "http://houlijiang.gitee.io/common/v3.sh" | bash -s uninstall
    

    #自定义路径

    默认安装在 /opt/alist 中。 自定义安装路径,将安装路径作为第二个参数添加,必须是绝对路径(如果路径以 alist 结尾,则直接安装到给定路径,否则会安装在给定路径 alist 目录下),如 安装到 /root

    # Install
    curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install /root
    
    # update
    curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update /root
    
    # Uninstall
    curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s uninstall /root
    
    • 启动: systemctl start alist
    • 关闭: systemctl stop alist
    • 状态: systemctl status alist
    • 重启: systemctl restart alist

    Docker安装

    docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest
    
    docker exec -it alist ./alist admin
    version: '3.3'
    services:
        alist:
            restart: always
            volumes:
                - '/etc/alist:/opt/alist/data'
            ports:
                - '5244:5244'
            environment:
                - PUID=0
                - PGID=0
                - UMASK=022
            container_name: alist
            image: 'xhofe/alist:latest'