├── index.html ├── fucking ├── yes24 │ └── index.html ├── auction │ └── index.html ├── aladin │ └── index.html └── 11st │ └── index.html ├── README.md └── data ├── src.js └── build_map.py /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 |커스텀 검색을 쓸 수 없어서 빡쳐서 만듬
8 | 9 | -------------------------------------------------------------------------------- /fucking/yes24/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /fucking/auction/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /fucking/aladin/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /fucking/11st/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # fucking-cp949 2 | 발로 만든 한국 사이트들이 주소를 cp949로 인코딩 하는 바람에 Chrome, Alfred에서 Custom Search를 쓸 수 없어서 빡쳐서 만든 redirect용 사이트. 3 | 4 | # 지원 사이트 5 | * Aladin : http://lexifdev.github.io/fucking-cp949/fucking/aladin?q={query} 6 | * Yes24 : http://lexifdev.github.io/fucking-cp949/fucking/yes24?q={query} 7 | * Auction : http://lexifdev.github.io/fucking-cp949/fucking/auction?q={query} 8 | * 11st : http://lexifdev.github.io/fucking-cp949/fucking/11st?q={query} 9 | -------------------------------------------------------------------------------- /data/src.js: -------------------------------------------------------------------------------- 1 | 2 | function getQueryString(key) { 3 | var query = window.location.search.substring(1); 4 | var vars = query.split('&'); 5 | for (var i = 0; i < vars.length; i++) { 6 | var pair = vars[i].split('='); 7 | if (pair[0] === key) { 8 | return decodeURIComponent(pair[1]); 9 | } 10 | } 11 | } 12 | 13 | function encodeCP949(s) { 14 | var buf = ''; 15 | for (var i = 0, len = s.length; i < len; i++) { 16 | buf += charTable[s[i]]; 17 | } 18 | return buf; 19 | } 20 | -------------------------------------------------------------------------------- /data/build_map.py: -------------------------------------------------------------------------------- 1 | import json 2 | import urllib 3 | import struct 4 | import csv 5 | import requests 6 | 7 | 8 | response = requests.get('http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT', stream=True) 9 | 10 | map = {} 11 | for line in csv.reader(response.raw, delimiter='\t'): 12 | if len(line) != 3: 13 | continue 14 | 15 | cp949_str, utf8_str, comment = line 16 | 17 | if cp949_str.strip() and utf8_str.strip(): 18 | utf8 = unichr(int(utf8_str, 0)).encode('utf8') 19 | cp949_int = int(cp949_str, 0) 20 | cp949 = urllib.quote(struct.pack('>H', cp949_int)) if cp949_int > 255 else chr(cp949_int) 21 | map[utf8] = cp949 22 | 23 | 24 | charTable = 'var charTable = %s;' % json.dumps(map) 25 | commonScript = open('src.js').read() 26 | 27 | open('build.js', 'w+').write(charTable + commonScript) 28 | --------------------------------------------------------------------------------