首页
关于
Search
1
AdGuardHome 安装及部署教程
40,750 阅读
2
搭建基于telegram的无限网盘
10,109 阅读
3
关于微软Azure学生白嫖指南
9,736 阅读
4
Oracle开放全部端口并关闭防火墙
9,518 阅读
5
最新Cloudflare免费自选IP教程(非Partner)
9,338 阅读
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
登录
Search
标签搜索
docker
张至顺
PHP
图床
Cloudflare
金刚长寿功
PT
qBittorrent
阿里云
onedrive
telegram
代理
青龙
python
内网穿透
一键
telegraph
ipv6
cf_workers
serv00
myedunote
累计撰写
101
篇文章
累计收到
1
条评论
首页
栏目
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
页面
关于
搜索到
1
篇与
短链
的结果
2024-09-25
在PrivateBin中使用YOURLS短链接服务
简介搭建了一个PrivateBin这个加密剪贴板服务,但保存后生成的链接往往太长了,看起来太复杂,就像是这样:暂时我们还是没有上面的那个缩短链接按钮,接下来我们就来配置,使之出现这个按钮来缩短链接。部署YOURLSYOURLS是一款使用 PHP+MySQL 开发的开源短链接管理系统,可以创建公开或私有的短链接,允许随机或自定义关键字,拥有强大的数据统计分析功能,文档齐全,插件丰富,支持开放 API 扩展。项目:https://github.com/YOURLS/YOURLS 官网:http://yourls.org/ 下载:https://github.com/YOURLS/YOURLS/archive/master.zip准备VPS 主机短域名宝塔面板环境YOURLS的安装环境要求如下:Nginx 1.20PHP 7.2.0+ (PHP8.1 会出现排版问题,需要修改主题文件)MySQL 5+开始搭建首先用宝塔新建站点,选择好 php 和 mysql 然后进入该站点目录点击宝塔的远程下载输入 Yourls 的下载地址 目前嗯最新版本是 1.92https://github.com/YOURLS/YOURLS/archive/refs/tags/1.9.2.zip下载好后解压,并把文件夹内的所有文件剪切到网站根目录将程序自带的一些默认文件改名,可以使用宝塔直接修改,具体修改如下:cp user/config-sample.php user/config.php # 配置文件 cp sample-public-front-page.txt index.php # 网站首页,如果不对外提供短链服务,可以不改 cp sample-robots.txt robots.txt编辑/www/wwwroot/你的域名/user/config.php文件,按照自己的情况配置。/** MySQL 数据库用户名 */ define( 'YOURLS_DB_USER', 'your db user name' ); /** MySQL 数据库密码 */ define( 'YOURLS_DB_PASS', 'your db password' ); /** 用来存储 YOURLS 数据的数据库名 */ define( 'YOURLS_DB_NAME', 'yourls' ); /** 数据库主机ip '127.0.0.1:666' ** 如果你正在使用一个非标准断口,指定为'主机名:端口',例如'本地主机:9999'或'127.0.0.1:666' */ define( 'YOURLS_DB_HOST', 'localhost' ); /** MySQL 表前缀字符 */ define( 'YOURLS_DB_PREFIX', 'yourls_' ); /** YOURLS 安装 URL -- 字母小写,并且结尾不带斜线 ** 如果你把它定义为“http://iyideng.vip“,不要使用”http://www.iyideng.vip“在浏览器中(反之亦然) */ define( 'YOURLS_SITE', 'http://your-own-domain-here.com' ); /** 服务器时区 GMT 值,北京时间 +8 */ define( 'YOURLS_HOURS_OFFSET', 0 ); /** YOURLS 语言 **更改此设置以使用您的语言的翻译文件,而不是默认的英语。 **翻译文件 (a .mo file) 必须被安装在 user/language 目录中。 **更多信息,请访问 http://yourls.org/translations **请访问 https://github.com/ZvonimirSun/YOURLS-zh_CN/archive/master.zip 下载YOURLS汉化包,然后将包中的zh_CN.mo和zh_CN.po文件放到 /user/languages 目录下,然后在下面填入zh_CN */ define( 'YOURLS_LANG', '' ); /** 允许多个短链接对应同一原链接 ** 设置为 true 则表示短链接和原链接一一对应(默认 Yourls 设置) ** 设置为 false 则允许多个短链接对应同一原链接(类似 bit.ly 表现) */ define( 'YOURLS_UNIQUE_URLS', true ); /** Private 表示后台管理需要密码登陆作为默认手段来实现管理 ** 设置为 false 意味着对公众开放模式(例如在内网配置或者测试安装) ** 查看 http://yourls.org/privatepublic 获取更多细节 */ define( 'YOURLS_PRIVATE', true ); /** 用来加密 cookies 的一串随机哈希值,并不需要记住这个,要让它尽量长而复杂,可以从 http://yourls.org/cookie 来获取随机哈希值 **/ define( 'YOURLS_COOKIEKEY', 'modify this text with something random' ); /** 允许访问网站的用户名和密码。密码为纯文本或加密哈希 ** YOURLS将自动加密此文件中的纯文本密码 ** 阅读 http://yourls.org/userpassword 了解更多信息 */ $yourls_user_passwords = array( 'username' => 'password', // 'username2' => 'password2', // 你可以使用 'login'=>'password' 这种格式来添加更多行 ); /** 调试模式,用来输出一些内部信息 ** 对于运行中的站点默认是 false,在编码或者获取提交信息时才会启用 */ define( 'YOURLS_DEBUG', false ); /** 链接缩短方式:36 或者 62 **/ define( 'YOURLS_URL_CONVERT', 36 ); /* * 36: 生成数字和小写字母组成的短链接关键字(例如:13jkm) * 62: 生成数字大小写混合的短链接关键字(例如:13jKm 或者 13JKm) * 选择一个来设置,你开始创建连接之后最好别再更改 */ /** * 保留关键字(这样子在创建链接时就会屏蔽这些关键字) * 这里会填上负面、潜在误导性的词语 */ $yourls_reserved_URL = array( 'porn', 'faggot', 'sex', 'nigger', 'fuck', 'cunt', 'dick', ); /* ** 自定义的个人设置项可以写在下面 */编辑index.php文件,将$page = YOURLS_SITE . '/sample-public-front-page.php' ; 改成 $page = YOURLS_SITE . '/index.php' ;,如果不需要访问网站首页,可以不修改。设置伪静态,网站 -> 设置 -> 伪静态,输入以下代码并保存:location / { try_files $uri $uri/ /yourls-loader.php?$args; }访问你的域名开始安装,安装界面如下:点击install yourls开始安装,完成后如图所示:打开你的域名就可以看到首页了,输入一个网址,如果能正确生成短网址,就没问题了。设置中文前面我们修改user/config.php时设置了中文,不过安装后并不是中文,所以我们还需要安装汉化包。访问 [yourls-zh_CN]() 下载汉化包,并解压到user/languages目录。安装好之后,刷新一下就发现已经是中文了。使用插件在页面上点击” 管理界面”,使用配置文件填写的用户名和密码登录。输入管理员账号密码登录后如果出现“Could not auto-encrypt passwords. Error was: “cannot write file”.”报错,请将user/config.php文件的权限改为666,然后刷新网页,再把权限改回644,因为你刚才填写密码时用的是明文,这样很危险,所以程序需要对其加密。点击左上角的 “管理插件”,这里便能管理和激活插件,将鼠标移到插件右侧的“动作” 那一栏,会出现激活 / 取消激活菜单,点击便可开启 / 关闭插件。先激活自带的Random SHortURLs插件,它可以让短链末尾生成随机的字符串。另外,推荐安装 reCaptcha,可以在登录页面增加谷歌验证码,安装和使用方法见下方【启用谷歌 recaptcha】。申请谷歌 recaptcha到 https://www.google.com/recaptcha/admin/create 申请 recaptcha 标签随便填,类型选择 V3 并将你的 yourls 域名添加上去 打开网站根目录下 / frontend 里的 config.php 将define("enableRecaptcha", false);里的 false 修改成 true,然后填入你申请到的密匙define("recaptchaV3SiteKey", '填入sitekey'); // reCAPTCHA V3 Secret Key define("recaptchaV3SecretKey", '填入密匙');如果是国内主机安装,或是需要国内用户正常使用 reCaptcha 服务。只要把插件源码中 reCaptcha 服务接口域名由google.com替换成recaptcha.net即可。找到reCaptcha的安装目录/www/wwwroot/你的域名/user/plugins/Admin-reCaptcha,打开recaptchalib.php文件,将private static $_siteVerifyUrl = "https://www.google.com/recaptcha/api/siteverify?";替换成private static $_siteVerifyUrl = "https://www.recaptcha.net/recaptcha/api/siteverify?";打开plugin.php文件,将$.getScript( "https://www.google.com/recaptcha/api.js?onload=loadCaptcha&render=explicit");替换成$.getScript( "https://www.recaptcha.net/recaptcha/api.js?onload=loadCaptcha&render=explicit");访问 https://github.com/YOURLS/awesome-yourls 可以获得更多插件。使用主题YOURLS默认的界面比较简陋,推荐安装更好看的主题。目前有三款主题:Sleeky、Infinity Squared 和 Air 666。推荐使用 Sleeky 这款主题。以同样的方法下载 Sleeky 主题 目前版本是 2.5https://github.com/Flynntes/Sleeky/archive/refs/tags/v2.5.0.zip将 Sleeky 主题前段文件夹里的所有文件(frontend 和 index.php)放到网站根目录,将 sleeky-backend 文件夹放入 user/plugins / 目录。然后到插件页,激活主题即可。注意:如果使用的是 PHP 8.1 及以上,将会导致主题无法正常显示。只需要在前端主题文件夹内找到 header.php 文件,删除第 15 行:<?php echo $YOURLS_SITE ?>,保存后,刷新即可。更换主题后,管理员无法登录对/root/yourls/yourls_data/user/plugins/sleeky-backend/plugin.php进行修改,if (yourls_is_valid_user() != 1) {修改为if( defined( 'YOURLS_USER' ) ) {,如下图所示:后端演示:前端演示:部署PrivateBin添加网站&绑定域名上传文件前往github下载PrivateBin最新文件(https://github.com/PrivateBin/PrivateBin),下载完成后上传到网站根目录,解压后顺便授予对应的读写权限。部署&配置PrivateBin上传完成压缩包并解压后就可以通过域名访问PrivateBin,但是此时PrivateBin还是默认的配置,所以还需要修改配置文件,不然有些功能是无法使用。进入PrivateBin对应的文件夹,再进入cfg文件夹,复制"conf.sample.php"这个文件,粘贴到原位置并重命名为"conf.php",然后打开这个文件,编辑配置文件。1.启用讨论如果需要讨论功能,就可以在配置文件中找到"discussion",更改为”true“。如果不需要讨论功能就不用打开;如果还需要讨论的时候显示发言时间,也可以把下面的”discussiondatedisplay“一并打开。2.启用上传文件PrivateBin默认禁止上传文件,但从实用性角度而言本人还是建议启用,在配置文件中找到”fileupload“,更改为”true“。默认上传文件大小限制为10MB,如果需要上传更大文件,可以修改”sizelimit“大小,但是不建议改太大,建议别想不开用这个来传文件,需要上传文件的话可以用第三期搭建的alist来,或者使用其他的方式,而且谁会有很大的文件需要阅后即焚啊。3.配置数据库其实数据库也是可以不用配置的,PrivateBin可以不用数据库,但是吧,这样会把所有内容直接存在本地,而且serv00本来性能就不行,还不如用数据库把相关数据独立出去。在配置文件夹找到”model“项,可以看到有很多配置信息,但是除去第一项都是注释掉了(不生效),在配置mysql之前需要先注释掉原本配置信息,把第一项”model“全部注释掉(注释就是前面加个;符号,或者直接删掉这一项也行)。然后往下拉,在其中一个”model“项中找到“mysql”的内容,先删去注释(删掉前面;符号),然后依次配置数据库地址、名称、用户信息等内容。(可选)4.忽略http错误先说一下,并不建议忽略http错误,默认情况下PrivateBin只会接收https的请求,如果是http请求会报错,serv00配置ssl证书有点麻烦,但是可以用cloudflare来实现https并加速访问,所以忽略这个错误完全没必要,而且使用http访问就摒弃了避免隐私泄漏的宗旨,当然如果就是想用http访问,可以在配置文件中修改“httpwarning”对应内容。缩短链接获取YOURLS 的signature tokenYOURLS关于signature token的介绍是: YOURLS允许使用老方法进行API调用,即使用username和password参数。 如果你担心这有潜在的风险,你也可以不使用你的用户名或密码进行API调用,而使用一个 secret signature token。所以选择signature token是个更安全的选项。获取signature token方法如下:打开你的YOURLS管理界面的网页,点击上方菜单中的工具选项,然后滑到界面底部就能看见安全的API调用一栏,在那里就写着:你的 secret signature token:XXXXX (请保存好,勿泄露)。然后复制XXXXX的内容。修改PrivateBin配置文件- YOURLS内配置首先官方文档内说如果您选择自托管解决方案,您必须启用CORS支持。以Nginx为例,可以通过在YOURLS的Nginx配置文件中设置PHP相关字段的头部来实现,比如宝塔面板内的URL rewrite:location ~ \.php$ { add_header Access-Control-Allow-Origin "https://your.privatebin.domain" always; }- PrivateBin配置进入PrivateBin对应的文件夹,再进入cfg文件夹,然后打开"conf.php"文件,编辑配置文件我们可以在里面找到这样一段配置:; (optional) URL shortener address to offer after a new paste is created. ; It is suggested to only use this with self-hosted shorteners as this will leak ; the pastes encryption key. ; urlshortener = "https://shortener.example.com/api?link="我们要删除urlshortener前面的 ";" 使这个配置生效,然后将引号内的内容改为${basepath}shortenviayourls?link=就像这样:; (optional) URL shortener address to offer after a new paste is created. ; It is suggested to only use this with self-hosted shorteners as this will leak ; the pastes encryption key. urlshortener = "${basepath}shortenviayourls?link="然后翻到配置文件最底部有如下段落:[yourls] ; When using YOURLS as a "urlshortener" config item: ; - By default, "urlshortener" will point to the YOURLS API URL, with or without ; credentials, and will be visible in public on the PrivateBin web page. ; Only use this if you allow short URL creation without credentials. ; - Alternatively, using the parameters in this section ("signature" and ; "apiurl"), "urlshortener" needs to point to the base URL of your PrivateBin ; instance with "shortenviayourls?link=" appended. For example: ; urlshortener = "${basepath}shortenviayourls?link=" ; This URL will in turn call YOURLS on the server side, using the URL from ; "apiurl" and the "access signature" from the "signature" parameters below. ; (optional) the "signature" (access key) issued by YOURLS for the using account ; signature = "" ; (optional) the URL of the YOURLS API, called to shorten a PrivateBin URL ; apiurl = "https://yourls.example.com/yourls-api.php"我们要修改的是最后一段的signature和apiurl,同样的,删除前面的 ";" 然后填入你的signature和apiurlsignature:刚刚我们已经在YOURLS管理面板获取apiurl :https://你的yourls地址/yourls-api.php另外注意[yourls]中的urlshortener,也需要删除前面的 ";",填入下面的值修改后如下:[yourls] ; When using YOURLS as a "urlshortener" config item: ; - By default, "urlshortener" will point to the YOURLS API URL, with or without ; credentials, and will be visible in public on the PrivateBin web page. ; Only use this if you allow short URL creation without credentials. ; - Alternatively, using the parameters in this section ("signature" and ; "apiurl"), "urlshortener" needs to point to the base URL of your PrivateBin ; instance with "shortenviayourls?link=" appended. For example: urlshortener = "${apiurl}?signature=${signature}&action=shorturl&format=json&url=" ; This URL will in turn call YOURLS on the server side, using the URL from ; "apiurl" and the "access signature" from the "signature" parameters below. ; (optional) the "signature" (access key) issued by YOURLS for the using account signature = "XXXXXX" ; (optional) the URL of the YOURLS API, called to shorten a PrivateBin URL apiurl = "https://example.com/yourls-api.php"
2024年09月25日
51 阅读
0 评论
0 点赞