Solve media file streaming issue with Python Flask

This is how to solve mobile file streaming issue with Python Flask.

If you serve video file with Python Flask, Flask serve the media file with 206 Partial Content, but Connection is set to Close. If you want to serve media file like streaming service, Python Flask cannot serve to iOS or Android media file like streaming.

On iOS or Android phone, browser said can not play this media file like this image.

To solve this problem, you should serve media file with Connection: Keep-Alive.

But Python Flask does not support this feature.

So Here is a solution.
It needs Nginx and Gunicorn.
Nginx will serve the media file, but it will prevent to access from not authorized access using “internal” function in Nginx.
“internal” function allows you to accept traffic only from the Python Flask code(not direct access).

The media file serving flow
User -> Nginx -> Gunicorn -> Authentication check and redirect to serve media file -> Response Media Data from Nginx

Nginx Config

server {
listen 80;
server_name yourserver.com;

location /download_file/ {
internal; # Receive only internal redirect
alias /file/path/in/your/server/;
}

# For Gunicorn Serving Gateway
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;

if (!-f $request_filename) {
proxy_pass http://localhost:12345;
break;
}
}
}

Python Code

@app.route('/download/')
def download(filename):
if not authentication():
abort(404)

redirect_path = '/download_file/' + filename

response = make_response("")
response.headers["X-Accel-Redirect"] = redirect_path
response.headers["Content-Type"] = mimetypes.guess_type(filename)
return response

Then iOS and Android browser can play the media file served from your server.

Reference :
1. http://stackoverflow.com/questions/19421014/error-occurred-in-mobile-when-send-video-using-send-file-in-python-flask
2. http://mattspitz.me/2013/11/20/serving-authenticated-media-with-nginx.html

XBOX 나이인증 아이핀 오류 해결방법

거지같은 XBOX 나이인증의 아이핀 오류 해결방법입니다.

XBOX Live 에 로그인 시 0x8015DC0C 에러가 발생한다면 아이핀을 통해 나이인증을 받아야 합니다.

혹은 XBOX 게임패스 1개월/3개월 구매시 자꾸 결제 취소가 되는 경우도 아래의 방법을 사용해서 나이인증을 받아야 합니다.

하지만 기본적으로 찾을수 있는 XBOX 나이인증 URL 에서는 아래와 같이 거지같은 아이핀 인증이 계속 에러가 나는걸 볼 수 있는데요.

[에러번호] J100511

와 같은 에러가 발생합니다.

하지만 이 거지같은 아이핀 인증을 해결할수 있는 특별 URL 이 있습니다.

내가 이렇게까지 해서 XBOX Live 를 써야하나 하고 생각하시겠지만 거지같지만 어쩔수가 없는 부분입니다.

아래 URL 을 통해서 접속하시면 오류 없이 바로 인증이 가능합니다.

https://account.xbox.com/ko-kr/xbox/account/api/v1/settings/KoreanAgeVerification

Apple MSDS document

If you want to export Apple device using Airplane, you may need the MSDS document.

Here is the MSDS document of Apple devices.

This document will be keep updated.

MSDS is the Material Safety Data Sheet to prove battery safety.

https://www.apple.com/legal/more-resources/docs/apple-product-information-sheet.pdf

애플 MSDS 문서

애플 디바이스 (아이폰, 아이패드, 맥북, 아이맥) 을 항공운송을 통해서 운송하기 위해서는 MSDS 문서가 필요할수 있습니다.

아래의 링크에 있는 문서를 항공 운송사에 제출하시면 별 문제없이 항공운송이 가능합니다.

MSDS 문서는 배터리에 관한 안전보증 시트입니다.

https://www.apple.com/legal/more-resources/docs/apple-product-information-sheet.pdf

카카오뱅크 msvcr100.dll 에러 해결방법

카카오뱅크에서 공인인증서 로그인을 통해 서류제출을 하려 하는데 msvcr100.dll 에러가 나면서 진행이 되지 않을때의 해결 방법입니다.

카카오뱅크 고객센터에 해당 오류에 대한 해결방법이 나와있지만 그대로 진행해도 해결이 되지 않습니다.

그 이유는 해결방법을 잘못 써놓았기 때문입니다.

카카오뱅크에서 사용하는 공인인증서 로그인 프로그램은 32비트지만 고객센터에서는 64비트 컴퓨터의 경우 64비트 프로그램을 설치하라고 하기 때문에 애초에 해결이 될 수가 없는 방법입니다.

따라서 해결을 위해서는 32비트용 프로그램을 다운받아서 설치하셔야 합니다.

