Skip to content

Instantly share code, notes, and snippets.

View yaoshining's full-sized avatar
💼
Working at Sina

Shining yaoshining

💼
Working at Sina
View GitHub Profile
@yaoshining
yaoshining / Workarounds for Netflix and the blocking of IPv6 tunnels.md
Created September 6, 2025 10:17 — forked from jamesmacwhite/Workarounds for Netflix and the blocking of IPv6 tunnels.md
Prevent proxy/VPN streaming error messages from Netflix when using a Hurricane Electric IPv6 tunnel.

Workarounds for Netflix and the blocking of Hurricane Electric IPv6 tunnels

The dreaded "You seem to be using an unblocker or proxy." error message. Cool story bro.

This gist was essentially created out of my own rant about Netflix being hostile to IPv6 tunnel services since June 2016. You are welcome to read my opinion on the matter, this is the more technical side to the issue and how to combat it within your own network.

Since I wrote this, various GitHub users have contributed their thoughts and ideas which has been incorporated into this gist. Thank you to everyone who have contributed their own methods and implementations.

The problem

Netflix now treats IPv6 tunnel brokers (such as Hurricane Electric) as proxy servers. A while ago it became apparent to users and Netflix that somewhat by accident, IPv6 tunnel users were being served content outside of their geolocation because of the way Netflix was identifyi

@yaoshining
yaoshining / pritunl-server-custom-ssl_manually
Last active July 19, 2024 09:17 — forked from phiberoptick/pritunl-server-custom-ssl_manually
Use custom SSL cert in Pritunl Server Community
Ignore all that craziness below. These can be set from the cli with the "pritunl" command.
The commands below can be used to get/set the values of the cert, key, port and if the :80 -> "app.server_port" redirect is active.
# Get current SSL server cert:
pritunl get app.server_cert
# Get current SSL server key:
pritunl get app.server_key
@yaoshining
yaoshining / vue-nginx.conf
Created April 24, 2024 07:05 — forked from namdau/vue-nginx.conf
Nginx config for Vuejs project with an API upstream
server {
server_name default_server;
# This is for Let's Encrypt certification renewal
include /etc/nginx/snippets/letsencrypt.conf;
# Redirect to https
location / {
return 301 https://$server_name$request_uri;
}
}
package com.yao.ether.vehicle
import com.yao.ether.vehicle.VehicleApplication.log
import org.slf4j.{Logger, LoggerFactory}
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.web.bind.annotation.{GetMapping, RestController}
import org.web3j.crypto.Credentials
import org.web3j.greeting.Greeting
import org.web3j.protocol.Web3j
@yaoshining
yaoshining / asm-exploration.js
Last active January 26, 2021 13:49
ASM first exploration
var asm = (function() {
'use asm';
function __z3addii($0, $1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
$2 = (($1) + ($0))|0;
return ($2|0);
}
return {
@yaoshining
yaoshining / launch_native_mobile_app_in_wechat.js
Last active November 5, 2020 14:25
Launch Native Mobile App in Wechat
t.initOpenInApp = function() {
var e;
return a.default(window.navigator.userAgent).Wechat ? (e = "".concat(location.protocol, "//res.wx.qq.com/open/js/jweixin-1.3.2.js"),
(window.wx ? Promise.resolve() : s.loadScript(e)).then((function() {
return fetch("".concat("https://www.zhihu.com/wechat/jssdkconfig", "?url=").concat(encodeURIComponent(location.href.split("#")[0]))).then((function(e) {
if (e.ok)
return e.json();
throw new Error("Failed to fetch wechat jssdk config")
}
))