Friday, December 5, 2014

Secure Foscam IP Cameras with SSL on Raspberry PI and NGINX

Foscam + Raspberry Pi = SSL

When my first kid was born, my wife and I wanted a convenient, cheap, but externally accessible way to monitor our daughter. Thus, the usual baby monitors wouldn't do the trick. We ended up getting a really handy and super cheap Foscam FI8910W IP Camera.

Everything about it is pretty great … except security. For that reason, I never poked a hole through my firewall so that friends and family could peek in on Piper from time to time. I could always access the camera over VPN, but nobody else could ('cause I'm stingy with my network access).

When I found out I had another one on the way, I decided that not only did I need another camera, but I needed a more convenient way to securely access my cameras from outside my house. I decided I to pick up a Raspberry Pi and expose an https endpoint that could reverse proxy requests to my ip camera. This way, I have a secure connection into my house. It's still plain text between the camera and the pi, but that's inside my network and I'm less concerned about it there.

In any case, I picked up a Raspberry Pi Starter Kit which I recommend for your first pi. It'll come with the components you'll need to get set up. The second time I did this (for the sake of recording the steps to write this blog, I just formatted my own noobs card and I used the wifi dongle from the previous pi kit.

I tried to install noobs lite on an 8gb microsd card I got from the Raspberry Pi Downloads page, but noobs lite didn't work with the wifi dongle so I recommend plain old noobs. For the second time around, I just downloaded Raspbian and used dd to image the microsd. Again, I recommend noobs (and I recommend the starter kit) unless you feel pretty comfortable with command line utilities. If you are, use the instructions for installing operating system images from the raspberry pi site.

Pi

That being said, with noobs, you just format your micro SD card with FAT and copy the contents of the noobs zip to the sd card root. Put the SD card in the pi, connect the mouse and keyboard, connect ethernet or the wifi dongle, connect some video output, etc. Then, plug in the device.

The first thing to do is get connected to wifi. It's easier to do in the GUI so run startx, configure your wifi network, and log out.

Enable SSH in sudo raspi-config.

Using SSH to administer a box is kind of a pain without tmux so get that. Also, vim is awesome so get that too. Finally, we're going to be using nginx as our reverse proxy so install that as well.

sudo apt-get update && sudo apt-get install tmux vim nginx
To make SSH even easier, scp your public key to your pi's ~/.ssh folder and cat it into authorized_keys.

If you are using wifi, you'll find that wifi is disable after rebooting until the dongle is removed and re-inserted. You can change this behavior by executing

sudo vim /etc/network/interfaces
and changing
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
to
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

You'll want nginx to start automatically on reboot too probably so execute

sudo update-rc.d nginx defaults

Router

Give your pi a static ip address. My router lets me map static ips to mac addresses. DD-WRT lets you do that too. If you can't with your router, configure a static ip address following the Debian Network Configuration Instructions.

Give your router a static ip as well.

Forward port 443 (the default SSL port) to 443 on the pi's IP address

Get a dynamic DNS account that's supported by your router. If your router doesn't do dynamic DNS (and you can't install a decent firmware that does, you can use ddclient on your pi instead.

Domain

You'll need a domain name that you own to get an SSL certificate. Register one.

In your domain's DNS configuration, create a subdomain with a CNAME record pointing to your dynamic DNS domain.

SSL

Get your SSL certificate from Start SSL (the free certificate will be fine). You'll have to validate your domain. The process is pretty straightforward.

Download your certificate, key, and the intermediate certificates and make a unified certificate:

wget http://www.startssl.com/certs/ca.pem
wget http://www.startssl.com/certs/sub.class1.server.ca.pem
cat ssl.crt sub.class1.server.ca.pem ca.pem > ssl-unified.crt

SCP the key and the unified certificate to the pi's /etc/nginx folder (I like putting my certs in a subfolder)

Configure nginx

Create a configuration file called /etc/nginx/sites-available/ipcams

server {
  listen 80;

  server_name your.domain.com;
  server_name your.pi.ip.address;

  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl;

  ssl_certificate /etc/nginx/certs/ssl-unified.crt;
  ssl_certificate_key /etc/nginx/certs/ssl.key;

  server_name your.domain.com;
  server_name your.pi.ip.address;

  location /front_porch/ {
    proxy_pass http://your.porch_cam.ip.address:80/;
  }

  location /baby_room/ {
    proxy_pass http://your.baby_cam.ip.address:80/;
  }
}

Remove the default symlink from /etc/nginx/sites-enabled and add new symlink

cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/ipcams ./ipcams

Restart nginx:

sudo service nginx restart

Summary

So, now https requests to your subdomain are resolved by your dynamic DNS to point to your IP where your Pi is. Your Pi gets an https request and forwards it inside your well protected network (in plain text) to your camera. I keep my Pi wired to cut back on the wireless traffic that happens in plain text. In any case, this way you can get from outside your house to inside your house over an encrypted ssl connection.

205 comments:

  1. Imprnt are engaged in offering a quality range of Access Control System. Due to their efficient performance, minimum maintenance and high identification speed, the systems are highly appreciated by our clients.
    This post is very helpful .Thanks a lot for this post that share with us . You can get more information here:
    ip camera
    goedkope ip camera
    ip camera kopen
    bewakingscamera
    bewakingscamera kopen
    goedkope bewakingscamera

    ReplyDelete
  2. Excellent post! Pretty much what I was looking for :) Do you have port forwarding setup for the Pi to the router? Does the video quality suffer?


    I am looking at BlueIris, but I am worried if I expose a windows machine, the attack surface would be more.( It does have recording capabilities though)

    Cheers,
    Ben


    ReplyDelete
  3. The post is very good because it gives many useful information about Power supply for Vilar IP camera which is a great product. ip camera .

    ReplyDelete
  4. Shard’s IP Camera Installation, wireless cameras and cloud cameras allow you set up a security system without the need to run wires around your home or business.

    And

    We provide Phone Systems to businesses across the UK, working with world-class manufacturers to offer a full range of telephony systems that can be tailored to your needs. We cater for businesses of any size, and offer a diverse product range from basic two-user phone systems through to multi-feature systems.

    ReplyDelete
  5. I am having a problem with this setup. Everything works right until the plugin starts and then it times out.

    ReplyDelete

  6. شرکت هوشمند افزار آسیا یکی از قدرتمند ترین شرکت های حوزه سیستم های امنیتی و نظارت تصویری و دوربین های مداربسته
    نماینده فروش دوربین های مداربسته هایک ویژن در کرج و تهران

    نصب دوربین مداربسته
    نماینده فروش دوربین های مداربسته هایک ویژن در کرج و تهران
    نماینده فروش دوربین های مداربسته هایک ویژن در کرج و تهران

    مجله تخصصی دوربین مداربسته و سیستم های حفاظتی و امنیتی
    02634216001-02634216002

    ReplyDelete
  7. As you start your search for security cameras you will see security cameras that cost $100 and security cameras that cost $3500. In addition, all camera manufacturers will state their cameras produce the best picture quality under any circumstance. The truth is, just like everything else in life, you get what you pay for. Dash Cameras

    ReplyDelete
  8. This article provides the readers with useful tips that can help them in purchasing new home security alarms for their Melbourne Hikvision It details the important points that need to be remembered when buying a new security alarm system.

    ReplyDelete
  9. There are few places in today's 'Big Brother' world you can go without encountering CCTV cameras. For good or bad, they are here to stay. There is no doubt that covert and overt Serious Security CCTV cameras play an important part in reducing crime and enhancing safety but do we need so many?

    ReplyDelete
  10. Hey! Nice stuff, do tell us when you post something like that! camworks 2019 sp3

    ReplyDelete
  11. Starting a business in Australia can be either simple or complex, depending on the way you choose to structure your enterprise. There are four basic structures that you can choose from. These are Sole Trader, Partnership, Company or Trust. cad cam cnc software for sale

    ReplyDelete
  12. SEO provides you opportunity to make your site visible in search engines. There are many SEO packages available in market but you have choose which SEO packages suites your business needs. high da backlinks

    ReplyDelete
  13. SEO provides you opportunity to make your site visible in search engines. There are many SEO packages available in market but you have choose which SEO packages suites your business needs. how to get dofollow backlinks

    ReplyDelete
  14. SEO provides you opportunity to make your site visible in search engines. There are many SEO packages available in market but you have choose which SEO packages suites your business needs. buy seo services online

    ReplyDelete
  15. Once I initially commented I clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I get four emails with the same comment. Is there any method you can take away me from that service? Thanks! 먹튀검증

    ReplyDelete
  16. I visited a lot of website but I conceive this one holds something special in it in it 먹튀검증업체

    ReplyDelete
  17. I can understand that this is life during wartime, but many other films of this genre manage to squeeze in some hot babe scenes. 먹튀

    ReplyDelete
  18. My California Weight Loss diet invariably is an cost effective and versatile staying on your diet tv show made for people who find themselves planning to drop extra pounds and furthermore ultimately keep a much healthier habits. la weight loss 안전놀이터검증

    ReplyDelete
  19. You are about to learn about a review tip offered to a local business CEO about who was assassinating their reputation and possibly causing the business to lose profits right from the businesses bottom line, which could possibly be happening in your business? I was going to wait for the CEO to reply after my initial contact but I knew this person was busy so I wanted to give the CEO all the facts up front to make any decisions on in this matter that had to be made. quitmasturbating

    ReplyDelete
  20. ??? ??? ???? ?????? ?? ????? ????? ????? ?? ?????? ?????? ????? . ????? ??????? ????? ?????? ????? ??????? ?????? ??????? ???? ????? ?????? ??????? ??? ?????? ??? ?? ??????? money ????? ????????. 우리카지노계열

    ReplyDelete
  21. Although my area of expertise is in the Internet Marketing niche, as I was writing this article, I noticed the information would also work for traditional start up businesses as well. You will notice there are no references to Internet Marketing, etc. This is because I also wanted to share this information with anyone who is planning on starting a "traditional, brick and mortar" business. But the information contained here also applies to my friends who opt to go with the trend of online marketing as well. In this article, we focus on the initial planning steps of getting your business up and ready to open. Local News Feed New York

    ReplyDelete
  22. After examine just a few of the blog posts on your website now, and I actually like your approach of blogging. I bookmarked it to my bookmark web site record and will likely be checking back soon. Pls try my web site as effectively and let me know what you think. 먹튀

    ReplyDelete
  23. After examine just a few of the blog posts on your website now, and I actually like your approach of blogging. I bookmarked it to my bookmark web site record and will likely be checking back soon. Pls try my web site as effectively and let me know what you think. Mega888 android and ios

    ReplyDelete
  24. Wonderful goods from you, man. I’ve understand your stuff previous to and you’re just extremely magnificent. I actually like what you have acquired here, really like what you are saying and the way in which you say it. You make it entertaining and you still take care of to keep it wise. I can not wait to read much more from you. This is actually a wonderful web site. 먹튀

    ReplyDelete
  25. A very awesome blog post. We are really grateful for your blog post. combat, law enforcement You will find a lot of approaches after visiting your post. I was exactly searching for. Thanks for such post and please keep it up. Great work. 먹튀검증

    ReplyDelete
  26. It was nice to be on the website here. I will come back often in the future. Good day!서울출장안마

    ReplyDelete
  27. 이 블로그는 정말 훌륭합니다. 여기에있는 정보는 확실히 저에게 도움이 될 것입니다. 감사 ! 먹튀검증

    ReplyDelete
  28. I invite you to the page where you can read       with interesting information on similar topics 먹튀신고

    ReplyDelete
  29. I invite you to the page where you can read       with interesting information on similar topics 먹튀신고

    ReplyDelete
  30. With the US economy continues to pick up steam from the Great Recession, businesses are looking for growth capital and as a result, commercial banks are beginning to be IN STYLE once again. If anything we can be sure of both as consumers and producers in the US, business cycles are a given reality that requires wisdom and discipline to foresee and adequately prepare for.. 출장안마

    ReplyDelete
  31. I like viewing web sites which comprehend the price of delivering the excellent useful resource free of charge. I truly adored reading your posting. Thank you! 먹튀신고

    ReplyDelete
  32. The post is written in very a good manner and it contains many useful information for me 안전놀이터

    ReplyDelete
  33. ❤ I favor the idea, such a good deal 토토

    ReplyDelete
  34. Personally I think overjoyed I discovered the blogs. 먹튀폴리스

    ReplyDelete
  35. Choosing a technology partner should not be made lightly with all of the money and time invested in a project. For this reason you have to do your homework and find out which company will be the best fit for your team, company, and project. You have to be willing to ask questions, get references and referrals, and take the time to consider the compatibility of teams. Be open and receptive to the things that different companies have to offer and align those with the things you are looking for. In the end taking the time to find a technology partner that you can trust will pay off and could lead to future collaborations. Greenhouse Gas

    ReplyDelete
  36. Business is a tough game. Continually we need to operate in three areas to ensure we produce consistent outcomes. The businesses we work with are challenged to: Additional reading

    ReplyDelete
  37. Decent data, profitable and phenomenal outline, as offer well done with smart thoughts and ideas, bunches of extraordinary data and motivation, both of which I require, on account of offer such an accommodating data her 사설토토

    ReplyDelete
  38. I am always searching online for articles that can help me. There is obviously a lot to know about this. I think you made some good points in Features also. Keep working, great job! seo tijuana

    ReplyDelete
  39. This is very useful, although it will be important to help simply click that web page link: used motorcycles for sale

    ReplyDelete
  40. Thats really a nice and worthy post, this Stiglitz topic is very interesting. Keep it up with the good work, thanks for sharing this article polaris dealer

    ReplyDelete
  41. Thanks for a wonderful share. Your article has proved your hard work and experience you have got in this field. Brilliant .i love it reading Auto Shop Reading

    ReplyDelete
  42. I think this is a sublime article, and the content published is fantastic. This content will help me to complete a paper that I've been working on for the last 2 weeks. It was a difficult 2 weeks, but I am glad the work is done now. Used Audi Reading

    ReplyDelete
  43. I invite you to the page where you can read       with interesting information on similar topics. Transfer From Airport

    ReplyDelete
  44. Such a very useful article. Very interesting to read this article. I would like to thank you for the efforts you had made for writing this awesome article. 검증업체

    ReplyDelete
  45. I definitely enjoying every little bit of it and I have you bookmarked to check out new stuff you post. 먹튀폴리스

    ReplyDelete
  46. this is really good website, coolest I have ever visit thank you so much, i will follow and stay tuned much appriciated 먹튀검증

    ReplyDelete
  47. I invite you to the page where you can read       with interesting information on similar topics. 안전놀이터

    ReplyDelete
  48. Your substance is completely splendid from various perspectives. I think this is drawing in and educational material. Much obliged to you such a great amount for thinking about your substance and your perusers. Buy Klonopin Online

    ReplyDelete
  49. Electrical power dissertation web-sites on-line when you likewise be given clearly advertised with your web page. voyance

    ReplyDelete
  50. men and women think.
    Also, many thanks for allowing for me to comment! 토토사이트검증

    ReplyDelete
  51. Good article! We are linking to this particularly great post on our site. Keep up the great writing.토토먹튀

    ReplyDelete
  52. First of all, thank you for letting me see this information. I think this article can give me a lot of inspiration. I would appreciate 바둑이사이트 if you could post more good contents in the future.

    ReplyDelete
  53. Hello! Nice to meet you, I say . The name of the community I run is 안전놀이터, and the community I run contains articles similar to your blog. If you have time, I would be very grateful if you visit my site .

    ReplyDelete
  54. It is perfect time to make some plans for the future and it is time to be happy. 토토사이트 I've read this post and if I could I desire to suggest you some interesting things or suggestions. Perhaps you could write next articles referring to this article. I want to read more things about it!

    ReplyDelete
  55. Promptly your blog might irrefutably typically possibly be visible related to each one of blog site people today, on account of diligent studies and as well lab tests. top explainer video companies near me

    ReplyDelete
  56. My curiosity was solved by looking at your writing. Your writing was helpful to me.카지노사이트I want to help you too.

    ReplyDelete
  57. Your post is very helpful to get some effective tips to reduce weight properly. You have shared various nice photos of the same. I would like to thank you for sharing these tips. Surely I will try this at home. Keep updating more simple tips like this.해선커뮤니티

    ReplyDelete
  58. I haven't seen anything interesting in a long time, and I'm writing on this form, so I hope to see you.토토사이트

    ReplyDelete
  59. I got a web site from where I be capable of really obtain valuable information regarding my study and knowledge.
    Great Article… Good Job… Thanks For Sharing…

    Website:풀싸롱

    ReplyDelete
  60. wonderful points altogether,Perfect. I'll come often. Great work! 토토존보증업체

    ReplyDelete
  61. That's a really good piece of data. Amazing.Thank you. I'll be back every day 안전사이트

    ReplyDelete
  62. Wow, superb blog layout! How long have you been blogging for? you made blogging look easy. The overall look of your website is excellent, as well as the content! 먹튀검증

    ReplyDelete
  63. thing needs to happen! Simply letting the quota happen isn’t acceptable. This will help you stay above the curve 먹튀폴리스

    ReplyDelete
  64. IE nonetheless is the market leader and a huge component to other people will leave out your great writing because of this problem 메이저사이트

    ReplyDelete
  65. carried out right here. The sketch is tasteful, 보증업체 your authored subject Thank you for doing my research for me

    ReplyDelete
  66. Thank you. I'll be back every day. Guess I will just bookmark this site 먹튀검증커뮤니티

    ReplyDelete
  67. Every time you have this place like this,Guess I will just bookmark this site. 해외안전공원

    ReplyDelete
  68. As I am looking at your writing, 온라인바둑이 I regret being unable to do outdoor activities due to Corona 19, and I miss my old daily life. If you also miss the daily life of those days, would you please visit my site once? My site is a site where I post about photos and daily life when I was free.

    ReplyDelete
  69. Bank turned you down for a business loan? Did you know that there may be another local financial institution that is more likely to say yes? Fortune best cryptocurrency

    ReplyDelete
  70. I seriously love your website.. Excellent colors & theme.
    Did you create this amazing site yourself? Please reply back as I’m attempting to create my own site
    and want to know where you got this from or just what the theme is named.
    Cheers!토토사이트

    ReplyDelete
  71. Your writing is perfect and complete. However, I think it will be more wonderful if your post includes additional topics that I am thinking of. I have a lot of posts on my site similar to your topic. Would you like to visit once? 먹튀커뮤니티

    ReplyDelete
  72. I want to start a blog to write about everything that happens at school and
    with friends…anonymously…any sugestions?.밤고수입니다

    ReplyDelete
  73. It's the same topic, but I was surprised that it was so different from my opinion. I hope you feel the same after seeing the writings I have written. 토토사이트

    ReplyDelete
  74. I'd rather read this good article and increase my knowledge for a cup of tequila.메이저놀이터

    ReplyDelete
  75. want to leave a little comment to support and wish you the best of luck.
    we wish you the best of luck in all your blogging enedevors.검증된


    ReplyDelete
  76. I'm planning to go home and do this today, 스포츠토토사이트 and I'm so nervous that I can't sleep, but I'm going to sleep. Good night. Sweet dreams.

    ReplyDelete
  77. I've seen articles on the same subject many times, but your writing is the simplest and clearest of them. I will refer to 메이저놀이터추천

    ReplyDelete
  78. This is my first time i visit here. I found so many entertaining stuff in your blog, especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the leisure here! Keep up the good work. I have been meaning to write something like this on my website and you have given me an idea. 온라인포커

    ReplyDelete
  79. I’m thinking some of my readers might find a bit of this interesting. Do you mind if I post a clip from this and link back? Thanks 사설토토

    ReplyDelete
  80. Sweet blog! I found it while browsing on Yahoo News.
    Do you have any tips on how to get listed in Yahoo News?
    I’ve been trying for a while but I never seem to get
    there! Thank you

    Also visit my site:オンラインカジノ

    ReplyDelete
  81. I think there are lots of more enjoyable instances ahead for individuals who take a look
    at your blog post.

    Here is my web site - 휴게텔

    ReplyDelete
  82. Been looking for this article for long time ago and finally found here. Thanks for the tips and sharing this post. appreciate!Please check out my website too and let me know what you think.
    えがおんカジノ

    ReplyDelete
  83. I've been troubled for several days with this topic. Kèo nhà cái, But by chance looking at your post solved my problem! I will leave my blog, so when would you like to visit it?

    ReplyDelete
  84. Wonderful beat ! I wish to apprentice while you amend
    your web site, how can i subscribe for a blog site? The account helped me a acceptable deal.
    I had been a little bit acquainted of this your broadcast
    provided bright clear idea.오피


    ReplyDelete
  85. I'm so happy to see such a good article after a long time, so I'd appreciate it if you gave me more information.안전놀이터

    ReplyDelete
  86. Youre so right. Im there with you. Your weblog is definitely worth a read if anyone comes throughout it. Im lucky I did because now Ive received a whole new view of this. 먹튀검증사이트

    ReplyDelete
  87. My partner and I stumbled over here coming from a different website and thought I may as well
    check things out. I like what I see so now i'm following
    you. Look forward to exploring your web page again.
    출장안마

    The Gaming Club Casino also offers auction services to members, a sign-up bonus and cash
    gratuities available to players and club members alike.
    After the player receiving this bonus, these casinos
    offer other bonuses for future deposits. These
    players will be provided incentives for upcoming deposits that happen to be their casino accounts.

    ReplyDelete
  88. I just wanted to say that I was new to the blog and really enjoyed this website. More likely to bookmark your blog.토토사이트추천You certainly have a remarkable article. This is a guide for sharing websites.

    ReplyDelete
  89. Howdy! Do you know if they make any plugins to assist with SEO? I’m trying to get my blog to rank for some targeted keywords but I’m not seeing very good results. If you know of any please share. Cheers! 메이저놀이터

    ReplyDelete
  90. I do not even know how I ended up here, but I thought this post was good. I do not know who you are but definitely you are going to a famous blogger if you aren’t already ?? Cheers!
    II바카라사이트

    ReplyDelete
  91. There must have been many difficulties in providing this information.Bóng88 Nevertheless, thank you for providing such high-quality information.

    ReplyDelete
  92. Thanks for your marvelous posting! I actually enjoyed reading it, you could be
    a great author.I will remember to bookmark your blog and will
    eventually come back from now on. I want to encourage you to continue your great
    writing, have a nice weekend!

    Website:온라인카지노

    ReplyDelete
  93. Hello to all, how is everything, I think every one is
    getting more from this site, and your views are good for new visitors.오피사이트

    ReplyDelete
  94. Your information was very useful to me. That's exactly what I've been looking for Bóngđộ!

    ReplyDelete
  95. I’m going to read this. I’ll be sure to come back. thanks for sharing. and also This article gives the light in which we can observe the reality. this is very nice one and gives indepth information. thanks for this nice article 메이저토토사이트추천

    ReplyDelete
  96. Nice post. I learn something totally new and challenging on blogs I stumbleupon everyday. It’s always useful to read through content from other authors and use something from other sites. 메이저안전놀이터

    ReplyDelete
  97. Greetings! Very helpful advice in this particular article! It’s the little changes which will make the largest changes. Thanks for sharing 안전놀이터

    ReplyDelete
  98. Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work. 메이저놀이터추천

    ReplyDelete
  99. Your writing is perfect and complete. However, I think it will be more wonderful if your post includes additional topics that I am thinking of. I have a lot of posts on my site similar to your topic. Would you like to visit once? kèo nhà cái

    ReplyDelete
  100. Pretty nice post. I just stumbled upon your weblog and wanted to say that I have really enjoyed browsing your blog posts. After all I’ll be subscribing to your feed and I hope you write again soon 먹튀검증업체 I would like to write an article based on your article. When can I ask for a review?!

    ReplyDelete
  101. If you're thinking about taking digital photography classes to help you become a better photographer, but aren't sure where to begin, here are the most common ways to take an affordable photography class. Online photography classes are one of the quickest and easiest ways to get started. photobooth

    ReplyDelete
  102. What's up, after reading this remarkable piece
    of writing i am also glad to share my know-how here with mates.
    click me here카지노사이트

    yang

    ReplyDelete
  103. We stumbled over here by a different website and thought I might check things out. I like what I see so now i am following you. Look forward to finding out about your web page again. bongdo

    ReplyDelete
  104. When did you start writing articles related to ? To write a post by reinterpreting the 메이저안전놀이터 I used to know is amazing. I want to talk more closely about , can you give me a message?

    ReplyDelete
  105. It’s a pity you din’t have a dinate buttin?! I’d certainly dinate to it fantaddtic blog?! I suppose for now i’ll settle for bookmarking and adding Vegus RSS feed to my Google account. I look forward to fresh updates and will talk about it site with my Facebook group. Chat soin?!
    슬롯머신

    >wep<

    ReplyDelete
  106. What a nice post! I'm so happy to read this. 토토사이트추천 What you wrote was very helpful to me. Thank you. Actually, I run a site similar to you. If you have time, could you visit my site? Please leave your comments after reading what I wrote. If you do so, I will actively reflect your opinion. I think it will be a great help to run my site. Have a good day.

    ReplyDelete
  107. All your hard work is much appreciated. This content data gives truly quality and unique information. I’m definitely going to look into it. Really very beneficial tips are provided here and, Thank you so much.카지노사이트 Keep up the good works.

    ReplyDelete
  108. Thanks for such a valuable post. I am waiting for your next post, I have enjoyed a lot reading this post keep it up.바카라사이트

    ReplyDelete
  109. I really enjoy your web’s topic. Very creative and friendly for users. Definitely bookmark this and follow it everyday.토토

    ReplyDelete
  110. Your article is very interesting. I think this article has a lot of information needed, looking forward to your new posts.
    온라인카지노

    ReplyDelete
  111. Thank you for sharing your thoughts. I really appreciate your my own blog and would like to find out where u got this from. 토토커뮤니티

    ReplyDelete
  112. I'll come and read every day. It's really nice to have a place like this I wish you all the best 토토검증

    ReplyDelete
  113. I really like reading a post 검증놀이터 to learn. i appreciate you and hopping for some more informative posts

    ReplyDelete
  114. I really like reading a post 메이저검증 that can make people think. Also, many thanks for allowing me to comment!

    ReplyDelete
  115. should take part in a contest for one of the greatest websites on the 토토검증 about this subject, however, you sound like you know what youíre talking about! Thanks

    ReplyDelete
  116. This site seems to inspire me a lot. Thank you so much for organizing and providing this quality information in an easy to understand way. I think that a healthy era of big data can be maintained only when such high-quality information is continuously produced. And I, too, are working hard to organize and provide such high-quality information. It would be nice to come in once and get information.

    Also visit my site:먹튀검증

    ReplyDelete
  117. I’ve been absent for a while, but now I remember why I used to love this website. Thanks, I will try and check back more often. How frequently you update your site?
    송송넷

    ReplyDelete
  118. https://dpatrickcaldwell.blogspot.com/2014/12/secure-foscam-ip-cameras-with-ssl-on.html?showComment=1531133739904#c329090643126130956

    ReplyDelete
  119. I’m thinking some of my readers might find a bit of this interesting. Do you mind if I post a clip from this and link back? Thanks 사설토토

    ReplyDelete
  120. Someone necessarily help to make severely articles I might state. That is the first time I frequented your web page and up to now? I surprised with the analysis you made to create this actual publish extraordinary. Fantastic process keonhacai

    ReplyDelete
  121. Thank you a lot for sharing this with all of us you
    actually realize what you are talking approximately!
    Bookmarked. Kindly also visit my site =). We can have a hyperlink
    trade arrangement between us 바카라


    ReplyDelete
  122. Hello, I read the post well. soi kèo It's a really interesting topic and it has helped me a lot. In fact, I also run a website with similar content to your posting. Please visit once

    ReplyDelete
  123. Thanks For such a valuable post. I am waiting for your next post, I have enjoyed a lot reading this post keep it up.
    일본경마

    ReplyDelete
  124. Every good business must have a roadmap that tells exactly how the company is, its potentials and makeup. This important document serves as a guarantee for assistance by any technical or financial institution. It is thus imperative that young entrepreneurs consider developing their own business plan for their enterprises. 101 Bio

    ReplyDelete
  125. Every good business must have a roadmap that tells exactly how the company is, its potentials and makeup. This important document serves as a guarantee for assistance by any technical or financial institution. It is thus imperative that young entrepreneurs consider developing their own business plan for their enterprises. lifestyle blog

    ReplyDelete
  126. Every good business must have a roadmap that tells exactly how the company is, its potentials and makeup. This important document serves as a guarantee for assistance by any technical or financial institution. It is thus imperative that young entrepreneurs consider developing their own business plan for their enterprises. hot new beauty launches

    ReplyDelete
  127. Hello, I used to check the posts here all the time. Every morning, I watch it because I like it. 먹튀보증업체

    ReplyDelete
  128. I have read your excellent post. This is a great job. I have enjoyed reading your post first time. I want to say thanks for this post. Thank you. 메이저안전사이트

    ReplyDelete
  129. Its a great pleasure reading your post.Its full of information I am looking for and I love to post a comment that 카지노사이트

    ReplyDelete
  130. Your article is great. I think it will be praised anywhere. I am a columnist and I am writing articles related to 사설토토사이트

    ReplyDelete
  131. 안전공원추천 Great information and it is also very well written. I will bookmark and comeback soon

    ReplyDelete
  132. 토토검증업체 will always let you and your words become part of my day because you never know how much you make my day happier and more

    ReplyDelete
  133. We all like the idea of having control over our time, working when we want and how we want to, and doing things at our own pace. These are good reasons to start your very own business. Then again, you may wonder what kind of business you should go into. nail chips

    ReplyDelete
  134. These websites are really needed, you can learn a lot
    사설경마

    magosucowep

    ReplyDelete
  135. I am sure this article has touched all the internet viewers, its really really
    pleasant piece of writing on building up new website. 경마



    ReplyDelete
  136. I accidentally searched and visited your site. I still saw several posts during my visit, but the text was neat and readable. I will quote this post and post it on my blog. Would you like to visit my blog later? 토토사이트순위

    ReplyDelete
  137. Your explanation is organized very easy to understand!!! I understood at once. Could you please post about 먹튀검증업체?? Please!!


    ReplyDelete
  138. We all like the idea of having control over our time, working when we want and how we want to, and doing things at our own pace. These are good reasons to start your very own business. Then again, you may wonder what kind of business you should go into. mental health blog

    ReplyDelete
  139. Your ideas inspired me very much. 메이저토토사이트모음 It's amazing. I want to learn your writing skills. In fact, I also have a website. If you are okay, please visit once and leave your opinion. Thank you.

    ReplyDelete
  140. Hello, I read the post well. 안전놀이터 It's a really interesting topic and it has helped me a lot. In fact, I also run a website with similar content to your posting. Please visit once


    ReplyDelete
  141. I’m very pleased to discover this site. I want to to thank you for ones time for this particularly wonderful read!! I definitely savored every part of it and i also have you saved as a favorite to see new information on your blog. 먹튀사이트

    ReplyDelete
  142. Fashion stylists are indispensable for celebrities, fashion models and actors. Today, with people busy with their careers, we find many individuals too opting for the services of stylists. products

    ReplyDelete
  143. Your posts are always informative. This post was a very interesting topic for me too. 파워볼사이트 I wish I could visit the site I run and exchange opinions with each other. So have a nice day.


    ReplyDelete
  144. I've been searching for hours on this topic and finally found your post. 바카라사이트, I have read your post and I am very impressed. We prefer your opinion and will visit this site frequently to refer to your opinion. When would you like to visit my site?


    ReplyDelete
  145. You made some good points there. I did a Google search about the topic and found most people will believe your blog. 메이저사이트

    ReplyDelete
  146. This is the perfect post.안전놀이터 It helped me a lot. If you have time, I hope you come to my site and share your opinions. Have a nice day.

    ReplyDelete
  147. In my opinion, the item you posted is perfect for being selected as the best item of the year. You seem to be a genius to combine 우리카지노 and . Please think of more new items in the future!

    ReplyDelete
  148. Like any other working environment, those in the construction industry may experience work accidents from time to time. If the employee's injury can be directly attributed to the mistakes of the employer, these accidents can lead to successful construction accident claims. بروش

    ReplyDelete
  149. It's the same topic , but I was quite surprised to see the opinions I didn't think of. My blog also has articles on these topics, so I look forward to your visit.baccarat

    ReplyDelete
  150. This is a very impressive subject. Thank you for always. I have been reading your article interestingly. If possible, please visit my website to read my posts and leave comments. Have a nice day! 바카라사이트 What you wrote was very helpful to me. Thank you. Actually, I run a site similar to you. If you have time, could you visit my site? Please leave your comments after reading what I wrote. If you do so, I will actively reflect your opinion. I think it will be a great help to run my site. Have a good day.


    ReplyDelete
  151. As I am looking at your writing, 파워볼사이트 I regret being unable to do outdoor activities due to Corona 19, and I miss my old daily life. If you also miss the daily life of those days, would you please visit my site once? My site is a site where I post about photos and daily life when I was free.

    ReplyDelete
  152. This is the perfect post.casino trực tuyến It helped me a lot. If you have time, I hope you come to my site and share your opinions. Have a nice day.


    ReplyDelete
  153. First of all, thank you for your post. 바카라사이트 Your posts are neatly organized with the information I want, so there are plenty of resources to reference. I bookmark this site and will find your posts frequently in the future. Thanks again ^^

    ReplyDelete
  154. It seems like I've never seen an article of a kind like . It literally means the best thorn. It seems to be a fantastic article. It is the best among articles related to 바카라사이트. seems very easy, but it's a difficult kind of article, and it's perfect.

    ReplyDelete
  155. How can you think of this? I thought about this, but I couldn't solve it as well as you.샌즈카지노I am so amazing and cool you are. I think you will help me. I hope you can help me.


    ReplyDelete
  156. Why couldn't I have the same or similar opinions as you? T^T I hope you also visit my blog and give us a good opinion.casino online

    ReplyDelete
  157. I was impressed by your writing. Your writing is impressive. I want to write like you.파워볼사이트 I hope you can read my post and let me know what to modify. My writing is in I would like you to visit my blog.


    ReplyDelete
  158. I've been searching for hours on this topic and finally found your post. 슬롯사이트, I have read your post and I am very impressed. We prefer your opinion and will visit this site frequently to refer to your opinion. When would you like to visit my site?

    ReplyDelete
  159. I'm writing on this topic these days, 메리트카지노, but I have stopped writing because there is no reference material. Then I accidentally found your article. I can refer to a variety of materials, so I think the work I was preparing will work! Thank you for your efforts.


    ReplyDelete
  160. I am a 슬롯사이트 expert. I've read a lot of articles, but I'm the first person to understand as well as you. I leave a post for the first time. It's great!!

    ReplyDelete
  161. You made some good points there. I did a Google search about the topic and found most people will believe your blog. 먹튀검증

    ReplyDelete
  162. We are looking for a lot of data on this item. In the meantime, this is the perfect article I was looking for . Please post a lot about items related to 바카라사이트!!! I am waiting for your article. And when you are having difficulty writing articles, I think you can get a lot of help by visiting my .

    ReplyDelete
  163. Your article has answered the question I was wondering about! I would like to write a thesis on this subject, but I would like you to give your opinion once :Dsòng bạc

    ReplyDelete
  164. This is the post I was looking for roulette I am very happy to finally read about the Thank you very much. Your post was of great help to me. If you are interested in the column I wrote, please visit my site .

    ReplyDelete
  165. The assignment submission period was over and I was nervous, 우리카지노 and I am very happy to see your post just in time and it was a great help. Thank you ! Leave your blog address below. Please visit me anytime.

    ReplyDelete
  166. Hello, I am one of the most impressed people in your article. 토토사이트순위 I'm very curious about how you write such a good article. Are you an expert on this subject? I think so. Thank you again for allowing me to read these posts, and have a nice day today. Thank you.

    ReplyDelete
  167. There must have been many difficulties in providing this information. 우리카지노 Nevertheless, thank you for providing such high-quality information.

    ReplyDelete
  168. Hello, I'm happy to see some great articles on your site. Would you like to come to my site later? My site also has posts, comments and communities similar to yours. Please visit and take a look 토토사이트

    ReplyDelete
  169. Life As a VIP High Roller At the 메이저사이트추천: What It's Like, Why I Gave It All Up and Gambling Addiction

    ReplyDelete
  170. Failure to understand the reality about beauty can be overwhelming and depressing. This article gives an honest perspective on the concept of beauty and leads on to practical tips on enhancing your beauty and health. Joseph Hobbs

    ReplyDelete
  171. I ve always been wasting my time, but I m here to read a lot of good information and good articles. Please update it every day. Thank you. 토토사이트

    ReplyDelete
  172. We still cannot quite believe that I was able to often be any type of those staring at the important points located on your blog post. 먹튀검증

    ReplyDelete
  173. It s really amazing here. I want to say that your amazing. I learn and learn a lot of useful information. 토토검증

    ReplyDelete
  174. minute but I have saved it and also included your RSS feeds, so when I have time I will be back to read a lot more, Please do keep up the great work. commercial sign company near me

    ReplyDelete
  175. I’m thinking some of my readers might find a bit of this interesting. Do you mind if I post a clip from this and link back? Thanks 사설토토

    ReplyDelete
  176. After reading your article I was amazed. I know that you explain it very well. And I hope that other readers will also experience how I fee 토토

    ReplyDelete
  177. Wow, amazing blog layout! How long have you been blogging for? you make blogging look easy. 토토사이트

    ReplyDelete
  178. There are also articles on these topics on my blog and I hope you visit once and have a deep discussion! 메이저놀이터

    ReplyDelete
  179. Your article has answered the question I was wondering about! I would like to write a thesis on this subject, but I would like you to give your opinion once :D 꽁머니

    ReplyDelete
  180. Dergh.com is a social networking website that provides a safe platform for everyone. Our mission is to help people find and share anything from topics to messages. Dergh.com supports public and private messaging, profiles, pictures, search, notification, multimedia, polls and much more make friends

    ReplyDelete
  181. It has fully emerged to crown Singapore's southern shores and undoubtedly placed her on the global map of residential landmarks. I still scored the more points than I ever have in a season for GS. I think you would be hard pressed to find somebody with the same consistency I have had over the years so I am happy with that. 메이저토토사이트

    ReplyDelete
  182. 토토사이트 #41 $25K BUY-IN $500 - $2000 HANDS Good Action with Lots of Doubles and Tons of 토토사이트s

    ReplyDelete
  183. There are many different avenues one can go down when they desire a career in fashion. From Fashion designer to celebrity stylist learn all about the hot careers in fashion. بوركيني

    ReplyDelete
  184. I had a lot of fun at this Olympics, but something was missing. I hope there's an audience next time.안전토토사이트

    ReplyDelete
  185. Every good business must have a roadmap that tells exactly how the company is, its potentials and makeup. This important document serves as a guarantee for assistance by any technical or financial institution. It is thus imperative that young entrepreneurs consider developing their own business plan for their enterprises. Singapore Payroll

    ReplyDelete
  186. This is a very interesting post. Thank you for posting a lot of interesting posts. And please visit my site!~! The name of the site is 슬롯사이트 .

    ReplyDelete
  187. If you want to start a business from scratch and are lacking experience in that specific industry then this article is for you to read. Find out the most comprehensive details about starting a fresh business without any experience at all. متجر القط العسيري

    ReplyDelete
  188. When did you start writing articles related to ? To write a post by reinterpreting the 메이저사이트추천 I used to know is amazing. I want to talk more closely about , can you give me a message?

    ReplyDelete
  189. Why couldn't I have the same or similar opinions as you? T^T I hope you also visit my blog and give us a good opinion. 안전놀이터

    ReplyDelete
  190. When did it start? The day I started surfing the Internet to read articles related to . I've been fond of seeing various sites related to 안전놀이터 around the world for over 10 years. Among them, I saw your site writing articles related to and I am very satisfied.

    ReplyDelete
  191. Hello, I read the post well. 메이저토토 It's a really interesting topic and it has helped me a lot. In fact, I also run a website with similar content to your posting. Please visit once

    ReplyDelete
  192. Hello, I am one of the most impressed people in your article. 토토사이트순위 I'm very curious about how you write such a good article. Are you an expert on this subject? I think so. Thank you again for allowing me to read these posts, and have a nice day today. Thank you.

    ReplyDelete