首页
关于
Search
1
AdGuardHome 安装及部署教程
45,071 阅读
2
关于微软Azure学生白嫖指南
11,387 阅读
3
Oracle开放全部端口并关闭防火墙
11,154 阅读
4
搭建基于telegram的无限网盘
10,940 阅读
5
最新Cloudflare免费自选IP教程(非Partner)
9,920 阅读
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
登录
找到
117
篇与
admin
相关的结果
2025-05-07
Docker部署虚拟在线浏览器neko
Docker部署虚拟在线浏览器neko 欢迎来到 Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko 是一个强大的工具,允许您在虚拟环境中运行一个功能齐全的浏览器,让您能够从任何地方安全和私密地访问互联网。使用 Neko,您可以浏览网页、运行应用程序和执行其他任务,就像在普通浏览器上一样,所有这些都在一个安全和隔离的环境中进行。无论您是希望测试 web 应用程序的开发人员,还是寻求安全浏览体验的注重隐私的用户,或者只是想利用虚拟浏览器的便利性和灵活性的人,Neko 都是完美的解决方案。项目 GitHub:m1k1o/neko: A self hosted virtual browser that runs in docker and uses WebRTC. 项目 doc:Getting Started (m1k1o.net) 配置需求: 分辨率CPU Cores内存推荐意见1024×576@3022gb一般1280×720@3043gb可以1280×720@3064gb推荐1280×720@3084gb+最佳这里使用的服务器配置:2Cores 2GB Ubuntu22.04。如果只是用来浏览网页的话,CPU 和内存的占用不会太高,1C1G 加个 1Gswap 就够了。如果你要看视频之类的,可能需要更高的配置,推荐 2C 以上。 此项目强烈推荐使用域名并开启 SSL,否则可能会出现未知错误。 在开始部署之前,你需要安装 docker 和 docker-compose 一、安装基础环境 1、更新源 yum update -y && yum upgrade -y #Centos执行这条命令 apt update -y && apt upgrade -y #Ubuntu/Debian执行这条命令2、安装docker及docker compose curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh3、检查docker是否安装成功 #以下即为安装成功 root@debian-4gb-fsn1-2:~# docker compose version Docker Compose version v2.17.2 root@debian-4gb-fsn1-2:~# docker -v Docker version 23.0.2, build 569dd73二、添加虚拟内存 如果你机器内存够就不需要加虚拟内存 1、脚本一键添加,单位是MB wget -O jcnfbox.sh https://raw.githubusercontent.com/Netflixxp/jcnf-box/main/jcnfbox.sh && chmod +x jcnfbox.sh && clear && ./jcnfbox.sh2、手动添加 创建 1G 的 swap,可以根据你的服务器配置来调整大小 dd if=/dev/zero of=/mnt/swap bs=1M count=1024设置交换分区文件 mkswap /mnt/swap启动 swap swapon /mnt/swap设置开机时自启用 swap 分区 需要修改文件 /etc/fstab 中的 swap 行 vim /etc/fstab添加 /mnt/swap swap swap defaults 0 0三、docker compose安装neko 本次使用火狐内核版本m1k1o/neko:firefox,其余可选择谷歌内核版本m1k1o/neko:chromium,树莓派版本m1k1o/neko:arm-chromium 创建文件夹: mkdir -p /home/neko/ && cd /home/neko/创建配置文件: vim docker-compose.yml主要修改NEKO_NAT1TO1为自己服务器IP地址,其余部分可根据下面给的环境变量说明自行修改 英文输入法下按 i 进入编辑模式后,在这个配置文件的最后加入: version: "3.8" services: neko: image: "m1k1o/neko:firefox" container_name: "neko" restart: "always" shm_size: "2gb" ports: - "38080:8080" - "52000-52100:52000-52100/udp" environment: NEKO_SCREEN: 1920x1080@30 NEKO_PASSWORD: neko NEKO_PASSWORD_ADMIN: admin NEKO_NAT1TO1: 192.168.3.166 NEKO_EPR: 52000-52100 NEKO_ICELITE: 1 | 参数名称 | 描述 | 示例值/说明 | |----------------------|--------------------------------------------------------------|-----------------------------------------------------------------| | `--shm-size=2gb` | 设置共享内存大小为 2GB,此设置为必须。 | | | `--cap-add SYS_ADMIN` | 使用 Chromium 内核时需添加,以获取必要的系统管理权限。 | | | `NEKO_PASSWORD` | 普通用户的登录密码。 | `mySecurePass123` | | `NEKO_PASSWORD_ADMIN` | 管理员(admin)用户的登录密码。 | `AdminSecurePass456` | | `NEKO_NAT1TO1` | 局域网使用时设置为服务器本地 IP,公网则自动获取公网 IP,可选。 | `192.168.3.166` 或留空自动获取 | | `NEKO_SCREEN` | 自定义浏览器窗口分辨率。 | `1920x1080` | | `NEKO_ICELITE` | 启用 Ice Lite 协议以优化连接性能,可选。 | `true` 或留空默认值 | | `NEKO_EPR` | 设置 WebRTC 的 UDP 端口范围,用于P2P连接。 | `52000-52100` | | `NEKO_FILE_TRANSFER_ENABLED` | 启用文件传输功能,需要设置为 `true`。 | `true` 或默认 `false` 如果不需要启用文件传输功能 | ```按 esc 后,输入:wq 保存退出。 运行: docker-compose up -d访问 ip:38080 或者是你的域名就可以进入到 neko 浏览器了,我们使用管理员密码登录: 图片 默认界面: 图片 基本使用: 图片 四、neko room neko room是另外的一个工具,可以批量添加多个不同浏览器选择一个域名解析到vps的IP 下载neko room安装脚本 wget -O neko-rooms.sh https://raw.githubusercontent.com/m1k1o/neko-rooms/master/traefik/install执行脚本 sudo bash neko-rooms.sh直接回车表示使用默认配置 脚本会自动申请证书,通过填入的域名访问 expert setting 可以添加环境变量、对CPU和内存设置资源限制、启用GPUimage图片 1、所有人都有控制权,可以同时控制屏幕,无需请求 neko room:开启 NEKO\_IMPLICIT\_CONTROL docker compose运行的neko:在compose文件的环境变量加上 NEKO\_IMPLICIT\_CONTROL: true 2、复制粘贴,同时需要使用https,另外一些浏览器例如firefox不支持 neko或neko-room添加环境变量 NEKO\_FILE\_TRANSFER\_ENABLED: true3、neko反代设置 server { listen 443 ssl http2; server_name example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_cache_bypass $http_upgrade; } }4、安装浏览器扩展或下载文件 参考: Chrome policies:https://support.google.com/chrome/a/answer/7579271?hl=en 作者为了安全默认禁止下载文件 禁止安装扩展(https://github.com/m1k1o/neko/issues/114#issuecomment-988309991) For security, if the browser would be compromised, installing any extension could potentially allow anyone to access filesystem or steal all cookies, inject malware to any page… 但我们一般不在乎那些,可以根据官方教程手动修改 chrome polices 以 Chromium 为例 1、在vps新建一个 policies.json 文件,可以填入如下政策 这里文件添加在 `/root/policies.json` { "AutofillAddressEnabled": false, "AutofillCreditCardEnabled": false, "BrowserSignin": 0, "DefaultNotificationsSetting": 2, "DeveloperToolsAvailability": 2, "EditBookmarksEnabled": false, "FullscreenAllowed": true, "IncognitoModeAvailability": 1, "SyncDisabled": true, "AutoplayAllowed": true, "BrowserAddPersonEnabled": false, "BrowserGuestModeEnabled": false, "DefaultPopupsSetting": 2, "DownloadRestrictions": 0, "VideoCaptureAllowed": true, "AllowFileSelectionDialogs": false, "PromptForDownloadLocation": false, "BookmarkBarEnabled": false, "PasswordManagerEnabled": false, "BrowserLabsEnabled": false, "URLAllowlist": [ "file:///home/neko/Downloads", "file://*", "chrome://policy" ], "ExtensionInstallForcelist": [ "cjpalhdlnbpafiamejdnhcphjbkeiagm;https://clients2.google.com/service/update2/crx", "mnjggcdmjocbbbhaepdhchncahnbgone;https://clients2.google.com/service/update2/crx" ], "ExtensionInstallAllowlist": [ "cjpalhdlnbpafiamejdnhcphjbkeiagm", "mnjggcdmjocbbbhaepdhchncahnbgone", "padekgcemlokbadohgkifijomclgjgif" ] }然后替换 Chromium 原本严格的政策 #容器ID'13f53eaa2252' 记得替换为你自己的 #/root/policies.json 也是替换为你文件路径 docker cp /root/policies.json 13f53eaa2252:/etc/chromium/policies/managed/policies.json然后就可以下载安装扩展了 image图片 5、甲骨文arm运行 ghcr.io/m1k1o/neko/arm-firefox:latest ghcr.io/m1k1o/neko/arm-chromium:latest ghcr.io/m1k1o/neko/arm-ungoogled-chromium:latest ghcr.io/m1k1o/neko/arm-vlc:latest ghcr.io/m1k1o/neko/arm-xfce:latest五、整体评价 1、优点 可以装逼 网络没问题的情况下非常流畅,在线看视频是没有问题的 2、缺点 需要配置较高的 vps 才能流畅运行 网络要求高,需要线路较好的 vps,反代不方便 中文输入支持不好 移动端优化不足
技术搬砖
# docker
# neko
admin
2天前
0
8
0
2025-03-11
Git Bash如何设置多个github账户
Git Bash如何设置多个github账户 以下是基于搜索结果的 Windows Git Bash 多GitHub账户配置指南,分步骤实现多账号切换管理: 步骤1:清除全局用户配置(若已存在) 若之前设置过全局用户名和邮箱,需先清除(否则不同仓库可能冲突): git config --global --unset user.name git config --global --unset user.email验证是否清除成功: git config --global --list # 输出应无user.name/user.email步骤2:为每个GitHub账户生成独立SSH密钥 生成第一个账户的密钥(如个人账户): ssh-keygen -t rsa -f ~/.ssh/id_rsa_github_personal -C "personal@email.com" 按提示回车,不设置密码(若需安全可设置)17。 生成第二个账户的密钥(如工作账户): ssh-keygen -t rsa -f ~/.ssh/id_rsa_github_work -C "work@email.com"生成后,.ssh目录下应有id_rsa_github_xxx和.pub文件67。 步骤3:配置SSH代理信任密钥 启动ssh-agent并添加私钥: eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa_github_personal ssh-add ~/.ssh/id_rsa_github_work若提示Could not open a connection...,需先执行ssh-agent bash17。 步骤4:创建SSH配置文件(~/.ssh/config) 在.ssh目录下新建config文件(无后缀),内容如下: # 个人GitHub账户 Host github-personal HostName github.com User git IdentityFile ~/.ssh/id_rsa_github_personal # 工作GitHub账户 Host github-work HostName github.com User git IdentityFile ~/.ssh/id_rsa_github_work Host别名(如github-personal)用于后续克隆和操作仓库136。 步骤5:添加公钥到GitHub账户 复制公钥内容: cat ~/.ssh/id_rsa_github_personal.pub # 复制输出内容 登录GitHub → Settings → SSH and GPG keys → New SSH key,粘贴公钥17。 步骤6:测试连接 验证两个账户的SSH连通性: ssh -T git@github-personal # 应显示"Hi username! You've successfully authenticated..." ssh -T git@github-work若失败,检查密钥权限(Windows需右键.ssh文件夹 → 属性 → 取消只读)67。 步骤7:使用不同账户操作仓库 克隆仓库时指定Host别名: git clone git@github-personal:username/repo.git # 使用个人账户 git clone git@github-work:company/repo.git # 使用工作账户 为仓库单独配置用户信息(进入仓库目录后): git config user.name "Your Name" git config user.email "your@email.com"此配置仅对当前仓库生效,覆盖全局设置16。 常见问题 权限冲突:确保.ssh目录权限为700,密钥文件权限为600。 代理残留:若之前配置过代理,需清除git config中的http.proxy设置(见用户历史提问)1。 IDE支持:IDEA需在Settings → Version Control → Git → SSH executable选择"Native"3。 通过以上步骤,可实现同一台电脑上通过Git Bash管理多个GitHub账户,且互不干扰。如需更多细节,可参考来源1367。
技术搬砖
# github
# github bash
# push
admin
3月11日
0
13
0
2025-02-05
如何彻底擦除数据防止数据被恢复?(3 种方法)
如何彻底擦除数据防止数据被恢复?(3 种方法) 原文地址 https://www.diskgenius.cn/resource/erase-data-permanently.html数据恢复变得越来越容易,单纯的删除文件或是格式化磁盘无法让数据彻底消失。怎样做才能永久擦除数据,防止数据被恢复呢?这里,小编介绍三种方法,让数据消失无踪,就连专业技术人员也无法恢复回来。 为什么要彻底擦除数据? 彻底擦除数据是为了保护个人隐私和防止敏感信息落入他人手中。当删除文件或格式化硬盘时,这些数据实际上并没有被完全删除,而是被标记为可被覆盖。如果不对这些数据进行彻底擦除,那么有可能会被恶意人士使用数据恢复软件来恢复这些数据。 这可能会导致个人信息、银行账户、社交媒体账户、电子邮件以及其他敏感信息泄露。特别是在出售、捐赠、维修电子设备、电脑、硬盘、手机等设备时,这些信息可能会落入他人手中。即使将设备还原出厂设置,也不能完全保证数据被彻底删除。因此,彻底擦除数据是非常重要的,可以帮助保护个人隐私和敏感信息,防止未经授权的人访问自己的数据,确保信息安全。 如何防止数据被恢复? 首先要了解一下数据恢复的基本原理。数据恢复是指通过各种手段,将已经丢失的数据恢复出来的过程。其原理基于计算机存储数据的方式。当数据被存储在计算机硬盘或其他储存介质上时,它们被分成许多小的块或扇区,并以二进制的形式进行编码。当一个文件被删除或格式化时,计算机并没有真正删除它,而是将该文件所占用的存储空间标记为可用空间,以便存储新的数据。因此,虽然该文件不再在文件系统中显示,但它的数据仍然存在于硬盘上,只是无法直接访问。 数据恢复的过程通过分析和重组硬盘上的数据来找回这些被标记为可用空间的文件。常用的恢复数据的方法是使用数据恢复软件或专业的数据恢复服务。这些方法可以重建已损坏的文件系统结构,找回已删除、格式化或是其他原因丢失的数据。数据恢复软件功能强大,操作简单,让数据恢复操作变得越来越容易。 如何确保数据被销毁无法恢复呢?目前常用的方法有两种: 使用软件擦除数据:使用 DiskGenius 软件擦除数据,可以将磁盘扇区清零,覆盖数据,让数据无法恢复。 物理破坏存储设备:将存储设备例如硬盘、U 盘等进行物理破坏,可以确保数据无法恢复。但是,这种方式成本比较高。 教程一、彻底删除部分现有文件 将文件放入回收站并清空回收站或是使用 Shift+Delete 组合键删除数据,看似是永久删除了文件,但是,很多情况下,使用数据恢复软件依然可以将删除的文件恢复回来。想要彻底删除文件,让文件无法恢复,需要在删除文件的同时将存储这些文件的磁盘空间清零。彻底删除文件的步骤如下: 提示:如果文件已经删除了,想让已经删除的文件变得无法恢复,请阅读教程三。 第一步、打开 DiskGenius 软件,在软件里找到想要永久删除的文件,选中文件后右击鼠标,之后选择 “彻底删除文件” 菜单项。 图片 第二步、等程序弹出下图所示的对话框后,点击 “彻底删除” 按钮。 图片 填充文件数据的字符:这里默认选项是 00,在下拉框里还可以选择其他字符用于覆盖删除的文件。 第三步、仔细阅读软件的提示信息,确认无误后点击 “删除” 按钮,软件开始删除文件。 被此功能删除的文件,使用任何数据恢复软件(包括本软件)都无法恢复了。 图片 教程二、彻底擦除整个分区或硬盘 有时候,我们不仅仅想彻底删除一部分文件,而是想把整个分区甚至整个硬盘的数据都彻底擦除掉。这种情况,依然可以使用 DiskGenius 免费版来清除数据。 第一步、打开 DiskGenius 免费版,在软件里选中想要擦除数据的分区或磁盘,然后点击 “工具” – “清除扇区数据”。 提醒:如果需要清除整个磁盘,请在软件左侧选中整个磁盘,例如 HD1: ST2000DM00… 图片 第二步、点击 “清除” 按钮。 提醒: 由于被此功能擦除的数据将再也无法恢复,在开始之前请确认所选的清除范围是否正确。 用于填充扇区数据的字符可以是 00 或随机数,还可以自己指定,点击下拉框,根据需要自行选择即可。 图片 第三步、请仔细阅读软件弹出的提示,确认没有问题后,依次点击 “清除” 和“确定”按钮,软件将开始擦除并覆盖数据。 图片 图片 教程三、擦除已经删除的文件 想要让已经删除的文件无法恢复,只需将曾经存储过这些文件的磁盘空间覆盖即可。这可以通过手工存入大量的数据将文件覆盖,也可以使用专门的工具来覆盖已经丢失的数据,步骤如下: 第一步、打开 DiskGenius 免费版,选中要被删文件曾经所在的分区,然后点击 “工具” – “清除分区空闲空间”。 提醒:此功能只会擦除所选分区内的空闲空间,将已经删除的文件覆盖掉,不会删除现有数据。如果想擦除整个磁盘的数据,请参考教程二中的步骤。 图片 第二步、确认没有问题后,点击 “开始” 按钮。 图片
默认分类
# DiskGenius
# 彻底删除
# 防恢复
# 隐私保护
admin
2月5日
0
126
1
2025-01-22
Scaleway 1c1g 开机图文版教程(月€0.21~€0.24)
原文地址 https://www.nodeseek.com/post-247761-1感谢 https://www.nodeseek.com/post-179571-1 https://www.nodeseek.com/post-131646-1 (如果对 alpine 感兴趣,可参考该教程,花销更低,0.16 欧 / 月) 对上述及其他大佬的贡献,表示感谢! 前排提示 仅 IPv6 玩具鸡,可添加 IPv4,但是价格会达 3 欧一个月,无限流量 任何面板操作均可能导致 0.01 欧的扣款,且工单不可退 要求验证银行卡账单上对应的验证码(在银行该条交易明细账单上前4位数) 操作复杂,需要有一定动手能力要求 线路并不优质,只是单纯的玩具(不建议富强) 首月创建因为面板操作花销会多一点,后续会根据磁盘大小收费,3G 0.21 欧 / 月,4G 0.24 欧 / 月 前期准备 这家服务商背后是一家法国电信公司,所以理论上还是挺稳定的,下面是它的官网 官网:https://www.scaleway.com/en/ 访问官网并创建账号,创建过程会要求输入地址和支付信息。地址可以瞎填,会扣款 1 欧用于验证支付信息(后续会退还),银行卡会生成一次账单,后续该账单会用于进一步验证。 图片 创建 SSH Key,以用于后续登录,官网教程,也可使用 Termius 创建并添加教程与官网类似 图片 **注意 :** 开机有两种方式,任选 GUI 或 CLI 即可。法国地区大概率只能使用 CLI 开机。 GUI 开机 左上角,选择 create-instance,在 PARIS 1、AMSTERDAM 1、WARSAW 2 这三个地区选择 Learning,并选择 STARDUST1-S 注意: 一般只有荷兰和波兰这两个地区有资源,想要开法国请采用 CLI 开机 线路上说法国和荷兰(也就是前两个更好),性能上波兰更好(最后一个),具体请搜站内评测。 图片 图片 系统自己决定(最后都会变成 debian),名字和标签也无所谓 来到 Add volumes,将其改为 Local 图片 图片 网络部分去掉勾选 IPv4 图片 SSH 部分一般已经默认勾选了之前创建 SSH,如果没有检查之前的 SSH 操作 最后来到预估花销,选择 month,就能看到 图片 如果使用 GUI 开机,那么基本上就结束了,直接去到安全组部分继续。 CLI 开机 看到右上角 CLI,输入以下命令可对应开各地区的机器,电脑端无法右键或 Ctrl+V 粘贴,使用 Ctrl+Shift+V 粘贴,正常创建以后,会出现服务器信息 法国 scw instance server create zone=fr-par-1 root-volume=local:10GB name=fr type=STARDUST1-S ipv6=true ip=none 荷兰 scw instance server create zone=nl-ams-1 root-volume=local:10GB name=nl type=STARDUST1-S ipv6=true ip=none 波兰 scw instance server create zone=pl-waw-2 root-volume=local:10GB name=pl type=STARDUST1-S ipv6=true ip=none 图片 创建成功后点击左侧 Instance,点击 Attach flexible IP,并选择 IPv6 图片 图片 安全组设置 选择 Instance 的 Security 选项,点击你刚刚创建的那个机器对应的选项,添加规则允许所有进出(IPv4、v6 均添加) 图片 图片 图片 最终效果应该如下 图片 降低配置 来到你刚刚创建的机器的管理页面,关机 图片 选择 Attacched volumes,并解绑硬盘 图片 返回 Instance,选择 Volumes 删除 10G 的硬盘 图片 再回到机器管理页面选择 Attacched volumes,选择 create,并先将硬盘大小改至 5GB,选择 Local 后,再改至 4GB(debian12 至少需要 4G),然后 Add(如果你需要安装其他系统,请参照其他教程,本教程仅提供 debian,但是整体方法差不多,可以参照修改) 注意:如果安装 debian11 使用 3GB 即可,但是 debian11 疑似存在网络配置问题,解决方法请参照感谢标题下的第一个帖子,或者也可以通过 CLI 创建一个 3.268990976G 的用于 debian12 也可以(价格和 3GB 一致),具体操作请参考官方教程 图片 图片 来到 Advanced settings,选择救援系统启动,保存后开机,开机时间可能非常长,请耐心等等,开机以后在你本地使用之前创建的 key 登录,账号为 root 图片 图片 连接完成后,请执行如下命令 四条任选其一即可,不建议 debian 11,疑似存在网络配置的问题,如果 DD 为 11 遇到问题,请参照感谢标题下的第一个帖子解决 # Debian 12: curl -Lo- "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.raw" | dd of=/dev/vda bs=1M # Debian 12: curl -Lo- "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.tar.xz" | tar -xJO | dd of=/dev/vda bs=1M # Debian 11: curl -Lo- "https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-nocloud-amd64.raw" | dd of=/dev/vda bs=1M # Debian 11: curl -Lo- "https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-nocloud-amd64.tar.xz" | tar -xJO | dd of=/dev/vda bs=1M图片 确定对应磁盘,一般都是 vda,如果确认是 vda 继续操作 磁盘确认: lsblk图片 DD完之后修复硬盘、重读分区并扩容: 修复硬盘: parted -l注意:这里会比较复杂,会先提示 sda,sda 直接跳过即可,然后提示 Warning: Not all of the space available to /dev/vda appears to be used, you can fix the GPT to use all of the space or continue with the current setting? 选择 f 修复 图片 partprobe #获取分区表 parted -s /dev/vda resizepart 1 100% #扩容 Debian 系统分区到最大 e2fsck -f /dev/vda1 #扩容 Debian 系统分区的文件系统到最大 resize2fs /dev/vda1救援模式dd完系统之后,直接挂载然后chroot 修改密码 mount /dev/vda1 /mnt chroot /mnt passwd root 然后输入密码 exit umount /mnt 回到实例管理面板并关机,再来到 Advanced settings,Boot mode 选择 local 并保存, Boot volume 选择 4GB 并保存(选择 later),启动机器 图片 来到 Overview,点击 Console,进入 VNC,如果黑屏,鼠标在黑屏处点一下并回车,等到出现登录界面,输入 root 回车即可登录 图片 图片 更新软件包,安装必备软件 apt update -y && apt upgrade -yapt install openssh-server sudo curl wget nano vim -y 设置允许密码登录 nano /etc/ssh/sshd_config找个合适的位置输入(或者你在文件里面找到修改也行) PermitRootLogin yesctrl+o 回车,ctrl+s 回车即可保存。 图片 设置密码(如果前面救援系统内已挂载设置密码,这步可以省略) passwd根据提示设置完成后,重启 SSH 服务 systemctl restart ssh然后就可以在本地使用 root + 密码正常登录了 添加 Warp IPv4 出口 项目地址:https://gitlab.com/fscarmen/warp 本地登陆以后,使用以下命令添加 warp 4 的出口 wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh然后 2,1 一直回车就行 图片 图片
技术搬砖
# ipv6
# Scaleway
# 玩具
admin
1月22日
0
160
0
2025-01-17
谷歌云长期免费服务器
谷歌云长期免费服务器 原文地址 https://uuzi.net/google-cloud-free-tier/image图片 写在前面 2025-1-15 更新:使用前请认真阅读注意事项: 需要升级到付费账号才能使用这个权益 · GCP 免费层级中包含 Compute Engine,限俄勒冈、爱荷华、南卡罗来纳,配置是 2C1G 及 30G 磁盘 谷歌云在去年 9 月宣布提供 “每月 200GB 免费标准层互联网数据传输”,注意是仅限制标准层,不是高级网络 · GCP 的每月免费运行时间只够你在一个区域开 1 个机器并用满 1 个月 输出到 CloudFlare、Fastly、Edgio 等对等互联合作的服务商的流量算 CDN 互连的出站流量,不适用免费额度 如果你用 GCP 搭建代理服务器,你需要知道服务器代替你下载的内容都会一并通过上行回传给你,会产生同样多的上行流量 如果使用得当 GCP 账单中会以负数代表的优惠金额平掉费用 GCP 可能会有暂时免费,但是未来收费的项。 如上总结可能不完整,你必须时刻关注账单。 竟然才发现,原来最良心的竟然是 谷歌云(GCP) ,2023 年 9 月 21 日 谷歌云 宣布每月 200 GB 免费标准层互联网数据传输,这 200G 流量配合 永久免费 的实例,白嫖真香 。 hi 大家好,今天和大家分享 谷歌云 300 赠金过期后,升级账号白嫖每月 200GB 流量云服务器。 谷歌云 (Google Cloud)身为云服务器行业翘楚,从诞生以来一直以免费赠金的试用活动活跃在中文互联网上,关于谷歌云(GCP) 的注册申请话题经久不衰 。但在 2020 年谷歌云(GCP) 作出了改变:免费服务时长由 1 年改为了 3 个月 ,而且最近之前企业邮箱多赠送的 100 美金也不再继续赠送。 相对于目前 aws 和 azure 的一年服务来说,虽然 谷歌云(GCP) 免费时长只给 3 个月,但是谷歌云(GCP) 凭借其优质的网络质量 还是吸引了不少人争相去注册体验。尤其是谷歌云(GCP)香港、台湾这两个地区的网络和大陆直连,上网体验超级优秀。 那么我们回归话题 - 谷歌云(GCP) 300 赠金过期后不要丢!升级账号白嫖每月 200GB 流量服务器。 大家都知道 谷歌云(GCP) 90 天试用期过后,如果不升级账号,是不会产生费用的,就算你还有未关闭的实例,也不用担心到期会被收取费用。谷歌云(GCP) 会自动暂停这些项目,保留一段时间,过了保留期会删除这些资源。这一点,大厂风范值得点赞。我们来看一下谷歌云(GCP) 的免费计划: Google Cloud 免费计划 Google Cloud 免费计划详情可参考官方文档:Google Cloud 免费计划 图片 谷歌云(GCP) 的这个免费层级中就包含了这个永久免费的服务器,只不过每月限制 1GB 网络流量,流量还不包括澳大利亚和中国,使得很多朋友对此并不感冒。(一个月 1G 流量够干嘛?) 谷歌云永久免费服务器限制要求: 地区限制:在美国的以下区域俄勒冈、爱荷华、南卡罗来纳; 磁盘限制:30 GB 标准永久性磁盘 流量限制:每月 1 GB 网络出站流量(不包括中国和澳大利亚) 图片 我体验过这个免费的服务器,在免费限制内使用,确实不会被收取费用。但肯定不敢用来长期使用,就说这个 1GB 的流量,可能你不使用就没了。等流量超额后,等着卖别野吧。 不过,好消息是谷歌云在 2023 年 9 月 21 日官方博客宣布:“每月 200 GB 免费标准层互联网数据传输”。详情可查阅原文:宣布每月 200 GB 免费标准层互联网数据传输 图片 下图是官网文档的标准层级数据流量的费用:点击查看信息来源 图片 其中特别要注意的是这 200GB 流量仅仅限制标准层的互联网数据。为什么我要强调标准层,因为当你创建实例的时候,可能没注意,其中有个网络设置是可选的,默认选择的是高级网络。所以如果你要使用这个每月 200GB 的免费服务器,一定要注意将 网络改变标准层级。 如何创建每月免费 200GB 流量的服务器 谷歌云账号的要求:90天试用期内或超过试用期需升级账号(最好绑定一张虚拟信用卡,防止天价账单) 新建实例 图片 地区选择:仅美国的以下区域俄勒冈、爱荷华、南卡罗来纳(以俄勒冈举例) 图片 机器配置选择:通用 - E2 - 共享核心 - e2-micro 图片 修改启动磁盘为:标准永久性磁盘,30GB。 image图片 图片 找到并依次点击:高级选项 - 网络 - 网络接口,点击默认网络接口下拉菜单,将网络服务层级改为标准,可看到免费情况。 图片 确认以上信息均修改后,点击底部创建按钮。 图片 至此,我们就完成了实例新建的过程。一定要严格按照以上要求来操作,不然很有可能会被扣费。再次强调,实例新建完成后请多注意账单情况,以免被扣费。 实例新建完成后,接下来,我们把防火墙设置一下,按需开启所需端口或者一劳永逸开启全部端口。 实例防火墙设置 实例下方相关操作中点击设置防火墙规则,如若找不到可点击左上角主菜单,点击 VPC 网络,找到防火墙,点击即可。 图片 点击顶部的添加防火墙规则。 图片 填写防火墙规则名称。流量方向:入站、目标:网络中的所有实例、来源过滤条件:IPV4 范围、来源 IPV4 范围:0.0.0.0/0、协议和端口:全部允许。完成后再创建一个规则,这回将流量方向改为出站,其它的和入站同样的参数,最后点击创建。 图片 查看创建的防火墙规则 图片 至此,实例的防火墙已经全部放通,接下来就可以连接实例,愉快的玩鸡 。 本地SSH客户端连接 1、登录谷歌云服务器后台,点击ssh选项并点击 在新窗口中打开 image图片 image图片 2、切换为root用户,输入: sudo -i设置登录密码 输入: passwdimage图片 系统会提示输入两次新设置的密码。 3、修改允许远程密码登录服务器 vi /etc/ssh/sshd_config打开文件后先搜索PermitRootLogin 把值设置为 yes , 然后找到PasswordAuthentication 把值设置为 yes. 注意如果搜索不到PermitRootLogin可在PasswordAuthentication下手动添加此配置 image图片 保存修改:英文输入法状态下 按esc 然后输入 :wq 保存并退出 重启服务器已生效 如何查看实例的费用情况 当首次建立实例,费用并不会及时显示,需要等待数小时才会在结算报告中显示。我在实例新建 5 小时左右出现了费用清单。之后又等了一天观察了下费用清单,确实没有被收取费用。如何查看费用清单,请查看如下操作: 点击左上角,打开左侧菜单。点击结算,在打开的结算页面,点击左侧报告。 图片 将右侧过滤条件中的分组数据改为 SKU 图片 查看各项费用清单,正数消费为实际消费金额,负数为免费折扣的金额。会发现免费折扣的金额会抵消实际消费的金额。虽然金额感觉是对不上,但是确实不会收取费用。而且也可以看到流量费用确实被抵扣了。 图片 实例消费金额 图片 实例赠金金额 图片 抵扣流量费用 防止意外扣费创建预算报警通知 虽然我们是按照免费的步骤来操作的,但是操作中未免出现错误,所以除了经常查看菜单。还可以通过设置预算报警通知来及时止损。下面是具体步骤: 菜单路径:点击结算 - 找到预算和提醒 填写预算名称,然后点击下一步。 图片 设置预算金额,然后点击下一步。 图片 设置达到多少金额报警通知到邮箱,默认勾选向结算管理员和用户发送电子邮件提醒。 图片 最后,点击底部的完成,即完成了设置预算,达到预算报警通知的操作。这样,当消费达到所设置的金额会邮件通知。可以及时止损。最好设置一下。 写在最后 虽然提供了免费 200GB 流量的云服务,但是也要注意官方并没有给出永久承诺。所以仍旧需要时刻关注谷歌云公布的消息, 本博也会长期关注此话题。之后有和任何改动会及时发布到博客。同时会更新到电报频道和论坛社区中。 原创文章来源:https://luotianyi.vc/7989.html
技术搬砖
# GCP
# 谷歌云
# 永久免费
admin
1月17日
0
236
1
2025-01-17
通过哪吒面板设置服务器用完指定流量后自动关机
通过哪吒面板设置服务器用完指定流量后自动关机 原文地址 https://www.nodeseek.com/post-18205-11. 首先添加 触发的【计划任务】 任务名称随便写。比如 【服务器关机】 任务类型要选择 【触发任务】 计划空着 命令:poweroff 覆盖范围选择【由触发的服务器执行】 特定服务器为空 保存此计划任务即可。如图所示: image图片 2. 添加 【报警规则】 报警名称随便写,比如 【AWS 流量报警】 规则填写: [{"type":"transfer_all_cycle","max":805306368000,"cycle_start":"2023-04-01T01:00:00+08:00","cycle_interval":1,"cycle_unit":"month","cover":1,"ignore":{"32":true}}]我这里用的光帆,一个月只有 1T 流量,我怕跑完反薅,所以设置了每月 750G 流量的时候报警通知。你们可以按照自己情况设置报警规则。具体报警规则参数可以参考哪吒官方 wiki 其中 "max":805306368000," 代表的就是 750G 流量的字节大小。 嫌计算麻烦的话可以直接用这个流量计算器。 "cycle_start":"2023-04-01T01:00:00+08:00", 代表每月的 1 号凌晨 1 点清空统计。也就是这个月 1 号 1 点到下个月 1 号 1 点之间流量就 750G,超过这个量就会触发报警。日期可以按照自己实际情况修改。 "ignore":{"32":true} 代表只监控 32 号服务器,也就是你要触发报警的服务器 id。我的习惯是每个服务器都单独设置一个报警提醒,当然你也可以设置所有服务器都共用同一个报警规则。 当你要监控多个服务器共用一个流量规则时, 比如 1 号 2 号服务器共用一个规则: ignore":{"1":true,"2":true}故障时触发任务选择刚才设置好的 触发任务 【服务器关机】 然后一定要勾选 启用 才生效!! image图片 这样设置好后,一旦服务器超过 750G 流量,立马就会触发计划任务【服务器关机】,就不会因为超流量被反薅了。 你也可以将限制流量改小一点来立即测试效果
技术搬砖
# 哪吒
# 自动监控
admin
1月17日
0
82
0
2025-01-17
自动检测流量关闭网络接口、次月自动恢复网络
自动检测流量关闭网络接口、次月自动恢复网络 原文地址:https://www.nodeseek.com/post-127477-1一、环境安装 这个脚本需要在Linux系统上运行,并需要vnstat和iptables这两个工具。如果你的系统上没有这两个工具,你可以通过以下命令来安装: 对于基于Debian的系统(如Ubuntu): apt-get update -y apt-get install vnstat iptables bc -y systemctl start vnstat systemctl enable vnstat对于基于RPM的系统(如CentOS): yum update -y yum install vnstat iptables bc -y. systemctl start vnstat systemctl enable vnstat这个命令用于安装 iptables,bc 和 vnstat 这三个软件包。iptables 是用于配置 Linux 内核防火墙的工具,bc 是一个任意精度的计算器语言,vnstat 是一个控制台下的网络流量监控工具。-y 参数表示在安装过程中自动回答所有提示为 'yes' 二、脚本编写 编写监控脚本 /root/monitor_traffic.sh: vim /root/monitor_traffic.sh将下列代码粘贴: #!/bin/bash # Parameter order: LIMIT_GB, reset_day, CHECK_TYPE, INTERFACE LIMIT_GB=${1:-1024} reset_day=${2:-1} CHECK_TYPE=${3:-4} INTERFACE=${4:-$(ip route | grep default | awk '{print $5}')} LIMIT=$(echo "$LIMIT_GB * 1024" | bc) echo "流量限制:$LIMIT MiB" echo "流量将在每月的第 $reset_day 天重置" current_day=$(date +'%-d') last_day_of_month=$(date -d "$(date +'%Y%m01') +1 month -1 day" +%d) if [ "$current_day" -eq "$reset_day" ] || ([ "$reset_day" -gt "$last_day_of_month" ] && [ "$current_day" -eq "$last_day_of_month" ]); then if [ ! -f "/tmp/vnstat_reset" ]; then touch /tmp/vnstat_reset rm /var/lib/vnstat/* sudo systemctl restart vnstat echo "流量已经重置,下次重置将在下个月的第 $reset_day 天" else echo "今天已经进行过流量重置,无需再次重置" fi else if [ -f "/tmp/vnstat_reset" ]; then rm /tmp/vnstat_reset fi if [ "$current_day" -lt "$reset_day" ]; then days_until_reset=$(($reset_day - $current_day)) echo "还有 $days_until_reset 天流量将会重置" else days_until_reset=$(( $last_day_of_month - $current_day + $reset_day )) echo "还有 $days_until_reset 天流量将会重置" fi fi if [ -z "$INTERFACE" ]; then echo "错误:无法自动检测网络接口。请手动指定。" exit 1 fi echo "正在监控的网络接口:$INTERFACE" DATA=$(vnstat -i $INTERFACE --oneline) CURRENT_DATE=$(echo $DATA | cut -d ';' -f 8) TRAFFIC_RX=$(echo $DATA | cut -d ';' -f 13 | tr -d ' ' | sed 's/MiB//;s/GiB/*1024/;s/KiB/\/1024/' | bc) TRAFFIC_TX=$(echo $DATA | cut -d ';' -f 14 | tr -d ' ' | sed 's/MiB//;s/GiB/*1024/;s/KiB/\/1024/' | bc) echo "当前月份:$CURRENT_DATE" if [ "$CHECK_TYPE" = "1" ]; then TRAFFIC_TO_CHECK=$TRAFFIC_TX echo "只检查上传流量。当前上传流量为:$TRAFFIC_TX MiB。" echo "当前对比项是:上传流量。" elif [ "$CHECK_TYPE" = "2" ]; then TRAFFIC_TO_CHECK=$TRAFFIC_RX echo "只检查下载流量。当前下载流量为:$TRAFFIC_RX MiB。" echo "当前对比项是:下载流量。" elif [ "$CHECK_TYPE" = "3" ]; then TRAFFIC_TO_CHECK=$(echo "$TRAFFIC_TX $TRAFFIC_RX" | awk '{print ($1>$2)?$1:$2}') if [ "$TRAFFIC_TO_CHECK" = "$TRAFFIC_TX" ]; then echo "当前上传流量为:$TRAFFIC_TX MiB,下载流量为:$TRAFFIC_RX MiB。" echo "作为比较的流量是:上传流量。" else echo "当前上传流量为:$TRAFFIC_TX MiB,下载流量为:$TRAFFIC_RX MiB。" echo "作为比较的流量是:下载流量。" fi elif [ "$CHECK_TYPE" = "4" ]; then TRAFFIC_TO_CHECK=$(echo "$TRAFFIC_TX + $TRAFFIC_RX" | bc) echo "检查上传和下载流量的总和。当前上传流量为:$TRAFFIC_TX MiB,下载流量为:$TRAFFIC_RX MiB。" echo "作为比较的流量是:上传和下载流量的总和($TRAFFIC_TO_CHECK MiB)。" else echo "错误:未提供有效的流量检查参数。参数应为1(只检查上传流量)、2(只检查下载流量)、3(检查上传和下载流量中的最大值)或4(检查上传和下载流量的总和)。" exit 1 fi if (( $(echo "$TRAFFIC_TO_CHECK > $LIMIT" | bc -l) )); then iptables -F iptables -X iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT echo "警告:流量已超出限制!除SSH(端口22)外,所有端口已被阻止。" else iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -F echo "流量在设定的限制内,所有流量都被允许。" fi这个脚本是用于监控Linux服务器上的网络流量,并根据设定的流量限制来决定是否阻止除SSH以外的所有网络流量。脚本接受四个参数,但是所有参数都是可选的,如果没有提供,脚本会使用默认值。这四个参数分别是: LIMIT_GB:流量限制,单位为GB。默认值为1024GB。 reset_day:流量重置日,即每月的哪一天流量会被重置。默认值为1,即每月的第一天。 CHECK_TYPE:流量检查类型。默认值为4。这个参数有四个可选值: 1:只检查上传流量 2:只检查下载流量 3:检查上传和下载流量中的最大值 4:检查上传和下载流量的总和 INTERFACE:网络接口。默认值为系统的默认网络接口。 三、使用教程 给 monitor_traffic.sh 脚本添加执行权限。chmod 是用于改变文件权限的命令,+x 表示添加执行权限 chmod +x monitor_traffic.sh 使用所有默认参数运行脚本: ./traffic_monitor.sh这将会设置流量限制为1024GB,每月的第一天重置流量,检查上传和下载流量的总和,并使用系统的默认网络接口。 设置流量限制为500GB,其他参数使用默认值: ./traffic_monitor.sh 500 设置流量限制为500GB,流量在每月的10号重置,其他参数使用默认值: ./traffic_monitor.sh 500 10 设置流量限制为500GB,流量在每月的10号重置,只检查下载流量,其他参数使用默认值: ./traffic_monitor.sh 500 10 2 设置流量限制为500GB,流量在每月的10号重置,只检查下载流量,并指定网络接口为eth0: ./traffic_monitor.sh 500 10 2 eth0 将 monitor_traffic.sh 脚本添加到 crontab,使其每分钟运行一次,并将脚本的输出重定向到 /root/脚本日志.txt 文件 设置流量限制为190GB,流量在每月的10号重置,每分钟运行一次任务检查上传和下载流量中的最大值: (crontab -l ; echo "* * * * * /root/monitor_traffic.sh 190 10 3 > /root/脚本日志.txt") | crontab -
技术搬砖
# 自动检测
# 流量监控
admin
1月17日
0
54
0
2025-01-12
Docker 部署免维护的 IPTV 直播源 + 点播聚合 m3u 的教程
image图片 原文地址 https://wp.gxnas.com/15153.html一、安装 2025 年 1 月 2 日更新: 由于作者防止项目泛滥加入了鉴权,操作步骤改成: ①先到【这里 】生成 AES 密钥,同时把系统生成的 AES 密钥复制; image图片 ②加入【作者 Telegram 交流群 】,并打开【作者 Telegram 鉴权机器人 】,粘贴 AES 密钥,生成 Userid 和专属 Token(注意:此步骤需要科学出国的网络环境以及登录 Telegram); 图片 ③填入申请到得上一步骤生成的 Userid 和 Token 两个参数,生成一键部署 docker 的命令; image图片 ④回到群晖 SSH 下,粘贴命令运行。 image图片 使用 Docker 方式或者使用 Docker compose 方式部署二选一(本教程用 “2、Docker compose 方式”);由于 docker 域名被墙,网络环境需要保证 docker 可以正常拉取镜像,如果镜像无法拉取的,请参考【本教程】设置,或者【自行搭建 docker 加速地址】; 1、使用 Docker 方式: 复制 “2025 年 1 月 2 日更新” 内容中的第④个步骤生成的 Docker 运行命令: docker run -d --restart unless-stopped --net=host --privileged=true --name allinone youshandefeiyang/allinone部署 watchtower 自动监听肥羊 IPTV 的 allinone 镜像更新: docker run -d --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower allinone -c --schedule "0 0 2 * * *"2、使用 Docker compose 方式(复制 “2025 年 1 月 2 日更新” 内容中的第④个步骤生成的 Docker compose 文件内容:): version: "3.3" services: allinone: restart: unless-stopped privileged: true container_name: allinone image: youshandefeiyang/allinone network_mode: "host"图片 二、肥羊 IPTV 的 allinone 的 m3u 链接地址: 如果你是在公网服务器部署,不愿意开启聚合TV直播服务,在运行裸程序或者Docker时,加上参数 -tv=false 即可不开启直播服务(仅对gaoma、itv、rptv生效,migu走的是302重定向,没有代理流量) 如果你的allinone服务被部署至服务器上,并且使用https域名反代了IP+端口,那么你的链接要变成: https://你的反代域名/tv.m3u(?url=https://你的反代域名) 括号中为可选参数,用来方便替换列表前缀为https的,如果反代域名中含有特殊符号的,先去urlencode,如果反代后的域名依旧存在端口,那就把端口照样加上去,比如url\=https://feiyang.com:12345,不加url参数默认是http协议 举个例子:https://www.feiyang.com/tv.m3u?url=https://www.feiyang.com 1、Ysptp 和 IPtv 聚合 m3u 地址: http://你的IP:35455/tv.m3u图片 图片 2、BiliBili 生活: http:// 你的IP:35455:35455/bililive.m3u图片 3、虎牙一起看: http://你的IP:35455:35455/huyayqk.m3u图片 4、斗鱼一起看: http://你的IP:35455:35455/douyuyqk.m3u图片 5、YY 轮播: http://你的IP:35455:35455/yylunbo.m3u图片 三、代理播放地址 抖音: 默认最高画质,浏览器打开并复制(live.douyin.com/)xxxxxx,只需要复制后面的xxxxx即可(可选flv和hls两种种流媒体传输方式,默认flv):http://你的IP:35455/douyin/xxxxx(?stream=hls)斗鱼: 可选m3u8和flv以及xs三种流媒体传输方式【(www.douyu.com/)xxxxxx 或 (www.douyu.com/xx/xx?rid\=)xxxxxx,默认flv】:http://你的IP:35455/douyu/xxxxx(?stream=flv)BiliBili(live.bilibili.com/)xxxxxx: 1,平台platform参数选择(默认web,如果有问题,可以切换h5平台): "flv" \=> "FLV" "hls" \=> "M3U8" 2,线路line参数选择(默认线路二,如果卡顿/看不了,请切换线路一或者三,一般直播间只会提供两条线路,所以建议线路一/二之间切换): "first" \=> "线路一" "second" \=> "线路二" "third" \=> "线路三" 3,画质quality参数选择(默认原画,可以看什么画质去直播间看看,能选什么画质就能加什么参数,参数错误一定不能播放): "4" \=> "原画质" "3" \=> "低画质" 4,最后的代理链接示例: http://你的IP:35455/bilibili/xxxxxx(?platform=hls&line=first&quality=4)虎牙(huya.com/)xxxxxx: 1,查看可用CDN: http://你的IP:35455/huya/xxxxx?type=json 2,切换媒体类型(默认flv,可选flv、hls): http://你的IP:35455/huya/xxxxx?media=hls 3,切换CDN(默认hwcdn,可选hycdn、alicdn、txcdn、hwcdn、hscdn、wscdn,具体可先访问1获取): http://你的IP:35455/huya/xxxxx?cdn=alicdn 4,最后的代理链接示例: http://你的IP:35455/huya/xxxxx(?media=xxx&cdn=xxx)YouTube: https://www.youtube.com/watch?v\=cK4LemjoFd0 Rid: cK4LemjoFd0http://你的IP:35455/youtube/cK4LemjoFd0(?quality=1080/720...)YY(默认最高画质,参数为4): https://www.yy.com/xxxxhttp://你的IP:35455/yy/xxxx(?quality=1/2/3/4...)四、使用方法: 上述 m3u 地址可以在电脑上使用 PotPlayer 打开,或者在 emby/jellyfin/kodi 等多媒体软件中添加到 iptv 插件中使用。 图片 图片 图片
默认分类
# docker
# iptv
# 肥羊
admin
1月12日
0
3,864
0
2025-01-08
google 证书申请教程
原文地址 https://certd.docmirror.cn/guide/use/google/1、启用 API 打开如下链接,启用 API https://console.cloud.google.com/apis/library/publicca.googleapis.com 打开该链接后点击 “启用”,随后等待右侧出现“API 已启用” 则可以关闭该页。 2、 获取授权 以下两种方式任选其一 2.1 直接获取 EAB 【推荐】 打开 “Google Cloud Shell”(在右上角点击激活 CloudShell 图标)。 等待分配完成后在 Shell 窗口内输入如下命令: gcloud beta publicca external-account-keys create 此时会弹出 “为 Cloud Shell 提供授权”,点击授权即可。 执行完成后会返回类似如下输出;注意不要在没有收到 Google 的邮件时执行该命令,会返回命令不存在。 Created an external account key [b64MacKey: xxxxxxxxxxxxxxxx keyId: xxxxxxxxxxxxx] 到 Certd 中,创建一条 EAB 授权记录,填写 keyId(=kid) 和 b64MacKey 信息 注意:keyId 没有]结尾,不要把]也复制了 注意:EAB 授权使用过一次之后,会绑定邮箱,后续再次使用时,要使用相同的邮箱 否则会报错 Unknown external account binding (EAB) key. This may be due to the EAB key expiring which occurs 7 days after creation 2.2 通过服务账号获取 EAB 此方式可以自动 EAB,需要配置代理 创建服务账号:创建服务账号 选择一个项目,进入创建服务账号页面 给服务账号起一个名字,点击创建并继续 向此服务账号授予对项目的访问权限: 选择角色->基本->Owner 点击完成 点击服务账号,进入服务账号详情页面 点击添加密钥->创建新密钥->JSON,下载密钥文件 将 json 文件内容粘贴到 certd 中 Google 服务授权输入框中
技术搬砖
# 证书
# google
# ssl
admin
1月8日
0
221
0
2025-01-06
十分钟搭建属于自己的信息流—FreshRSS
十分钟搭建属于自己的信息流—FreshRSS 原文地址:https://blog.laoda.de/archives/docker-compose-install-freshrss1. 前言 为什么要用 RSS? 因为它们提供了一种可定制的、无算法的方式来聚合和访问来自多个来源的内容,使我们能够高效管理信息过载,并在不受社交媒体干扰的情况下保持对自己感兴趣内容的更新。 2. 介绍 这一期我们来介绍另一个和 TinytinyRSS 类似的 RSS 管理服务——FreshRSS。 相较于 Tiny Tiny RSS,它有着更低的资源使用、更现代和用户友好的界面,以及更好的文档,使得对于技术能力较弱的用户来说,设置和维护更加容易。 图片 3. 相关地址 官方 GitHub 地址:https://github.com/FreshRSS/FreshRSS (目前 9.2k 个 star,欢迎大家去给项目点星星!) 4. 搭建环境 服务器:建议服务器内存 1G 以上 系统:Debian 11 安装好 Docker、Docker-compose 【必需】域名一枚,并做好解析到服务器上 【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx 5. 搭建方式 5.1 安装 Docker 5.2 创建安装目录 创建一下安装的目录: sudo -i mkdir -p /root/data/docker_data/freshrss cd /root/data/docker_data/freshrss接着我们来编辑下docker-compose.yml vim docker-compose.ymlservices: freshrss: image: freshrss/freshrss:latest container_name: freshrss environment: - CRON_MIN=*/20 #每20分钟刷新一次 - TZ=Asia/Shanghai volumes: - ./data:/var/www/FreshRSS/data - ./extensions:/var/www/FreshRSS/extensions ports: - 8080:80 #左边的8080可以改成服务器上没有用过的端口 depends_on: - postgres restart: always postgres: image: postgres:alpine container_name: freshrss-postgres environment: - POSTGRES_USER=freshrss - POSTGRES_PASSWORD=freshrss #密码可以自己修改 - POSTGRES_DB=freshrss volumes: - ./freshrss-postgres-data:/var/lib/postgresql/data restart: always同样,修改完成之后,可以在英文输入法下,按 i 修改,完成之后,按一下 esc,然后 :wq 保存退出。 5.3 打开服务器防火墙(非必需)并访问网页 打开防火墙的端口 8080 如果你在 docker-compose 文件里换了 9009,这边就需要填 9009,以此类推 查看端口是否被占用(以 8080 为例),输入: lsof -i:8080 #查看 8080 端口是否被占用,如果被占用,重新自定义一个端口如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~ 如果出现: -bash: lsof: command not found运行: apt install lsof #安装 lsof如果端口没有被占用(被占用了就修改一下端口,比如改成 8381,注意 docker 命令行里和防火墙都要改) 5.4 启动 freshrss cd /root/data/docker_data/freshrss docker compose up -d # 注意,老版本用户用 docker-compose up -d等待拉取好镜像,出现 done的字样之后, 理论上我们就可以输入 http://ip:8080 访问了。 但是这边我们推荐先搞一下反向代理! 做反向代理前,你需要一个域名! 6. 利用宝塔面板反向代理 发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置: 直接新建一个站点,不要数据库,不要 php,纯静态即可 然后打开下面的配置,修改 Nginx 的配置。 image图片 代码如下: location / { proxy_pass http://127.0.0.1:8080/; # 注意改成你实际使用的端口 rewrite ^/(.*)$ /$1 break; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade-Insecure-Requests 1; proxy_set_header X-Forwarded-Proto https; } 7. 使用教程 建议参考官方配置文档:https://github.com/freshrssapp/freshrss/blob/main/docs/configuration.md 7.1 安装与配置 图片 图片 数据库信息 图片 主机记得填postgres,其他的按docker-compose.yaml里面的填 设置账号密码: 图片 安装成功! 图片 登录 图片 默认订阅了 Fresh RSS 的官方 GitHub 仓库的 releases 图片 这边我们不管,先来订阅一下咕咕的博客,最近视频更新进度缓慢,但是博客还是会经常更新的,订阅了博客的 RSS 之后,只要我一更新博客,你就能第一时间看到啦! 以咕咕的博客为例子,添加博客的 RSS:https://blog.laoda.de/rss.xml 图片 “订阅管理”——“添加订阅源或分类” 可以先给分类起个名字,比如 “个人博客” 图片 然后再次点击 “添加订阅源” 图片 输入咕咕博客的 RSS:https://blog.laoda.de/rss.xml 图片 图片 点击左上角 FreshRSS 的图片,就能回到首页了, 可以看到已经订阅成功! 图片 7.2 扩展下载 FreshRSS 还有很多扩展可以下载, 图片 你可以选择合适的扩展进行下载。 图片 有一个吐槽的点是,这个下载是要手动的... 扩展的 GitHub 仓库:https://github.com/FreshRSS/Extensions 扩展的下载地址:https://github.com/FreshRSS/Extensions/archive/master.zip 基本上就是这个包,我们上传到服务器里。(当然你可以直接用服务器来下载,这样就省得上传这个步骤了) 图片 7.2.1 直接命令行操作(二选一) cd /root/data/docker_data/freshrss/extensions/ wget https://github.com/FreshRSS/Extensions/archive/master.zip unzip master.zip cd Extensions-master mv /root/data/docker_data/freshrss/extensions/Extensions-master/* /root/data/docker_data/freshrss/extensions/然后记得重启一下容器: cd /root/data/docker_data/freshrss docker compose down docker compose up -d7.2.2 如果你用的是 finalshell 的话(二选一) 上传插件 图片 使用 unzip 命令来解压缩, 图片 移动到我们制定的文件夹里 mv /root/data/docker_data/freshrss/extensions/Extensions-master/* /root/data/docker_data/freshrss/extensions/刷新 图片 7.3 配置 API 允许手机访问, image图片 设置一个 API 密码, image图片 手机端,IOS 推荐用 Reeder,安卓推荐 Read You 注意手机 app 登录的时候,末尾还要加上greader.php 比如:https://xxxxx.com/api/greader.php image图片image图片 7.4 更新 freshrss cd /root/data/docker_data/freshrss docker-compose pull docker-compose up -d # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。 docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像提示: WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N]输入 y 利用 Docker 搭建的应用,更新非常容易~ 7.5 卸载 freshrss 同样进入安装页面,先停止所有容器。 cd /root/data/docker_data/freshrss docker-compose down cd .. rm -rf /root/data/docker_data/freshrss # 完全删除可以卸载得很干净。 参考资料 官方 GitHub:https://github.com/FreshRSS/FreshRSS
默认分类
# docker
# RSS
# FreshRSS
admin
1月6日
0
196
0
1
2
...
12
下一页