Skip to content

Instantly share code, notes, and snippets.

@Nishisonic
Forked from martirsadota/when-kc-is-dead.ovpn
Created February 28, 2020 10:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Nishisonic/6483fe8457400d9f0f826a39708ef966 to your computer and use it in GitHub Desktop.
Save Nishisonic/6483fe8457400d9f0f826a39708ef966 to your computer and use it in GitHub Desktop.
###############################################################################
# WHEN KC IS DED
# I'M PRETTY SURE THIS IS A CONSPIRACY
#
# This config file is adapted from Chami (kc.piro.moe), which used a private
# server that cannot be exposed to the public. I used a public server from
# VPNGate (https://www.vpngate.net/en/) for this config.
#
# This is configured to (hopefully) route ONLY Kancolle traffic to a JP server
# and not touch anything else.
#
# IF YOU'RE VIEWING THIS ON GITHUB, HERE'S HOW TO GRAB THE CONFIG FILE:
# 1) Click "Raw" on the upper-right part of this page.
# 2) Right-click on the page, then click "Save As..."
# (or just hit Ctrl+S)
# 3) In the dialog box that appears, MAKE SURE THAT YOU CHANGE THE FILE NAME
# TO END IN ".opvn" INSTEAD OF ".opvn.txt"
# 4) Click "Save" (or press Enter) then proceed to the steps below.
#
# TO USE:
# 1) Download and install OpenVPN from this link:
# Windows 10: https://swupdate.openvpn.org/community/releases/openvpn-install-2.4.8-I602-Win10.exe
# Other downloads: https://openvpn.net/community-downloads/ (you'd need to look around)
# 2) Once installed and launched, right-click OpenVPN's icon in the system tray
# and choose "Import file..."
# 3) Load this file.
# 4) Double-click OpenVPN's icon in the system tray; this should start the
# connection process.
# 5) You should now be able to access KC.
###############################################################################
# USE TIBOT'S CACHE PROXY TO REDUCE THE LOAD ON THE VPN SERVERS
#
# initial setup (copied from Chami):
# 1) install https://nodejs.org/dist/v12.16.1/node-v12.16.1-x64.msi
# 2) download KCCacheProxy-master.zip:
# https://github.com/Tibowl/KCCacheProxy/archive/master.zip
# 3) download cache-2020-02-25.zip
# https://mega.nz/#!1DRC2QYR!h4jYzQL5XEg6-9wnSmna1igqsjQL4RqwVWev6NTwBTg
# 4) Extract KCCacheProxy-master.zip somewhere. Doesn't matter where;
# Downloads is fine. You should now have a KCCacheProxy-master folder.
# 5) Open the KCCacheProxy-master folder, you should see a number of files.
# Extract the cache-2020-02-25.zip here. this should create a 'cache' folder.
# 6) Hold the 'Shift' key and right-click anywhere inside the KCCacheProxy-master
# folder, under the files mentioned above. Click 'Open PowerShell window here'.
# 7) type npm i and press Enter.
# 8) type node proxy and press Enter.
#
# Now tell Chrome to use it only for KC:
# 1) Install proxyswitch omega extension:
# https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif
# 2) You should have a little circle icon next to the browser's address bar for
# proxyswitch omega. click it, and click 'options'. It will try to guide you
# through stuff, feel free to click your way through or skip the tutorial messages.
# 3) on the left menu, under Profiles, select 'proxy'.
# 4) under Proxy Servers, set the Server field to 127.0.0.1, and the port to 8081,
# then click Apply Changes on the left.
# 5) on the left menu, under Profiles, select 'auto switch'.
# 6) you will see some default entries in the page that appears; delete these
# and use the 'Add condition' button to add the following three entries,
# replacing 'yourserverip' with your KC server's IP address:
# | Condition Type | Condition Details | Profile
# | URL wildcard | http://yourserverip/kcs/* | proxy
# | URL wildcard | http://yourserverip/kcs2/* | proxy
# | URL wildcard | http://203.104.209.7/* | proxy
# 7) Click 'Apply changes' on the left.
# 8) click ProxySwitch's circle icon next to the address bar again,
# and click 'auto switch'.
# all done!
###############################################################################
# PLEASE DO NOT TOUCH ANYTHING BELOW THIS LINE!!! #
###############################################################################
dev tun
proto tcp
remote public-vpn-224.opengw.net 443
cipher AES-128-CBC
auth SHA1
###############################################################################
# Other parameters necessary to connect to the VPN Server.
#
# It is not recommended to modify it unless you have a particular need.
resolv-retry infinite
nobind
persist-key
persist-tun
client
verb 3
#auth-user-pass
###############################################################################
# KC Routings
# Because AL apologists want supremacy (actually no but you'll never know)
pull-filter ignore redirect-gateway
route 203.104.209.7 255.255.255.255
route 203.104.209.71 255.255.255.255
route 203.104.209.87 255.255.255.255
route 125.6.184.215 255.255.255.255
route 203.104.209.183 255.255.255.255
route 203.104.209.150 255.255.255.255
route 203.104.209.134 255.255.255.255
route 203.104.209.167 255.255.255.255
route 203.104.209.199 255.255.255.255
route 125.6.189.7 255.255.255.255
route 125.6.189.39 255.255.255.255
route 125.6.189.71 255.255.255.255
route 125.6.189.103 255.255.255.255
route 125.6.189.135 255.255.255.255
route 125.6.189.167 255.255.255.255
route 125.6.189.215 255.255.255.255
route 125.6.189.247 255.255.255.255
route 203.104.209.23 255.255.255.255
route 203.104.209.39 255.255.255.255
route 203.104.209.55 255.255.255.255
route 203.104.209.102 255.255.255.255
###############################################################################
# The certificate file of the destination VPN Server.
#
# The CA certificate file is embedded in the inline format.
# You can replace this CA contents if necessary.
# Please note that if the server certificate is not a self-signed, you have to
# specify the signer's root certificate (CA) here.
<ca>
-----BEGIN CERTIFICATE-----
MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB
hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5
MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR
6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X
pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC
9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV
/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf
Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z
+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w
qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah
SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC
u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf
Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq
crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E
FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB
/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl
wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM
4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV
2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna
FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ
CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK
boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke
jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL
S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb
QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl
0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB
NVOFBkpdn627G190
-----END CERTIFICATE-----
</ca>
###############################################################################
# The client certificate file (dummy).
#
# In some implementations of OpenVPN Client software
# (for example: OpenVPN Client for iOS),
# a pair of client certificate and private key must be included on the
# configuration file due to the limitation of the client.
# So this sample configuration file has a dummy pair of client certificate
# and private key as follows.
<cert>
-----BEGIN CERTIFICATE-----
MIICxjCCAa4CAQAwDQYJKoZIhvcNAQEFBQAwKTEaMBgGA1UEAxMRVlBOR2F0ZUNs
aWVudENlcnQxCzAJBgNVBAYTAkpQMB4XDTEzMDIxMTAzNDk0OVoXDTM3MDExOTAz
MTQwN1owKTEaMBgGA1UEAxMRVlBOR2F0ZUNsaWVudENlcnQxCzAJBgNVBAYTAkpQ
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5h2lgQQYUjwoKYJbzVZA
5VcIGd5otPc/qZRMt0KItCFA0s9RwReNVa9fDRFLRBhcITOlv3FBcW3E8h1Us7RD
4W8GmJe8zapJnLsD39OSMRCzZJnczW4OCH1PZRZWKqDtjlNca9AF8a65jTmlDxCQ
CjntLIWk5OLLVkFt9/tScc1GDtci55ofhaNAYMPiH7V8+1g66pGHXAoWK6AQVH67
XCKJnGB5nlQ+HsMYPV/O49Ld91ZN/2tHkcaLLyNtywxVPRSsRh480jju0fcCsv6h
p/0yXnTB//mWutBGpdUlIbwiITbAmrsbYnjigRvnPqX1RNJUbi9Fp6C2c/HIFJGD
ywIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQChO5hgcw/4oWfoEFLu9kBa1B//kxH8
hQkChVNn8BRC7Y0URQitPl3DKEed9URBDdg2KOAz77bb6ENPiliD+a38UJHIRMqe
UBHhllOHIzvDhHFbaovALBQceeBzdkQxsKQESKmQmR832950UCovoyRB61UyAV7h
+mZhYPGRKXKSJI6s0Egg/Cri+Cwk4bjJfrb5hVse11yh4D9MHhwSfCOH+0z4hPUT
Fku7dGavURO5SVxMn/sL6En5D+oSeXkadHpDs+Airym2YHh15h0+jPSOoR6yiVp/
6zZeZkrN43kuS73KpKDFjfFPh8t4r1gOIjttkNcQqBccusnplQ7HJpsk
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA5h2lgQQYUjwoKYJbzVZA5VcIGd5otPc/qZRMt0KItCFA0s9R
wReNVa9fDRFLRBhcITOlv3FBcW3E8h1Us7RD4W8GmJe8zapJnLsD39OSMRCzZJnc
zW4OCH1PZRZWKqDtjlNca9AF8a65jTmlDxCQCjntLIWk5OLLVkFt9/tScc1GDtci
55ofhaNAYMPiH7V8+1g66pGHXAoWK6AQVH67XCKJnGB5nlQ+HsMYPV/O49Ld91ZN
/2tHkcaLLyNtywxVPRSsRh480jju0fcCsv6hp/0yXnTB//mWutBGpdUlIbwiITbA
mrsbYnjigRvnPqX1RNJUbi9Fp6C2c/HIFJGDywIDAQABAoIBAERV7X5AvxA8uRiK
k8SIpsD0dX1pJOMIwakUVyvc4EfN0DhKRNb4rYoSiEGTLyzLpyBc/A28Dlkm5eOY
fjzXfYkGtYi/Ftxkg3O9vcrMQ4+6i+uGHaIL2rL+s4MrfO8v1xv6+Wky33EEGCou
QiwVGRFQXnRoQ62NBCFbUNLhmXwdj1akZzLU4p5R4zA3QhdxwEIatVLt0+7owLQ3
lP8sfXhppPOXjTqMD4QkYwzPAa8/zF7acn4kryrUP7Q6PAfd0zEVqNy9ZCZ9ffho
zXedFj486IFoc5gnTp2N6jsnVj4LCGIhlVHlYGozKKFqJcQVGsHCqq1oz2zjW6LS
oRYIHgECgYEA8zZrkCwNYSXJuODJ3m/hOLVxcxgJuwXoiErWd0E42vPanjjVMhnt
KY5l8qGMJ6FhK9LYx2qCrf/E0XtUAZ2wVq3ORTyGnsMWre9tLYs55X+ZN10Tc75z
4hacbU0hqKN1HiDmsMRY3/2NaZHoy7MKnwJJBaG48l9CCTlVwMHocIECgYEA8jby
dGjxTH+6XHWNizb5SRbZxAnyEeJeRwTMh0gGzwGPpH/sZYGzyu0SySXWCnZh3Rgq
5uLlNxtrXrljZlyi2nQdQgsq2YrWUs0+zgU+22uQsZpSAftmhVrtvet6MjVjbByY
DADciEVUdJYIXk+qnFUJyeroLIkTj7WYKZ6RjksCgYBoCFIwRDeg42oK89RFmnOr
LymNAq4+2oMhsWlVb4ejWIWeAk9nc+GXUfrXszRhS01mUnU5r5ygUvRcarV/T3U7
TnMZ+I7Y4DgWRIDd51znhxIBtYV5j/C/t85HjqOkH+8b6RTkbchaX3mau7fpUfds
Fq0nhIq42fhEO8srfYYwgQKBgQCyhi1N/8taRwpk+3/IDEzQwjbfdzUkWWSDk9Xs
H/pkuRHWfTMP3flWqEYgW/LW40peW2HDq5imdV8+AgZxe/XMbaji9Lgwf1RY005n
KxaZQz7yqHupWlLGF68DPHxkZVVSagDnV/sztWX6SFsCqFVnxIXifXGC4cW5Nm9g
va8q4QKBgQCEhLVeUfdwKvkZ94g/GFz731Z2hrdVhgMZaU/u6t0V95+YezPNCQZB
wmE9Mmlbq1emDeROivjCfoGhR3kZXW1pTKlLh6ZMUQUOpptdXva8XxfoqQwa3enA
M7muBbF0XN7VO80iJPv+PmIZdEIAkpwKfi201YB+BafCIuGxIF50Vg==
-----END RSA PRIVATE KEY-----
</key>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment