自建私人图床方案:使用Cpolar+树洞外链轻松部署超轻量级图床,实现高效图片存储
文章目录
- 1.前言
- 2. 树洞外链网站搭建
- 2.1. 树洞外链下载和安装
- 2.2 树洞外链网页测试
- 2.3 cpolar的安装和注册
- 3.本地网页发布
- 3.1 Cpolar临时数据隧道
- 3.2 Cpolar稳定隧道(云端设置)
- 3.3 Cpolar稳定隧道(本地设置)
- 4.公网访问测试
- 5.结语
1.前言
随着软件技术和互联网技术的发展,网站的部署已经不再像以前那样高不可攀,在合适的软件帮助下,只要有最基本的电脑知识的普通人,也能轻松建立自己的网站,并使用这个网站作为私人存储服务器使用。今天,笔者就为大家介绍,使用Cpolar+树洞外链,轻松快捷的搭建私人图床网站。
2. 树洞外链网站搭建
树洞外链是一个开源的图床网页程序,功能也和其他图床程序差不多,支持游客、注册用户上传图像,也支持本地和外部云存储,并且可以为每个用户定义不同的上传方案,应用不同的存储方式、图片尺寸、类型等,方便进行组策略管理。重要的是,树洞外链网页程序非常小,压缩后仅有1.6M,对于使用者的存储空间来说非常友好。
2.1. 树洞外链下载和安装
树洞外链作为开源程序,与其他开源项目一样,都可以在github上找到下载(https://github.com/HFO4/shudong-share)。
树洞外链的压缩包下载完成后,将其解压就能得到网页源码文件夹,将这个文件夹粘贴到集成环境的网站文件夹下。笔者使用的是phpstudy集成面板,因此将树洞外链的源码文件夹粘贴到phpstudy的WWW
文件夹下。
接着,打开phpstudy,在软件主界面左侧点击网站
按钮,进入网站列表页面,再点击网站列表页面左上的创建网站
按钮,进入新建网站的设置页面。根据说明文档,树洞外链运行需要php5.3以上,MySQL5.1以上,以及Nginx。
在网站设置页面,我们需要进行设置的内容并不多,只要设置
域名
- 本地树洞外链的域名,可随意输入;端口
- 树洞外链的网页输出端口,只要未被占用即可;根目录
– 树洞外链的网页文件存放位置,在这个例子中,笔者将这些文件放在phpstudy的www文件夹下;程序类型
– 树洞外链是一个轻量化的web图床程序,运行需要依赖php5.3及以上,为稳妥起见,笔者选择php5.6.9版本
这些设置完成后,就可以点击最下方的确认
按钮,保存树洞外链网页的设置。
接着我们在浏览器中输入本地地址:端口号
(在这里笔者输入localhost:81),树洞外链网站会自动跳转执行install程序,进入树洞网页安装流程。
同意安装协议后,就会进入数据库设置页面,由于我们在phpstudy设置树洞网站的运行环境时就已经安装过数据库,因此这里依照phpstudy设置的内容填入即可。需要注意的是,设置框体右侧带*号的,是必填内容,不可留白。
数据库设置完成后,点击页面下方的开始安装
,树洞外链会自动进行安装。网站安装完成后,会跳转至一个简单的说明网页,在这里我们能看到网站后台访问方式、安装完成后注意事项(必须删除网站根目录下的install文件夹),接着只要根据说明页面操作即可。
2.2 树洞外链网页测试
完成树洞外链网站的安装,并依照说明删除install文件夹后,我们再次输入本地地址:端口号(localhost:81)
,就能访问到树洞外链的主页面。
而树洞外链的后台管理页面,则是依照说明页面指示,在网站地址后面加上admin即可。
2.3 cpolar的安装和注册
完成树洞外链网站的安装后,就可以转入cpolar的安装。与树洞外链网站的安装一样,cpolar的安装也很简单。我们可以直接访问cpolar的官网页面,在页面上方找到下载
按钮。笔者使用的是Windows操作系统,因此选择Windows版本进行下载。
cpolar官网:https://www.cpolar.com/
Cpolar客户端下载完成后,将下载的文件解压,双击解压后的.msi
文件,即可自动执行安装程序。接着只要一路Next
就能完成安装。
cpolar会为每个用户创建独立的数据隧道,并辅以用户密码和token码保证数据安全。因此我们在使用cpolar之前,需要进行用户注册。注册过程很简单,只要在cpolar主页右上角点击用户注册
,并填入必要信息,就能完成cpolar的新用户注册。
3.本地网页发布
到这里,我们在本地设备上安装了树洞外链图床,也安装了cpolar内网穿透工具,接下来我们就可以使用cpolar,创建一个连接本地树洞图床的公共互联网地址。
3.1 Cpolar临时数据隧道
为满足部分客户需要的网页临时测试功能,cpolar可以直接在cpolar户端创建临时数据隧道(每隔24小时重置一次公共互联网地址)。
要创建临时数据隧道,我们直接在本地设备上登录cpolar客户端(在浏览器地址栏输入localhost:9200
),并在cpolar客户端主界面点击隧道管理
项下的创建隧道
按钮,进入创建隧道设置页面。
在“创建隧道”页面,我们需要对几项信息设置,这些信息设置包括:
隧道名称
– 即cpolar客户端的隧道信息注释,填入我们能分辨不同隧道的信息即可;协议
– 树洞外链网站是网页程序,因此选择http协议;本地地址
– 本地地址即为本地树洞外链网站输出端口号,因此这里填入81;域名类型
–这里我们可以区分数据隧道是临时使用、还是长期保留的隧道。由于我们只是先进行临时测试,因此选择“随机域名”(二级子域名和自定义域名都是长期稳定隧道,需要在cpolar云端预留公共互联网地址)。地区
– 即服务器所在位置,我们依照实际所在地就近填写即可;
完成这些设置后,就可以点击页面下方的创建
按钮,建立一条临时数据隧道。
临时数据隧道创建完成后,cpolar客户端会自动跳转至隧道管理
项下的隧道列表
页面,在这里我们可以看到cpolar本地的所有数据隧道(无论临时还是长期)。我们也可以在这里,对数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。
而我们创建的能够连接本地树洞外链网站的临时公共互联网网址,则可以在状态
项下的在线隧道列表
中找到。
将“在线隧道列表”页面显示的公共互联网地址粘贴到浏览器地址栏,就能访问到本地的树洞外链网站。
此时的树洞外链网站数据隧道,还只是临时数据隧道,每24小时就会重置一次公共互联网网址。如果超过24小时候还想连接本地树洞外链网站,就需要使用新地址连接。
3.2 Cpolar稳定隧道(云端设置)
如果想要为本地树洞外链网站设置长期稳定存在的数据隧道,我们需要先将cpolar升级至VIP版。
接下来,我们就可以登录cpolar的官网后台。
在仪表盘页面左侧找到预留
按钮,点击进入cpolar的数据隧道预留页面,在这里生成一个公共互联网地址(可以看做数据隧道的入口),由于此时这个地址没有连接本地的软件输出端口,因此也可以看做是一条空白的数据隧道。
在预留页面,可以看到很多种可保留的数据隧道,这里我们选择保留二级子域名
栏位。
在“保留二级子域名”栏位,需要进行几项信息的简单设置,即
地区
(服务器所在区域,就近选择即可)二级域名
(会最终出现在生成的公共互联网地址中,作为网络地址的标识之一)描述
(可以看做这条数据隧道的描述,能够与其他隧道区分开即可)。
完成这几项设置后,就可以点击右侧的保留
按钮,将这条数据隧道保留下来。
当然,如果这条数据隧道不打算再使用,还可以点击右侧的“x”将其轻松删除,节约宝贵的隧道名额。
3.3 Cpolar稳定隧道(本地设置)
完成cpolar云端的设置,并保留了空白数据隧道后,我们回到本地的cpolar客户端,将云端生成的空白数据隧道,与本地的树洞外链图床网站连接起来。
在本地设备上打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式)。
点击客户端主界面左侧隧道管理
项下的隧道列表
按钮,进入本地隧道的页面,再点击对应隧道的编辑
按钮。
在本地隧道的“编辑”页面(与创建本地临时隧道的页面一样),我们只要对域名类型
进行修改,就能将cpolar云端设保留的公共互联网地址,与本地cpolar创建的Imagewheel数据隧道连接起来。
我们已经在cpolar云端预留了二级子域名的数据隧道,因此改选为二级子域名
(如果预留的是自定义域名,则勾选自定义域名),并在下一行Sub Domain
栏中填入预留的二级子域名,填入cpolar云端保留的二级子域名,这里填入“shudongweb”。
完成“域名类型”的更改后,就可以点击页面下方的更新
按钮,将cpolar云端的空白数据隧道与本地树洞图床网站连接起来,即生成了能够长期稳定存连接树洞图床网站数据隧道。
4.公网访问测试
最后,我们再次进入在线隧道列表
页面,这时我们就会发现树洞图床网站的公共互联网地址已经发生了变化,我们将更新后的树洞图床网站公共互联网地址粘贴到浏览器中,就能看到使用新地址(能够长期稳定存在的地址)访问到树洞图床网站。
5.结语
树洞外链图床的外观很简洁,并且功能也较强大,最重要的是其体积小巧,能很好的减轻安装图床的设备的负担。当然,轻量化的网站有很多,每个网站都有其各自特点和应用场景,我们可以以相同思路,使用cpolar创建的内网穿透数据隧道,将其发布到公共互联网上,创建属于我们自己的网站服务器。
转载自cpolar极点云文章:快速搭建超轻量级图床——Cpolar+和树洞外链
相关文章:

