Marco Nie - software https://blog.niekun.net/category/software/ 使用 TinyPNG API 批量压缩图片尺寸 https://blog.niekun.net/archives/2866.html 2024-01-17T09:36:22+08:00 TinyPNG 是一个提供图片压缩服务的网站,可以直接在其官方网站上上传并压缩 png 或 jpg 图片,同时它也提供第三方使用的 api。下面介绍使用其 api 开发的 tinifier,可以在命令行中将指定文件夹内的所有图片批量压缩。TinyPNG 官网:https://tinypng.com/tinifier 主页:https://github.com/tarampampam/tinifierapi 申请:https://tinypng.com/developers首先申请一个自己的 api,每个账户每月有 500 次请求的免费额度。在上面的 api 申请网页中输入邮箱申请即可,打开邮件回复的链接进入个人主页,在 api 栏可以看到或新建 api:github release 页面下载 tinifier 最新版,注意需要在 cli 命令行中使用。为了方便在 windows 下调用,可以将程序路径加入系统 path 中。linux 可以添加一个软链接到 /usr/local/bin 中。可用命令:compress 压缩指令-h 帮助-k 指定 api key 也可以使用 TINYPNG_API_KEY 环境变量预设,用逗号 , 隔开多个 key-e 指定目录中需要压缩的图片类型-r 递归搜索指定的目录文件夹的子文件夹-t 指定压缩时的线程数示例:# 压缩一个图片 tinifier compress -k 'YOUR-API-KEY-GOES-HERE' ./img.png #压缩一个目录中的所有 png 图片 tinifier compress -k 'YOUR-API-KEY-GOES-HERE' -e png ./images-directory # 使用20线程压缩所有 png jpg 格式的图片并循环搜索所有子文件夹 tinifier compress -k 'YOUR-API-KEY-GOES-HERE' -e png -e jpg -e PNG -e JPG -t 20 -r ./some-dir以上就是通过 tinyPNG api 批量压缩本地图片的基本用法。实际使用中及大幅度的减小了本地图片磁盘占用量。建议使用时提前设置好 API 的系统环境变量,可以更加方便的使用压缩命令。参考:systemd 服务加载 env 环境变量Windows 环境变量 ffmpeg 常用视频格式转换命令 https://blog.niekun.net/archives/2861.html 2023-11-04T13:50:10+08:00 关于 ffmpeg 的详细解释可以看我的文章:FFmpeg 简单用法,下面主要介绍一些常用的视频格式间转换的命令,可以直接使用。ppt 导出的 webm 转 mp4:ffmpeg -fflags +genpts -i in.webm -r 24 out.mp4 mpg 转 mp4:ffmpeg -i in.mpg -c:v libx264 -c:a aac -crf 20 -preset:v veryslow out.mp4 参考链接:webm to mp4 conversion using ffmpegFFMPEG convert .mpg video to .mp4 without lose quality chrome 内置翻译工具流量走代理配置 https://blog.niekun.net/archives/2784.html 2022-12-14T08:54:19+08:00 从下半年开始发现 chrome 系统内置的网页翻译工具就开始抽风,然后彻底不能翻译了,查了下其流量 url 是 translate.googleapis.com,将 url 配置到我的代理列表中走 switchyomega 依然无法访问。经过查询发现 chrome 翻译的流量只能走系统代理,这就有点麻烦了。开始使用了修改 hosts 的方式指定到国内可用 ip 上,但是使用并不长久,没几天就又不可用了。家里电脑可以在 openwrt 路由上配置好代理,比较简单,但是想要在本机上直接配置就不太方便了,需要设置系统为全局代理,但我又不想这样做。今天发现 proxifier 居然可以指定 hosts 配置代理,测试了下居然可行:如果之前在系统 hosts 文件添加过 translate.googleapis.com 的定向需要先将其删除,设置好后重启 chrome 发现网页翻译可以正常使用了。参考链接chrome自带的翻译工具无法使用代理#264Chrome 右键翻译,怎么 fix? 自建 RustDesk server https://blog.niekun.net/archives/2744.html 2022-08-07T14:08:00+08:00 RustDesk 是一款开源的跨平台远程桌面软件,类似于 TeamViewer 的 UI 样式,但它是完全免费的。RustDesk 提供了 3 个免费的转发服务器,会根据你的地理位置自动选择最快的,一般使用足够了,如果对安全性有担忧,它们也提供了 server 端应用,可以自建转发服务器。下面就对搭建 server 端做一些介绍。RustDesk GitHub 主页:https://github.com/rustdesk/rustdeskRustDesk Server GitHub 主页:https://github.com/rustdesk/rustdesk-server服务器平台:ubuntu 20.04安装 server我是通过 docker 安装的 server 端,这样最快速简单。关于 docker 和 docker compose 的安装可以参考我之前的文章:https://blog.niekun.net/archives/2742.html#title-1docker-compose.yml 文件内容如下:version: '3' networks: rustdesk-net: external: false services: hbbs: container_name: hbbs ports: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21118:21118 image: rustdesk/rustdesk-server:latest command: hbbs -r xxx.xxx.xxx.xxx:21117 volumes: - ./data:/root networks: - rustdesk-net depends_on: - hbbr restart: unless-stopped hbbr: container_name: hbbr ports: - 21117:21117 - 21119:21119 image: rustdesk/rustdesk-server:latest command: hbbr volumes: - ./data:/root networks: - rustdesk-net restart: unless-stopped这里配置 hbbs IP 地址需要设置为中继服务器的 IP 或域名,否则无法链接。默认监听的是 21117 端口,客户端默认也是链接服务器的这个端口。如果修改这里的默认端口,则在客户端设置的时候也需要指定此端口。启动服务:docker-compose up -d 此时在客户端设置 ID server:在第一行填入服务器 IP 地址即可:确认后,如果下方状态栏显示 ready 表示服务器链接正常:配置域名访问如果想要使用域名作为 server id,需要在你的域名服务器里加上一条自定义的域名 NS 解析,如:rust.abc.com。注意如果你使用的是 cloudflare 服务,由于它在启用 CDN 后只支持少数端口的转发,而我们需要使用的是 21115 - 21119 这些端口,所以需要在 dns 配置时取消这个自定义域名的小黄云,只使用其 dns 服务:关于 cloudflare 的网络端口转发相关的信息参考官网内容:Network ports自定义域名配置好后,修改 docker-compose.yml 配置文件中定义的地址为指定域名:command: hbbs -r rust.abc.com:21117 重启容器后就可以在客户端的 ID server 中使用域名链接了。方法和上面介绍的用服务器 IP 设置的方法相同。 ESXi 的安装与使用 https://blog.niekun.net/archives/2213.html 2021-03-29T14:51:00+08:00 什么是 VMware vSphereVMware vSphere 是 VMware 的虚拟化平台,可将数据中心转换为包括 CPU、存储和网络资源的聚合计算基础架构。vSphere 将这些基础架构作为一个统一的运行环境进行管理,并为您提供工具来管理加入该环境的数据中心。vSphere 的两个核心组件是 ESXi 和 vCenter Server。ESXi 是用于创建并运行虚拟机和虚拟设备的虚拟化平台。vCenter Server 是一项服务,用于管理网络中连接的多个主机,并将主机资源池化。vSphere Hypervisor 虚拟领域管理程序是一种可将服务器虚拟化的裸机管理程序,依托 VMware vSphere ESXi 体系架构构建。ESXi 是安装在物理机上的管理器。vSphere Client 安装在一个笔记本或者桌面PC上,用于访问 ESXi 服务器进行虚拟机的创建和管理。vCenter server 像一个虚拟机一样安装在 ESXi 上面。在拥有多个 ESXi 服务器和数十个虚拟机时,vCenter server的应用就比较频繁了。在小环境下的管理通常都会使用 vSphere client 来直连 ESXi 服务器。简单来说 ESXi 是直接安装在物理机器上用来管理硬件设备,相当于一个操作系统,然后在 ESXi 中安装虚拟机。它可以方便的给不同的虚拟机分配硬件资源,以及管理。类似 VMware workstation 等产品是需要安装在某个操作系统内部运行的。下载镜像我们需要下载 vSphere Hypervisor 的 iso 镜像。最简单的是登陆账号后在下面网址搜索下载:https://customerconnect.vmware.com/downloads/#my_products也可以进入官网下载:https://www.vmware.com/products/vsphere-hypervisor.html在右侧点击 download 会提示登录账号,然后需要注册下产品,点击 register:然后找到 esxi ISO 镜像下载地址,点击下载:当前最新版为 VMware vSphere 7.0 Update 2。安装然后我们需要将制作一个启动盘来安装 esxi,推荐使用 ventoy 来加载镜像,非常方便:https://www.ventoy.net/en/index.html开机进入 boot 设置,将对应的启动盘设置为第一项启动,然后就可以进入 ventoy 引导画面了。选择 esxi 镜像文件 enter 进入,下面我们就进入 esxi 安装程序了。这里有第一个需要注意的地方,esxi 在第一次全新安装中会默认划分 120G 的虚拟闪存,类似于 Windows 的虚拟内存,提供更大的交换空间,为虚拟机提供读缓存,提升虚拟机的存储性能。但是对于家用设备来说,120G 的空间白白占用有点浪费,所以我们需要自定义设置这个虚拟闪存的大小。在引导进入安装界面后,立刻按下 shift + o 键,会停留在如下画面:在下方可以输入命令行的地方,我们在已有命令后添加一句:autoPartitionOSDataSize=4096:表示设置虚拟闪存大小为 4 GB,可以按照需要调整,数字就是 1024 乘以需要的 GB 大小。回车确认后继续引导安装程序,期间会自动识别设备硬件。根据提示点击 enter 继续:点击 F11 继续:选择安装到那个硬盘,enter 确认继续:选择键盘布局,默认即可:设置 root 密码:最后点击 F11 开始安装:安装完成后提示可以移除引导盘并重启了:连接管理系统重启后,会自动识别第一个网口的网络地址,我们可以在同一局域网下通过 ESXi 的地址访问管理页面:我们也可以通过网线将其他设备连接到第一个网口的方式进入管理页面,需要首先设置 esxi 的网络地址。点击 F2 进入配置界面,需要输入 root 密码:进入 config management network:默认选中的管理网络为第一个网口,可以自行修改:我们需要配置 IPv4 configuration:空格键选中 set static ipv4 address,并配置合适的 ip 地址,稍后需要将连接的设备也设置为同一网段才可以连接:完成后点击 esc 退出配置,会弹出是否重启网络提示框,点击 Y 确认。然后我们需要在通过网线连接的设备端配置网络到上面设置的同一网段内。这样就可以通过设置的静态地址来访问 esxi 管理页面了。以上两种方式都可以进入 esxi 管理界面,这里我是通过局域网设备来实现的。进入 esxi 管理访问 esxi 的管理地址,这里我的 esxi 地址为 27.168.1.181。在局域网下其他设备浏览器打开这个地址:登录 root 账户:可以看到 esxi 7 自身占用了 1.3GB 内存和 2.5GB 硬盘空间。hardware 栏里的 virtual flash 就是我们安装时候自定义的 4GB 虚拟闪存空间:我们安装的是 esxi 评估版可以免费使用 60 天,如果想要一直使用则需要输入有效的序列号。可以通过 manage - licensing - actions - assign license 输入序列号:配置磁盘安装 esxi 的时候会格式化系统对应的磁盘,如果安装了多个磁盘并且需要在 esxi 中作为存储设备,就需要单独配置它们了。点击左侧导航栏的 storage,然后选择 devices:可以看到我有两块硬盘和一个 cdrom。其中最下面的 10G 的硬盘是 esxi 安装盘,点击进入可以查看详细信息:其中 VMFSL 就是虚拟闪存空间,剩下的 VMFS 分区就是可用的数据分区。点击进入第二个硬盘查看:我们看到这里什么都没有,这是因为这块硬盘没有分配 datastore。我们点击 new datastore,首先给这个数据区取一个名字:在下面的页面,我们首先选择 use full disk,这样会见整块硬盘都作为这个 datastore,然后点击 next:点击 finish 后,datastroe 就建立完成了,这时候可以看到这块磁盘的信息:返回 datastore 选项卡可以看到新建立的 datastore2 在列表中:在后续的虚拟机安装中,我们可以选择将虚拟机安装到哪一个 datastore 中。点击 datastore browser 可以查看其中的数据文件:可以看到左上角有一个 upload 选项,我们可以远程将文件复制到 datasotre 中:后续安装虚拟机时,我会通过这种方法将系统镜像文件复制到 datastore 中。配置网卡下面我们来配置网卡,这也是 esxi 的核心之一。我们可以将主机上的物理网卡定义为虚拟交换机,然后分配给虚拟机使用。这里的配置非常自由,需要根据实际需求来设置,我们可以将每个网卡单独配置一个虚拟交换机,也可以将多个网卡设置为一个虚拟交换机。选择左侧导航栏的 networking,然后点击 physical NICs,就是主机上的所有物理网卡,这里有三个:然后我们切换到 virtual switches,这里就是定义虚拟交换机,默认有一个 vSwitch0,我们点击进去看看它的配置:可以看到它绑定了我们的第一个网卡。我们点击 edit settings 进入配置:uplink 定义了绑定到那个物理网卡。注意我们将 security 里的三个选项都设置为 accept 来使网络功能完整支持。点击 save 保存配置。如果需要将另一个网卡也绑定到这个虚拟交换机,可以点击左上角的 add uplink:这里我们将每个网卡都配置单独的虚拟交换机。返回 virtual switches 栏,点击 add standard virtual switch 添加新的交换机:将第二个网卡配置给 vSwitch1,同样的设置 security 为 accept。然后通过相同的方法配置第三个网卡,最终我们配置好了所有的交换机:最后我们配置 port group 端口组,可以定义一个虚拟交换机的集合。我们安装虚拟机为其分配网卡时就是分配给其某个 port group。同一个虚拟交换机可以定义到多个集合中。默认有两个集合,可以看到它们都是对应 vSwtich0:注意不要修改第二个 Management Network 的配置,否则可能无法访问 esxi 管理页面。我们将另外两个刚才建立的虚拟交换机定义到 port group 中,以便虚拟机可以调用。点击 add port group:这里注意 group 名称如果最后一个是数字,则不要再前面加空格,否则虚拟机无法识别到它。将所有的虚拟交换机都配置对应的 port group:这样我们就配置好了所有的网卡部分。这里有个进阶教程,可以将某个网卡或其他物理设备设置为直通模式,可以供虚拟机直接调用。可以提高性能。这样就不需要配置虚拟交换机了。通过 manage - hardware - PCI devices 查看所有的硬件:如果又可以直通的硬件,前面的复选框就可为可选状态,然后点击 左上角的 toggle passthrough 就可以切换直通模式了,这里我由于是虚拟机中安装的 esxi 所有网卡不可以设置为直通模式。创建虚拟机下面我们就可以创建虚拟机了。首先配置虚拟机,左侧导航栏选择 virtual machines,然后点击 create/register vm 进入引导页面:如果时创建新虚拟机则选择第一项,如果是添加已有的虚拟机则选择第三项,这里我们创建新虚拟机,点击 next。设置虚拟机名称和系统类型,这里我安装一个 openwrt 系统:然后选择虚拟机安装位置,也就是选择一个 datastore:然后是定义虚拟机硬件配置,可以根据需要设置,这里我通过顶部的菜单添加一个新的 network adapter:然后我们配置网络适配器对应的 port group,点击后面的下拉菜单可以看到我们在 port group 中定义的所有集合:我给两个网络适配器分别分配不同的集合,也就是对应不同的虚拟交换机:如果需要通过系统镜像的方式安装虚拟机,则需要配置 cdrom 为 datastore ISO file,然后选择提前上传到 datastore 的镜像文件:这里我是通过提前准备好的 vmdk 虚拟磁盘文件来直接启动虚拟机,所以我需要将虚拟磁盘添加进来。首先将默认的 disk 删除,然后选择 add hard disk - existing hard disk:然后选中对应的磁盘文件,这里我们直接将磁盘文件放在 openwrt 目录内,方便后期管理:然后点击 finish 完成虚拟机的硬件配置:现在可以看到我们刚添加的 openwrt:点击 openwrt 进入监控界面:然后点击 power on 就可以启动虚拟机了。开机自启可以通过设置,让 esxi 启动后自动启动某个虚拟机,点击 manage - system - autostart,然后选中需要自动启动的虚拟机,点击 enable 即可:如果有多个虚拟机需要自动启动,还可以设置它们的启动顺序。远程访问经过测试可以通过 frp 经过 ssh 访问 exsi。但是由于 exsi web 管理页面默认会 http 重定向到 https 页面,所以如果你配置的是 http to https 的访问则会出现远程访问的时候进入无限循环的 redirect 从而报错。解决方法就是 frp 配置 plugin_http2https 插件将 https 转为 http 转发给 frps,要么将 exsi web 页面关闭强制重定向 https。可以参考:How To: vSphere Client to vCenter Using HTTP使用 frp 实现内网穿透/远程管理/文件服务器从安全的角度考虑,还是不要轻易将 exsi 暴露在外网中吧。以上就是 esxi 的简单安装和使用教程。参考链接VMware vSphere 文档 使用 instaloader 下载 Instagram 图片-视频 https://blog.niekun.net/archives/2205.html 2021-03-16T11:55:00+08:00 一直在使用 telegram bot 来下载 YouTube 或 twitter 视频,很方便快捷。关于配置自己的 bot 参考之前的文章:https://blog.niekun.net/archives/428.html我的应用于 telegram bot 的 YouTube 下载器源码地址:https://github.com/nie11kun/telegram-bot-youtube-downloader最近想给我的 telegram bot 添加 Instagram 图片的下载功能,但是 youtube-dl 并不支持 Instagram。查询了下发现了 instaloader 这个开源软件可以完美实现我想要的功能。instaloader 官网:https://instaloader.github.io/GitHub:https://github.com/instaloader/instaloader安装instaloader 需要 python 3.5 以上。推荐直接安装最新版 python。使用 pip3 安装:pip3 install instaloader --upgrade 注意必须通过 pip3 而不是 pip 安装,否则使用中会报错。使用安装完成后就可以使用 instaloader 命令来下载了。注意如果 python 安装到了自定义目录,如 /opt 则需要手动链接 instaloader 可执行程序到 /usr/local/bin 目录。下载 post如果要下载一个 post 中的图片,提取链接中的 shortcode 来下载,如下是一个 Instagram post 的链接:https://www.instagram.com/p/CMcMZycLpbS/?utm_source=ig_web_copy_link,其中的 CMcMZycLpbS 就是 shortcode 代码。需要通过 -shortcode 参数来下载对应的图片,且需要通过 -- 告诉 instaloader 不要将 -shortcode 作为 option 对待,如:instaloader -- -CMcMZycLpbS 关于命令中的特殊字符处理参考:https://blog.niekun.net/archives/2204.html默认会下载到当前目录下,并新建文件夹 -shortcode,媒体文件及相关文本文件就在其中,注意到文件夹是以特殊字符 - 开头的,所以访问目录需要加上 --,如:cd -- -CMcMZycLpbS 自定义下载目录通过 --dirname-pattern 参数可以指定下载目录,如:instaloader --dirname-pattern=/tmp/test -- -CMcMZycLpbS 就会将对应 post 的媒体下载到 /tmp/test 目录内。instaloader 的功能很强大,可以下载一个用户的所有发布内容,可以下载一个 #hashtag 标签的所有内容等。具体可以参考官方文档:https://instaloader.github.io/basic-usage.html#download-pictures-from-instagram我将 instaloader 加入了 telegram bot 中,可以很方便的下载一个 post 的媒体内容,有兴趣的可以查看:https://github.com/nie11kun/telegram-bot-youtube-downloader 修复 vs code 下保存文件会自动 format 代码的问题 https://blog.niekun.net/archives/2191.html 2021-02-25T20:46:37+08:00 今天在开发 React 时发现每次保存 js 文件都会自动改变代码格式导致一大堆报错:经过查询发现时由于安装的 JS-CSS-HTML Formatter 插件默认会在保存文件时对文件格式进行处理。但是堆 React 代码的自动处理有问题导致无法正常进行开发。只需要修改其配置文件将保存文件时自动处理关掉即可。快捷键 cmd + shift + p 打开控制器,输入 formatter:点击 formatter config 修改配置文件,将第一句 "onSave": true 改为 false 保存即可。需要重启 vscode 才能生效。 QT 添加第三方库 https://blog.niekun.net/archives/1958.html 2020-12-02T11:52:00+08:00 如果要在 QT 中使用第三方库,需要将相关库文件路径写入项目 pro 文件内,有两种方式:GUI 对话框添加或直接编辑 pro 文件。GUI 添加使用 GUI 添加的好处是比较直观,使用鼠标点击即可。右键项目名称,点击 add library:选中 external library 点击 next:选择头文件所在目录路径:如果有 lib 库文件的话需要链接进来,没有的话可以不设置:其他保持默认然后点击 next 完成添加。我们打开 pro 文件可以看到在文件最后添加了相关内容:win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../Library/boost_1_72_0/stage/lib/ -llibboost_filesystem-mgw81-mt-x32-1_72.dll else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../Library/boost_1_72_0/stage/lib/ -llibboost_filesystem-mgw81-mt-x32-1_72.dlld else:unix: LIBS += -L$$PWD/../../../Library/boost_1_72_0/stage/lib/ -llibboost_filesystem-mgw81-mt-x32-1_72.dll INCLUDEPATH += $$PWD/../../../Library/boost_1_72_0 DEPENDPATH += $$PWD/../../../Library/boost_1_72_0pro 文件添加根据添加一个第三方库所增加的语句,我们可以手动直接编辑 pro 文件完成添加:LIBS 指定 lib 库文件路径,没有的话不需要定义INCLUDEPATH 指头文件所在目录DEPENDPATH 定义和头文件相同目录即可例如我们添加一个 boost filesystem 库到项目:LIBS += -L"/path/to/boost_1_72_0/stage/lib/" \ -llibboost_filesystem-mgw81-mt-x32-1_72 \ -llibboost_regex-mgw81-mt-x32-1_72 INCLUDEPATH += "/path/to/boost_1_72_0" DEPENDPATH += "/path/to/boost_1_72_0"LIBS 中,使用 -L 添加 lib 库目录,使用 -l 添加具体某个库文件,可以不写文件后缀。以上就是 QT 中添加第三方库的方法。 pandownload keep alive https://blog.niekun.net/archives/1553.html 2020-04-18T21:57:00+08:00 下载百度云的资源一直是比较头疼的,限速严重影响到了使用体验,我对百度产品又不太喜欢所以就排除了充值会员的选项。前段时间发了一篇百度云网盘直链获取及下载的文章,但是封锁很严重,基本处于不能用的状态。这两天 pandownload 这款百度盘下载器的话题很多。由于服务器被关闭,导致软件打不开。研究了下可以绕过程序启动同服务器的链接正常使用软件。原理就是利用别人备份的 pandownload.com 的网站的内容托管到别的服务器,再将对 pandownload.com 域名的请求解析到对应的服务器地址。pandownload apppandownload 只提供了 Windows 版本,这里提供程序的备份:PanDownload_add_temp.zip网站托管程序启动时会同 pandownload.com 发起请求,感谢有人对网站内容做了备份,这里只需要将网站托管到其他的服务器即可。网站备份:https://github.com/AyagawaSeirin/PandownloadFake下载仓库到服务器,使用 nginx 监听 pandownload.com 域名的访问:server { listen 80; server_name pandownload.com; root /path/PandownloadFake; index index.html; location / { try_files $uri $uri/ =404; } location /api { } }域名解析网站托管到新的服务器后,就可以将本地 dns 解析到服务器地址了。有很多方法可以实现,这里介绍修改 hosts 文件和 v2ray 的 dns 服务器实现。hosts修改 hosts 文件是最基本的方法,就是强制将某个域名的访问解析到对应的 IP 地址。hosts 文件地址:C:\Windows\System32\Drivers\etc\hosts打开 hosts 文件,在最后加入如下:xxx.xxx.xxx.xxx pandownload.com 解析地址可以填写服务器 IP,如果服务器原本的域名加了 CDN,可以填写 CDN 分配的 IP,隐藏服务器真实地址。也可以直接填写域名。修改 hosts 完成后再 cmd 执行下面命令以刷新 dns 缓存:ipconfig /flushdns 启动 pandownload 查看是否可以启动。配置 v2ray dns 服务器如果正在使用 v2ray,可以配置 dns 服务器来达到同样的效果。dns 段添加设置如下:{ "dns": { "hosts": { "domain:pandownload.com": "xxx.xxx.xxx.xxx" } } }routing 段添加设置如下:{ "routing": { "domainStrategy": "IPOnDemand", "rules": [ { "type": "field", "domain": [ "pandownload.com" ], "outboundTag": "direct-customDNS" } ] } }outbounds 段添加设置如下:{ "outbounds": [ { "protocol": "freedom", "settings": { "domainStrategy": "UseIP" }, "tag": "direct-customDNS" } ] }以上 v2ray 配置完成后,需要让 pandownload 走 v2ray 监听的代理地址。修改 PanData\config.ini:proxy=127.0.0.1:1082 proxy 地址为 v2ray http 监听地址。启动 pandownload 测试是否启动正常。使用网上有人搭建好现成的服务端,自己搭建不方便的话可以直接使用别人搭建好的 hosts 地址:185.199.108.15364.52.84.68登录百度账户即可进行下载,这里测试需要设置为PCS接口才能正常下载: 使用 SCP 管理远程服务器文件 https://blog.niekun.net/archives/1547.html 2020-04-03T08:55:39+08:00 安全复制(英语:Secure copy,缩写SCP)是指在本地主机与远程主机或者两台远程主机之间基于Secure Shell(SSH)协议安全地传输电脑文件。SCP是一种基于BSD RCP协议的网络传输协议,[3] 支持同一个网络上主机之间传输文件。SCP使用Secure Shell(SSH)完成数据传输,并使用同时用它进行身份认证,从而确保数据传输时的真实性和保密性。客户端可以向服务器发送(上传)文件,可选包含其基本属性(权限、时间戳)。客户端也可以请求(下载)一个服务器的文件或目录。SCP默认通过TCP端口22运行。和 SCP 类似功能的是 SFTP 协议,也是使用 SSH 传输数据,具体使用方法参考:https://blog.niekun.net/archives/130.htmlLinux 系统可以直接使用 scp 命令进行操作,Windows 系统可以安装 WinSCP,进行操作。下面介绍 Linux 下使用 scp 进行文件传输。复制远程文件到本地:scp -P port username@from_host:file.txt /local/directory/ 复制本地文件到远程:scp file.txt username@to_host:/remote/directory/ 复制远程文件夹到本地:scp -r username@from_host:/remote/directory/ /local/directory/ 复制本地文件夹到远程:scp -r /local/directory/ username@to_host:/remote/directory/ 复制远程文件到另一个远程服务器:scp username@from_host:/remote/directory/file.txt username@to_host:/remote/directory/ 执行上面的命令后会提示要求输入所登录的远程用户密码。如果远程服务器 ssh 端口不是默认的 22,需要使用 -P 参数进行设置,注意是大写 P。