首页
关于我们
友链链接
壁纸下载
更多
统计中心
热点搜索
图床上传
推荐
剩余价值
磁链清理
Search
1
[Win DD包] wes7-x86-cn-精简,安装后仅占用1.55G存储空间
25,511 阅读
2
保姆级教程!甲骨文ARM DD成Debian10并升级内核成5.10
6,209 阅读
3
v2rayN基础使用教程、配置说明、添加订阅、路由选择
5,515 阅读
4
N1教程:Openwrt安装docker webui界面(基于flippy openwrt n1固件)
5,237 阅读
5
ZFAKA小店Docker版之 数据的备份和迁移
5,091 阅读
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
登录
Search
标签搜索
vps
typecho
linux
bench
mysql
cloudflare
nginx
lnmp
ssl
empirecms
openwrt
centos
google
docker
n1
301
qbittorrent
telegram
free
onedrive
V+变量
累计撰写
278
篇文章
累计收到
215
条评论
首页
栏目
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
页面
关于我们
友链链接
壁纸下载
统计中心
热点搜索
图床上传
推荐
剩余价值
磁链清理
搜索到
90
篇与
的结果
2024-12-20
MJJ 提醒工具 —— 不再错过续费、定期激活和抢购
0 前言相信很多MJJ和我一样,因为平时没时间关注鸡圈,导致经常错过一些关键的时间节点,比如传家宝的续费,黑五抢购,一些限时的优惠,因此,我开发了这一款MJJ提醒工具,无需服务器,还是薅我们的赛博活佛——cloudflare的羊毛,为了避免网站沉寂不工作,我们使用监控工具 cron-job.org Console 进行定时触发。灵感来自 woniu336大佬 的已有项目 MJJ订阅追踪,但是大佬的项目提醒和部署在服务器上不适合我,所以自建了一个1 正文下面就开始搭建吧1) 准备工具Cloudflare 账号Cloudflare PagesCloudflare D1 数据库Telegram Bot Token 和 Chat ID企业微信 Webhook 地址2) 数据库在 Cloudflare Workers 中创建 D1 数据库,然后在控制台执行查询命令:CREATE TABLE reminders ( id TEXT PRIMARY KEY, title TEXT NOT NULL, content TEXT NOT NULL, remind_time TEXT NOT NULL, cycle_type TEXT NOT NULL, status INTEGER DEFAULT 0, link TEXT, cron_job_id INTEGER, created_at TEXT );3) 部署步骤注册并且获取cron-job.org Console的api key只能创建一个,但是可以随时修改4) fork项目1143520/ deadline 或者下载源码,git上传在 Cloudflare Pages 中创建 pages 新项目连接您的 Git 仓库(GitHub、GitLab 等)在 Pages 项目设置中:绑定 D1 数据库,设置变量为DB配置环境变量(见环境变量配置部分)CRON_SECRET: 定时任务的访问密钥(根据个人喜好设置)CRONJOB_API_KEY: cron-job.org 的 API KEYTG_BOT_TOKEN: Telegram Bot Token(推送到tg机器人)(这个应该都会吧)TG_CHAT_ID: Telegram Chat IDWECOM_KEY: 企业微信 Webhook 地址(完整的url,推送到微信企业机器人,可选)(这个也可以网上找教程)5) 设置完成后重试部署使用
2024年12月20日
21 阅读
0 评论
0 点赞
2024-12-18
获取Telegram私人电报频道的ID的两种办法
今天加了一个自动通知微博更新的Telegram机器人,由于需要发送到我的私人群组,但是找不到私人频道的ID,始终发送失败,试过很多方式全都不能获取到正确的ID最后在Github上发现了正确使用方法解决方案在这里: https://github.com/GabrielRF/telegram-id#web-channel-id解决方案如下在网页版Telegram的帐户下登录:https://web.telegram.org点击你的私人的频道。这是浏览器的网址会发生变化,变成这样https://web.telegram.org/#/im?p=c1055587116_11052224402541910257从浏览器地址栏获取 1055587116 ,并添加 -100 作为前缀。所以,你的频道ID是 -1001055587116后来又发现一个更加简便的方法添加机器人 @get_id_bot 到你的频道,正常情况他会自动发言告诉你频道ID如果没有发言,可以在群组内输入 /my_id@get_id_bot 获取ID
2024年12月18日
93 阅读
1 评论
0 点赞
2024-12-17
来尝试无限容量,可以webdav挂载的teldrive吧!
0 前言两个月前偶然间看到telegram团队做了一个网盘叫teldrive,据说是可以无限存储的网盘,且可以webdav挂载到本地,于是部署到了服务器上,但当时没有写博客记录,最近空闲了决定补一下博客。1 teldrive介绍teldrive仓库地址 teldrive是一个通过telegram账号登陆后存储到私人账户空间的一个网盘空间,类似于google drive和onedrive特点如下数据很安全,官方保证存储数据不会丢失可以webdav挂载到本地无限容量上传下载速度取决于你的服务器链接至telgram服务器的速度缺点是无法直链共享,共享需要走自己的服务器流量这里可以看到这个url指向本地ip,需要公网环境才可以共享2 部署teldrive根据teldrive官方仓库的指引即可本文采取docker-compose部署的方式填写配置信息首先创建并填写config.toml创建config,根据提示填写数据库地址,secret即可数据库地址比较容易理解,secret则是可以通过openssl rand -hex 64生成,或者通过官方的vercel app链接一键获取这里可能会比较疑惑的是app-id和app-hash其实app-id和app-hash是telegram的api相关密钥telegram 获取api密钥根据英文指引即可获得,这里不再赘述特别提示:如果你部署在国内本地服务器,那你需要在[tg]下添加proxy选项最终我的配置是这样的[db] data-source = "postgres://postgres:xxx@postgres_db:5432/teldrive" [jwt] secret = "xxxxxxx" [tg] app-id = "xxxx" app-hash = "xxxxxxxxxxxxxxxxxxxxxxxx" proxy = "http://192.168.50.171:10809"填写docker-compose我的docker-compose.yml经供参考在同一文件夹下创建docker-compose.ymlvim docker-compose.yml填入如下内容services: teldrive: image: ghcr.io/tgdrive/teldrive restart: always container_name: teldrive ports: - '8080:8080' volumes: - ./config.toml:/config.toml - ./session.db:/session.db networks: - teldrive postgres_db: image: ghcr.io/tgdrive/postgres:17-alpine container_name: postgres_db restart: always networks: - teldrive environment: - POSTGRES_PASSWORD=xxxxxxxxx - POSTGRES_DB=teldrive volumes: - postgres-data:/var/lib/postgresql/data volumes: postgres-data: networks: teldrive: external: true注意这里POSTGRES_DB和POSTGRES_PASSWORD环境信息需要修改为同刚才config.toml相同的配置,如我的配置[db]data-source = "postgres://postgres:xxx@postgres_db:5432/teldrive"这里postgres://代表协议对接postgresql数据库冒号前则是用户名冒号后面的xxx则是密码@后面就是访问终结点,postgres_db,可以看作是ip5432则是端口,这里是默认没有改/teldrive代表访问的数据库是teldrive其实就是数据库的标准url访问i形式://:@:<port(optional)>/<database_name>顺带一提halo博客用的springboot,链接mysql的话也一个格式mysql://twoonefour:
[email protected]
/halo题外话扯远了,配置完docker-compose.yml后,这里还需要一个session.db文件,创建一下就可以开启容器了touch session.dbdocker-compose up -d之后可以尝试访问http://localhost:8080对接rclone使用webdavrclone是一个开源的用于挂载盘到本地的一个开源软件github仓库地址但这里teldrive是不能使用开源的rclone的,坑死我了teldrive需要使用telegram团队魔改的版本需要使用魔改版本需要使用魔改版本魔改teldrive 仓库地址直接从release下载下来即可使用下载完以后创建文件配置,位于~/.config/rclone/rclone.conf[teldrive]type = teldriveapi_host = http://localhost:8080 # default hostaccess_token = #session token obtained from cookieschunk_size = 500Mupload_concurrency = 4encrypt_files = false # Enable this to encrypt files make sure encryption key is not empty in teldrive config file.random_chunk_name= true # Use random chunk names when uploading files to channel instead of original filename.需要动脑筋的是access_token,在teldrive登陆以后,在控制台cookie中获取user-session就是access_tokenuser-session就是access_token复制这个值填上就可以了其他的根据需要填写填完以后就可以运行了,我的命令示例如下rclone mount teldrive:/ /volume3 \--vfs-cache-mode full \--vfs-cache-max-age 72h \--vfs-cache-poll-interval 5m \--vfs-cache-max-size 15G \--dir-cache-time 200h \--cache-dir /opt/rclonecache这里我是挂载到/volume3下的其他参数请看文档rclone文档自动挂载请参照官方文档自动挂载 rclone-as-unix-mount-helper我这里给出我的方案,我是使用的systemdvim /usr/lib/systemd/system/rclone.service填入以下内容[Unit]Description=Rclone webdavAfter=network.target[Service]User=rootNice=1RestartSec=5Restart=alwaysSuccessExitStatus=0 1ExecStart=rclone mount teldrive:/ /volume3 --vfs-cache-mode full --vfs-cache-max-age 72h --vfs-cache-poll-interval 5m --vfs-cache-max-size 15G --dir-cache-time 200h --cache-dir /opt/rclonecache[Install]WantedBy=multi-user.target接着素质二连即可启动systemctl daemon-reloadsystemctl start rclone之后就能同普通文件夹一样,访问/volume3就是访问远程,使用cp命令,mv命令都可以,看你的脑洞要如何运用了顺带一提我的nas就是整个备份到了teldrive里,可以看到我已经用了1T空间了.原文地址 原文地址 至此搭建结束,enjoy
2024年12月17日
129 阅读
0 评论
0 点赞
2024-12-15
PY的vps成本管理器简单代码
一直以来,本人有个痛点,就是手持太多vps。有月付的,年付的,半年的,季付的。 各种结算货币。完全无统一标准。导致财务管理困难。所以就诞生了这个工具简单易用,只需要把如下代码保存到任意.py文件并且在cmd运行即可。python xx.py程序会自动在相同目录创建vps_cost_config.json文件用作数据存储。感谢:chatgptimport tkinter as tk from tkinter import messagebox, ttk # 引入 ttk 组件,界面更美观 import json # =============== 配置文件相关 =============== CONFIG_FILE_PATH = "vps_cost_config.json" default_exchange_rates = {'USD': 1, 'CNY': 7.1, 'EUR': 0.85} def load_config(): try: with open(CONFIG_FILE_PATH, 'r') as file: return json.load(file) except FileNotFoundError: return {'exchange_rates': default_exchange_rates, 'vps_list': []} def save_config(config): with open(CONFIG_FILE_PATH, 'w') as file: json.dump(config, file, indent=4) # =============== 功能函数 =============== def update_exchange_rates(): try: exchange_rates = {currency: float(var.get()) for currency, var in currency_rate_vars.items()} config['exchange_rates'] = exchange_rates save_config(config) update_vps_list() update_monthly_costs() messagebox.showinfo("成功", "汇率已更新并保存。") except ValueError: messagebox.showerror("错误", "请输入有效的数字汇率。") def add_vps(): try: name = vps_name_var.get() amount = float(amount_var.get()) vps = { 'name': name, 'payment_cycle': payment_cycle_var.get(), 'amount': amount, 'currency': currency_var.get() } config['vps_list'].append(vps) save_config(config) update_vps_list() clear_vps_fields() update_monthly_costs() except ValueError: messagebox.showerror("错误", "请输入有效的费用。") def delete_vps(): selected = vps_listbox.curselection() if not selected: messagebox.showerror("错误", "请选择一个 VPS 项目删除。") return selected_name = vps_listbox.get(selected).split(' ')[0] config['vps_list'] = [v for v in config['vps_list'] if v['name'] != selected_name] save_config(config) update_vps_list() update_monthly_costs() def update_vps_list(): vps_listbox.delete(0, tk.END) for vps in config['vps_list']: vps_listbox.insert(tk.END, f"{vps['name']} ({vps['payment_cycle']}) - {vps['amount']} {vps['currency']}") def update_monthly_costs(): monthly_costs, total_cost = calculate_monthly_cost(config['vps_list'], config['exchange_rates']) monthly_cost_display.config(state="normal") monthly_cost_display.delete("1.0", tk.END) max_name_length = max(len(name) for name in monthly_costs.keys()) # 获取最长名字长度 separator = '-' * 40 # 分隔符 for name, cost in monthly_costs.items(): # 价格右对齐,名字用固定宽度 formatted_line = f"{name.ljust(max_name_length)} | {str(cost).rjust(8)} CNY\n" monthly_cost_display.insert(tk.END, formatted_line) monthly_cost_display.insert(tk.END, f"{separator}\n") monthly_cost_display.insert(tk.END, f"{'月度总成本'.ljust(max_name_length)} | {str(total_cost).rjust(8)} CNY") monthly_cost_display.config(state="disabled") def calculate_monthly_cost(vps_list, rates): total_cost = 0.0 costs = {} for vps in vps_list: amount = vps['amount'] / {'annual': 12, 'semi-annual': 6, 'quarterly': 3, 'monthly': 1}[vps['payment_cycle']] cost = round(amount * rates.get(vps['currency'], 1), 2) costs[vps['name']] = cost total_cost += cost return costs, round(total_cost, 2) def clear_vps_fields(): vps_name_var.set("") amount_var.set("") payment_cycle_var.set("annual") currency_var.set("USD") # =============== 主窗口与布局 =============== root = tk.Tk() root.title("VPS 成本管理") root.geometry("900x600") # 窗口大小 config = load_config() # =========== 左侧:汇率设置 =========== left_frame = tk.LabelFrame(root, text="汇率设置", padx=10, pady=10) left_frame.pack(fill="y", side="left", padx=10, pady=10) currency_rate_vars = {} for idx, (currency, rate) in enumerate(config['exchange_rates'].items()): tk.Label(left_frame, text=f"{currency} 汇率:").grid(row=idx, column=0, sticky="e", pady=5) rate_var = tk.StringVar(value=str(rate)) currency_rate_vars[currency] = rate_var tk.Entry(left_frame, textvariable=rate_var, width=10).grid(row=idx, column=1, pady=5) tk.Button(left_frame, text="更新汇率", command=update_exchange_rates).grid(columnspan=2, pady=10) # =========== 中间:VPS 管理 =========== middle_frame = tk.LabelFrame(root, text="VPS 管理", padx=10, pady=10) middle_frame.pack(fill="both", expand=True, side="left", padx=10, pady=10) vps_name_var, amount_var = tk.StringVar(), tk.StringVar() payment_cycle_var, currency_var = tk.StringVar(value="annual"), tk.StringVar(value="USD") # 输入框 tk.Label(middle_frame, text="名称:").grid(row=0, column=0, sticky="e") tk.Entry(middle_frame, textvariable=vps_name_var).grid(row=0, column=1, pady=5) tk.Label(middle_frame, text="费用:").grid(row=1, column=0, sticky="e") tk.Entry(middle_frame, textvariable=amount_var).grid(row=1, column=1, pady=5) tk.Label(middle_frame, text="周期:").grid(row=2, column=0, sticky="e") ttk.Combobox(middle_frame, textvariable=payment_cycle_var, values=["annual", "semi-annual", "quarterly", "monthly"]).grid(row=2, column=1) tk.Label(middle_frame, text="货币:").grid(row=3, column=0, sticky="e") ttk.Combobox(middle_frame, textvariable=currency_var, values=["USD", "CNY", "EUR"]).grid(row=3, column=1) tk.Button(middle_frame, text="添加 VPS", command=add_vps).grid(columnspan=2, pady=10) # 列表框 vps_listbox = tk.Listbox(middle_frame, width=45, height=15) vps_listbox.grid(row=5, columnspan=2, pady=10) tk.Button(middle_frame, text="删除选中", command=delete_vps).grid(columnspan=2, pady=5) # =========== 右侧:成本展示 =========== right_frame = tk.LabelFrame(root, text="每月成本", padx=10, pady=10) right_frame.pack(fill="y", side="right", padx=10, pady=10) monthly_cost_display = tk.Text(right_frame, width=42, height=40, state="disabled") monthly_cost_display.pack() # 初始化显示 update_vps_list() update_monthly_costs() root.mainloop()
2024年12月15日
20 阅读
0 评论
0 点赞
2024-12-04
Centos安装PT下载工具系列——qBittorrent
一.介绍如果问起在Windows上用什么软件下载BT或是PT,那么我觉得可能大部分人都会说是uTorrent,简单易用速度还快,这就是uTorrent受欢迎的原因,但是,在Linux平台上的uTorrent就不是这么回事了。所以qBittorrent打出了uTorrent替代品的旗号,虽然可能还有很远的路要走,但是它确实有不少可取之处。二.安装qBittorrent在Linux上有GUI模式以及WebGUI模式,我肯定是选择后者的,毕竟服务器大多不装界面,节省资源。下面就来说一下怎么装1.还是先得装libtorrent,这个是rasterbar版本,之前deluge我是懒得装了,这儿没办法,还得装,研究了下,真的是神坑,我从下午研究到了晚上才把这堆坑全填了,网上教程要么太老,要么全是ubuntu的,简直感人肺腑,甚至我这部分的教程写了删删了写来来回回好几次。yum groupinstall 'Development Tools' -y yum install centos-release-scl -y yum install openssl-devel qt5-qtbase-devel qt5-linguist devtoolset-3-toolchain -y yum remove boost* -y wget -O /etc/yum.repos.d/enetres.repo http://repo.enetres.net/enetres.repo sed -i "s/^enabled = 1/enabled = 0/g" /etc/yum.repos.d/enetres.repo yum install --enablerepo=enetres boost-devel scl enable devtoolset-3 bash cd /opt/ wget https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_1_4/libtorrent-rasterbar-1.1.4.tar.gz tar xzf libtorrent-rasterbar-1.1.4.tar.gz cd libtorrent-rasterbar-1.1.4 CXXFLAGS="-std=c++11" ./configure --disable-debug --prefix=/usr make && make install ln -s /usr/lib/pkgconfig/libtorrent-rasterbar.pc /usr/lib64/pkgconfig/libtorrent-rasterbar.pc ln -s /usr/lib/libtorrent-rasterbar.so.9 /usr/lib64/libtorrent-rasterbar.so.9...PS.吐槽时间boost这边是坑之一,自己编译各种出问题,所以我翻来翻去找到了这个源,能直接用真好c++11也是坑之一,因为libtorrent的某个参数是GCC新版本的,相对老版本改了名字,所以老版本要改动才能用,但是老版本GCC在qBittorrent那边出问题了,所以索性从头就用高版本GCC。但是!!!因为默认没添加这个参数,会导致qBittorrent那边最后link错误,找了半天才找到这个解决办法反正我坑全踩了,你们直接复制粘贴就能跑通参考:①. https://github.com/qbittorrent/qBittorrent/issues/5265②. https://ermahgerdlernux.wordpress.com/2015/07/20/installing-qbittorrent-on-centos-6-6-64bit/2.现在可以开始装qBittorrent了,请务必保持在高版本GCC的环境中,如果退出了请重新运行上面的scl命令cd /opt/ wget -O qBittorrent-release-3.3.11.tar.gz https://github.com/qbittorrent/qBittorrent/archive/release-3.3.11.tar.gz tar xzf qBittorrent-release-3.3.11.tar.gz cd qBittorrent-release-3.3.11 ./configure --prefix=/usr --disable-gui gmake && make install...不出意外的话这儿就没问题了,然后你会得到qbittorrent-nox下面我们加个启动脚本方便运行管理cat >/etc/init.d/qbittorrent<<'EOF' #!/bin/sh # # chkconfig: - 80 20 # description: qBittorrent headless torrent server # processname: qbittorrent-nox # # Source function library. . /etc/init.d/functions QBT_USER="qbittorrent" QBT_LOG="/var/log/qbittorrent.log" prog=qbittorrent-nox args="" RETVAL=0 start() { if [ -x /etc/rc.d/init.d/functions ]; then daemon --user $QBT_USER $prog $args else su - $QBT_USER -c "$prog $args" > /var/log/qbittorrent.log & fi echo -n $"Starting qBittorrent: " RETVAL=$? [ $RETVAL = 0 ] && success || failure echo return $RETVAL } status() { qbstatus=`ps ax|grep $prog|grep -v grep` if [ "$qbstatus" = "" ]; then echo "qBittorrent is stopped !" else echo "qBittorrent is running !" fi } stop() { echo -n $"Stopping qBittorrent: " killall qbittorrent-nox success echo } case "$1" in start) start ;; stop) stop ;; status) status ;; restart|reload) stop sleep 2 start ;; *) echo "Usage: $0 {start|status|stop|restart|reload}" exit 1 esac exit $RETVAL EOF chmod +x /etc/init.d/qbittorrent chkconfig --add qbittorrent chkconfig qbittorrent on groupadd qbittorrent useradd qbittorrent -g qbittorrent...然后你就能直接运行了访问http://IP:8080/ 就能看到WebGUI了默认用户名是admin,密码是adminadmin如果要修改端口请在上方启动脚本中的args后面添加--webui-port=XXXX
2024年12月04日
37 阅读
0 评论
0 点赞
2024-12-04
如何挂PT和BT: Ubuntu安装qBittorrent webui (qbittorrent-nox)
1.添加源sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable sudo apt update2.安装成功添加源后,更新包的信息,再安装qBittorrent webui:sudo apt install qbittorrent-nox3.启动成功安装后,输入以下命令启动软件:qbittorrent-nox启动后,在浏览器中输入http://ip地址:8080,即可打开qBittorrent的网页端。默认的用户名是admin,默认密码为adminadmin。如果要使用其他端口,只需在启动命令中加入--webui-port=XXXX参数,其中XXXX为端口号:qbittorrent-nox --webui-port=XXXX4.设置开机自启动在 /etc/systemd/system 下,新建文件 qbittorrent-nox.service ,vim /etc/systemd/system/qbittorrent-nox.service内容如下[Unit] Description=qBittorrent-nox After=network.target [Service] User=root Type=forking RemainAfterExit=yes ExecStart=/usr/bin/qbittorrent-nox -d [Install] WantedBy=multi-user.target再执行以下命令:systemctl enable qbittorrent-nox下一次开机时会自动启动qbittorent。如果要手动开启、停止和重启,参考以下命令:sudo service qbittorrent-nox start sudo service qbittorrent-nox stop sudo service qbittorrent-nox restart配置QBittorrent webui的配置文件qBittorrent.conf在~/.config/qBittorrent/文件夹中。更多命令启动 qbittorrent-nox 后台启动 qbittorrent-nox -d 查看版本 qbittorrent-nox -v 获得帮助 qbittorrent-nox -h
2024年12月04日
65 阅读
0 评论
0 点赞
2024-12-04
Linux开启bbr的第2种方法
1.修改系统变量echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf2.保存生效sysctl -p3.查看内核是否已开启BBRsysctl net.ipv4.tcp_available_congestion_control4.显示以下即已开启:# sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_congestion_control = bbr5.查看BBR是否启动lsmod | grep bbr6.显示以下即启动成功:# lsmod | grep bbr tcp_bbr 20480 14
2024年12月04日
53 阅读
1 评论
0 点赞
2024-12-04
一键给国外vps开启bbr
tcp bbr是Google开源的一种拥塞控制算法,用于优化网络传输过程中的拥塞控制和带宽利用,其原理是……是不是看的有点儿懵,简单说bbr就是优化一下你的vps的网络情况,减少延迟、提高带宽利用率和增强网络稳定性.。现在基本上入手了国外vps之后都会先开启个bbr,以获得更好的体验,那么,该如何为自己的国外vps开启bbr呢?给国外vps开启bbr总共分几步,分三步。第一步,通过SSH或者vnc等等使用root账户登录你的vps,第二步,输入一键开启bbr命令,第三步,检查一下是否开启成功。这里介绍到的一键开启bbr的脚本来自秋水大佬,可以根据你vps的情况,直接一键开启bbr功能,或者更换最新内核后开启bbr功能。命令如下:wget --no-check-certificate -O /opt/bbr.sh https://github.com/teddysun/across/raw/master/bbr.sh chmod 755 /opt/bbr.sh /opt/bbr.sh...检测一下是否开启成功,执行以下命令: sysctl net.ipv4.tcp_available_congestion_control 返回值为以下结果则说明开启成功:net.ipv4.tcp_available_congestion_control = bbr cubic reno 或者 net.ipv4.tcp_available_congestion_control = reno cubic bbr...
2024年12月04日
25 阅读
0 评论
0 点赞
2024-12-04
一键安装V2FLY大佬的V2ray脚本
该脚本安装的文件符合 Filesystem Hierarchy Standard (FHS):installed: /usr/local/bin/v2rayinstalled: /usr/local/bin/v2ctlinstalled: /usr/local/share/v2ray/geoip.datinstalled: /usr/local/share/v2ray/geosite.datinstalled: /usr/local/etc/v2ray/config.jsoninstalled: /var/log/v2ray/installed: /var/log/v2ray/access.loginstalled: /var/log/v2ray/error.loginstalled: /etc/systemd/system/v2ray.serviceinstalled: /etc/systemd/system/
[email protected]
重要提示不推荐在 docker 中使用本项目安装 v2ray,请直接使用 官方镜像。如果官方镜像不能满足您自定义安装的需要,请以复刻并修改上游 dockerfile 的方式来实现。Bash script for installing V2Ray in operating systems such as Debian / CentOS / Fedora / openSUSE that support systemd本项目不会为您自动生成配置文件;只解决用户安装阶段遇到的问题。其他问题在这里是无法得到帮助的。请在安装完成后参阅 文档 了解配置文件语法,并自己完成适合自己的配置文件。过程中可参阅社区贡献的 配置文件模板(提请您注意这些模板复制下来以后是需要您自己修改调整的,不能直接使用)使用该脚本在运行时会提供 info 和 error 等信息,请仔细阅读。安装和更新 V2Ray// 安装可执行文件和 .dat 数据文件bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)安装最新发行的 geoip.dat 和 geosite.dat// 只更新 .dat 数据文件bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-dat-release.sh)移除 V2Raybash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) --remove配置文件案例:{ "inbounds": [ { "port": 10086, // 服务器监听端口 "protocol": "vmess", "settings": { "clients": [ { "id": "b831381d-6324-4d53-ad4f-8cda48b30811" } ] } } ], "outbounds": [ { "protocol": "freedom" } ] }...命令重启服务 systemctl restart v2ray.service 停止服务 systemctl stop v2ray.service 启动服务 systemctl start v2ray.service ...项目地址:https://github.com/v2fly/fhs-install-v2ray/
2024年12月04日
52 阅读
0 评论
0 点赞
2024-12-02
xray REALITY协议一键安装脚本
xray REALITY install scriptxray REALITY协议一键安装脚本(2024-11-23)。特点开源安全可审查。一键安装REALITY协议。支持一键卸载。支持一键更换uuid【如果旧的uuid泄露了】。支持一键重启xray。支持xray降级运行【降级为普通用户运行xray-core】。脚本简单易理解。脚本仅从官方下载xray,不依赖任何第三方,安全可靠。最新without being stolen(2024-11-9)科技。单用户运行。支持x86_64位,x86_32位,arm64架构功能介绍 集成快捷指令Command【xray.start, xray.stop, xray.restart, xray.chuuid, xray.delxray】 单用户使用 支持sni-filter模式,阻止指向cdn后被偷跑流量(X64)。 其他协议支持软件安装注意,脚本构造简单。只支持REALITY协议,不支持其他协议一键安装 wget -N https://raw.githubusercontents.com/oldfriendme/xrayREALITY/main/xrayREALITY.sh && bash xrayREALITY.sh 快捷指令操作在安装完后,可使用下列指令快速操作xray.start #启动xrayxray.stop #停止xrayxray.restart #重启xrayxray.chuuid #重新生成uuidxray.delxray #彻底删除xray内核及脚本xray.help #帮助注意事项Important如果你的机器是双栈IP或者其他多IP,IP地址应该替换为实际入口IP如IPv6为2001:4860:1234::8888,生成的订阅为:vless://uuid@[2001:4860::8888]:443?encryption=none&security=reality&sni=...但是入口为IPv4:1.1.8.8应该改为vless://
[email protected]
:443?encryption=none&security=reality&sni=...
2024年12月02日
101 阅读
0 评论
0 点赞
1
...
6
7
8
9