自建私人图床方案:使用Cpolar+树洞外链轻松部署超轻量级图床,实现高效图片存储
文章目录 1.前言2. 树洞外链网站搭建2.1. 树洞外链下载和安装2.2 树洞外链网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道(云端设置)3.3 Cpolar稳定隧道(本地设置) 4.公网访问测试5.结语…...

从零基础到精通Flutter开发:一步步打造跨平台应用
💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 导言 Flutter是一种流行…...

SpringBoot整合WebSocket【代码】
系列文章目录 一、SpringBoot连接MySQL数据库实例【tk.mybatis连接mysql数据库】 二、SpringBoot连接Redis与Redisson【代码】 三、SpringBoot整合WebSocket【代码】 四、SpringBoot整合ElasticEearch【代码示例】 文章目录 系列文章目录代码下载地址一、效果演示二、引入依赖…...

微服务 第一章 Java线程池技术应用
系列文章目录 第一章 Java线程池技术应用 文章目录 系列文章目录[TOC](文章目录) 前言1、Java创建线程方式回顾1.1、继承Thread类(只运行一次)1.1.1、改造成主线程常驻,每秒开启新线程运行1.1.2、匿名内部类1.1.3、缺点1.1.4、扩展知识:Java内部类1.1.4…...

行业追踪,2023-09-14
自动复盘 2023-09-14 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…...

