#1 VPN
나는 직접 안해봤음. Opera 나 Safari , Edge Canary 같은 브라우저에서 확장기능으로 지원하는 듯
VPN을 쓰면 어느 서버를 경유해서 오유에 접속.
1) 그 서버를 신뢰해야 하는 문제
2) 속도가 느린 문제
를 감안하고 사용하지만 댓글 안보이는 걸 제일 간단하게 해결
한 분이 VPN을 연결 초기에만 연결한 후 꺼버려도 유지가 되므로 아주 약간의 수고로움만 감수하고 성능도 만족할 수 있다고 하심
#2 헤더변조
Chrome 브라우저가 확장기능을 지원하지 않기에
Firefox나 그 계열의 브라우저에서 X-Forwarded-For Header 를 변조하는 확장기능을 설치해 사용
1) 이 확장기능을 신뢰해야 하는 문제
2) Firefox가 제대로 보여주지 못하는 동영상이 있음 (주로 상용 라이선스와 관계된 코덱을 쓸 경우 플레이를 안함)
#3 헤더변조2
Chrome 엔진을 쓰는 브라우저들 중 확장기능을 지원하는 브라우저가 Opera와 Edge Canary가 있는데
Opera는 뭔가 될 것 같으면서 안되고 (ChatGPT 설명으로는 WebRequest 내용을 조작하는 건 보안상 문제가 있어 아예 막는다고..?)
Edge Canary는 TamperMonkey 설치하면 그 안에서는 가능한 것 같아서 시도함.
이 방법은 소스코드를 길게 작성해야 해서 제일 복잡한 편이지만 결과물은 가장 만족스러움.
대신 치명적인 단점이
1) Edge 의 기본 검색엔진은 Bing신임
2) 주소줄을 화면 상단에 놓지 않는 괴상한 UI
소스:
// ==UserScript==
// @name HTTP Header Modifier
// @namespace http://tampermonkey.net/
// @version 0.7
// @description 특정 HTTP 요청의 헤더를 변조합니다.
// @author Your Name
// @match *://m.todayhumor*/*
// @grant none
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
const originalOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(method, url, async, user, password) {
this._url = url; // 나중에 send에서 사용하기 위해 URL 저장
originalOpen.apply(this, arguments);
};
const originalSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(data) {
// 특정 URL에 대한 요청인지 확인
if (this._url && this._url.startsWith("/")
&& window.location.origin.startsWith('https://m.todayhumor.co.kr')) {
//console.log('Intercepted XMLHttpRequest to:', this._url);
// send 호출 전에 헤더를 설정
this.setRequestHeader('X-Forwarded-For', '127.0.0.33');
}
originalSend.apply(this, arguments);
};
})();
// END OF SOURCE