아래의 페이지에서 [다운로드] 버튼을 누른 뒤 파일목록에서 vcredist_x86.exe 파일을 선택한 후 [다음] 버튼을 눌러 다운로드를 진행하시기 바랍니다.

https://www.microsoft.com/ko-KR/download/details.aspx?id=26999

이후에 해당 프로그램을 설치하고 새로고침이나 재부팅 할 필요 없이 바로 카카오뱅크 서류제출 페이지에서 공인인증서 로그인 버튼만 눌러주시면 바로 진행됩니다.

이베이 특별할인 쿠폰 적용 에러 해결방법

이베이(Ebay)의 특별할인 쿠폰 적용 에러가 발생할 경우 해결 방법입니다.

에러가 발생하는 메세지는 다음과 같습니다.

This code can’t be applied to some of your item

이 문제는 사용자가 미국 외에 있기 때문에 발생하는 문제입니다.

이베이 계정의 Registration Address 를 변경하여 해결이 가능합니다.

아래 링크에서 미국의 주소로 변경하셔야 합니다.

https://rover.ebay.com/rover/1/711-53200-19255-0/1?icep_id=114&ipn=icep&toolid=20004&campid=5338113437&mpre=https%3A%2F%2Fmy.ebay.com%2Fws%2FeBayISAPI.dll%3FMyeBay%26CurrentPage%3DMyeBayAddresses

미국 배대지 주소로 Registration Address 가 변경이 되면 이제 잘 적용이 될 것입니다.

How to resolve Ebay coupon apply error – This code can’t be applied to some of your item

This is how to resolve the Ebay coupon apply error

This code can’t be applied to some of your item

This problem is occurred because you are not in US.

So you should change the registration address of your Ebay account to US address.

https://rover.ebay.com/rover/1/711-53200-19255-0/1?icep_id=114&ipn=icep&toolid=20004&campid=5338113437&mpre=https%3A%2F%2Fmy.ebay.com%2Fws%2FeBayISAPI.dll%3FMyeBay%26CurrentPage%3DMyeBayAddresses

If you changed the registration address, the coupon code will be applied well.

Bye bye.

Hajime, Hikakin YouTube BGM

Hajime sacho and Hikakin YouTube BGM.

はじめさちょとヒカキンさんの BGM サウンド。

It is used by most of UUUM YouTuber.

+ Scare BGM

+ Surprise Appeared

+ Honor BGM

+ Only Surprise Effect

+ Fallen Effect

+ Hit Effect

+ Surprise BGM

+ Hajime Ending

+ Sad BGM

LINE Message API 에서 InvalidSignature 에러가 날때

LINE Message API 에서 InvalidSignatureError 로 인해서 자꾸 400 Bad Request 에러가 날때의 해결 방법입니다.

코드를 정확히 작성 하였는데에도 자꾸 에러가 난다면 Channel Secret 혹은 Channel Access Token 가 잘못 기입된 것이니 다시 한번 확인하시기 바랍니다.

How to make keep connected L2TP VPN on ASUS router

Hello,

Sometimes, you may keep connected in VPN network. You can connect to VPN with Windows VPN service but you always click connect button manually when start-up computer or after deactivate the sleep mode. It is pretty tired.

So I was finding how to autoconnect to VPN without any control, but there are no good program on Windows.

But I found the way to make keep connected on my ASUS router.
Actually, I can connect my ASUS router to VPN server with VPN client function in my Asus router admin page, but it is not stable. After few days, Internet connection is not working occasionally.

But This way is more reliable than that way.
You can also setting up your Asus Router as a VPN client in WAN menu.

Here are step to setting up.

1. Connect to your Asus router admin page and Click the WAN menu located at left side of the page.
2. Change WAN Connection Type to [L2TP].
3. Change Get the WAN IP automatically to [Yes].
4. Change Connect to DNS Server automatically to [Yes] – If you are using custom DNS server, change this to No and enter the DNS Server address.
5. Enter the VPN ID and Password at PPP Username and Password.
6. Enter the VPN Server address at VPN Server.
7. Click the Apply button.

Go to next step

1. Click the LAN menu located at left side of the admin page.
2. Click the Switch Control button located at top of the page.
3. Change Spanning-Tree Protocol to Disable.
4. Click the apply button.
5. Click the Reboot button located at top of the page.

After reboot, you can find your router keep connected to VPN server.
If you cannot connect to internet after follow these steps, Check the VPN ID and Password, Server address entered correctly and re-follow steps.
You can change back to original configuration by changing WAN Connection Type to [Automatic IP] in WAN menu.

Thank you.