传输层协议--UDP
引入 传输层负责数据能够从发送端传输到接收端。 端口号(Port) 端口号标识了一个主机上进行通信的一个进程。 两个问题: 1. 一个进程可以绑定多个端口号吗?--可以 2.一个端口号可以绑定多个进程吗?--不可以 我们…...

微信会员卡开发流程
功能需求: 通过微信第三方平台创建的模板小程序,想要实现用户在小程序支付一定金额后领取会员卡,领取会员卡后可给用户下发一定数量的优惠券,并且实现用户在小程序消费享受商品折扣。 开发流程: 一、了解微信的3个平…...

《算法竞赛·快冲300题》每日一题:“点灯游戏”
《算法竞赛快冲300题》将于2024年出版,是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码,以中低档题为主,适合入门、进阶。 文章目录 题目描述题解C代码Java代码Python代码 “ 点…...
常见高级语言的输入与输出训练(一)
文章目录 题目概述1 输入描述: 输出描述: 输入 输出 示例C语言代码 题目概述2 题目描述 输入描述: 输出描述: 输入 输出 示例Java代码 前言 本文主要讲解两个算法题的代码实现 题目概述1 计算ab 打开以下链接可以查看正确的代码 数据范围:数据组数满…...

恭喜!龙蜥获得 2023 大学生操作系统设计赛二等奖及特殊贡献奖
经过多月的激烈角逐,2023 全国大学生系统能力大赛操作系统设计赛(以下简称“2023 大学生操作系统赛”) 圆满结束。经过 2023 大学生操作系统赛评审组和技术委员会的复核,面向全国公布了此次大赛的获奖名单。龙蜥社区不负众望&…...

