{"id":23238,"date":"2014-12-30T19:56:49","date_gmt":"2014-12-30T17:56:49","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=23238"},"modified":"2014-12-30T19:56:49","modified_gmt":"2014-12-30T17:56:49","slug":"ngrok-introspected-tunnels-to-localhost","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2014\/12\/30\/ngrok-introspected-tunnels-to-localhost\/","title":{"rendered":"ngrok &#8211; introspected tunnels to localhost"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/ngrok.com\/\">ngrok<\/a> &#8211; introspected tunnels to localhost. \u00a0This is very, very cool. \u00a0And mighty useful.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/12\/ngrok.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"23239\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2014\/12\/30\/ngrok-introspected-tunnels-to-localhost\/ngrok\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/12\/ngrok.png?fit=800%2C498&amp;ssl=1\" data-orig-size=\"800,498\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"ngrok\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/12\/ngrok.png?fit=660%2C411&amp;ssl=1\" class=\"aligncenter size-medium wp-image-23239\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/12\/ngrok-500x311.png?resize=500%2C311&#038;ssl=1\" alt=\"ngrok\" width=\"500\" height=\"311\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/12\/ngrok.png?resize=500%2C311&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/12\/ngrok.png?w=800&amp;ssl=1 800w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>ngrok &#8211; introspected tunnels to localhost. \u00a0This is very, very cool. \u00a0And mighty useful.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"link","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"ngrok - introspected tunnels to localhost #WebDev #networks #security","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,133,62,1334],"tags":[281,200,1330],"keyring_services":[],"class_list":["post-23238","post","type-post","status-publish","format-link","hentry","category-general","category-programming","category-sysadmin","category-technology","category-web-work","tag-networks","tag-security","tag-web-development","post_format-post-format-link"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":29153,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/28\/ssh-examples-tips-tunnels\/","url_meta":{"origin":23238,"position":0},"title":"SSH Examples, Tips &#038; Tunnels","author":"Leonid Mamchenkov","date":"December 28, 2018","format":false,"excerpt":"\"SSH Examples, Tips & Tunnels\" is a nice collection of tips and examples for Secure Shell (ssh) users. It covers a variety of scenarios from simple remote connections, to file copying, to tunnels and jump hosts.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26923,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/11\/21\/shell-parameter-expansion-default-values-for-shell-script-parameters\/","url_meta":{"origin":23238,"position":1},"title":"Shell parameter expansion : default values for shell script parameters","author":"Leonid Mamchenkov","date":"November 21, 2016","format":false,"excerpt":"When writing shell scripts, it's often useful to accept some command line parameters. \u00a0It's even more useful to have some defaults for those parameters. \u00a0Until now I've been using if statements to check if the parameter was empty, and if it was, to set it to the default value. \u00a0Something\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26227,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/07\/07\/forcing-amazon-linux-ami-compatibility-with-centos-in-ansible\/","url_meta":{"origin":23238,"position":2},"title":"Forcing Amazon Linux AMI compatibility with CentOS in Ansible","author":"Leonid Mamchenkov","date":"July 7, 2016","format":false,"excerpt":"One of the things that makes Ansible so awesome is a huge collection of shared roles over at Ansible Galaxy. \u00a0These bring you best practices, flexible configurations and in general save hours and hours of hardcore swearing and hair pulling. Each role usually supports multiple versions of multiple Linux distributions.\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":22373,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/08\/12\/am-i-responsive-preview\/","url_meta":{"origin":23238,"position":3},"title":"Am I Responsive? Preview!","author":"Leonid Mamchenkov","date":"August 12, 2014","format":false,"excerpt":"Am I Responsive? - this is a brilliant tool! \u00a0You can type the URL you are interested in, click \"Go!\"\u00a0button and see the preview of the URL on four different screen sizes - large desktop, medium desktop, tablet, and smartphone. \u00a0No waiting in queue, no screenshots - all is live,\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":24,"url":"https:\/\/mamchenkov.net\/wordpress\/2002\/03\/08\/mysql-password-recovery\/","url_meta":{"origin":23238,"position":4},"title":"MySQL password recovery","author":"Leonid Mamchenkov","date":"March 8, 2002","format":false,"excerpt":"It often happens so that administrator's password for MySQL is lost or forgotten. The easiest way to fix the problem is to open \/var\/lib\/mysql\/mysql\/user.MYD in hex editor and replace the encrypted string near \"localhost root\" with spaces. Then mysql service should be restarted, and that's it.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":22700,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/10\/22\/url-rewriting-in-built-in-web-server-of-php\/","url_meta":{"origin":23238,"position":5},"title":"URL rewriting in built-in web server of PHP","author":"Leonid Mamchenkov","date":"October 22, 2014","format":false,"excerpt":"PHP comes with a handy for development built-in web server. \u00a0However, most web projects have friendly URLs these days which are either Apache (mod_rewrite) or Nginx specific configuration. \u00a0This almost renders built-in PHP web server useless. \u00a0Unless you provide a PHP-based routing, like so: Start the PHP web server with\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/23238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=23238"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/23238\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=23238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=23238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=23238"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=23238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}