SW/ 개발팁 / 추천프로그램, 꿀팁 공유
  • 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

pwndrop docker 한글 파일명 문제 해결법 0.2버전

빨간물약 빨간물약 126

2

10

 

이 글을 보고 저도 호기심에 설치를 해봤습니다

linuxserver/docker-pwndrop (github.com)

 

한글 파일명이 인코딩이 잘못 된건지 복사된 주소가 에러가 뜨네요 

 

수정은 간단할 거 같은데 소스 코드를 뜯어야 하다보니

 

어떻게 해결을 할까 고민을 하다가

 

브라우저 확장 프로그램을 사용하기로 했습니다

 

image.png.jpg

로직은 간단합니다

Tampermonkey (google.com)라는 확장 프로그램을 통해 

http 클릭 이벤트가 발생할 때 화살표 부분에 제대로 된 주소가 표시 된다는 점을 이용해서

버튼 클릭 시 가까운 곳에 위치한 한글파일명 주소를 가져옵니다

pwndrop서비스 주소 + 화살표 부분 주소 를 합쳐서 클립보드로 가져옵니다

// ==UserScript==
// @name         Pwndrop Link Korean Filename Fix
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Pwndrop Link Korean Filename Fix
// @author       빨간물약
// @match        *://pwn.서비스.com/*
// @icon         https://pwn.서비스.com/pages/img/pwndrop.png
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    setTimeout(function() {
        // 함수를 문서에 추가하고 클릭 이벤트 리스너로 등록
        document.addEventListener('click', function(e) {
            // 클릭된 요소가 원하는 버튼인지 확인
            if (e.target.closest('.btn-copy-link')) {
                // 파일 경로 추출
                const filePathElement = e.target.closest('.upload-block').querySelector('.col-auto.grow.trans small');
                if (filePathElement) {
                    const filePath = filePathElement.textContent.trim();
                    let fullUrl = `https://pwn.서비스.com${filePath}`;

                    // WebDAV 버튼 클릭 시 특정 문자열 추가
                    if (e.target.innerText.includes('WebDAV')) {
                        fullUrl = `\\\\pwn.서비스.com@80\\${filePath}`;
                    }

                    // 클립보드에 파일 URL 복사
                    navigator.clipboard.writeText(fullUrl)
                        .catch(err => {
                            // 복사 실패시 에러 메시지 출력
                            console.error('클립보드 복사 실패:', err);
                        });
                    e.preventDefault(); // 기본 동작 방지
                }
            }
        });
    }, 100); // 0.1초 후에 실행
})();          

js0.2 Pwndrop Lin
1.7 KB
 

@match 부분은 입력 된 주소에서만 스크립트가 작동 합니다.

@icon 부분은 스크립트의 아이콘을 설정 하는 부분입니다

navigator.clipboard.writeText(`https://pwn.서비스.com${filePath}`) 부분은 링크의 앞 부분을 채울 주소 입니다

fullUrl = `\\\\pwn.서비스.com@80\\${filePath}`; 이 부분은 웹 데브 버튼 클릭시 추가 될 주소 입니다

전부 다 pwndrop 주소를 적으시면 됩니다

 

코드를 본인의 주소로 수정 하시고 tempermonkey 확장 프로그램 클릭 - 대시보드

- +버튼을 클릭해서 새로운 스크립트 추가

 

image.png.jpg

수정 된 코드 복사 하시고 파일 - 저장 누르시면 됩니다

 

 

image.png.jpg

그럼 이렇게 추가가 됩니다

 

 

image.png.jpg

pwndrop 웹 페이지에서 이렇게 표시 되면 적용 되고 있는 겁니다

 

 

image.png.jpg

이제 여기서 http 버튼을 누르면

 

https://pwn서비스.com/nUmQDTue/킹스맨.jpg
이렇게 클립보드에 복사 됩니다

 

 

image.png.jpg

복사된 링크로 접속 하면 파일 잘 보이네요

 

webdav 부분도 수정 했습니다

 

신고공유스크랩
10
1등
이정도면컴맹인듯 2024.03.21. 20:45