中项系统集成项目管理2023上半年真题及解析
中项系统集成项目管理2023上半年真题及解析 上午题1. 在 (1) 领域,我国还远未达到世界先进水平,需要发挥新型举国体制优势,集中政府和市场两方面的力量全力发展2. ChatGPT于 2022年 11 月 30 日发布,它是人工智能驱动的 (2) 工具3…...

实时显示当前文件夹下的文件大小,shell脚本实现
图片来源于网络,如果侵权请联系博主删除! 需求: 写一个shell终端命令,实时显示当前文件夹下的文件大小 实现: 您可以使用以下的Shell脚本命令来实时显示当前文件夹下的文件大小: while true; docleardu …...

7、Spring之依赖注入源码解析(下)
resolveDependency()实现 该方法表示,传入一个依赖描述(DependencyDescriptor),该方法会根据该依赖描述从BeanFactory中找出对应的唯一的一个Bean对象。 @Nullable Object resolveDependency(DependencyDescriptor descriptor, @Nullable String requestingBeanName,@Null…...

图片码二次渲染绕过
目录 一、环境 1、代码 2、文件处理方式 3、图片码的制作 二、绕过图片重构 1、可行性分析 2、数据比对 3、完成绕过 一、环境 以upload-labs靶场第十七关为例 1、代码 源码为: <?php include ../config.php; include ../head.php; include ../menu.…...

点评项目核心内容
目录 拦截器设置 集群的session共享问题 基于redis实现共享session登录 创建bean对象技巧 什么是缓存 使用缓存来处理对象 使用String类型缓存来处理集合 缓存更新策略 主动更新策略 缓存穿透 空串""和null的区别 缓存null值解决穿透问题 缓存雪崩 缓存击穿…...

海外商城小程序为什么这么受欢迎?
随着全球化的进程海外商城小程序在近年来获得了广泛的关注和使用。海外商城小程序是一种基于互联网技术的应用程序,为用户提供了便捷的购物体验和跨境交易服务。本文将深入探讨海外商城小程序的受欢迎原因,从多个维度进行分析就其未来发展进行思考&#…...

Linux Day13 ---信号量
一、信号量 1.1 一些概念 用来管理对资源的访问 一个特殊的变量,只允许对它进行等待(wait)和发送信号(signal),代表可用资源个数, 取0,1 二值信号量 取 3,5 计数信号量 p操作:原子减一,代表获取资源,可能阻塞 v…...

《动手学深度学习 Pytorch版》 4.10 实战Kaggle比赛:预测比赛
4.10.1 下载和缓存数据集 import hashlib import os import tarfile import zipfile import requests#save DATA_HUB dict() DATA_URL http://d2l-data.s3-accelerate.amazonaws.com/def download(name, cache_diros.path.join(.., data)): #save"""下载一个…...
jQuery补充
文章目录 简介安装语法选择器元素选择器#id 选择器.class 选择器事件常用事件方法 效果显示隐藏淡入淡出滑动动画停止动画获取内容和属性添加元素删除元素操作css父辈 💛💛孔子云:温故而知新,可以为师矣💛💛…...

goaccess 日志分析 nginx
分析命令: goaccess -a -d -f /mnt/winshare/access-2023070112.log -p goaccess.conf -o /mydata/nginx/html/2023070112_new.html分析日志时的参数 goaccess使用参数详解-a 开启 UserAgent 列表。开启后会降低解析速度 -c 在程序开始运行时显示 日志/日期 配…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...