08-06-2017, 11:15
Jeg fandt et smukt værktøj for et års tid siden der hedder ngrok. ngrok bruger jeg selv til at tilgå min Amazon Echo jeg har herhjemme, da Amazon kræver en sikker SSL forbindelse mellem min server og deres, og da jeg ikke havde tid eller overskud til at oprette nogle certifikater og finde en måde at bruge det på med Flask i Python.
Dette vil dog mest blive brugt til folk der ikke kan port forwarde.
Så vidt jeg kan finde frem til, kan du åbne op for alt. TCP og HTTP er nok de mest normale, men her er nogle eksempler:
og mange, mange flere. Det virker på den måde, at du kører en command hvor du specificerer protokollen (for eksempel TCP eller HTTP) samt hvilken port.
Når du så kører commanden, sker der nogle ting:
Hvis du kører en webserver på port 80 (som du kan tilgå på fx http://localhost/), så kan du meget nemt oprette en tunnel således:
Jeg har tilføjet -region eu så den bruger en af deres europæriske servere. Nu får du en URL tilbage, der kunne ligne noget i stil med: http://b172270d.eu.ngrok.io
Går du ind på den URL, vil den vise dig din lokale side! Du kan sende den URL til så mange du har lyst til, og de vil stadigvæk kunne se den. Derudover kan du gøre det "ekstra sikkert", ved at uddele HTTPS URLen (bare skriv https i stedet for http).
Hvis du ejer et domæne, kan du også få den peget over, så den peger på ngrok. Dette kan du læse om her: https://ngrok.com/docs#custom-domains
Vigtig detalje
Hver gang du lukker for ngrok tunnelen og åbner den igen (samme command), vil din URL være anderledes. Dette kan løses ved at oprette en bruger og betale $5 om måneden. Er du studerende, kan du få 40% rabat ved at sende en mail til dem, så det er faktisk rigtig billigt for så fedt et værktøj. Når du har betalt, kan du få dit eget custom subdomæne, så du fx kan oprette http://ash.ngrok.io/ og bruge den samme hver gang.
Håber dette kan hjælpe nogen, hvis de har problemer med at port forwarde eller lignende!
Dette vil dog mest blive brugt til folk der ikke kan port forwarde.
Så vidt jeg kan finde frem til, kan du åbne op for alt. TCP og HTTP er nok de mest normale, men her er nogle eksempler:
- Lave din egen webserver
- Tillad adgang til en SSH server
- Åbne op for en FTP server
- Køre et botnet (til udvikling, ellers skal du passe på)
og mange, mange flere. Det virker på den måde, at du kører en command hvor du specificerer protokollen (for eksempel TCP eller HTTP) samt hvilken port.
Når du så kører commanden, sker der nogle ting:
- ngrok åbner "tunnel" til deres server
- Deres server opretter en URL
- ngrok outputter URLen til dig
Hvis du kører en webserver på port 80 (som du kan tilgå på fx http://localhost/), så kan du meget nemt oprette en tunnel således:
Kode:
ngrok http -region eu 80
Jeg har tilføjet -region eu så den bruger en af deres europæriske servere. Nu får du en URL tilbage, der kunne ligne noget i stil med: http://b172270d.eu.ngrok.io
Går du ind på den URL, vil den vise dig din lokale side! Du kan sende den URL til så mange du har lyst til, og de vil stadigvæk kunne se den. Derudover kan du gøre det "ekstra sikkert", ved at uddele HTTPS URLen (bare skriv https i stedet for http).
Hvis du ejer et domæne, kan du også få den peget over, så den peger på ngrok. Dette kan du læse om her: https://ngrok.com/docs#custom-domains
Vigtig detalje
Hver gang du lukker for ngrok tunnelen og åbner den igen (samme command), vil din URL være anderledes. Dette kan løses ved at oprette en bruger og betale $5 om måneden. Er du studerende, kan du få 40% rabat ved at sende en mail til dem, så det er faktisk rigtig billigt for så fedt et værktøj. Når du har betalt, kan du få dit eget custom subdomæne, så du fx kan oprette http://ash.ngrok.io/ og bruge den samme hver gang.
Håber dette kan hjælpe nogen, hvis de har problemer med at port forwarde eller lignende!