감사합니다 일단 해봤는데
전 똑같이 복사되서 내일 퇴근하고 다시 해봐야겠네요

웹다브쪽은 일단 안쓸거같아서 시도 안하고

http쪽 하고 있는데 주소를 일부로 이상하게 등록해놔도 그대로 나오는거 보면 뭔가 제 설정과 안맞나보네요

webdav쪽은 수정한주소로 복사가 되지만 파일이름은 그대로 유니코드네요

일단은 제가 똑바로 설정 못했을수도 있으니 다시 해보겠습니다

 

profile image
빨간물약 글쓴이 2024.03.22. 04:08
이정도면컴맹인듯

주소를 세 곳에 입력하면 되야 하는데 혹시 도커 말고 다른 걸로 설치하신 건가요?
버튼이나 제목 클래스가 달라서 문제가 생길 수도 있을 거 같은데

 

image.png.jpg

엣지 기준 서버 주소 부분 우클릭 - 검사 누르시면 우측에 해당 요소를 확인할 수 있습니다

e.target.closest('.upload-block').querySelector('.col-auto.grow.trans small')

upload-block (위에 화살표) 부분 col-auto.grow.trans small (아래 화살표)

에서 텍스트를 추출 하라는 코드 거든요

 

image.png.jpg

http 버튼 우클릭 - 검사 했을 때 화면 입니다

 if (e.target.closest('.btn-copy-link')) {

http 버튼 클릭 감지 할 때 .btn-copy-link 클래스를 참조 하는 거죠

 

만약 클래스가 다 일치하고 tempermonkey가 정상 적용 되는데도 제대로 작동이 안된다면

뭔가 문제가 있긴 한건데 제가 확인 할 수 있는 방법이 없네요

profile image
빨간물약 글쓴이 2024.03.22. 04:09
달소

그냥 꼼수죠 도커 이미지나 소스파일 뜯어서 수정하는 게 확실하긴 한데
많이 귀찮죠 ㄷㄷ

그런데 코드블록이 제대로 안먹히는 거 같네요 크롬에서 입력 해도 본문 처럼 표시 되네요

3등
이정도면컴맹인듯 2024.03.22. 08:02

image.png.jpg

도커로 올린거 맞습니다

 

image.png.jpg

image.png.jpg

image.png.jpg

 

image.png.jpg

올려주신대로 확인 해봤는데 다 똑같은거 같습니다.

 

 

image.png.jpg

일부러 url을 123 넣고 456넣어서 저 링크대로 나오나도 해봤는데

http://sibal.duckdns.org/dKUCPlpv/%u1110%u1162%u1107%u1173%u11AF%u1105%u1175%u11BA.jpeg

\\sibal.duckdns.org@80\dKUCPlpv\%u1110%u1162%u1107%u1173%u11AF%u1105%u1175%u11BA.jpeg

요렇게 변함이 없네요

 

image.png.jpg

템퍼몽키도 살아있구요

 

아무래도 제 크롬에서 뭔가가 문제가 있지 않을까 싶습니다

 

다른 pc나 브라우저를 사용해서 테스트 해보겠습니다

profile image
빨간물약 글쓴이 2024.03.22. 09:48
이정도면컴맹인듯

음 혹시나 해서 저도 맥OS 설치 된 다른 PC에서 확인 해봤는데 잘 되네요
차이점이라면 duckdns 도메인 밖에 없는데
다른 PC에서도 안되시면 뭔가 서버 설정 부분에서 문제가 생기는 거 같네요

 jsPwndrop Link Ko
1.48 KB
 

혹시 모르니까 이 파일로 설치 해보세요 

설치 하시고 주소 수정 하시면 됩니다

 

%u1110%u1162%u1107%u1173%u11AF%u1105%u1175%u11BA.jpeg

이 부분을 원래 한글 파일명.jpeg 로 변경 했을 때 재생이 잘 되시나요?

http://서비스주소.org/dKUCPlpv/원본파일명.jpeg 

확장 프로그램이 없어도 이렇게 됐을 때 재생이 잘 되야 정상입니다

그런데 보니까 http로 연결이 되셨네요?

https 인증서 설정은 안되신 건가요?

이정도면컴맹인듯 2024.03.22. 20:42
빨간물약

윈도우 쓰는 제 친구한테도 말해서 해보라곤 했는데 저처럼 안된다고 합니다.
일단 올려주신 파일로 해보겠습니다
원래 파일명으로 직접 변경 했을때도 안되는게 대부분입니다

어쩌다 한번 뽀록으로 되는데 이게 지금 원인을 모르겠습니다

 

 

image.png.jpg

image.png.jpg

 

역방향프록시 http에서 https로 했더니

한글로 작동 합니다.

근데 들어가면 404네요 ㅎ 방금 어쩌다 한번 사진 뜨더니 다시 시도하면 또 안되네요

되고싶을때만 되는 상황인데 이건 제가 원인을 찾아봐야겠습니다

 

일단 확실히 안건 스크립트가 동작 하려면 https 조건이 되어야 하는듯 합니다

 

https://ssibal.asuscomm.com/HxJNUxKa/1태블릿.jpeg

이게 인증서 적용된 페이지 입니다

제 컴터에선 복불복인거같네요

 

친구가 올린 pwn도 제 pc에서 잘 되는거로 보니

저희집 네트워크나 그런 문제이지 싶습니다

ㄴ 역방향 프록시 문제 같기도 합니다

이건 제가 스스로 찾아야겠네요

친절하게 대응 해주셔서 감사합니다

 

아 인증서 관리가 귀찮아서 어지간하면 그냥 http로 하고있습니다..
인증서가 라우터 ddns 따로, dsm 따로 이런 상황이라 사실 이거부터 어떻게 해봐야하는데 잘 모르겠더라고요
ddns꺼 갱신할땐 80 443 포트포워딩 라우터로 줘야되고
dsm할떈 또 dsm로 포트포워딩 해서 갱신하는데 영 귀챃더라고요

profile image
빨간물약 글쓴이 2024.03.23. 04:15
이정도면컴맹인듯

뭔가 서버 설정에 문제가 있는 거 같네요
문제가 잘 해결 되시길 바랍니다

 js0.2 Pwndrop Lin
1.7 KB
 

파일로 다운 받으실 분들은 위의 파일 말고

여기 0.2 파일을 받으시기 바랍니다

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
분류 제목 글쓴이 날짜 조회 추천
잡담 Kavita 문제 해결 했습니다 7 초보나스 3일 전02:40 154 +3
잡담 Immich를 사용하면서 느낀 아쉬운 점들 21 hjk9860 6일 전17:50 255 +1
정보 LSI RAID CARD windows firmware 프로그램 2 아흑미쵸 6일 전14:23 89 +1
정보
image
초보나스 1일 전13:33 258 0
정보
normal
초보나스 4일 전03:01 50 0
정보
normal
아흑미쵸 6일 전14:23 89 +1
정보
image
도도새 24.04.20.15:22 373 0
정보
image
rain 24.04.14.22:39 663 +6
정보
image
초보나스 24.04.13.07:52 224 +1
정보
image
아흑미쵸 24.04.04.10:24 421 +4
정보
image
빨간물약 24.03.31.16:52 232 +3
정보
normal
i7-13700K 24.03.30.10:55 589 0
정보
image
초보나스 24.03.28.06:39 188 +1
정보
image
초보나스 24.03.27.07:09 86 0
정보
image
초보나스 24.03.26.13:39 99 0
정보
normal
GRT 24.03.22.23:42 100 +2
정보
image
유로아빠 24.03.22.09:23 305 +6
정보
image
초보나스 24.03.22.08:45 196 0
정보
image
빨간물약 24.03.21.14:00 126 +2
정보
image
달소 24.02.26.01:07 479 +2
정보
image
달소 24.02.24.12:06 518 0
정보
normal
휘운 24.02.21.13:42 633 0
정보
normal
초보나스 24.02.09.10:07 152 0