
cpolar 是一种安全的内网穿透云服务,它将内网下的本地服务器通过安全隧道暴露至公网。使得公网用户可以正常访问内网服务。
文章目录
在本文中,我们将介绍如何简单地在 openwrt 中安装 cpolar 内网穿透,并为其配置服务,以确保其在开机时自动启动。
更多详细信息可以访问:
cpolar官网:https://www.cpolar.com/
在 cpolar 内网穿透官网下载 Linux 版本安装包:https://www.cpolar.com/download

下载解压后,将cpolar文件上传到 /usr/cpolar 下,先创建一个目录:
cd /usr/cpolar
进入目录,把文件上传到此目录,然后执行修改文件权限即可
chmod +x cpolar

配置全局变量的目的是方便我们在任意目录可以执行相关指令,而不需要进入相关的目录下面执行
编辑 profile 文件
vi /etc/profile
添加 cpolar 目录变量,在export PATH追加 cpolar 安装目录,例如我这里的目录是 /usr/cpolar

设置输入好后,保存退出,然后重新载入环境变量配置文件
source /etc/profile
然后测试在任意目录输入 cpolar,即可看到相关信息,表示成功

我们上面配置好环境变量后,接下来安装 cpolar 服务,cpolar 服务有助于我们访问 cpolar web ui 管理界面对隧道进行图形化操作
输入命令安装 cpolar 服务:
cpolar service install
然后我们进入 init.d 目录
cd /etc/init.d
此时我们可以看到有个 cpolar 服务

然后在当前目录下启动服务:
./cpolar start
启动后,我们可以看到有两个文件路径,两个文件就是日志文件的路径

服务启动后,我们在浏览器输入:局域网 ip地址+:9200 端口即可看到 cpolar ui 管理界面

有时候设备重启会清空 cpolar 服务文件的内容,所以我们需要将 init.d 的 cpolar 服务复制一份 cpolar 文件到 /usr/lib 目录下以避免这种情况,具体操作步骤如下:
cp /etc/init.d/cpolar /usr/lib/
然后删除 init.d 下面的cpolar
rm -rf /etc/init.d/cpolar
再创建 init.d 目录的启动脚本,名字叫 cpolar
touch /etc/init.d/cpolar
添加脚本文件权限
chmod +x /etc/init.d/cpolar
然后编辑脚本文件
vi /etc/init.d/cpolar
按 i 键进行编辑,添加如下信息,然后输入wq保存退出:
#!/bin/sh /etc/rc.common
# Example script
# Copyright (C) 2007 OpenWrt.org
START=10
start() {
echo start
/usr/lib/cpolar start
}
然后重启
reboot
重启后打开浏览器,依旧使用局域网 ip+:9200 端口,然后使用登陆,即可看到ui管理界面,说明配置 cpolar 开机自动重启成功

在配置服务自启动时,如果支持在 /etc/rc.local 文件中配置自启动,那么您可以直接添加服务启动命令:
/usr/lib/cpolar start
Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题
我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden
我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use
我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO
遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg
Rails中有没有一种方法可以提取与路由关联的HTTP动词?例如,给定这样的路线:将“users”匹配到:“users#show”,通过:[:get,:post]我能实现这样的目标吗?users_path.respond_to?(:get)(显然#respond_to不是正确的方法)我最接近的是通过执行以下操作,但它似乎并不令人满意。Rails.application.routes.routes.named_routes["users"].constraints[:request_method]#=>/^GET$/对于上下文,我有一个设置cookie然后执行redirect_to:ba
路由有如下代码:resources:orders,only:[:create],defaults:{format:'json'}resources:users,only:[:create,:update],defaults:{format:'json'}resources:delivery_types,only:[:index],defaults:{format:'json'}resources:time_corrections,only:[:index],defaults:{format:'json'}是否可以使用1个字符串为所有资源设置默认格式,每行不带“默认值”散列?谢谢。