若无单独说明,按照文章代码块中命令的顺序,一条一条执行,即可实现目标。
适用系统:Debian 系发行版,包括 Ubuntu 和 Armbian,其他发行版按流程稍改命令一般也可。
走通预计时间:10 分钟(Docker) 或 25 分钟(原生部署)
可以访问这个实例: https://forward.vfly.app/index.php ,试试怎么样,公开使用的网页记事本。
minimalist-web-notepad#
这个网页记事本是我 2 年前玩机子初期的一大驱动力。当时主要从手机上浏览信息,刚转变到在电脑上处理信息,需要一种简便的渠道在两者之间传递文本、网址。
网盘太重,微信需要验证,tg 很好,但在找到这个记事本后,都是乐色,这就是最好的全平台传递文本的工具。
极简网页 记事本,是一个使用浏览器访问的轻量好用的记事本,专注于文本记录。
Github:pereorga/minimalist-web-notepad: Minimalist Web Notepad (github.com)
使用方法:
- 访问网页: https://forward.vfly.app/index.php
- 它会随机分配 5 个字符组成的地址,如 https://forward.vfly.app/5b79m ,如果想指定地址,只需要访问时手动修改,如 https://forward.vfly.app/this_is_a_path 。下面以 5b79m 为例。
- 在上面编辑文本
- 等待一会(几秒,取决于延迟),服务端就会存储网页内容到名为
5b79m
的文件里。 - 关闭网页,如果关闭太快,会来不及保存,丢失编辑。
- 在其他平台再访问同样的网址,就能剪切内容了 ٩۹(๑・̀ω・́ ๑)۶
只要不关闭过快和在两个网页同时编辑,它都能很好地工作。因为极简,项目作者不会考虑增加多余功能。
在远控其他电脑时,用这个先传递命令,在目标电脑上使用,非常方便,而且适应性强。多个手机之间也一样。或者用于临时传送敏感数据,避免受到平台审查。
使用 Docker 安装网页记事本#
GitHub: pereorga/minimalist-web-notepad at docker (github.com)
全复制并执行,一键创建工作目录并开放端口
myserve="webnote"
sudo ufw allow 8088/tcp comment $myserve && sudo ufw reload
cd ~/myserve/
wget https://github.com/pereorga/minimalist-web-notepad/archive/refs/heads/docker.zip
unzip docker.zip && mv minimalist-web-notepad-docker webnote
cd webnote
根据注释自定义,然后执行,一键创建 docker-compose.yml 文件
cat > docker-compose.yml << EOF
---
version: "2.4"
services:
minimalist-web-notepad:
build: .
container_name: webnote
restart: always
ports:
- "8088:80"
volumes:
- ./_tmp:/var/www/html/_tmp
EOF
前面的 5b79m
就存储在 _tmp
中。
构建并启动容器(完成后就可以访问网页了,通过 http://ip_addr_or_domain:8088
访问。将 ip_addr_or_domain
替换为服务器的 IP 或域名)
docker compose up -d
Docker 版很久没更新了,有技术的可以参考下面的原生安装创建镜像。
原生安装网页记事本#
下面以域名 http://forward.vfly.app 为例。
安装 Apache2 和 PHP#
sudo apt update && sudo apt upgrade && \
sudo apt install apache2
# sudo systemctl status apache2 # 检查状态
sudo apt install php libapache2-mod-php
访问 http://YOUR_IP_or_Domain/
可以验证 Apache 是否正常工作,如果能看到欢迎页。
安装 PHP 后,重启 Apache 以加载 PHP module:
sudo systemctl restart apache2
检测 PHP 安装:
sudo bash -c 'echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php'
访问 http://YOUR_IP_or_Domain/phpinfo.php
可以验证 php 是否安装成功。
说个自己的经历。从 porkbun 白嫖的 .app 域名,用来解析这个服务的时候,怎么都打不开,还总是跳 HTTPS ,老半天才知道, .app 和 .net 似乎只能 HTTPS 。
创建目录和下载原文件#
cd /var/www/ && \
sudo git clone https://github.com/pereorga/minimalist-web-notepad.git
# 改名并将目录赋予用户 www-data 以拥有读写权限
sudo mv minimalist-web-notepad webnote
sudo chown -R www-data:www-data /var/www/webnote
修改 $base_url = 'http://forward.vfly.app';
就在第四行,必须修改为访问时的域名,如果后面要加 SSL,这里也要对应修改为 https 。
cd /var/www/webnote && sudo vim index.php
创建虚拟主机#
如果要用 https,跳过这节,直接看下面一节
进入可用虚拟主机目录,复制示例配置文件,并编辑
cd /etc/apache2/sites-available
sudo cp 000-default.conf web-notepad.conf
sudo vim web-notepad.conf
保证有下面的两行即可,记得修改域名和目录。
ServerAdmin <邮箱随意>
ServerName forward.vfly.app
DocumentRoot /var/www/webnote
还要添加下面这部分
<Directory /var/www/webnote>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
启用虚拟主机
sudo a2enmod rewrite # 开启mod_rewrite,
sudo a2ensite web-notepad.conf # 启用虚拟主机
sudo systemctl reload apache2 # 重启apache2生效
这样就可以使用了,浏览器访问:http://YOUR_Domain/index.php
。
SSL#
申请证书时,要使用 root: sudo -i
,实际部署时,记得修改域名。
安装并启用 acme.sh 脚本(/home/skf/.acme.sh/acme.sh)(改邮箱)
apt install -y curl && curl https://get.acme.sh | sh -s [email protected] && cd ~ && source .bashrc
切换证书签发机构
acme.sh --set-default-ca --server letsencrypt
签发证书(改域名)
acme.sh --issue -d forward.vfly.app --apache
安装证书(改域名)
acme.sh --install-cert -d forward.vfly.app \
--cert-file /etc/ssl/certs/forward.vfly.app.cer \
--key-file /etc/ssl/private/forward.vfly.app.key
开启 acme.sh 自动升级
acme.sh --upgrade --auto-upgrade
可以退出 root 用户了。
进入可用虚拟主机目录,复制另一个默认的,并编辑
cd /etc/apache2/sites-available
sudo cp default-ssl.conf ssl-webnote.conf
sudo vim ssl-webnote.conf
保证有下面的两行即可,记得修改域名和目录。
ServerAdmin <邮箱随意>
ServerName forward.vfly.app
DocumentRoot /var/www/webnote
还要添加下面这部分
<Directory /var/www/webnote>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
还有编辑证书位置
SSLCertificateFile /etc/ssl/certs/forward.vfly.app.cer
SSLCertificateKeyFile /etc/ssl/private/forward.vfly.app.key
启用虚拟主机
sudo a2enmod rewrite ssl # 开启mod_rewrite,ssl
sudo a2ensite ssl-webnote.conf # 启用虚拟主机
sudo systemctl reload apache2 # 重启apache2生效
这样就可以使用了,浏览器访问:https://YOUR_Domain/index.php
。
如果出现文本框很小的情况,那是
$base_url
的没从 http 改成 https 。
迁移#
数据都在 /var/www/webnote/_tmp
中,在新机子上重新部署一遍,复制这个目录到新机子上即可。
其他#
如要开启认证访问。 编辑网站根目录下的.htaccess,去掉末尾四行的注释。
cd /var/www/webnote && sudo vim .htaccess
这四行取消注释
# AuthType basic
# AuthName "website.name"
# AuthUserFile "/var/www/webnote/update-path-to.htpasswd" # 这里的路径自定义
# Require valid-user
再创建文件
sudo touch /var/www/webnote/update-path-to.htpasswd
然后添加账户即可(记得改 username,会提示输密码)
sudo htpasswd -c /var/www/webnote/update-path-to.htpasswd username
如要添加第二个,不要加 - c,否则会覆盖第一个
其他类似项目#
浏览器便签#
很不错的项目,简单,虽然项目不更新了,但是功能基本完成。
GitHub: jonathontoon/manifest: An instant grid-based pinboard for note taking in your browser. (github.com)
Hasty Paste#
一个文本粘贴工具,看着不错,有高亮,适合分享代码。
GitHub:enchant97/hasty-paste: A fast and minimal paste bin. (github.com)
原文链接: https://blog.vfly2.com/2023/08/a-minimalist-web-notepad-used-for-two-years/
版权声明:本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 承飞之咎 (blog.vfly2.com) 。
如果你认为我的文章有帮助,欢迎使用 RSS 订阅,也欢迎留言指正。