说明:一般用海外服务器的都会遇到线路爆炸,网络不好的情况,导致我们用55R
等软件的效果很差,这时候就可以用端口转发来改善这种情况,常见的转发有rinetd
、Haproxy
、iptables
、socat
,前面2
种只能转发TCP
,后面TCP
/UDP
都可以转发,如果用来玩游戏的话就需要转发UDP
了,博主就写了个Socat
一键安装脚本,这里分享下。
安装
系统要求:支持CentOS 6+
、Debian 7+
、Ubuntu 14+
。
脚本说明:脚本默认开启UDP
、TCP
转发,带开机自启功能,且一次只能转发单个端口,如果想转发多个端口请重复运行本脚本。
提示:该脚本在Vultr
各个系统均测试通过,包括最新的Ubuntu 18.04
,如果有其它问题可以留言。
使用root
运行以下命令:
wget https://www.southcat.net/usr/shell/socat.sh && bash socat.sh
按要求输入以下信息:
#如果你要用本地服务器的3333端口转发IP为1.1.1.1服务器的6666端口,那就依次填入指定参数。
请输入本地端口:3333
请输入远程端口:6666
请输入远程IP:1.1.1.1
原创文章,作者:南猫,如若转载,请注明出处:https://southcat.net/2094/
不妨点个广告再走嘛
相关推荐
-
Parkomat:Linux下自建WebDav+DNS+Web服务器教程
简介 Parkomat.io,是一个Linux下创建DNS+Web+WebDav的脚本。当您有很多域名并且通过典型的托管面板进行管理变得太复杂时,Parkomat很有用。下面是创建WebDav服务器过程,DNS和web为同样配置文件。 特征 DNS服务器带有全部功能 具有SSL支持的Web服务器(可以在一个IP上运行许多证书) WebDav可轻松上传文件到网页 Github地址:https://github.com/parkomat/parkomat 安装 本安装在Centos 7下测试成功。1、安装Go 1.8.3下载并安装Go wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz --no-check-certificate tar zxvf go1.8.3.linux-amd64.tar.gz mv go /usr/local/ 添加环境变量 vi /etc/profile 添加如下内容: export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/go 使配置生效: source /etc/profile 查看Go是否安装成功 go version 2、安装parkomat go get github.com/parkomat/parkomat 配置文件config.toml(/your/parkomat/directory,其中your为放置文件的根目录)(127.0.0.1改为自己的服务器IP) # if you set it to true, Parkomat will serve any domain pointing at it catch_all = true [[domains]] name = "example.domain" [[domains]] name = "parkomat.io" # supports per domain zone settings [domains.zone] A = "192.168.0.1" MX = """ 1 better.mail.server """ TXT = """ hello world """ # each domain...
-
PassWord:一个简单的记录和管理多个账号密码的工具
说明:我们有时候在很多网站都有账号,而且单个网站就有不少,这时候就很容易忘记了,而且有时候密码都喜欢搞一样,这样是很不安全的,这里就分享个很简单的工具,由吾爱的cc20911制作。可以记录和管理你的账号和密码,而且还支持生成很复杂的密码功能。 简介 该工具功能简单,不花哨,单文件绿色,不写注册表,不生成配置文件,只会生成一个密码存储的文件(没有加密)。而且没有联网功能,也就是说不存在后门。 截图 功能 简单的记录帐号密码,及使用的网站地址。 双击列表即调用默认浏览器打开所用的网站地址。 密码生成功能:可以生成最多64位(字母数字特殊字符)密码(如果需要,请把结构体体积改大,可以生成更多位)。
-
手撕包菜SSBC改进版之一键部署开心版
说明:之前发过一篇SSBC安装教程:手撕包菜SSBC DHT磁力链一键安装包,虽然步骤挺简单的,不过也会有人不知道怎么安装,而前天发现loc有大佬制作了一键脚本,挺方便的,这里就说下。 背景 原来论坛大佬对ssbc做了改进,具体是黑名单不入库,自动重启等。我只是整理了下,感谢论坛那个大佬。 安装 要求:centos, root权限。 wget --no-check-certificate https://raw.githubusercontent.com/banwagong-news/scripts/master/ssbc-setup.sh && bash ssbc-setup.sh 常见问题及具体说明请看:手撕包菜SSBC DHT磁力链一键安装包。 相关内容请看:很好用的DHT磁力链接搜索引擎快速安装方法。
-
Linux CentOS升级Python 3.6版本方法
说明:现在很多软件安装也要求Python 3以上,而Python在CentOS 6默认是2.6版本,CentOS 7是2.7版本,所以我们需要手动升级Python版本来达到软件编译的最低要求。 方法 这里以CentOS 6为例。1、安装环境 yum -y groupinstall development zlib zlib-devel 2、下载并安装python3.6 wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz tar xJf Python-3.6.0.tar.xz cd Python-3.6.0 ./configure make make install 注意:如果因为系统原因make install时出现zipimport.ZipImportError: can't decompress data错误,请先执行 yum -y install zlib*后再安装。 3、检查是否成功 which python3 python3 -V 4、创建软链接 cd /usr/bin mv python python.backup ln -s /usr/local/bin/python3 /usr/bin/python 5、重启,查看当前的python版本 python -V
-
使用Aria2下载BT磁力的时候,速度慢或者没速度的解决方法
说明:很多人使用Aria2下载BT的时候,都会遇到某些种子没有速度,或者速度很慢的问题。其实对于这个问题,之前在博客就已经提到过了,只需要添加BT Tracker服务器就可以解决了,只是没说具体方法,这里就说详细点。 方法 BT Tracker服务器地址获取方法参考:分享一些BT Tracker服务器地址。进入BT Tracker服务器Github获取最新地址,十几个就可以了,然后修改Aria2配置文件aria2.conf,文件地址一般安装教程都有说明,然后添加如下代码: bt-tracker=BT服务器(多个服务器之间用,分开) #例如 bt-tracker=udp://tracker.leechers-paradise.org:6969/announce,udp://tracker.pirateparty.gr:6969/announce,udp://tracker.cuntflaps.me:6969/announce
-
快速清理Docker垃圾文件,释放硬盘空间
说明:我们在使用一段时间的Docker后,会发现堆积了大量无用的垃圾文件,比如停止的容器,限制不要的镜像,杂乱的存储,这时候我们就需要经常清理,让Docker环境如同初装一样纯净。 方法 1、此命令会清空所有的Docker文件 docker kill $(docker ps -aq) docker rm $(docker ps -aq) docker rmi $(docker images -q) docker volume rm $(docker volume ls -q) docker rm $(docker ps -aq) docker rmi $(docker images -q) docker volume rm $(docker volume ls -q)
-
使用Caddy申请免费的Let’s Encrypt泛域名SSL证书
说明:之前看到有人问了下Caddy怎么申请Let’s Encrypt泛域名SSL证书,就翻了下官方文档了解下,发现比用Nginx申请的过程简单很多,这里就发下方法。如果有人需要Nginx申请的方法,可以看下博主很久前发过的Nginx申请教程→传送门。 说明 Caddy支持以下DNS服务商,所以需要提前将你的域名DNS服务器转移到指定服务商。 cloudflare、cloudxns、dnspod、gandi/gandiv5、godaddy、namecheap、vultr、googlecloud、auroradns、azure、 digitalocean、dnsimple、dnsmadeeasy、dyn、lightsail、linode、ns1、namedotcom、ovh、otc、pdns、rackspace、rfc2136、route53 申请 由于博主的域名DNS都在CloudFlare,所以下面以CF为例。 1、安装Caddy curl https://getcaddy.com | bash -s personal tls.dns.cloudflare 后面的tls.dns.cloudflare为cloudflare的插件,如果你是其它DNS服务商就需要替换下插件参数,比如: tls.dns.auroradns tls.dns.azure tls.dns.cloudflare tls.dns.cloudxns tls.dns.digitalocean tls.dns.dnsimple tls.dns.dnsmadeeasy tls.dns.dnspod tls.dns.dyn tls.dns.exoscale tls.dns.gandi tls.dns.gandiv5 tls.dns.godaddy tls.dns.googlecloud tls.dns.lightsail tls.dns.linode tls.dns.namecheap tls.dns.ns1 tls.dns.otc tls.dns.ovh tls.dns.powerdns tls.dns.rackspace tls.dns.rfc2136 tls.dns.route53i tls.dns.vultr 2、设置环境变量以下为Caddy申请通配符时所需要的DNS服务商的环境变量。 #Aurora DNS by PCExtreme AURORA_USER_ID AURORA_KEY AURORA_ENDPOINT(optional) #Azure DNS AZURE_CLIENT_ID AZURE_CLIENT_SECRET AZURE_SUBSCRIPTION_ID AZURE_TENANT_ID #Cloudflare CLOUDFLARE_EMAIL CLOUDFLARE_API_KEY #CloudXNS CLOUDXNS_API_KEY CLOUDXNS_SECRET_KEY #DigitalOcean DO_AUTH_TOKEN #DNSimple DNSIMPLE_EMAIL DNSIMPLE_OAUTH_TOKEN #DNS Made Easy DNSMADEEASY_API_KEY DNSMADEEASY_API_SECRET DNSMADEEASY_SANDBOX(true/false) #DNSPod DNSPOD_API_KEY #DynDNS DYN_CUSTOMER_NAME DYN_USER_NAME DYN_PASSWORD #Gandi/Gandiv5 GANDI_API_KEY/GANDIV5_API_KEY #GoDaddy GODADDY_API_KEY GODADDY_API_SECRET #Google Cloud DNS GCE_PROJECT GCE_DOMAIN GOOGLE_APPLICATION_CREDENTIALS...
-
利用SSH客户端修改Linux VPS的ROOT密码
说明:很多人买来VPS发现默认的密码太长,又不好记,想要个简单的密码,可是后台又改不了,只能通过SSH客户端改密码了。
-
通过微博图片的链接找到发图的人的方法
说明:不多说了,建议在微博少发黄图和一些隐私图吧。 方法 例如链接为http://wx1.sinaimg.cn/mw690/9d0d09abgy1fj0wcs7aewj20ij0sn12y.jpg的图。 提取文件名9d0d09abgy1fj0wcs7aewj20ij0sn12y,前8位9d0d09ab用16进制转换下变为2634877355,就是用户uid。 如果是http://wx1.sinaimg.cn/mw690/006r2HqOgy1fj7dxg3zuxj30p02a1wry.jpg这种005、006开头的就用62进制转,至于为什么出现这个应该是发现8位16进制存不下了。
-
给h5ai增加查看需要输入用户名和密码
说明:一般h5ai安装后都是不需要用户名和密码就可以直接查看目录的,这样很不好,所以我们需要手动添加些代码,使其需要输入用户名和密码才能查看。 使用WinSCP软件登录vps进入h5ai目录找到_h5ai/public/index.php并编辑 1、在头部<?php的下一行,增加 auth(); 2、在底部增加 function auth () { $valid_passwords = array ("账号" => "密码"); $valid_users = array_keys($valid_passwords); $user = $_SERVER['PHP_AUTH_USER']; $pass = $_SERVER['PHP_AUTH_PW']; $validated = (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]); if (!$validated) { header('WWW-Authenticate: Basic realm="My Realm"'); header('HTTP/1.0 401 Unauthorized'); die ("Not authorized"); } }