跳转到内容

所有动态

此动态墙会自动更新     

  1. 今天
  2. 昨天
  3. 上一周
  4. 之前的
  5. 因步骤略繁琐,为了让各位有看下去的动力,先上两首歌,你阔以边听边折腾,这样不会感觉到枯燥。。 需要用到两个开源的项目,分别是: https://github.com/AlphaReign/www-php # 前端(WEB服务) https://github.com/AlphaReign/scraper # 爬虫(后端) 你还需要准备一台配置较高的海外VPS或者独立服务器(VPS至少4GB内存,CPU也不能太渣) 以下步骤在Debian10上操作,先安装一些需要用到的软件: apt -y update apt -y install build-essential curl git unzip python-certbot-nginx nginx mariadb-server 因前端需要PHP7.0,而Debian10的官方存储库内只有7.3,故这里添加sury的源来安装PHP7.0: apt -y install apt-transport-https ca-certificates lsb-release wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list apt -y update 安装需要用到的PHP7.0软件包: apt -y install php7.0-common php7.0-cli php7.0-cgi php7.0-fpm \ php7.0-mysql php7.0-sqlite3 php7.0-curl php7.0-mbstring 安装composer: curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/bin/composer 安装nodejs/pm2/yarn: curl -sL https://deb.nodesource.com/setup_10.x | bash - apt -y install nodejs npm i -g pm2 npm i -g yarn 安装java/es: apt -y install gnupg default-jre wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add - echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list apt -y update apt -y install elasticsearch 初始化MySQL/登录MySQL: mysql_secure_installation mysql -u root -p 创建一个名为dht的用户/数据库: CREATE DATABASE dht CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'dht'@'localhost' IDENTIFIED BY '设置你的数据库用户密码'; GRANT ALL PRIVILEGES ON dht.* TO 'dht'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; quit 将之前安装的软件设置开机自启: systemctl enable nginx systemctl enable mariadb systemctl enable php7.0-fpm systemctl enable elasticsearch 拉取前端源码/安装依赖/修改数据库配置: cd /opt git clone https://github.com/AlphaReign/www-php.git cd www-php composer install nano index.php 找到如下位置修改数据库连接配置: define('DBNAME', 'dht'); define('DBUSER', 'dht'); define('DBPASS', '你的数据库用户密码'); 拉取后端源码/安装依赖/修改数据库配置: cd /opt git clone https://github.com/AlphaReign/scraper.git cd scraper yarn yarn migrate nano config/index.js 找到如下位置修改数据库连接配置: client: 'mysql', connection: { database: 'dht', host: '127.0.0.1', password: '你的数据库用户密码', user: 'dht', 启动后端服务: pm2 start ecosystem.config.js 新建nginx站点配置文件: nano /etc/nginx/conf.d/dht.conf 写入如下配置: server { listen 80; server_name dht.233.fi; # 换成你的域名 index index.html index.htm index.php; root /opt/www-php; client_max_body_size 128g; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 重载或者重启nginx: systemctl reload nginx systemctl restart nginx 现在打开你的网站应该会看到一条这样的信息:Doing some maintenance 稍等片刻,一旦有数据入库刷新网页后应该可以看到登录/注册页面: 注册一个账号进去就可以搜索资源了,爬虫是实时入库的,在左上角可以看到当前数据库内一共有多少种子: 毕竟es加身,搜索结果很精准,搜索速度也很快: 这个爬虫的效率也很不错,一分钟几百个种子,挂它几个月,维护一个自己的种子库还不是美滋滋~ 唯一的缺点可能就是对硬件配置要求较高,如果没有闲置机器的话可能要花比较多的钱去买VPS就是了。。 查看完整帖子
  6. 说明:最近博主对文档程序小有需求,找了很久发现都是单页,而且还不支持移动端,不是很理想,所以萌JJ大雕就专门花了半天时间,给博主写了一个,该文档程序基于graphql、nuxtjs、mongodb、keystonejs的实时在线文档编辑系统,可用作各种在线文档编辑和展示,支持markdown语法,对移动端特别友好,这里就开源分享出来,给对文档有需求的人。 截图 安装Gitee地址:https://gitee.com/quazero/topdocs 所需环境:NodeJS、MongoDB。 1、安装NodeJS #Debian/Ubuntu系统 curl -sL https://deb.nodesource.com/setup_10.x | bash - apt install -y git nodejs #CentOS系统 curl -sL https://rpm.nodesource.com/setup_10.x | bash - yum install nodejs git -y 2、安装Mongodb #CentOS 6系统,将下面命令一起复制进SSH客户端运行 cat <<EOF > /etc/yum.repos.d/mongodb.repo [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc EOF yum -y install mongodb-org #CentOS 7系统,将下面命令一起复制进SSH客户端运行 cat <<EOF > /etc/yum.repos.d/mongodb.repo [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc EOF yum -y install mongodb-org #Debian 8系统 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list apt update -y apt install -y mongodb-org #Debian 9系统 curl https://www.mongodb.org/static/pgp/server-4.0.asc | apt-key add - echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list apt-get update -y apt-get install -y mongodb-org #Debian 10系统 curl https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add - echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list apt update -y apt install -y mongodb-org #Ubuntu 16.04系统 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list apt update -y apt install -y mongodb-org #Ubuntu 18.04、18.10、19.04系统 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 echo "deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list apt update -y apt install -y mongodb-org 如果导入公匙时出现gnupg, gnupg2 and gnupg1 do not seem to be installed错误,使用apt install -y gnupg2,然后重新导入即可。 启动Mongodb并设置开机自启: #CentOS 6系统 service mongod start chkconfig mongod on #CentOS 7、Debian、Ubuntu系统 systemctl start mongod systemctl enable mongod 3、新建数据库 #数据库用户名和密码均为topdocs,将下面命令一起复制进SSH客户端运行 cat <<EOF > createdb use topdocs db.createUser( { user: "topdocs", pwd: "topdocs", roles: [ { role: "readWrite", db: "topdocs" } ] } ) EOF mongo<createdb && rm -rf createdb 4、安装TopDocs #拉取源码 git clone https://gitee.com/quazero/topdocs /opt/topdocs cd /opt/topdocs #安装yarn和依赖 npm i -g yarn yarn #编辑index.js vi index.js修改以下代码: endpoint: 'http://127.0.0.1:3000/admin/api', #如果我后面使用docs.moerats.com域名反代本地地址127.0.0.1:3000,那么修改为: endpoint: 'http://docs.moerats.com/admin/api', 或 endpoint: 'https://docs.moerats.com/admin/api', #如果我后面直接使用ip地址1.2.3.4访问,那么修改为: endpoint: 'http://1.2.3.4:3000/admin/api',vi编辑步骤:使用i进入编辑状态,编辑完成使用esc退出编辑状态,再输入:wq,然后Enter确定退出。 开始打包并运行: yarn build yarn start #后台运行 nohup yarn start& 这里访问地址为index.js中修改域名或http://服务器ip:3000。 对于IP访问的,如果CentOS系统打不开的话,可能还需要开启3000端口,使用命令: #CentOS 6 iptables -I INPUT -p tcp --dport 3000 -j ACCEPT service iptables save service iptables restart #CentOS 7 firewall-cmd --zone=public --add-port=3000/tcp --permanent firewall-cmd --reload 像阿里云等服务器,还需要去安全组那里开放下端口。 绑定域名如果你在上面编辑index.js的时候填的域名,那么就需要绑定下域名,反代下http://127.0.0.1:3000即可,反之,使用的ip就不用。 这里依旧使用Caddy,如果你安装过Nginx或者Apache,就自行搜索反代教程了。 安装Caddy: wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh #备用地址 wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh 配置Caddy: #以下全部内容是一个整体,请修改域名后一起复制到SSH运行! #http访问,该配置不会自动签发SSL echo "docs.moerats.com { gzip proxy / 127.0.0.1:3000 { websocket header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote} header_upstream X-Forwarded-Port {server_port} header_upstream X-Forwarded-Proto {scheme} } }" > /usr/local/caddy/Caddyfile #https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器 echo "docs.moerats.com { gzip tls admin@moerats.com proxy / 127.0.0.1:3000 { websocket header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote} header_upstream X-Forwarded-Port {server_port} header_upstream X-Forwarded-Proto {scheme} } }" > /usr/local/caddy/Caddyfile tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。 启动Caddy: /etc/init.d/caddy start 就可以打开域名进行访问了。 开机自启这里新建一个简单的Systemd配置文件,只适用于CentOS 7、Debian 8+、Ubuntu 16+等。 #新建systemd配置文件,将以下代码一起复制到SSH运行 cat > /etc/systemd/system/topdocs.service <<EOF [Unit] Description=topdocs After=network.target [Service] Type=simple WorkingDirectory=/opt/topdocs ExecStart=$(command -v yarn) start Restart=on-failure [Install] WantedBy=multi-user.target EOF如果你使用的宝塔,还需要做下软连接,不然启动可能会失败,反之不需要,使用命令: ln -sf $(which node) /usr/bin/node 开始启动并设置开机自启: systemctl start topdocs systemctl enable topdocs 使用教程后台地址/admin,账号为admin@admin.com,密码为adminadmin,自己进后台修改。 设置中index中是首页的展示内容,需要注意的是: -logo-/logo.png-logo- -title-跨世代文档编辑系统-title- -subtitle-实时动态markdown文档编辑系统,基于graqhql、mongodb、keystonejs、nuxtjs开发的移动优先的服务端渲染文档系统。-subtitle- -button-查看文档$https://gitee.com/quazero/topdocs-button- ===header=== header下面就是完全的markdown语法的编写区域,编辑完成之后,首页可查看变化。参数大致意思: -logo-之间的是LOGO图片,可链接也可路径。 -title-之间的是首页展示大标题。 -subtitle-之间的是首页展示的项目介绍。 -button-是首页展示按钮需要的内容。其中<按钮名>$<链接>,链接可链接也可路径,按需更改。 ===header===下面的就是正常的markdown语句,自己根据需要编写。最后如果要上传图片或者文件的话,需要从后台左侧Images处上传并获取地址。 View the full article
  7. 此软件大致的工作流程是: 你从某PT站下载一些种子然后添加种子到这个软件内。软件会根据你的设置向Tracker服务器谎报进度和伪造上传速度。 目前这个软件支持伪装的客户端列表: 开始部署前还是说句废话:能不用就不用吧,有BAN号风险233。 安装java/下载程序/解压: apt -y update apt -y install default-jre supervisor mkdir -p /opt/joal&& cd /opt/joal wget https://github.com/anthonyraymond/joal/releases/download/2.1.19/joal.tar.gz tar -xzvf joal.tar.gz 先在前台运行一次看看能不能跑起来: java -jar ./jack-of-all-trades-2.1.19.jar \ --joal-conf="/opt/joal" \ --spring.main.web-environment=true \ --server.port=50001 \ --joal.ui.path.prefix="imlala" \ --joal.ui.secret-token="lala.im" 如果你什么都不改动,直接就是按照上面的命令启动的话,那么WEB面板的地址就是(换成你自己的服务器IP): http://209.50.62.229:50001/imlala/ui/ 能访问到的话那么Ctrl+C退出来,用supervisor守护进程以及放到后台运行: nano /etc/supervisor/conf.d/joal.conf 写入如下配置: [program:joal] priority=1 directory=/opt/joal command=/usr/bin/java -jar jack-of-all-trades-2.1.19.jar --joal-conf="/opt/joal" --spring.main.web-environment=true --server.port=50001 --joal.ui.path.prefix="imlala" --joal.ui.secret-token="lala.im" autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/joal.log 更新supervisor配置/查看运行状态显示RUNNING就OK了: supervisorctl update supervisorctl status joal 初次访问到WEB面板是无法使用的,你需要点击左上角的CHANGE CONNECTION…来配置连接参数: 然后在这里可以设置伪装的客户端和上传速度等等: 你也可以直接通过修改这个配置文件来设置参数: nano /opt/joal/config.json 需要注意的是更改之后要重启才能生效: supervisorctl restart joal 最后我测试了一下是可以正常用的: 查看完整帖子
  8. 如果你经常使用adguardhome会发现这货虽然使用起来很方便,但是过滤广告的效果非常不理想,规则里面明明有的域名但有时候它就是屏蔽不了,很玄学的一件事情。。 本文介绍一款船新的方式,广告过滤的效果比单adguardhome要好的多。目前这是我自用的一套方案,具体用到的各个软件用途说明如下: 1.在国外的VPS上用Unbound搭建一个DoT,用于防DNS污染。 2.在国外的VPS上用Pihole搭建一个去广告的普通DNS,用于Unbound的上游。 3.本地搭建Overture,用于Unbound的下游,同时处理国内/国外的域名/IP分DNS解析。 以下步骤在Debian10上操作,安装需要用到的工具: apt -y update apt -y dist-upgrade apt -y install curl certbot ca-certificates unbound knot-dnsutils 使用certbot签一个ssl证书(签之前先把你的域名解析到这台VPS): certbot certonly --standalone --agree-tos --no-eff-email --email xxxxx@qq.com -d dns.233.fi 将申请好的证书复制到unbound的目录: cp /etc/letsencrypt/live/dns.233.fi/privkey.pem /etc/unbound/dns.233.fi-privkey.pem cp /etc/letsencrypt/live/dns.233.fi/fullchain.pem /etc/unbound/dns.233.fi-fullchain.pem 新建一个unbound的配置文件: nano /etc/unbound/unbound.conf.d/dns-over-tls.conf 写入: server: username: unbound access-control: 0.0.0.0/0 allow interface: 0.0.0.0@853 interface: ::0@853 tls-port: 853 tls-service-key: "/etc/unbound/dns.233.fi-privkey.pem" tls-service-pem: "/etc/unbound/dns.233.fi-fullchain.pem" incoming-num-tcp: 1000 forward-zone: name: "." forward-addr: 152.44.44.19 注:forward-addr后面的IP改为你VPS的公网IP,也就是把待会搭建好的Pihole当作unbound的上游DNS。 重启unbound/设置开机自启: systemctl restart unbound systemctl enable unbound 由于Pihole的手动安装过程略蛋疼,并且容易出错,这里直接上Docker: curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker 安装docker-compose: curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 新建一个docker-compose配置文件: mkdir -p /opt/pi-hole && cd /opt/pi-hole && nano docker-compose.yml 写入如下配置: version: "3" services: pihole: container_name: pihole image: pihole/pihole:latest ports: - "53:53/tcp" - "53:53/udp" - "67:67/udp" - "80:80/tcp" - "443:443/tcp" environment: TZ: 'Asia/Shanghai' volumes: - './etc-pihole/:/etc/pihole/' - './etc-dnsmasq.d/:/etc/dnsmasq.d/' dns: - 127.0.0.1 - 1.1.1.1 cap_add: - NET_ADMIN restart: unless-stopped 然后直接up起来: docker-compose up -d 没问题的话查看Pihole的WEB管理员密码: docker logs pihole | grep random 修改管理员密码: docker exec -it pihole pihole -a -p 现在测试一下看看Unbound和Pihole能不能正常工作: kdig +tls @dns.233.fi lala.im 如下有正常解析记录说明是OK的: 接下来在你的本地配置Overture: apt -y update apt -y install unzip supervisor mkdir -p /opt/overture && cd /opt/overture wget https://github.com/shawn1m/overture/releases/download/v1.6-rc6/overture-linux-amd64.zip unzip overture-linux-amd64.zip cp overture-linux-amd64 overture 下载国内IP/GFWLIST: wget https://cokebar.github.io/gfwlist2dnsmasq/gfwlist_domain.txt wget https://raw.githubusercontent.com/17mon/china_ip_list/master/china_ip_list.txt 编辑Overture的配置文件: nano config.json 修改为如下配置: { "BindAddress": ":53", "DebugHTTPAddress": "127.0.0.1:5555", "PrimaryDNS": [ { "Name": "DNSPod", "Address": "119.29.29.29:53", "Protocol": "udp", "SOCKS5Address": "", "Timeout": 6, "EDNSClientSubnet": { "Policy": "disable", "ExternalIP": "", "NoCookie": true } } ], "AlternativeDNS": [ { "Name": "Pi-hole", "Address": "dns.233.fi:853", "Protocol": "tcp-tls", "SOCKS5Address": "", "Timeout": 6, "EDNSClientSubnet": { "Policy": "disable", "ExternalIP": "", "NoCookie": true } } ], "OnlyPrimaryDNS": false, "IPv6UseAlternativeDNS": false, "WhenPrimaryDNSAnswerNoneUse": "PrimaryDNS", "IPNetworkFile": { "Primary": "./china_ip_list.txt", "Alternative": "" }, "DomainFile": { "Primary": "", "Alternative": "./gfwlist_domain.txt", "Matcher": "regex-list" }, "HostsFile": "./hosts_sample", "MinimumTTL": 0, "DomainTTLFile" : "./domain_ttl_sample", "CacheSize" : 0, "RejectQType": [255] } 新建supervisor配置文件: nano /etc/supervisor/conf.d/overture.conf 写入如下配置: [program:overture] priority=1 directory=/opt/overture command=/opt/overture/overture -c /opt/overture/config.json autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/overture.log 更新supervisor配置,查看运行状态,回显RUNNING说明正常: supervisorctl update supervisorctl status overture 现在修改路由器的DHCP将网关设置为这台部署Overture的机器IP即可使用这样一个去广告/防DNS污染的服务啦~ 一些补充说明: 1.由于在本地有Overture分DNS解析,所以只有在GFWLIST内的域名才会由我们自建的DoT负责解析,理所当然的过滤广告也只会过滤掉这部分网站的广告,如果要想全部过滤就得把Overture的部分功能阉割掉,但阉割掉的代价是国内域名的解析速度会变慢,当然这个可以加钱解决,你有钱买台线路好的机器就可以不用分DNS解析了。 2.除了在本地可以用以外,你还可以把自己的梯子鸡,诸如V2Ray/SS这类代理工具使用的DNS也更改为Pihole的DNS,同样能达到过滤广告的效果。 3.Unbound/Pihole的DNS服务都暴露在公网,如果只想自己独享,切记不要分享出VPSIP,或者用防火墙做一下限制,避免滥用。 4.Pihole也可以部署在本地,然后在Pihole内设置上游DoH,也是一种可行的办法,但缺点是国内解析速度偏慢,方法可以参考: https://docs.pi-hole.net/guides/dns-over-https/ 查看完整帖子
  9. CoreDNS常规用途是用于k8s内的DNS和服务发现,但因为这个东西有很多插件又是go开发的,所以完全可以单独拿来出使用。 CoreDNS的配置语法也非常简单是类Caddy的,这里我把它部署在本地局域网的一台Debian9内,实现无污染的DNS和广告过滤。当然它也支持Windows等其他平台,你直接装在电脑内使用也是可以的。总而言之CoreDNS是一款扩展性很强的工具。 安装supervisor: apt -y update apt -y install supervisor 下载/解压coredns: mkdir -p /opt/coredns && cd /opt/coredns wget https://github.com/coredns/coredns/releases/download/v1.6.5/coredns_1.6.5_linux_amd64.tgz tar -xzvf coredns_1.6.5_linux_amd64.tgz 下载hosts文件,用于屏蔽广告域名(不需要屏蔽广告的话可以省略这些步骤) wget https://github.com/StevenBlack/hosts/archive/2.5.28.tar.gz tar -xzvf 2.5.28.tar.gz cp hosts-2.5.28/hosts ./adblock.hosts 新建一个CoreDNS的配置文件: nano Corefile 写入如下配置: . { hosts adblock.hosts { fallthrough } forward . tls://1.1.1.1 tls://1.0.0.1 { tls_servername cloudflare-dns.com health_check 5s } cache 30 log } 注: 1.hosts配置块指定hosts文件,不在hosts文件内的域名全部移交给下一个配置块解析。 2.forward配置块用于DNS转发,将请求转发到支持DoT的DNS上防DNS污染。 配置好了之后新建一个supervisor的配置文件: nano /etc/supervisor/conf.d/coredns.conf 写入: [program:coredns] priority=1 directory=/opt/coredns command=/opt/coredns/coredns -conf Corefile autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/coredns.log 更新supervisor配置然后查看coredns的运行状态,回显RUNNING就OK了: supervisorctl update supervisorctl status coredns 简单测试一下是否能够正常工作: 未完待续。。因为我发现支持hosts这种格式的广告屏蔽规则不是很多,屏蔽的不彻底。。 查看完整帖子
  10. 期待已久的qb4.2终于发布了!从4.2版本起正式支持libtorrent-rasterbar1.2。 对于刷子来说最有用的一个更新是可以在WEBUI上调整一些libtorrent-rasterbar的参数了,尤其是硬盘缓存/做种模式等等。这些可设置项根据自己的机器硬件配置适当调整就和deluge的ltconfig插件一样,上一张预览图: 编译qbittorrent4.2建议直接上Debian10,旧系统包括Debian9在内因为官方存储库内的QT库版本过低(至少要5.9)将导致编译失败。 开始之前,我先把自己打包好的deb发出来,你不想编译的话可以直接在Debian10上使用我打包好的deb安装,省时省力: wget https://lala.im/static/script/libtorrent-rasterbar_1.2.2_amd64.deb wget https://lala.im/static/script/qbittorrent-nox_4.2.0_amd64.deb dpkg -i libtorrent-rasterbar_1.2.2_amd64.deb dpkg -i qbittorrent-nox_4.2.0_amd64.deb apt -f install 这样就安装好了,你可以在终端内使用下面的命令启动qb: qbittorrent-nox 放到后台运行参考文末的systemd配置,这里不多叙述。 下面是编译和打包过程,安装依赖: apt -y update apt -y install build-essential zlib1g-dev pkg-config automake \ libtool libboost-dev libboost-system-dev libboost-chrono-dev \ libboost-random-dev libssl-dev libgeoip-dev qtbase5-dev \ qttools5-dev-tools libqt5svg5-dev 如果要打包的话这里我选择用fpm,所以额外安装fpm,不打包的话可以略过: apt -y install ruby ruby-dev rubygems build-essential gem install fpm 下载libtorrent-rasterbar源码: wget https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_2_2/libtorrent-rasterbar-1.2.2.tar.gz tar -xzvf libtorrent-rasterbar-1.2.2.tar.gz cd libtorrent-rasterbar-1.2.2/ ./configure --enable-encryption --disable-debug CXXFLAGS="-std=c++14" make -j$(nproc) 不打包直接安装的话执行: make install ldconfig -v 打包的话在make后不要执行make install,换成下面的命令,将libtorrent-rasterbar安装到临时目录: mkdir -p /tmp/libtorrent-rasterbar make install DESTDIR=/tmp/libtorrent-rasterbar 之后使用fpm创建deb: fpm -s dir -t deb \ -C /tmp/libtorrent-rasterbar \ -m "imlala " \ --url "http://www.lala.im" \ --description "Development files for libtorrent-rasterbar" \ --vendor "imlala" \ -n libtorrent-rasterbar \ -v 1.2.2 \ -p libtorrent-rasterbar_1.2.2_amd64.deb \ usr/local 接下来编译qb: cd wget https://github.com/qbittorrent/qBittorrent/archive/release-4.2.0.tar.gz tar -xzvf release-4.2.0.tar.gz cd qBittorrent-release-4.2.0/ ./configure --prefix=/usr --disable-gui CXXFLAGS="-std=c++14" make -j$(nproc) 同理,不打包直接安装的话执行: make install ldconfig -v 打包的话在make后不要执行make install,换成下面的命令,将qbittorrent-nox安装到临时目录: mkdir -p /tmp/qbittorrent-nox make install INSTALL_ROOT=/tmp/qbittorrent-nox 之后使用fpm创建deb: fpm -s dir -t deb \ -C /tmp/qbittorrent-nox \ -m "imlala " \ --url "https://www.lala.im" \ --description "bittorrent client based on libtorrent-rasterbar (without X support)" \ --vendor "imlala" \ -n qbittorrent-nox \ -v 4.2.0 \ -p qbittorrent-nox_4.2.0_amd64.deb \ -d "libtorrent-rasterbar >= 1.2.2" \ -d "zlib1g-dev >= 1:1.2.0" \ -d "libstdc++6 >= 5.2" \ -d "libqt5xml5 >= 5.2.0" \ -d "libqt5network5 >= 5.9.0~beta" \ -d "libqt5core5a >= 5.11.0~rc1" \ -d "libboost-system1.67.0" \ usr/ systemd配置: nano /etc/systemd/system/qbittorrent-nox.service 写入: [Unit] Description=qBittorrent Daemon Service After=network.target [Service] User=root ExecStart=/usr/bin/qbittorrent-nox ExecStop=/usr/bin/killall -w qbittorrent-nox [Install] WantedBy=multi-user.target 管理: systemctl start qbittorrent-nox.service systemctl enable qbittorrent-nox.service 查看完整帖子
  11. 按他们官网描述的是,这个内核是经过各种优化后的产品。。。具体都优化了些什么鬼,可以看他们官网:xanmod.org 我想说的是这个内核很追新,上游kernel.org有发布新版这个很快就会更新(目前XanMod已是5.4.2版本)所以想第一时间就体验到新版内核的可以尝试使用下这个。 按他们官网说的是这个内核几乎支持所有最近版本的Debian/Ubuntu,我拿Debian10试了试还可以,BBR是直接开启的,还有一个什么CAKE Network Queue Management,好像挺高大上的样子。。。 添加源: echo 'deb http://deb.xanmod.org releases main' | tee /etc/apt/sources.list.d/xanmod-kernel.list && wget -qO - https://dl.xanmod.org/gpg.key | apt-key add - 安装: apt -y update && apt -y install linux-xanmod 在systemd(> = 217)的系统中使用CAKE队列规则: echo 'net.core.default_qdisc = cake' | tee /etc/sysctl.d/90-override.conf 之后重启: reboot 查看CAKE是否生效: sysctl net.core.default_qdisc 查看可用的拥塞控制算法: sysctl net.ipv4.tcp_available_congestion_control 查看当前的拥塞控制算法,应该是回显BBR,也就是说BBR是直接开启的,不需要去自己改sysctl.conf: sysctl net.ipv4.tcp_congestion_control OK,下面说下如果不想用了,怎么换回之前的内核。。 首先看一下GRUB菜单的启动顺序: grep menu /boot/grub/grub.cfg 让我把Xshell的窗口拉大点,拉大了才能看的仔细233: 我估计有很多人以前想从一个新内核换回旧内核的时候都遇到过要自己看grub启动顺序的问题,很多人都看不懂。其实很简单就拿上图的情况来说,在没有子菜单的情况下,从0开始数menuentry就完事了。 而从Debian10起,新安装的内核可能都会加入到子菜单中,即上图的submenu。在有子菜单的情况下,启动顺序就是上图红字标注的。 1>0即表示1是子菜单的启动位置,进入到子菜单后有多个内核的话还是从0开始开始数menuentry,所以在子菜单内的第一个内核启动顺序就是1>0。 除此之外你可能还发现每个相同版本的内核还会有一个recovery mode(救援模式),如果在没有VNC或者其他控制台的情况下,切记别选这种模式来启动机器。(有VNC的话还是香啊,直接图形化就能选了,奈何不是什么环境都能给你随时准备个VNC的) OJBK,找准启动顺序后,编辑如下配置文件: nano /etc/default/grub 现在例如要在下次重启后使用4.19的内核,那么就更改为: GRUB_DEFAULT="1>4" 如图所示: 最后更新grub配置即可: update-grub 查看完整帖子
  12. 洛汐

    Welcome to Pages

    Welcome to Pages! Pages extends your site with custom content management designed especially for communities. Create brand new sections of your community using features like blocks, databases and articles, pulling in data from other areas of your community. Create custom pages in your community using our drag'n'drop, WYSIWYG editor. Build blocks that pull in all kinds of data from throughout your community to create dynamic pages, or use one of the ready-made widgets we include with the Invision Community. View our Pages documentation
  13. 洛汐

    Welcome!

    Welcome to your new Invision Community! Congratulations on your purchase of our software and setting up your community. Please take some time and read through the Getting Started Guide and Administrator Documentation. The Getting Started Guide will walk you through some of the necessary steps to setting up an IP.Board and starting your community. The Administrator Documentation takes you through the details of the capabilities of IP.Board. You can remove this message, topic, forum or even category at any time. Go to the documentation now...
  14. 说明:博主很久前分享过使用Shell写的OneDrive网盘上传工具→传送门,不过由于使用的是旧API,而微软使旧API强制过时,也就是强制不让用了,不让授权了,导致全部人无法使用,所以在外搬砖多日的萌咖大佬重新出山,使用Golang基于新的API写了个效率更高的上传工具,同时也修复了各种Shell版本遗留下来的小问题,该版本特点就是授权简单,无需依赖,单文件。同样的也可以配合Aria2一起自动上传,这里就再分享下,方便下有需求的人。 更新【2019.11.29】 新增多线程上传、MacOS客户端。 修复了一个致命bug,建议之前装过的更新下程序。 功能支持上传文件和文件夹到指定目录,并保持上传前的目录结构。支持命令参数使用,方便外部程序调用。支持自定义上传分块大小。支持多线程上传(多文件同时上传)。支持根据文件大小动态调整重试次数,对抗不好的网络环境。使用Github地址:https://github.com/MoeClub/OneList/tree/master/OneDriveUploader 这里只说Linux的用法,且目前只支持64位系统,32位没啥人用,所以不打算支持了。 Windows、MacOS系统下载地址→传送门,直接将程序下载到本地后,按照下面方法进行授权、初始化,然后就可以使用命令上传了。 1、授权认证 点击右侧URL登录并授权,授权地址→传送门。 授权后会获取一个localhost开头打不开的链接,这里只需要记住code,也就是链接中code=和&中间的参数。 2、安装OneDriveUploader wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/amd64/linux/OneDriveUploader -P /usr/local/bin/ chmod +x /usr/local/bin/OneDriveUploader 3、初始化配置 #将moerats替换成你上面获取的code参数 code="moerats" OneDriveUploader -a "${code}"如果提示Init config file: /path/to/file/auth.json类似信息,则初始化成功。 这里可能会小概率因为code问题,生成auth.json失败,所以可以使用ls命令查看当前目录有该文件没,没有的话,重新获取code,再初始化即可。 4、使用命令 Usage of OneDriveUploader: -a string // 初始化授权 Setup and Init auth.json. -b string // 自定义上传分块大小, 可以提高网络吞吐量, 受限于磁盘性能和网络速度. Set block size. [Unit: M; 5<=b<=60;] (default "10") -c string // 配置文件路径 Config file. (default "auth.json") -n string // 上传单个文件时,在网盘中重命名 Rename file on upload to remote. -r string // 上传到网盘中的某个目录, 默认: 根目录 Upload to reomte path. -s string // 要上传的文件或文件夹 Upload item. -t string // 线程数, 同时上传文件的个数. 默认: 2 Set thread num. (default "2") 5、命令示例 #将当前目录下的mm00.jpg文件上传到OneDrive网盘根目录 OneDriveUploader -c /path/to/file/auth.json -s "mm00.jpg" #将当前目录下的mm00.jpg文件上传到OneDrive网盘根目录,并改名为mm01.jpg OneDriveUploader -c /path/to/file/auth.json -s "mm00.jpg" -n "mm01.jpg" #将当前目录下的Download文件夹上传到OneDrive网盘根目录 OneDriveUploader -c /path/to/file/auth.json -s "Download" #将当前目录下的Download文件夹上传到OneDrive网盘Test目录中 OneDriveUploader -c /path/to/file/auth.json -s "Download" -r "Test" #将同目录下的Download文件夹上传到OneDriv网盘Test目录中,使用10线程 OneDriveUploader -c /path/to/file/auth.json -t 10 -s "Download" -r "Test" #将同目录下的Download文件夹上传到OneDrive网盘Test目录中,使用15线程,并设置分块大小为20M OneDriveUploader -c /path/to/file/auth.json -t 15 -b 20 -s "Download" -r "Test"/path/to/file/auth.json为初始化时,生成的auth.json绝对路径地址,本文默认/root/auth.json,自行调整。 Aria2自动上传同样的这里也会提供个配套的Aria2自动上传脚本,上传配置方法参考→传送门。 上传脚本代码如下: #!/bin/bash GID="$1"; FileNum="$2"; File="$3"; MaxSize="15728640"; Thread="3"; #默认3线程,自行修改,服务器配置不好的话,不建议太多 Block="20"; #默认分块20m,自行修改 RemoteDIR=""; #上传到Onedrive的路径,默认为根目录,如果要上传到MOERATS目录,""里面请填成MOERATS LocalDIR="/www/download/"; #Aria2下载目录,记得最后面加上/ Uploader="/usr/local/bin/OneDriveUploader"; #上传的程序完整路径,默认为本文安装的目录 Config="/root/auth.json"; #初始化生成的配置auth.json绝对路径,参考第3步骤生成的路径 if [[ -z $(echo "$FileNum" |grep -o '[0-9]*' |head -n1) ]]; then FileNum='0'; fi if [[ "$FileNum" -le '0' ]]; then exit 0; fi if [[ "$#" != '3' ]]; then exit 0; fi function LoadFile(){ if [[ ! -e "${Uploader}" ]]; then return; fi IFS_BAK=$IFS IFS=$'\n' tmpFile="$(echo "${File/#$LocalDIR}" |cut -f1 -d'/')" FileLoad="${LocalDIR}${tmpFile}" if [[ ! -e "${FileLoad}" ]]; then return; fi ItemSize=$(du -s "${FileLoad}" |cut -f1 |grep -o '[0-9]*' |head -n1) if [[ -z "$ItemSize" ]]; then return; fi if [[ "$ItemSize" -ge "$MaxSize" ]]; then echo -ne "\033[33m${FileLoad} \033[0mtoo large to spik.\n"; return; fi ${Uploader} -c "${Config}" -t "${Thread}" -b "${Block}" -s "${FileLoad}" -r "${RemoteDIR}" if [[ $? == '0' ]]; then rm -rf "${FileLoad}"; fi IFS=$IFS_BAK } LoadFile; Windows使用这里就随便补充下Windows使用,先下载程序文件,下载地址→传送门。 比如我将exe文件放到D盘,然后使用Win+R,输入CMD运行,调出窗口后,使用命令: #进入D盘 cd /d D:\ #初始化,moerats为授权code,获取方法看上面 OneDriveUploader.exe -a "moerats"然后上传命令和上面一样,只需要把OneDriveUploader改成OneDriveUploader.exe即可。 最后经测试,该版本的上传已经完全能应对各种稀奇古怪的字符问题,如果有问题可以回复下,贴上报错代码,方便修复。 View the full article
  15. 说明:BYR-Navi是一个开源、轻量使用Fomantic UI Web框架构建的网站导航程序,样式也非常美观,而且支持从N个站点直接搜索,我们既可以部署在自己的服务器上,又可以部署在GitHub Pages,后者无需服务器,这里水个稍微完整点的教程,有需求的可以搭建个玩玩。 截图 安装演示地址:https://byr-navi.com Github地址:https://github.com/BYR-Navi/BYR-Navi 1、安装Ruby #导入密钥 gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB #安装稳定版 curl -sSL https://get.rvm.io | bash -s stable #载入RVM环境 source /etc/profile.d/rvm.sh #安装Ruby 2.6.3 rvm install ruby 2.6.3 #设置为默认版本 rvm use 2.6.3 --default导入期间出现使用No dirmngr报错的话,使用apt install dirmngr,然后重新导入即可。 2、安装Jekyll gem install jekyll 3、安装BYR-Navi #拉取源码 git clone https://github.com/BYR-Navi/BYR-Navi #安装依赖 cd BYR-Navi bundle i如果第一步提示-bash: git: command not found,可以先使用命令: #CentOS yum -y install git #Debian、Ubuntu apt install git -y然后修改配置文件_config.yml,对照原信息,自行修改导航标题,关键词等描述,更深层次的修改可参考官方文档→传送门。 再进入_data文件夹,新增/修改大致导航网站链接,可参考上面的演示地址修改,最后还一个就是统计配置文件analytics.yml,这个需要我们额外安装Matomo,安装和配置可以提前看文章后面。 都修改完成后,启动: #运行端口为8989,自行修改 bundle exec jekyll serve -H 0.0.0.0 -P 8989 --detach此时就可以使用ip:8989访问程序了。 如果CentOS系统打不开的话,可能还需要开启8989端口,使用命令: #CentOS 6 iptables -I INPUT -p tcp --dport 8989 -j ACCEPT service iptables save service iptables restart #CentOS 7 firewall-cmd --zone=public --add-port=8989/tcp --permanent firewall-cmd --reload 像阿里云等服务器,还需要去安全组那里开放下端口。 这里除了可以使用命令行启动,也可以直接将生成的_site文件夹丢到网站根目录访问。 如果要修改导航相关页面的信息显示的话,也可以在_site文件夹中修改。 安装Matomo官方网站:https://matomo.org 这个安装教程博主很久前水过,不过是手动的,有点复杂,这里就直接找了个配置比较简单的Docker镜像进行安装。 Docker地址:https://github.com/crazy-max/docker-matomo 1、安装Docker #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig docker on #CentOS 7、Debian、Ubuntu curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker 2、拉取镜像 #拉取Matomo镜像 docker run --restart=always -d --name matomo \ -p 8000:8000 \ -v ~/matomo/data:/data \ crazymax/matomo #拉取Mysql镜像,记得修改数据库信息,如果你服务器已经安装过Mysql数据库,可以跳过该步骤 docker run --restart=always --name mysqlmatomo -d \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=matomo123 \ -e MYSQL_DATABASE=matomo \ -e MYSQL_USER=matomo \ -e MYSQL_PASSWORD=matomo123 \ -v ~/matomo/mysql:/var/lib/mysql \ mysql:5.6 安装完成后打开ip:8080即可访问。如果访问不了的话,可以查看上面的教程,开放端口即可。 然后这里需要注意的是Database Server需要填上你的ip地址,而且数据库端口,比如3306需要防火墙放行,不然会连接不上。 安装到最后一步的时候,如果你填的ip地址,那么可能进入不了,可以编辑/root/matomo/data/config/config.ini.php ,修改trusted_hosts[]参数为你的访问地址。 最后配置该导航的话,需要修改配置文件_data/analytics.yml,大致参数如下: #url为matomo站点,domain为导航站,site_id为matomo站点统计站id,token为matomo站点的token matomo: url: http://matomo.moerats.com/ domains: - "http://byr.moerats.com" site_id: 2 token: 297bd600834c2a5a70293c47a 参数获取大致路径如下: 1、site_id 在后台添加一个网站统计,就可以直接看到网站id 2、token 该参数可以在Settings里获取API Authentication Token 最后可能会出现跨域问题,导致配置统计后不生效,可以在通用设置中设置跨域资源共享(CROS)白名单域名,将导航站点添加进去即可。 部署到GitHub Pages这里部署到GitHub Pages的好处就是不需要服务器,但国内访问的话,有点影响体验,这个就自行选择了。 首先你肯定需要一个Github账号,没有的可以去注册一个,地址:https://github.com,有了账号就继续看。 1、配置Git SSH密钥 由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在操作之前,需要先在服务器上生成SSH key。 我们先去根目录下使用命令: cd ~ ssh-keygen -t rsa 这里会要你命名密匙名称(这里建议使用默认名称),然后连续按几次Enter,这时候会在/root/.ssh文件夹生成2个ssh密钥,然后我们查看公钥id_rsa.pub。 cat ~/.ssh/id_rsa.pub 查看后,再复制下公钥,然后打开Github官网,进入https://github.com/settings/ssh/new,Title随便填,然后Key填入刚刚复制的密匙,最后点击Add SSH Key添加即可。 2、建立仓库 我们需要先访问https://github.com/new,新建一个仓库用来存放BYR-Navi站点文件,名称填你的用户名.github.io,仓库别加密,不然到时候就访问不到了。 3、推送到Github #进入源码的_site文件夹 cd /root/BYR-Navi/_site #初始化你的github仓库 git init #关联到远程github仓库,后面为仓库SSH地址,新建仓库后会返回给你该地址 git remote add origin git@github.com:iiiiiii1/iiiiiii1.github.io.git #把目录下所有文件更改状况提交到暂存区,包括增,删,改。 git add -A #提交更改的说明,说明随意了,这里为push git commit -m "push" #开始推送到Github git push -u origin master推送的时候可能会提示The authenticity of host 'github.com' can't be established.信息,直进yes即可。 然后推送完就可以看到仓库的推送文件了。 接下来访问https://你的用户名.github.io就可以进入导航网站了。 4、绑定域名 有的可能不习惯用github的域名,这里可以绑定自己的域名。 先解析域名的CNAME记录到你的https://你的用户名.github.io域名。如果你想用Https访问,可以使用CloudFlare解析域名,并开启CDN强制Http转Https。 然后访问你的博客Git项目地址,点击Create new file新建文件,命名CNAME,内容写上你的域名,不要http等。 这时候就可以通过自己的域名访问导航站了,最后该程序定制啥的很灵活,想深度修改的话可以看下官方文档→传送门。 View the full article
  16. 我大概几个月前编译过一个旧版本的,最近又更新了,不过还是预览版,没有正式发布。 上次那个版本的kernel已经飙到5.2了,这次的更是直接到5.4了,要是正式版放出来我估摸着怎么着也得上5.0。。 上次是随便撸了个脚本没把编译步骤写出来,这次想到如果大家都在自己的机器上编译的话,就可以用自己机器旧内核的配置,这样炸的概率会小很多,当然编译kernel对机器硬件配置要求较高,一般的VPS就别费劲了,浪费时间。。 另外这次的版本编译起来有几个坑。。第一次编译几分钟报了个错,解决了再来跑一遍竟然后面又报个缺少rsync。。我寻思你要rsync干啥?? 以下步骤在Debian10上测试通过。 apt -y install build-essential libncurses-dev libssl-dev libelf-dev bison bc flex rsync git screen 编译要花很长时间,建议开个screen守护一下: screen -S kernel 下载源码: git clone -b v2alpha https://github.com/google/bbr.git cd bbr 使用当前机器的旧内核配置,并自动帮你把新内核上的新功能选项以默认值进行配置: make olddefconfig 打开图形化菜单: make menuconfig 选择Networking support: 选择Networking options: 选择TCP: advanced…: 然后在里面你可以看到BBR2的新选项,这里有两种编译方式,M是构建为模块,*是直接构建到内核: 如果这里选为*的话,你可以在下面的Default TCP…内把默认的拥塞控制协议直接设置为BBR2: 这样安装好这个内核后就不需要去动sysctl.conf了,默认就开启BBR2。 当然你用模块也可以,就是需要自己加载模块罢了。设置好了后SAVE一下退出这个界面即可。 下面是我踩过的坑,解决办法,手动编辑.config: nano .config 把里面的这一行注释掉或者留空里面的值: CONFIG_SYSTEM_TRUSTED_KEYS="debian/certs/debian-uefi-certs.pem" 为节省编译时间,关闭DEBUG: CONFIG_DEBUG_INFO=n 做好上面这些后,现在就可以开始编译了: make deb-pkg LOCALVERSION=-imlala -j$(nproc) 编译时间视你的机器性能而定,看看片锻炼下身体,回来应该就编译好了,在上级目录有可用的deb包,使用dpkg安装然后重启: cd .. dpkg -i linux-image-5.4.0-rc6-imlala_5.4.0-rc6-imlala-1_amd64.deb dpkg -i linux-headers-5.4.0-rc6-imlala_5.4.0-rc6-imlala-1_amd64.deb reboot 直接编译到内核的使用下面的方法查看BBR2算法是否已经生效: sysctl net.ipv4.tcp_congestion_control 正常的话会回显: net.ipv4.tcp_congestion_control = bbr2 编译为模块的需要自己手动加载模块再配置sysctl.conf使其生效: modprobe tcp_bbr2 echo "tcp_bbr2" >> /etc/modules echo "net.ipv4.tcp_congestion_control = bbr2" >> /etc/sysctl.conf sysctl -p 查看完整帖子
  17. Dragonite是JAVA开发的,所以需要服务端和客户端都安装JAVA环境。 Windows在这里下载JAVA安装包就能安装了: https://www.java.com/zh_CN/download/windows-64bit.jsp 下面是Debian10配置Dragonite加速Shadowsocks的简易方法,首先安装需要用到的工具: apt -y update apt -y install default-jre apt -y install shadowsocks-libev supervisor wget nano unzip 编辑ss配置文件: nano /etc/shadowsocks-libev/config.json 使用下面的配置: { "server":"0.0.0.0", "mode":"tcp_and_udp", "server_port":20001, "local_port":1080, "password":"shadowsocks密码", "timeout":60, "method":"chacha20-ietf-poly1305" } 重启ss: systemctl restart shadowsocks-libev systemctl enable shadowsocks-libev 下载dragonite: cd /opt wget https://github.com/dragonite-network/dragonite-java/releases/download/fwd-0.4.0-prx-0.4.0/dragonite-forwarder-0.4.0.zip unzip dragonite-forwarder-0.4.0.zip cd dragonite-forwarder-0.4.0/bin 放在前台测试运行一下,看能不能正常工作: ./dragonite-forwarder -s -f 20001 可以话的退出来新建一个supervisor的配置文件: nano /etc/supervisor/conf.d/dragonite.conf 写入下面的配置: [program:dragonite] priority=1 directory=/opt/dragonite-forwarder-0.4.0/bin command=/opt/dragonite-forwarder-0.4.0/bin/dragonite-forwarder -s -f 20001 autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/dragonite.log 更新supervisor配置/设置开机自启: supervisorctl update systemctl enable supervisor 客户端这边开一个powershell,进入到程序的bin目录下: cd C:\Users\LALA\Desktop\dragonite-forwarder-0.4.0\bin 使用下面的命令运行程序: .\dragonite-forwarder -a 服务器公网IP -f 20001 -d 100 -u 30 其中-d是指你的本地宽带下行速率,-u是上行速率,单位是Mbps。 最后在ss内添加一个节点: 查看完整帖子
  18. 用v2ray内置的mKCP加速游戏的话,配置要简单很多,但效果没有kcptun+udp2raw好。也算是一种可行的方法吧,想偷懒的话可以试试这个方法。。 安装v2ray: apt -y update apt -y install curl bash 生成一个uuid复制下来: cat /proc/sys/kernel/random/uuid 编辑v2ray配置文件: nano /etc/v2ray/config.json 写入如下配置: { "inbounds": [ { "port": 50000, "protocol": "vmess", "settings": { "clients": [ { "id": "你的UUID", "alterId": 64 } ] }, "streamSettings": { "network":"kcp", "kcpSettings": { "mtu": 1350, "tti": 20, "uplinkCapacity": 30, "downlinkCapacity": 100, "congestion": true, "header": { "type": "utp" } } } } ], "outbounds": [ { "protocol": "freedom", "settings": {} } ] } 关于这个mKCP里面涉及到的一些可配置参数,可以参考这里: https://www.v2ray.com/chapter_02/transport/mkcp.html 测试配置是否正常: /usr/bin/v2ray/v2ray -config /etc/v2ray/config.json -test 正常的话重启下v2ray即可完成服务端的配置: systemctl restart v2ray systemctl status v2ray 客户端在v2rayN上添加一个节点: 接着右键将你添加的这个节点设置为活动服务器: 再点击参数设置,找到基础设置,按下图配置: 最后在SSTap上添加一个socks5代理,按下图配置: 查看完整帖子
  19. 说明:Shiori是一个用Go语言编写的简单书签管理器,样式直接模仿的Pocket,有着基本书签管理功能,即添加,编辑,删除和搜索。支持导入和导出成Netscape书签文件,也可以从Pocket导入书签。可以通过命令行操作,也自带简单而漂亮的Web界面,适合那些不想使用命令行的,也可以内页浏览书签首页,用起来还行,这里就分享下。 截图 安装Github地址:https://github.com/go-shiori/shiori 1、安装Docker #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig docker on #CentOS 7、Debian、Ubuntu curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker 2、拉取镜像 docker run -d --name shiori --restart=always -p 8080:8080 -v ~/shiori:/srv/shiori radhifadlillah/shiori 安装好了后,访问地址:http://ip:8080,初始管理员用户名和密码为shiori和gopher。 如果CentOS系统打不开的话,可能还需要开启8080端口,使用命令: #CentOS 6 iptables -I INPUT -p tcp --dport 8080 -j ACCEPT service iptables save service iptables restart #CentOS 7 firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload 像阿里云等服务器,还需要去安全组那里开放下端口。 最后你想绑定域名,那么就进行第3步,直接ip访问就不用绑定了。 3、绑定域名 安装Caddy: wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh #备用地址 wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh 配置Caddy: #以下全部内容是一个整体,请修改域名后一起复制到SSH运行! #http访问,该配置不会自动签发SSL echo "www.moerats.com { gzip proxy / 127.0.0.1:8080 { header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote} header_upstream X-Forwarded-Port {server_port} header_upstream X-Forwarded-Proto {scheme} } }" > /usr/local/caddy/Caddyfile #https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器 echo "www.moerats.com { gzip tls admin@moerats.com proxy / 127.0.0.1:8080 { header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote} header_upstream X-Forwarded-Port {server_port} header_upstream X-Forwarded-Proto {scheme} } }" > /usr/local/caddy/Caddyfile tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可,后面为ssl证书路径。 启动Caddy: /etc/init.d/caddy start 就可以打开域名进行访问了。 最后由于没有修改管理员默认账号和用户名的地方,可以直接去设置处添加一个用户,那么该用户默认会成为管理员,此前的管理员会被停用。 View the full article
  20. 情况是这样,我最近拿kcptun+sstap用于游戏加速,稳定了大概2-3天的样子,具体的配置过程可以看这篇文章: 自从上了kcptun,玩这种美服游戏就感觉在玩国服,几乎感觉不到什么延时,然而好景不长。。延时的问题算是解决了,但新的问题粗来了。。 最近这几天经常会出现kcptun断流的问题,具体表现是kcptun这边不报任何错误,但经过kcptun的流量就是无法到达对端,基本上只要断流了就要等个几分钟才能恢复(或者根本恢复不了,就像黑名单了一样)。 最直观的是在sstap上测试连接,走了kcptun的流量全部连接都被服务器放弃: 如果这时候直接连接ss的话是没有问题的,所以我初步怀疑是电信运营商QoS了。 后续我将宽带IP重新拨号,只要换一个IP就能立马连上,所以基本可以断定是电信这边搞的鬼。 我寻思我就每天拿来玩下游戏,一天下来用的流量也不超过2GB,你这样搞,简直没有人性啊!TM的一个月125的宽带这点UDP流量都不让跑? 没办法,kcptun这个东西我必须要用,所以只能在kcptun前面再套一个udp2raw解决运营商的QoS问题了。 其实说实话,这样配置起来的话我自己都觉得有点麻烦了,这套那套的。。端口用了一堆,软件也开了一堆。。对于新手来说肯定是极其不友好,所以我建议萌新如果怕麻烦,直接花钱买现成的服务吧。。。(不过买的肯定没这样配置的好用) 首先要准备一堆软件: https://github.com/xtaci/kcptun/releases # 服务端和客户端都要下载 https://github.com/dfdragon/kcptun_gclient/releases # 客户端下载 https://github.com/wangyu-/udp2raw-tunnel/releases # 服务端下载 https://github.com/wangyu-/udp2raw-multiplatform/releases # 客户端下载 https://github.com/wangyu-/tinyPortMapper/releases # 客户端下载 https://github.com/mayunbaba2/SSTap-beta-setup # 客户端下载 以下步骤在Debian10上完成。其他系统除了supervisor的配置文件路径有点变化外基本也一样。 安装ss和一些工具: apt -y update apt -y install shadowsocks-libev supervisor wget nano 下载kcptun: mkdir -p /opt/kcptun && cd /opt/kcptun wget https://github.com/xtaci/kcptun/releases/download/v20190924/kcptun-linux-amd64-20190924.tar.gz tar -xzvf kcptun-linux-amd64-20190924.tar.gz chmod +x server_linux_amd64 下载udp2raw: mkdir -p /opt/udp2raw && cd /opt/udp2raw wget https://github.com/wangyu-/udp2raw-tunnel/releases/download/20190716.test.0/udp2raw_binaries.tar.gz tar -xzvf udp2raw_binaries.tar.gz chmod +x udp2raw_amd64 编辑ss的配置文件: nano /etc/shadowsocks-libev/config.json 修改为: { "server": "0.0.0.0", "mode":"tcp_and_udp", "server_port":12315, "local_port":1080, "password":"设置你的ss密码", "timeout":60, "method":"chacha20-ietf-poly1305" } 重启ss以及设置ss开机自启: systemctl restart shadowsocks-libev systemctl enable shadowsocks-libev 新建kcptun配置文件: nano /opt/kcptun/server-config.json 写入如下配置(MTU设置为1300或者更小): { "listen": ":30000", "target": "127.0.0.1:12315", "key": "设置一个密码", "crypt": "salsa20", "mode": "fast3", "mtu": 1300, "sndwnd": 1024, "rcvwnd": 1024, "datashard": 2, "parityshard": 2, "dscp": 46, "nocomp": true } 注:这套是游戏加速的配置,如果是看Youtube视频等大流量应用,需要把datashard以及parityshard适当增大。 新建一个kcptun的supervisor配置文件: nano /etc/supervisor/conf.d/kcptun.conf 写入: [program:kcptun] priority=1 directory=/opt/kcptun command=/opt/kcptun/server_linux_amd64 -c /opt/kcptun/server-config.json autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/kcptun.log 再新建一个udp2raw的supervisor配置文件: nano /etc/supervisor/conf.d/udp2raw.conf 写入如下配置: [program:udp2raw] user=root priority=1 directory=/opt/udp2raw command=/opt/udp2raw/udp2raw_amd64 -s -l 0.0.0.0:30001 -r 127.0.0.1:30000 --raw-mode faketcp -a -k "设置一个你的密码" autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/supervisor/udp2raw.log 更新supervisor配置/开机自启: supervisorctl update systemctl enable supervisor 服务端这边的配置就完成了,接下来是客户端的。 首先用管理员权限开2个powershell,进入到软件的根目录: cd C:\Users\LALA\Desktop\udp 第一个powershell运行tinyPortMapper用来转发UDP流量: .\tinymapper_wepoll.exe -l 0.0.0.0:9527 -r VPS公网IP:12315 -u 这步的作用仅仅只是为了让SSTap能够测试通过UDP转发,让其能够可以连接代理服务器,对于使用TCP协议进行连接的游戏而言这个操作没有实际意义。 第二个powershell运行udp2raw的windows客户端: .\udp2raw_mp_nolibnet.exe -c -r VPS公网IP:30001 -l 0.0.0.0:5000 --raw-mode easyfaketcp -k "对应服务端上的udp2raw密码" 打开KCP客户端配置管理工具,新建一个客户端,按照下图配置: 传输模式和服务端上的配置对应这里选择fast3: 现在打开SSTap添加一个ss代理,配置如下: 最后点击SSTap的齿轮按钮,打开附加路由管理,在里面添加上你的VPS公网IP,动作选择直连: 没问题的话现在连上应该就OK了。 一点后续补充: 在本地每次都要开两个powershell感觉不优雅?这里其实可以用winSW把这两个命令行工具创建成windows服务,这样就能开机自启而且还不需要powershell了,具体的winSW用法,可以看这里,我实在没时间码字了,告辞: https://github.com/kohsuke/winsw/blob/master/doc/installation.md 查看完整帖子
  21. 说明:sish是一个SSH服务器,仅用于远程端口转发,可以快速将本地端口暴露在外网,作者声称其为Servo/Ngrok替代方案,仅使用SSH的HTTP(S)、WS(S)、TCP隧道连接到他们的localhost服务器,该工具和Servo差不多一样,不同就是Servo官方提供了免费的SSH客户端,而sish作者提供的客户端貌似因为滥用关闭了,所以就需要我们自己搭建了,这里就水下Docker和手动安装。 Docker安装Github地址:https://github.com/antoniomika/sish 1、安装Docker #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig docker on #CentOS 7、Debian、Ubuntu curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker 2、拉取镜像 这里由于直接使用ip的话,只能用于转发TCP,HTTP(S)等就需要配置下域名了,所以以下全部默认使用域名。 先解析一个主/泛域名到服务器ip,比如解析moerats.com、*.moerats.com到服务器ip。 然后再参考下面的参数详解,再自行修改部分参数后,使用命令: #配置http域名 docker run -d --name sish \ --restart=always \ -v ~/sish/keys:/keys \ -v ~/sish/pubkeys:/pubkeys \ --net=host antoniomika/sish \ -sish.addr=:3333 \ -sish.http=:80 \ -sish.keysdir=/pubkeys \ -sish.pkloc=/keys/ssh_key \ -sish.forcerandomsubdomain=false \ -sish.domain moerats.com \ -sish.bindrandom=false \ -sish.redirectrootlocation https://www.baidu.com #配置https域名,这里需要提供泛域名证书 docker run -d --name sish \ --restart=always \ -v ~/sish/ssl:/ssl \ -v ~/sish/keys:/keys \ -v ~/sish/pubkeys:/pubkeys \ --net=host antoniomika/sish \ -sish.addr=:3333 \ -sish.https=:443 \ -sish.http=:80 \ -sish.httpsenabled=true \ -sish.httpspems=/ssl \ -sish.keysdir=/pubkeys \ -sish.pkloc=/keys/ssh_key \ -sish.forcerandomsubdomain=false \ -sish.domain moerats.com \ -sish.bindrandom=false \ -sish.redirectrootlocation https://www.baidu.com部分参数如下: -sish.addr=:3333 #ssh监听地址 -sish.forcerandomsubdomain=false #是否强制随机子域,这个建议关掉 -sish.bindrandom=false #是否随机绑定端口,这个建议关掉 -sish.domain moerats.com #使用的域名 -sish.redirectrootlocation https://www.baidu.com #主域名(-sish.domain参数)强制跳转到该地址 -sish.httpspems=/ssl #泛域名SSL证书路径,存放路径~/sish/ssl,证书命名格式fullchain.pem和privkey.pem其他参数默认即可,也可以自行添加或修改其它参数。 全部参数如下: Usage of sish: -sish.addr string The address to listen for SSH connections (default "localhost:2222") -sish.auth Whether or not to require auth on the SSH service -sish.bannedcountries string A comma separated list of banned countries -sish.bannedips string A comma separated list of banned ips -sish.bannedsubdomains string A comma separated list of banned subdomains (default "localhost") -sish.bindrandom Bind ports randomly (OS chooses) (default true) -sish.bindrange string Ports that are allowed to be bound (default "0,1024-65535") -sish.cleanupunbound Whether or not to cleanup unbound (forwarded) SSH connections (default true) -sish.debug Whether or not to print debug information -sish.domain string The domain for HTTP(S) multiplexing (default "ssi.sh") -sish.forcerandomsubdomain Whether or not to force a random subdomain (default true) -sish.http string The address to listen for HTTP connections (default "localhost:80") -sish.httpport int The port for HTTP connections. This is only for output messages (default 80) -sish.https string The address to listen for HTTPS connections (default "localhost:443") -sish.httpsenabled Whether or not to listen for HTTPS connections -sish.httpspems string The location of pem files for HTTPS (fullchain.pem and privkey.pem) (default "ssl/") -sish.httpsport int The port for HTTPS connections. This is only for output messages (default 443) -sish.keysdir string Directory for public keys for pubkey auth (default "pubkeys/") -sish.password string Password to use for password auth (default "S3Cr3tP4$$W0rD") -sish.pkloc string SSH server private key (default "keys/ssh_key") -sish.pkpass string Passphrase to use for the server private key (default "S3Cr3tP4$$phrAsE") -sish.proxyprotoenabled Whether or not to enable the use of the proxy protocol -sish.proxyprotoversion string What version of the proxy protocol to use. Can either be 1, 2, or userdefined. If userdefined, the user needs to add a command to SSH called proxy:version (ie proxy:1) (default "1") -sish.redirectroot Whether or not to redirect the root domain (default true) -sish.redirectrootlocation string Where to redirect the root domain to (default "https://github.com/antoniomika/sish") -sish.subdomainlen int The length of the random subdomain to generate (default 3) -sish.usegeodb Whether or not to use the maxmind geodb -sish.verifyorigin Whether or not to verify origin on websocket connection (default true) -sish.verifyssl Whether or not to verify SSL on proxy connection (default true) -sish.whitelistedcountries string A comma separated list of whitelisted countries -sish.whitelistedips string A comma separated list of whitelisted ips看不懂的,可以使用下谷歌翻译。 最后CentOS系统建议关闭防火墙使用,或者打开部分端口也行,关闭命令: #CentOS 6系统 service iptables stop chkconfig iptables off #CentOS 7系统 systemctl stop firewalld systemctl disable firewalld 像阿里云等服务器,还需要去安全组那里开放下端口。 手动安装Docker虽然方便很多,但也有人会喜欢手动安装,这里作者没直接给出二进制文件,所以就需要我们手动来构建二进制文件了。 1、安装Go 这里由于需要新版的Go环境,所以这里就使用Go二进制包安装环境,下载地址→传送门。 然后根据自己的服务器架构下载对应的最新安装包,一般可以直接使用命令: #32位系统下载 wget -O go.tar.gz https://dl.google.com/go/go1.13.3.linux-386.tar.gz #64位系统下载 wget -O go.tar.gz https://dl.google.com/go/go1.13.3.linux-amd64.tar.gz #解压压缩包 tar -zxvf go.tar.gz -C /usr/local #设置环境变量,将以下一起复制进ssh客户端运行 mkdir $HOME/go echo 'export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> /etc/profile source /etc/profile #查看go版本,有输出即为安装成功 go version 2、安装sish #下载源码到主目录 git clone https://github.com/antoniomika/sish cd sish #编译二进制文件 go install这里提示-bash: git: command not found的,可以先使用命令: #CentOS yum -y install git #Debian、Ubuntu apt install git -y 3、运行sish 运行参数这里就不贴了,直接参考上面Docker安装最下面的全部参数就行了。 先解析一个主/泛域名到服务器ip,比如解析moerats.com、*.moerats.com到服务器ip。 这里就贴个大概需要使用的参数,其它的根据需求自行修改,使用命令: #配置http域名 sish -sish.addr=:3333 -sish.http=:80 -sish.domain moerats.com -sish.forcerandomsubdomain=false -sish.bindrandom=false -sish.redirectrootlocation https://www.moerats.com -sish.keysdir=/sish/pubkeys -sish.pkloc=/sish/keys/ssh_key #配置https域名 sish -sish.addr=:3333 -sish.https=:443 -sish.http=:80 -sish.domain moerats.com -sish.forcerandomsubdomain=false -sish.bindrandom=false -sish.httpsenabled=true -sish.redirectrootlocation https://www.moerats.com -sish.keysdir=/sish/pubkeys -sish.pkloc=/sish/keys/ssh_key -sish.httpspems=/sish/ssl 部分参数详解: -sish.addr=:3333 #ssh监听地址,这里为3333 -sish.forcerandomsubdomain=false #是否强制随机子域,这个建议关掉 -sish.bindrandom=false #是否随机绑定端口,这个建议关掉 -sish.domain moerats.com #使用的域名 -sish.redirectrootlocation https://www.baidu.com #主域名(-sish.domain参数)强制跳转到该地址 -sish.httpspems=/sish/ssl #泛域名SSL证书存放路径,证书命名格式fullchain.pem和privkey.pem -sish.keysdir=/sish/pubkeys #pubkey auth的公共密钥存放文件夹 -sish.pkloc=/sish/keys/ssh_key #SSH服务器私钥这里/sish/ssl、/sish/pubkeys、/sish/keys目录需要自己提前创建下,使用命令: mkdir -p /sish/ssl /sish/pubkeys /sish/keys 4、开机自启 如果你使用手动命令没问题了,先使用Ctrl+C断开命令。 再新建systemd配置文件,适用CentOS 7、Debian 8+、Ubuntu 16+。 #修改成你手动运行命令的全部参数 command="-sish.addr=:3333 -sish.http=:80 -sish.domain moerats.com -sish.forcerandomsubdomain=false -sish.bindrandom=false -sish.redirectrootlocation https://www.moerats.com -sish.keysdir=/sish/pubkeys -sish.pkloc=/sish/keys" #将以下代码一起复制到SSH运行 cat > /etc/systemd/system/sish.service <<EOF [Unit] Description=sish After=network.target [Service] Type=simple ExecStart=$(command -v sish) ${command} Restart=on-failure [Install] WantedBy=multi-user.target EOF 启动并设置开机自启: systemctl start sish systemctl enable sish 最后CentOS系统建议关闭防火墙使用,或者打开部分端口也行,关闭命令: #CentOS 6系统 service iptables stop chkconfig iptables off #CentOS 7系统 systemctl stop firewalld systemctl disable firewalld 像阿里云等服务器,还需要去安全组那里开放下端口。 使用使用要求:可以使用SSH,并且能连接到互联网,Linux、Windows等系统都行。 以下所使用的的moerats.com为上面配置好的客户端域名地址,自行修改成自己的即可。 1、转发HTTP(S) 将本地3000端口穿透到公网中,使用命令: #要转发其它端口的自行替换 ssh -p 3333 -R 80:localhost:3000 moerats.com 第一次如果有提示,选择yes即可,之后会为你随机生成一个moerats.com的二级域名,然后就可以使用浏览器间接访问本地的localhost:3000了。 如果要指定二级域名,可以使用命令: #这里默认为no1.moerats.com,自行替换即可 ssh -p 3333 -R no1:80:localhost:3000 moerats.com 此时你就可以在外网使用no1.moerats.com访问你本地的localhost:3000了。 2、转发TCP 将本地6789端口穿透到公网的9876端口中,使用命令: #可以自行设置公网端口,这里默认6789,如果你要转发SSH端口,那就改成你的SSH端口 ssh -p 3333 -R 9876:localhost:6789 moerats.com 这里只说了下简单用法,客户端我们还可以设置国家/地区、IP白名单等,使用参考→传送门。 最后没有泛域名证书的,可以查看该教程自己申请→传送门,或者等博主发码子→传送门。 View the full article
  22. 说明:GoIndex是一款部署在Cloudflare Workers的Google Drive目录索引程序,无需提供服务器,可以直接列出你谷歌网盘的所有文件,同时下载和访问也不需要挂梯子,也可以在线观看某些格式的视频文件,拿来玩玩也是可以的。 截图 安装Github地址:https://github.com/donwa/goindex 首先肯定是需要一个谷歌网盘的,个人的话容量有点小,如果想容量大的,可以免费申请一个无限容量的Google Drive网盘,申请方法查看→传送门。 这里直接使用作者提供的快速部署方法,由于使用的是rclone的google api,高峰期难免会出现点问题,后面也会说下使用自己的api部署方法。 1、获取Workers代码 先访问:https://installen.gd.workers.dev/,点击GET AUTH CODE,验证你的谷歌账号获取Auth code。 然后开始输入你的Auth code,其它可以先默认,然后点击BUILD获取你的代码。 开头的相关参数,可自行修改: #站点名称 "siteName": "GoIndex", #根目录访问密码,如不设置留空即可 "root_pass": "moerats", #根目录ID,默认整个网盘文件夹,如果只想列出根目录某个文件夹,那么填入该文件夹ID即可。 "root": "root"文件夹ID获取方法,点击根目录某个文件夹,地址栏为:https://drive.google.com/drive/folders/1C4Aro,则1C4Aro为文件夹ID。 2、部署到Workers 首先登录cloudflare,官网→传送门,然后首页右侧可以看到Workers入口。 点进去后新建一个Workers子域名,也就是你的专属域名,填入确认后就更改不了了,所以别乱填。 接下来点击Create a Worker创建一个Worker。 把你之前获取的Workers代码粘贴进去,然后可以在左上角双击修改域名,再点击Save and Deploy即可。 最后打开分配的子域名即可,此后修改配置可以自行修改Workers代码。 绑定域名如果想绑定自己的域名,就需要先将自己的域名转到cloudflare,然后点自己的域名,解析一个A记录,IP地址随意。 然后在上方找到Workers,选择后,点击页面下的Add route,进行如下设置。 按照图中的格式,填上自己的域名,并选择对应的Workers程序即可。 API部署这里也可以使用自己的API部署,好处就是安全点,高峰期也不容易爆炸,当然安装会麻烦点,如果不经常使用的话,还是建议用上面的方法快速部署。 1、获取GDrive客户端 先启用Google Drive API,启用地址:点击进入,注意这里使用个人账号操作。 再创建一个OAuth client ID,创建地址:点击进入。应用类型选择其他(Other),名称自己填,这里博主填的GoIndex。 然后你会获得自己的客户端ID和客户端密钥,再复制下来。 2、获取refresh_token 这里使用Rclone来获取refresh_token,先登录VPS,先安装依赖,使用命令: #CentOS系统 yum install p7zip unzip -y #Debian/Ubuntu系统 apt install -y p7zip-full 再安装Rclone,使用命令: curl https://rclone.org/install.sh | bash开始配置,使用命令: rclone config会出现以下信息: n) New remote s) Set configuration password q) Quit config n/s/q> n name> Rats #配置名称,随便填 Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / 1Fichier \ "fichier" 2 / Alias for an existing remote \ "alias" 3 / Amazon Drive \ "amazon cloud drive" 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc) \ "s3" 5 / Backblaze B2 \ "b2" 6 / Box \ "box" 7 / Cache a remote \ "cache" 8 / Dropbox \ "dropbox" 9 / Encrypt/Decrypt a remote \ "crypt" 10 / FTP Connection \ "ftp" 11 / Google Cloud Storage (this is not Google Drive) \ "google cloud storage" 12 / Google Drive \ "drive" 13 / Google Photos \ "google photos" 14 / Hubic \ "hubic" 15 / JottaCloud \ "jottacloud" 16 / Koofr \ "koofr" 17 / Local Disk \ "local" 18 / Mega \ "mega" 19 / Microsoft Azure Blob Storage \ "azureblob" 20 / Microsoft OneDrive \ "onedrive" 21 / OpenDrive \ "opendrive" 22 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH) \ "swift" 23 / Pcloud \ "pcloud" 24 / Put.io \ "putio" 25 / QingCloud Object Storage \ "qingstor" 26 / SSH/SFTP Connection \ "sftp" 27 / Union merges the contents of several remotes \ "union" 28 / Webdav \ "webdav" 29 / Yandex Disk \ "yandex" 30 / http Connection \ "http" 31 / premiumize.me \ "premiumizeme" Storage> 12 #选择12,Google Drive client_id> 850428 #填上你的Google Drive客户端ID client_secret> D72gPc #填上你的Google Drive客户端密匙 Choose a number from below, or type in your own value 1 / Full access all files, excluding Application Data Folder. \ "drive" 2 / Read-only access to file metadata and file contents. \ "drive.readonly" / Access to files created by rclone only. 3 | These are visible in the drive website. | File authorization is revoked when the user deauthorizes the app. \ "drive.file" / Allows read and write access to the Application Data folder. 4 | This is not visible in the drive website. \ "drive.appfolder" / Allows read-only access to file metadata but 5 | does not allow any access to read or download file content. \ "drive.metadata.readonly" scope> 1 ID of the root folder Leave blank normally. Fill in to access "Computers" folders. (see docs). Enter a string value. Press Enter for the default (""). root_folder_id> Service Account Credentials JSON file path Leave blank normally. Needed only if you want use SA instead of interactive login. Enter a string value. Press Enter for the default (""). service_account_file> Edit advanced config? (y/n) y) Yes n) No y/n> n #输入n Remote config Use auto config? * Say Y if not sure * Say N if you are working on a remote or headless machine y) Yes n) No y/n> n #输入n If your browser doesn't open automatically go to the following link: https://accounts.google.com/o/ #打开该地址获取code Log in and authorize rclone for access Enter verification code>hjdd #输入你获取到的code Configure this as a team drive? y) Yes n) No y/n> n #输入n -------------------- [Rats] type = drive client_id = 85042871 client_secret = D72gPc scope = drive token = {"access_token":"y902Z"} #记住里面的refresh_token参数 -------------------- y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y #输入y Current remotes: Name Type ==== ==== Rats drive e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q #输入q保存退出此时我们在配置过程中就获取到了refresh_token参数,如果忘了的可以查看配置文件。 不知道配置文件在哪的,可以使用命令: rclone config file | grep rclone.conf 3、获取并修改Workers代码 Workers代码可以点击该地址查看→传送门,先复制代码,部分修改可参考上面,不同的是,需要填上自己的api信息,如下: #填上自己的api客户端,密匙和获取到的refresh_token “client_id”:“20226481”, “client_secret”:“X4Z3ca8”, “refresh_token”:“”, 最后就可以部署Workers代码了,方法参考上面的快速部署。 View the full article
  23. 说明:博主很久前介绍过MinIO服务器,一个开源的轻量级对象存储服务,具体查看→传送门,用起来挺不错的,搭建也非常方便,而这里要说的其实是MinIO服务器是的一个客户端MinIO Client,主要的功能就是可以自动监听文件夹,然后实时同步到远程的MinIO服务器,也支持同步到Amazon S3、Google云存储,同样的安装十分简单,我们可以拿来同步备份博客或者其他数据文件。 安装文档地址:https://docs.min.io/ 基本上MinIO服务器和客户端支持在很多系统上安装,比如Windows、macOS等,这里主要说Linux。 1、安装MinIO Client wget https://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/ chmod +x /usr/local/bin/mc 2、添加云存储 #MinIO云存储,添加前需要在另一台服务器安装MinIO服务,教程查看https://www.moerats.com/archives/643/ mc config host add minio <Endpoint> <AccessKey> <SecretKey> S3v4 #Amazon S3云存储 mc config host add s3 https://s3.amazonaws.com <ALIAS> <Endpoint> <AccessKeyID> <SecretAccessKey> S3v4 #Google云存储 mc config host add gcs https://storage.googleapis.com <AccessKeyID> <SecretAccessKey> S3v2这里只说MinIO云存储,Amazon S3云存储参数获取查看→传送门,Google云存储参数获取查看→传送门。 基本上这里配置好了后,我们可以使用很多命令远程操作云存储上的文件了。 3、开始同步 先创建一个桶,名称为moerats,可自行修改,使用命令: mc mb minio/moerats 接下来比如我要同步网站根目录/www/wwwroot/www.moerats.com,使用命令: #该命令只会同步文件,但本地修改或删除,云存储不会变化 mc mirror -w /www/wwwroot/www.moerats.com minio/moerats #该命令同步文件后,本地修改文件,会自行在云存储进行相应的修改 mc mirror -w --overwrite /www/wwwroot/www.moerats.com minio/moerats #该命令同步文件后,本地修改/删除文件,会自行在云存储进行相应的修改/删除 mc mirror -w --overwrite --remove /www/wwwroot/www.moerats.com minio/moerats 这里加了--remove参数后,首次会强行让远程存储桶和本地文件一模一样,意味着会清空你的远程存储桶。 运行命令后你会发现远程MinIO云存储里的MOERATS就会出现你网站根目录所有文件了,以后根目录新增文件都会实时同步进去。 当然这里我们也可以同时实时备份多个文件夹到多个存储桶,自行修改名称就行了。 4、开机自启 新建systemd配置文件,适用CentOS 7、Debian 8+、Ubuntu 16+。 #修改成你需要实时同步备份的文件夹 backup="/www/wwwroot/www.moerats.com" #修改成你要备份到的存储桶 bucket="moerats" #将以下代码一起复制到SSH运行 cat > /etc/systemd/system/minioc.service <<EOF [Unit] Description=minioc After=network.target [Service] Type=simple ExecStart=$(command -v mc) mirror -w --overwrite --remove ${backup} minio/${bucket} Restart=on-failure [Install] WantedBy=multi-user.target EOFExecStart为启动命令,默认为自行删除/修改也会同步,可自行修改参数。 启动并设置开机自启: systemctl start minioc systemctl enable minioc该同步为单向的,只能本地影响到远程存储,远程的修改/删除则不会同步到本地,最后MinIO Client客户端的功能其实挺多的,想了解更多的可以查看文档→传送门。 View the full article
  24. 说明:目前基本上找不到免费的泛域名SSL证书申请渠道了,除了3个月的Let’s Encrypt,不过时长有点短,这里萌咖大佬就写了个AlphaSSL泛域名证书申请接口,申请后的证书有效时长为1年,可以给主域名及任意一个子域名使用,这里就说下申请方法,有需求就上。 更新【2019.8.28】 签发已支持ECC加密,新增15个码子。 【2019.8.30】 更新辅助签发,使签发更方便,方法可看文章后面,新增15个码子。 签发码提示:为了防止滥用,所以签发是需要签发码的,这里会免费提供签发码,也会经常随机更新新的码。 AlphaSSL Apply Token如下: C28E6F5C6414C2EF2B731FC765FCB0D2 ABB11118CA1E5584A387F4AAD10CD6BA C1ACB129AD40D9915895E21602C3AD3F 8A44E022B7AF6BDDD688A1E4A37A9C35 496D79B5E89AFB4CC14D55E0826C1F1D A3BFD28A87639ED52CD903B61EFCCBC4 9984DDBE84CD01D3D6F447361D57726F E35AC4ABDDB9BC1AAF3D21F30BCE7A0F 22DCDC835A020970DC58AF61D3A0713E BC9A2EEECB42305482C55EB9400E891F 5EE524D551A86E0D7A4AA3BE447CF2A9 C3347E2CB91C5E6E3E298F326E58FBF1 5F3A4B7E725EEE103EDD4B7C56100B27 23468A884F0B120E7200E3F53D203F85 72669CC1A0A3C105FB8A0C5A38E50F51 0E856D0395240AC0E51D8EA34C53B675 642B5CF4D03799F1F9411B397EF3EFFB 524381747C1AA9C8070DD9B8945E9191 60B188731D6585B632863C7A0B063316 90F60A98CBF234B83CB17778A9D5152A #8.28新增 E63051E08DFC90EF328CFD2E3CFEE352 58903EA7ED2A5ADD28CAE8E0365EB555 3000D5188A8F60C289DAB55D96E5F852 0D47B08A6862F4C5BD7FE2A2E468F2FB 72227B8177CA7642E3876438FBC32089 9C7EAC0474B4A9A74891BC77CA026F6E 511A973559A58AD61C6A4745748445CB EB6CDD1A5133E50AE093DE46240888BE 7BB176EE0FBD73ED8CBFBD5584AB4B86 9EF47C94C94B52B56269BF818146B1D3 9000E8CC67C1EE1425037EB8DF9D881D 1BFA3809F85B7B3BEEAE36D211D720D8 E11F334AD22EF21448BA7D16C75C1B01 4856D5D1C575560BC2F48F299CA85B2E 9844378A0A7BF991605FB3EF64FBCB97 #8.30新增 C02C39B5DC66E291B9D58B1EBAA52B7E 654C5E7E480B39D677CAA260F440E821 A917F8F72A3E525912AD0AE2F90C5888 1ACEE80193B2A781EF7B30AF1F49468A 0BCF0A7B75B7170AA3380EBB218AC057 6ABC7AD16BB37AB7123E3F1CCAB099BC 0539F82ED413D8CA992FC0FB6BE5DCF0 78B081B742452FAF1FDFF1F437A478F2 419AF3543ADAFE7A0AB0008305753517 E3820037BFEBD7235AD024735CB04A8F CB4F697A35532CB5110E7D5465F7A84E F6795570B905BDF33A53BF3A0791A4D0 0E40138BB06D09CBDDAD369AA3B33827 A0F2A5139B865CAF77190BD1F90370AD 746B26AD507C8629678651FF920358A1 #9.2新增 BFAF974C6C84DAD26820E60ECE856898 6DD19D980D4DA866B0CD29D2CB28B57B 0A94361D1A7EEB97F4296A0F540FD41B 5055342AF24BF358BA31965CEB40887D 3E9CB566797BED19275BBC7B161E55B9 4A6BC26735D1C5E006D566166DB3DDE2 2D8E670E72E46E03659E5DF1067E37A7 2B2532ADB83A8BE913047D6355BE985C 90CBF554697F2D8C02901F34A230C275 A9CA87C6E7030ED9D8ABE326DDE1C731 #9.8新增 9CEED5E7DB4314AF5F44B2C96E9D8403 019C64BDAE42358EA0D85A01C161495B 9321EE54F13D4972FF71A56A8E8ACFEB 2775BE2AFF1EB5FB9A43BCFC79F7B2EF 4CDC3229842B6ADD57A52472F9EBDB47 #9.12新增 395E7A25D2174BC54E78FE6B39A530E1 5A8BEEE64ADA90A409222529A50002AD 1175C17FBDB41C2EA0272EF5C90D8D68 A7EA214772692573BC250B7341696D9E EDD711560BA1BFBDEF590B3A6B870E54 C1F2E11AC4F97AF8DEBAF9232419E158 E128DEB5DD3E966F5D13AB8946EAFF2B 97DBC3A39D815121298D2E5CF574A772 #9.19新增 F5037751FBC4010BB30D1E48CBA8AAA6 19B0B8D00CAA6C294BF59557BBA3B334 A1D133A5E13F98487BE2FE1D3F0030B7 7250E618171B6B2F0A32586C9BCADD81 087073A6EF3ED8CC4FCB826093DC1F74 8A506894078128CA153764134FBA28C0 29A697554EB8880B7B64469C68446F1D 2109CE10BDEF3FEA4BF1F85C10E9262B 28619C487681530FAC7DD76A3B3FD4AA ED94DDCC35F3F7D9A2D64AC31EF75878 #9.26新增 3E6B28C9DDA69C710A2A81B08787DCF5 D09A164225BE817825EACF76482D8968 D3780289C9FD7558E6C656E59199203F 0EA847A41C3F37872BD1A8EC265771AB 433A093AD5459110094E854F48E1AB9E #9.30新增 9C4A48A7F842A254B9F28392247030EF 456A181A6BBC9F8146522DB5D427EDE6 E72229500397D8D2269695418FE64508 ECF83A157A185610346EEBC16043DA6A 40F6F31E416AA0373CB6B0F1FFBFC20A C6451E81A038FAE2DC93D96ADE19A534 #10.6新增 8E3F3DFD8527A9D76F5041676D9913CA 046A1B3439B52C11AD9FDE128468EB81 063166A6F3B25B2FC8BFDBE4ED758C11 498DA21B145978DA164D93F77E4FF3DB 9FB552B115C40C7679F458799449F1F7 #10.8新增 6DD8A563EF120B5B3042F96BE368CFD0 DA4FC9912682C430997602EA9C02A323 1F255FE0E2F804F64243F6BA6D195238 CC8A97A02101051A90A9598A16E1BF92 67C57C66A8086572D55E983106DA1B3E #10.10新增 02EA692234347EDB37B720E9FCA00F43 B36D69B357AA75D4906A0CCEC9742061 6015F6FDE6B26127DC82B1D56C929DB9 B2670B3B56F8408C2757E912EEC88B4F FBBF75B523BED0AA80AA5DF2720BDA03 #10.13新增 67923E0F79A0EFB65A337C2C707B2A69 D5C079F21AC53EF8990DB405A97E76DB F7293DBB498DDAAB23542E4F6C3B0ED2 10CF25362AC3DA465B62BBEF836A8C47 3ADDCC0707D4566DB6E54A6EAFC9E117 #10.20新增 9EE7075593F44ED35EF188677F612069 FB9BED31921D08EE24956AE8E88A520E 78122C532EF8032DB3438A3EDF60AA66 DC150E8C54D4204114E4C2E03B0A65D8 D7A173E1CD06671770B9D2031953D258 #11.11新增11个 D51EFE5D031D00BE8C2E6ECD912ECE7B A9C72E94D877677A47B25C220AC87B9F C466ACF8FEC3C0F06703B73AD86050D7 2A331867A1C40492B0E684FCE0E8770C 2C52D3EA7E36AAE4E908DA76D2F5CCC1 6C86F00AF7A2721F55FFE2AD96132FAB 5741D5C134FBFD4CD7E7895DB87AAAB3 8968B655F6A9B14E3E98E6819436462A 4E893C82B2B1D8B05A9A75B37519200B 350CC255FC8E1AAF7E609CBBFEE3B887 552A5736CB7384888B47726CC460CE96 #11.15新增 5A4A5E68DFE40E9BD1479B8A128AB28C FA4675FC957E5305EC6D4801384D2014 0552622FCACE338F89B531C38222BA10 064F562F1517CE9E66F317E5AF63D1E8 8E6ABFA2DD570F86BAD6D3E988C910F9 #11.27新增 C077737716DC675EC0A80390FDEF56DD 58ED86532CF23D0C8A68C3CC7FF9B177 26763B0127D8C23A5521ECB681FFB287 1BFF44768C5EC3DD65A30FCD05DE68D5 02D46EAD8818F35E6C1B23BB1A5080CE #12.1新增 5DE18AE56E46D1D711AE7A20A39B9877 6004C62928EB52B39BA239426FD68519 FA589FC507A324F0C7413E41F5DE26A4 FFA06EB64CD41ABE45D18CB6ACC322F7 9ACCA1BF4CDD2547D5994F75CC170AAF 注意签发出来的证书,有效期均为1年。签发无邮件重发功能,请确保能够收到邮件。(接收邮件延迟可能很大)由于腾讯邮箱服务大概率接受不到邮件,暂时禁止MX记录解析腾讯的域名。准备一个域名一个邮箱,该邮箱格式必须为admin开头的域名邮箱,比如admin@omain.com一个域名csr文件1、邮箱获取 域名邮箱的话,主要是用来验证邮件及证书的,这里提供2种获取方法: 1、使用Yandex免费域名邮箱,官方地址:https://connect.yandex.com 2、借用临时邮箱就可以了,不过要是申请的主域名有在建站的话,可能需要你关站几分钟了。 这里拿萌咖的临时邮箱为例,地址:http://shared.readmail.net/,首先在你域名的DNS商解析一个记录: #以下2种解析任选其一 1、解析你主域名的A记录到207.46.149.80 2、解析你主域名的CNAME记录到shared.readmail.net 等待生效后你就可以打开你的主域名了,然后在右上角设置一个admin的前缀即可。 2、CSR文件获取 获取方法很简单,直接百度/谷歌搜索CSR文件在线生成,你会看到很多这种网站,生成的时候建议选RSA加密,域名格式为*.moerats.com。 这里的话就推荐直接使用openssl命令行获取CSR文件,使用SSH登录服务器,输入命令: #RSA加密 domain="moerats.com" openssl req -new -newkey rsa:2048 -nodes -out ${domain}.csr -keyout ${domain}_key.pem -subj "/C=CN/ST=00/L=/O=/CN=*.${domain}" #ECC加密 domain="moerats.com" openssl ecparam -name prime256v1 -genkey -out ${domain}_key.pem openssl req -new -key ${domain}_key.pem -out ${domain}.csr -subj "/C=CN/ST=00/L=/O=/CN=*.${domain}" 将域名修改为自己的再运行,加密方式任选其一。 然后查看CSR文件: cat ${domain}.csr接下来复制信息,后面会用到。 获取证书申请地址:https://api.moeclub.org/SSL,直接点击会404,需要先复制域名地址,然后粘贴到浏览器地址打开。 打开后粘贴CSR文件信息和Token码,然后等待验证邮件及接收证书即可。 最后补全下证书链,将以下内容粘贴至证书文件的最后面。 -----BEGIN CERTIFICATE----- MIIETTCCAzWgAwIBAgILBAAAAAABRE7wNjEwDQYJKoZIhvcNAQELBQAwVzELMAkG A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw MDBaFw0yNDAyMjAxMDAwMDBaMEwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i YWxTaWduIG52LXNhMSIwIAYDVQQDExlBbHBoYVNTTCBDQSAtIFNIQTI1NiAtIEcy MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2gHs5OxzYPt+j2q3xhfj kmQy1KwA2aIPue3ua4qGypJn2XTXXUcCPI9A1p5tFM3D2ik5pw8FCmiiZhoexLKL dljlq10dj0CzOYvvHoN9ItDjqQAu7FPPYhmFRChMwCfLew7sEGQAEKQFzKByvkFs MVtI5LHsuSPrVU3QfWJKpbSlpFmFxSWRpv6mCZ8GEG2PgQxkQF5zAJrgLmWYVBAA cJjI4e00X9icxw3A1iNZRfz+VXqG7pRgIvGu0eZVRvaZxRsIdF+ssGSEj4k4HKGn kCFPAm694GFn1PhChw8K98kEbSqpL+9Cpd/do1PbmB6B+Zpye1reTz5/olig4het ZwIDAQABo4IBIzCCAR8wDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8C AQAwHQYDVR0OBBYEFPXN1TwIUPlqTzq3l9pWg+Zp0mj3MEUGA1UdIAQ+MDwwOgYE VR0gADAyMDAGCCsGAQUFBwIBFiRodHRwczovL3d3dy5hbHBoYXNzbC5jb20vcmVw b3NpdG9yeS8wMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NybC5nbG9iYWxzaWdu Lm5ldC9yb290LmNybDA9BggrBgEFBQcBAQQxMC8wLQYIKwYBBQUHMAGGIWh0dHA6 Ly9vY3NwLmdsb2JhbHNpZ24uY29tL3Jvb3RyMTAfBgNVHSMEGDAWgBRge2YaRQ2X yolQL30EzTSo//z9SzANBgkqhkiG9w0BAQsFAAOCAQEAYEBoFkfnFo3bXKFWKsv0 XJuwHqJL9csCP/gLofKnQtS3TOvjZoDzJUN4LhsXVgdSGMvRqOzm+3M+pGKMgLTS xRJzo9P6Aji+Yz2EuJnB8br3n8NA0VgYU8Fi3a8YQn80TsVD1XGwMADH45CuP1eG l87qDBKOInDjZqdUfy4oy9RU0LMeYmcI+Sfhy+NmuCQbiWqJRGXy2UzSWByMTsCV odTvZy84IOgu/5ZR8LrYPZJwR2UcnnNytGAMXOLRc3bgr07i5TelRS+KIz6HxzDm MTh89N1SyvNTBCVXVmaU6Avu5gMUTu79bZRknl7OedSyps9AsUSoPocZXun4IRZZ Uw== -----END CERTIFICATE-----然后就可以自行为该域名及所有子域名配置SSL证书了。 辅助签发提示:辅助签发不怎么会的,建议用上面的签发方法。 1、辅助生成CSR CSR生成地址: https://api.moeclub.org/SSL/CSR,打开后输入域名即可生成CSR和KEY,记得保存。 2、辅助签发及确认邮件 如果没有“admin@域名”的邮箱,或者MX记录被禁止,可以使用 1、可以暂时把MX记录解析至api.moeclub.org,权重随意,比如:10。 2、使用接口查询MX记录是否生效(将google.com替换为自己的域名):https://api.moeclub.org/DNS?server=8.8.8.8&type=MX&domain=google.com 3、等待生效 4、进入https://api.moeclub.org/SSL,在填CSR的框框内填上"MAIL"(不包括引号),Token填你申请时的Token即可。 然后按照提示即可辅助帮助确认邮件,最后完成后即可更改解析。 3、辅助获取证书 如果没有“admin@域名”的邮箱。 进入https://api.moeclub.org/SSL,在填CSR的框框内填上"VIEW"(不包括引号),Token填你申请时的Token即可查询到自己申请的证书。 最后如果公布的码都被用了,你也需要,可以前往萌咖杂货店购买Token,地址→传送门,然后按照本文方法申请即可。 View the full article
  25. 说明:很多时候我们下载视频的时候,都是么得字幕的,对于强迫症或者有其他需求的人来说,都需要加进去,一般都是首先去其它字幕网站下载后,使用ffmpeg或者一些转码程序将字幕烧录进去,通常来说,手动获取字幕还是比较麻烦的,这里就分享一个工具GetSub,可以自动给我们根据某个视频或者视频文件夹,匹配出相应的ass/srt字幕文件,字幕来源于subhd、zimuzu和zimuku,获取速度也是很快的,有需求的可以用下。 截图 安装Github地址:https://github.com/gyh1621/GetSubtitles 环境要求:Python 2或3,建议使用Python 3。 1、安装pip或pip3 提示:pip和pip3自己选一种进行安装。 安装pip: #CentOS 6.x 32位 rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm yum install -y python-pip #CentOS 6.x 64位 rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum install -y python-pip #CentOS 7.x yum install -y epel-release yum install -y python-pip #如果CentOS 7安装出现No package python-pip available,可以用以下命令进行安装 wget https://bootstrap.pypa.io/get-pip.py python get-pip.py #Debian/Ubuntu系统 apt -y update apt -y install python-pip 安装pip3: #CenOS 6系统 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm yum install python34 -y wget https://bootstrap.pypa.io/get-pip.py python3 get-pip.py #CenOS 7系统 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install python36 -y wget https://bootstrap.pypa.io/get-pip.py python3 get-pip.py #Debian/Ubuntu系统 apt update apt install python3-pip python3-setuptools python3-wheel -y 2、安装GetSub #pip安装 pip install getsub #pip3安装 pip3 install getsub 3、使用方法 #使用命令 getsub [-h] [-q] [-s] [-o] [-m] [-n NUMBER] [-b] [-d DOWNLOADER] [--debug] [--plex] name #参数详解 -h 帮助 -q 查询模式,手动选择下载的压缩包,多选使用','或','分隔 -s 手动选择下载压缩包中要解压的字幕 -o 若视频存在同名字幕,替换已经存在的字幕 -m 保存原始下载字幕压缩包(通常一个字幕压缩包含有多个字幕) -b 若一个字母压缩包内同时有.ass、.srt类型字幕,保存两种字幕 -n 查询模式下显示最大候选字幕数 -d 选择下载器,subhd、zimuku、zimuzu --plex 在下载完成的字幕名中插入.zh标识供plex识别为中文字幕 --debug 显示报错详细信息 下载指定视频的字幕,使用命令: #自动给你匹配它认为最合适的字幕,一般是ass格式、双语字幕 getsub Aladdin.2019.720p.WEBRip.x264 #自动查询字幕文件,并让你选择合适的下载 getsub -q -s Aladdin.2019.720p.WEBRip.x264 以上命令默认将字幕文件下载到当前执行目录,如果想下载到指定目录,比如/moerats,那后面就使用/moerats/电影名称。 批量下载视频文件夹所有视频的字幕,使用命令: #自动匹配/moerats文件夹里的所有视频最合适的字幕,并直接给你下载到/moerats目录 getsub /moerats #批量查询/moerats文件夹里的所有视频的字幕文件,并让你选择合适的下载 getsub -q -s /moerats最后就可以自行将字幕烧录进视频了。 使用ffmpeg烧录字幕的方法大致为: #安装ffmpeg wget https://www.moerats.com/usr/down/ffmpeg/ffmpeg-git-$(getconf LONG_BIT)bit-static.tar.xz tar xvf ffmpeg-git-*-static.tar.xz mv ffmpeg-git-*/ffmpeg ffmpeg-git-*/ffprobe /usr/bin/ rm -rf ffmpeg-git-* #简单的烧录命令 ffmpeg -i input.mp4 -vf subtitles=input.ass output.mp4 input.mp4为视频文件,subtitles后面为字幕文件,可以是srt/ass,output.mp4为输出文件,更多命令可以自行百度/谷歌。 View the full article
  26. 说明:博主去年介绍过一个免费的内网穿透工具Holer,它可以将局域网服务器代理到公网的内网穿透工具,支持转发基于TCP等协议的报文,不过那时候服务端并未开源,由作者免费提供服务,现在服务端代码已经开源了,而且带Web管理面板,该类似面板博主介绍过不少了,这里就大概说下,我们就可以拿来自建一个内网穿透服务器,使用效果还不错。 截图 安装服务端Github地址:https://github.com/Wisdom-Projects/holer 支持系统:Windows、Linux系统,这里只说Linux搭建,建议直接Debain。 说明:由于该面板使用的JAVA,所以还是比较消耗内存的,如果内存太小,建议先加一点虚拟内存,可以使用Swap一键脚本→传送门。 1、安装JAVA #CentOS系统 yum install java-1.8.0-openjdk -y #Debian/Ubuntu系统 apt update apt install default-jdk -y 2、安装Mysql #CentOS 6系统 rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm yum install mysql-community-server -y service mysqld start chkconfig mysqld on #CentOS 7系统 rpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm yum install mysql-community-server -y systemctl start mysqld systemctl enable mysqld #Debian/Ubuntu系统 apt install mysql-server -y 如果Debian或Ubuntu在安装期间有弹出窗口要你输入密码就设置一个,没有的话密码就是空格。 修改数据库密码: #CentOS系统,第一行登录数据库的时候直接Enter跳过,第二行moerats为要修改的密码,自行修改 mysql -u root -p mysql> set password=password("moerats"); mysql> exit; #Debian、Ubuntu系统,第一行登录数据库的时候直接Enter跳过,第二行moerats为要修改的密码,自行修改 mysql -u root -p mysql> UPDATE mysql.user SET authentication_string=PASSWORD('moerats'), PLUGIN='mysql_native_password' WHERE USER='root'; mysql> exit; 最后修改过密码的还需要重启数据库: #CentOS系统 service mysqld restart #Debian和Ubuntu系统 systemctl restart mysql 此时Mysql算是安装完成了。 3、安装源码 安装unzip: #CentOS系统 yum install unzip -y #Debian和Ubuntu系统 apt install unzip -y 下载源码: wget https://github.com/wisdom-projects/holer/releases/download/v1.1/holer-server-1.1.zip unzip holer-server-1.1.zip && rm -rf holer-server-1.1.zip #移动到opt目录,然后进入到源码文件夹 mv holer-server /opt/holer && cd $_ #修改配置文件 nano resources/application.yaml关键配置如下: #运行端口 server: port: 600 #Mysql数据库用户名和密码 spring: datasource: username: root password: moerats #域名和nginx目录,可以直接全部删掉,用ip不需要,域名的话,有点不好用 holer domain: name: your-domain.com nginx: #home: /usr/local/nginx home: C:/nginx-1.14.2修改后使用Ctrl+x、y保存退出,或者可以直接使用FTP等工具直接编辑。 再修改管理员用户名和密码,使用命令: nano resources/conf/holer-data.sqladmin和admin123为管理员用户名和密码,自行修改,修改完成后同样的使用Ctrl+x、y保存退出。 最后启动: chmod +x holer ./holer start如果想开机自启的话,这里可以建一个简单的systemd配置文件,且不适用CentOS 6,使用命令: #将以下代码一起复制到SSH运行 cat > /etc/systemd/system/holer.service <<EOF [Unit] Description=holer After=network.target [Service] Type=simple ExecStart=$(command -v java) -server -Xms256m -Xmx512m -jar holer-server-1.1.jar WorkingDirectory=/opt/holer Restart=on-failure [Install] WantedBy=multi-user.target EOF然后启动并设置开机自启: systemctl start holer systemctl enable holer然后就可以使用ip:600访问管理界面了,具体端口以你修改的为准。 然后CentOS系统建议关闭防火墙使用,或者打开部分端口也行,关闭命令: #CentOS 6系统 service iptables stop chkconfig iptables off #CentOS 7系统 systemctl stop firewalld systemctl disable firewalld像阿里云等服务器,还需要去安全组那里开放下端口。 客户端使用首先我们需要去用户列表新建一个用户,然后再去端口映射选择该用户,新建一个穿透规则,这里根据需求自行选择,然后设置好时长。 然后就可以直接在客户端使用了,一般客户端有JAVA和GO版,使用JAVA的话,需要先安装JAVA环境,所以这里直接选择GO版本,简单粗暴。 首先根据直接的系统和架构下载指定的GO版客户端,每个压缩包里都包含32位和64位,下载地址→传送门。 这里拿我们常见的Linux服务器架构来说,直接使用命令: #下载并解压 wget https://github.com/wisdom-projects/holer/raw/master/Binary/Go/holer-linux-x86.tar.gz tar -zxvf holer-linux-x86.tar.gz #32位启动,分别为访问秘钥和服务端ip地址 nohup ./holer-linux-386 -k 7aa8d973bc8e40 -s ip地址 & #64位启动 nohup ./holer-linux-amd64 -k 7aa8d973bc8e40 -s ip地址 & 如果是Windows系统,先把压缩包下载并解压到D盘根目录,然后按住Win+R,输入cmd进入命令窗口,使用命令: #进入到D盘根目录 cd D:\ #32位启动,分别为访问秘钥和服务端ip地址 .\holer-windows-386.exe -k 7aa8d973bc8e40 -s ip地址 #64位启动 .\holer-windows-amd64.exe -k 7aa8d973bc8e40 -s ip地址到这里基本上就运行成功了。 域名反代如果你想使用域名来配置服务器面板的话,就需要安装Web服务器了,这里就直接使用Nginx。 1、安装Nginx #CentOS 6系统 rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm yum install nginx -y service nginx start chkconfig nginx on #CentOS 7系统 rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx -y systemctl start nginx systemctl enable nginx #Debian/Ubuntu系统 apt install nginx -y 2、申请SSL证书 这里就使用简单粗暴的webroot方式签发Let's Encrypt证书,首先解析好域名并生效。 安装letsencrypt: #CentOS系统 yum install letsencrypt -y #Debian/Ubuntu系统 apt install letsencrypt -y 申请SSL证书: #CentOS系统 letsencrypt certonly --webroot -w /usr/share/nginx/html --domain www.moerats.com #Debian/Ubuntu系统 letsencrypt certonly --webroot -w /var/www/html --domain www.moerats.com请替换成自己域名后运行,期间会要你输入邮箱和A选项啥的,申请后证书文件在/etc/letsencrypt/live。 3、新建conf文件 #将下面域名修改成自己的,然后证书路径也修改下,再一起复制进SSH客户端运行 cat > /etc/nginx/conf.d/holer.conf << 'EOF' server { listen 443; server_name www.moerats.com; ssl on; ssl_certificate /etc/letsencrypt/live/www.moerats.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.moerats.com/privkey.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5"; ssl_session_cache builtin:1000 shared:SSL:10m; charset utf-8; location /{ proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 1024m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_pass http://127.0.0.1:600/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 80; server_name www.moerats.com; rewrite ^(.*) https://www.moerats.com$1 permanent; } EOF重启Nginx生效: systemctl restart nginx最后连接的时候,就可以填域名了。 最后要是觉得搭建服务器麻烦,或者不想搭建的,可以使用作者提供的免费服务,更多使用方法移至→传送门。 相关面板一款基于Frp的Web管理面板:FrpMgr安装及使用一款带Web面板的轻量级、高性能内网穿透工具:nps一款带Web管理面板的内网穿透工具:lanproxyView the full article
  1. 加载更多动态
×
×
  • 创建新的...