若無單獨說明,按照文章代碼塊中命令的順序,一條一條執行,即可實現目標。
適用系統: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 訂閱,也歡迎留言指正。