Skip to content

Instantly share code, notes, and snippets.

View miyouzi's full-sized avatar
💭
aniGamerPlus 持續更新中

米柚子 miyouzi

💭
aniGamerPlus 持續更新中
View GitHub Profile
@miyouzi
miyouzi / nginx_with_socat.md
Last active October 26, 2024 22:03
配置 Nginx 通过代理访问反代目标(B站代理解析)

简介

众所周知,有些服务存在着地区限制,我们可以通过在服务所属地区搭建代理服务来解决,其中在其服务范围内部署 Nginx 反代服务是个有效且流行的办法。

但如果区域很多,每个区域都布置一台服务器那成本会有些高昂且利用率很低,通常我们只是需要该地区的 IP 而已,如果手头上正好有这些地区的代理池的话,那我们就可以只用一台服务器部署Nginx反向代理结合服务所在地区的代理实现相同的效果。

本文着重介绍的就是如何让 Nginx 通过代理访问上游服务。(即 proxy_pass 的目标)

详细图文说明可以参见《Nginx 如何与 Socat 配合使用》

PS:本配置兼容 《哔哩漫游》《解除b站区域限制》

import traceback
import logging, termcolor
from logging.handlers import TimedRotatingFileHandler
app = Flask(__name__)
logger = logging.getLogger('werkzeug')
# 按天切分日志
handler = TimedRotatingFileHandler(filename='web.log', when='midnight', backupCount=7, encoding='utf-8')
handler.suffix = '%Y-%m-%d.log'
@miyouzi
miyouzi / Line_IPs.txt
Last active September 10, 2018 13:46
Line所使用IP清单
IP由 www.whatsmydns.net 全球解析以下域名取得
gd2.line.naver.jp
gd2w.line.naver.jp
gw.line.naver.jp
gww.line.naver.jp
lan.line.me
lcp-checkout.line.me
obs-cn.line-apps.com
obs.line-apps.com
scdn.line-apps.com
@miyouzi
miyouzi / getadmin.bat
Created February 10, 2018 03:29
批处理自动尝试提权
REM =============================检查并尝试获取管理员权限==============================
REM 借鉴 https://sites.google.com/site/eneerge/home/BatchGotAdmin
:getadmin
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo 【正在尝试获取管理员权限】
mshta vbscript:"<html style=background:buttonface><title>BatchGetAdmin</title><body><script language=vbscript>Set UAC = CreateObject(""Shell.Application""):UAC.ShellExecute ""%~s0"", """", """", ""runas"", 1:self.close</script></body></html>"
exit
)
goto :eof
@miyouzi
miyouzi / show_process.py
Last active November 30, 2017 16:11
Python 简易进度条
def show_process(total):
# 生成器形式
# 任务进度条,total 是总任务数,每完成一步 next()
# 问题:进度太快会鬼畜,快到极致直接 100%
for i in range(total + 1):
k = i + 1
sys.stdout.write('\r')
sys.stdout.write(
"%3s%% |%s%s|" % (int(k / total * 100), int(k / total * 50) * '#', (50 - int(k / total * 50)) * ' '))
sys.stdout.flush()