Skip to content

Instantly share code, notes, and snippets.

@codexss
codexss / Naive-VPN.md
Last active October 10, 2024 05:11 — forked from klzgrad/Naive-VPN.md
朴素VPN:一个纯内核级静态隧道

朴素VPN:一个纯内核级静态隧道

由于路由管控系统的建立,实时动态黑洞路由已成为最有效的封锁手段,TCP连接重置和DNS污染成为次要手段,利用漏洞的穿墙方法已不再具有普遍意义。对此应对方法是多样化协议的VPN来抵抗识别。这里介绍一种太简单、有时很朴素的“穷人VPN”。

朴素VPN只需要一次内核配置(Linux内核),即可永久稳定运行,不需要任何用户态守护进程。所有流量转换和加密全部由内核完成,原生性能,开销几乎没有。静态配置,避免动态握手和参数协商产生指纹特征导致被识别。并且支持NAT,移动的内网用户可以使用此方法。支持广泛,基于L2TPv3标准,Linux内核3.2+都有支持,其他操作系统原则上也能支持。但有两个局限:需要root权限;一个隧道只支持一个用户。

朴素VPN利用UDP封装的静态L2TP隧道实现VPN,内核XFRM实现静态IPsec。实际上IP-in-IP隧道即可实现VPN,但是这种协议无法穿越NAT,因此必须利用UDP封装。内核3.18将支持Foo-over-UDP,在UDP里面直接封装IP,与静态的L2TP-over-UDP很类似。

创建一个朴素VPN

@codexss
codexss / bark.ahk
Last active September 1, 2024 12:50
Win+C 推送
#Requires AutoHotkey v2.0
#SingleInstance force
#NoTrayIcon
#c::
{
A_Clipboard := ""
Send "^c"
if !ClipWait(2)
return
@codexss
codexss / README.md
Last active May 14, 2023 04:29
Google Home Mini for use in China / 在中国使用Google Home Mini

目前整理的配置文件如下,已做最简化配置,如有问题请留言。
如果有需要主路由的规则配的话回头我再整理一下。

使用到的第三方软件:
CLASH: https://github.com/Dreamacro/clash

// ==UserScript==
// @name Open Twitter App
// @version 1.0.7
// @author Lentin
// @match https://twitter.com/*
// @match https://mobile.twitter.com/*
// @downloadURL https://gist.github.com/codexss/eb5ae8fa5ff85112e091d6f4e0f48f3f/raw/open-twitter-app.user.js
// @updateURL https://gist.github.com/codexss/eb5ae8fa5ff85112e091d6f4e0f48f3f/raw/open-twitter-app.user.js
// @homepage https://gist.github.com/codexss/eb5ae8fa5ff85112e091d6f4e0f48f3f/
// ==/UserScript==
@codexss
codexss / v2ex.user.js
Last active June 15, 2022 08:01
v2ex.user.js
// ==UserScript==
// @name V2EX 助手
// @description 为V2EX添加自动签到、自动解析图片链接等功能
// @include https://*.v2ex.com/*
// @include https://v2ex.com/*
// @grant none
// ==/UserScript==
//自动签到 代码来自caoyue@v2ex
@codexss
codexss / pixivDylib.xm
Created June 26, 2019 14:13
hook pixiv ad-banner
#import <UIKit/UIViewController.h>
@interface _TtC5pixiv26AdContainingViewController : UIViewController
@property(nonatomic) __weak UIView *adContainerView;
@end
%hook _TtC5pixiv26AdContainingViewController
- (void)viewDidLayoutSubviews{
[self.adContainerView removeFromSuperview];
}
@codexss
codexss / tiebaDylib.xm
Last active June 26, 2019 14:57
hook for tieba client
%hook TBCSplashLaunchADView
- (void)setupUI{}
%end
//启动闪图广告
%hook TBCHomePageViewController
- (void)setupTableHeaderView:(id)arg1{}
%end
//首页顶部广告
javascript:(function(){var a=window.open("about:blank").document;var b=document.createElement("div");var c=location.href;b.appendChild(document.createTextNode(document.getElementsByTagName("html")[0].innerHTML));a.write("<!DOCTYPE html><html><head><title>view-source:"+c+'</title><meta name="viewport" content="width=device-width, initial-scale=1.0"><link href="http://www.google.com/s2/favicons?domain="'+c+' rel="icon" type="image/x-icon"/><link rel="stylesheet" href="//cdn.jsdelivr.net/gh/highlightjs/cdn-release/build/styles/github.min.css"><script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release/build/highlight.min.js"><\/script><script src="//cdn.jsdelivr.net/npm/highlightjs-line-numbers.js/dist/highlightjs-line-numbers.min.js"><\/script><script>hljs.initHighlightingOnLoad();hljs.initLineNumbersOnLoad();<\/script><style>.hljs-ln-numbers{text-align:right;color:#808080;word-break:normal;white-space:nowrap;font-size:9px;font-family:Helvetica;user-select:none;box-sizing:border-box;width:31px;background-color:#
var port_number = 8080
var plist_url = "itms-services://?action=download-manifest&url=https://qcloud.coding.net/u/lentin/p/file/git/raw/master/ipa-installer.plist"
// 从应用内启动
if ($app.env == $env.app) {
$drive.open({
handler: function(data) {
fileCheck(data)
}
})
@codexss
codexss / view-source.js
Created May 20, 2018 09:52
for Safari on iOS
javascript:(function()%7Bvar%20a=window.open('about:blank').document;a.write('%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3Ctitle%3ESource%20of%20'+location.href+'%3C/title%3E%3Cmeta%20name=%22viewport%22%20content=%22width=device-width%22%20/%3E%3C/head%3E%3Cbody%3E%3C/body%3E%3C/html%3E');a.close();var%20b=a.body.appendChild(a.createElement('pre'));b.style.overflow='auto';b.style.whiteSpace='pre-wrap';b.style.wordWrap="break-word";b.appendChild(a.createTextNode(document.documentElement.innerHTML))%7D)();