Internet przewodowy z dwóch źródeł

Internet przewodowy z dwóch źródeł
AN
  • Rejestracja:prawie 19 lat
  • Ostatnio:około 23 godziny
0

Nie jest to jakiś palący problem, ale interesuje mnie, w jaki sposób podłączyć router (a nawet, na co zwrócić uwagę kupując taki router czy inne urządzenie), żeby mieć automatyczne przełączanie internetu.

Aby nie komplikować bez potrzeby, załóżmy taką fikcyjną i trochę bezsensowną konfigurację: Mam podpisane dwie umowy z dwiema firmami internetowymi. Pierwsza nazwijmy "A", która zapewnia bardzo dobry transfer, ale bywają przerwy w działaniu. Druga firma, nazwijmy "B", daje transfer taki sobie, możliwe, że też z przerwami (ale zakładając, że nie ma przypadków, w których akurat w obu firmach jest przerwa). Obie firmy dostarczyły modem przewodowy.

Najbardziej powszechny i oczywisty sposób korzystania z takiej instalacji (dopóki nie poszuka się jeszcze innej firmy, która daje internet o dobrym transferze i bez przerw): Komputer (lub cały LAN) jest podłączony do modemu "A", a w razie czego przepinam przewód do modemu "B", a po jakimś czasie przepinam z powrotem, bo może przerwa w firmie "A" się skończyła.

Co jest potrzebne i jak ustawić, żeby to działo się automatycznie? Wyobrażam sobie, że to dodatkowe urządzenie jest podłączone do obu modemów, które logicznie są od strony WAN, przy czym normalnie korzysta z modemu "A", jak wyczuje brak internetu w "A", to korzysta z "B", ale cały czas czuwa przy "A", gdzie jak tylko wróci internet, to przełącza z powrotem.

Chodzi o działanie takie samo, jak we wszystkich smartfonach, gdzie domyślnie internet jest pobierany z WiFi, a tylko wtedy, gdy WiFi nie jest osiągalne (co w przypadku telefonu zdarza się nagminnie i jest rzeczą normalną), to ewentualnie korzysta z sieci telefonicznej, a jak tylko telefon wyczuje WiFi, to znowu korzysta z WiFi.

Czy w ogóle i w jaki sposób robi się taką redundancję w firmach? Wiadomo, że każdy dostawca internetu stara się jak może, ale czasami przerwy są możliwe z powodu awarii urządzeń i sieci dostawcy. Trudno sobie wyobrazić, żeby był jakiś gość 24/7, który w razie czego biegnie do serwerowni i przepina przewody, żeby firma miała internet.

edytowany 1x, ostatnio: andrzejlisek
T3
  • Rejestracja:ponad 9 lat
  • Ostatnio:około 13 godzin
  • Postów:54
0

Szukaj routerów z opcją Dual WAN (takie typowo do domowego użytku), lub możesz też iść w coś bardziej zaawansowanego. Jest tego trochę na rynku, kwestia ceny i możliwości konfiguracji. Inna sprawa to kwestia jakie te 2 lub więcej łącz będziesz miał, czy oba po kablu/światełku czy opcja z GSM etc, bo na to też musisz zwrócić uwagę oraz w jakim trybie mają oba łącza działać.

kbi64
  • Rejestracja:prawie 18 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:Wielkopolska
1

Wszystko zależy od dostępności infrastruktury. Jeśli kabelki nie sa dostępne w pobliżu to czekają Cię wydatki na dociągnięcie światła (zakładam że miedzi nikt już nie oferuje).
Router to chyba najmniejszy powód do zmartwień, możesz wziąć jakieś enterprise rozwiązanie, ale możesz również użyć czegoś z Linuxem na górze (VyOS, OpenWRT itp itd są tego dziesiątki). Kiedyś korzystałem z jakiegoś hardware na E (sry nie mogę sobie przypomnieć nazwy :D) i nad nim był właśnie VyOS, konfigurujesz reguły zgodnie z dokumentacją i jak przez N czasu nie ma połączenia z dostawcą to się sieć przepina i lokalnie niczego nie musisz ruszać.
Jak się robi w firmach? Różnie, konfigurowałem przypadki gdzie były dwa kabelki do routera i też takie gdzie nie było redundancji kabelkowej, a firmy wykupowały sobie wyższe SLA (w/g legislacji domyslnie jest to 75% czasu na umowie/rok - chyba się nie zmieniło wiedza sprzed 2 lat). Wtedy jakaś firma ma jakichś tam techników i jak się coś spieprzy to spawają, klikają na SDNie i inne cuda robią aby połączenie przywrócić.

EH
większość routerów jest ograniczona sprzętowo, openwrt gunwo da i tak z łącza lan nie zrobisz wan
EH
  • Rejestracja:ponad 2 lata
  • Ostatnio:około rok
  • Postów:1208
3

Sam się orientowałem w temacie jakiś czas temu i nie jest to takie proste, tzn takich routerów na rynku (za normalne pieniądze jak do domu) jest niewiele a jeśli chcesz od razu z wifi to nie ma wcale więc musisz się liczyć z tym, że masz router jeden i do niego wpięty jakiś access point. Tutaj pierwszy z brzegu tego typu sprzęt https://www.mediaexpert.pl/komputery-i-tablety/urzadzenia-sieciowe/routery/router-tp-link-tl-er605 Możesz w nim ustawić tak połaczenie jako load balancer jak i wersje z łączem głównym i awaryjnym, z tym, że w LB podobno są problemy np z bankami bo im nie pasuje że requesty lecą naraz z 2 różnych ip.

edytowany 1x, ostatnio: ehhhhh
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 14 godzin
  • Lokalizacja:Poznań
  • Postów:8769
4

Bierzesz dowolnego Mikrotika za dosłownie kilka stów - w tych urządzeniach nie masz na sztywno przypisanych funkcij do portów typu LAN czy WAN, możesz wszystko wpiąć wszędzie.
A potem patrzysz na poniższe filmy i obczajasz w 5 minut, jak zrobić dual WAN oraz failover.

Kilka uwag technicznych:

  • oba modemy od ISP podłączasz do routera jednocześnie, nie baw się w przełączanie kabli jak coś się wywali
  • nie radzę bawić się w load-balancing, czyli rozdzielenie ruchu na oba łącza i ich jednoczesne używane. Tak, jak napisał @ehhhhh powyżej - bywa z tym dużo problemów, a korzyści niewielkie
  • ewentualnie można rozbić to tak, że np. cały ruch idzie jednym łączem, a drugie jest to masówki - typu wrzucanie czegoś do chmury albo torrenty. Ale nadal bym pozostał przy wersji failover - jedno łącze główne, na którym pracujesz, a drugie się odpala w razie awarii
  • co do sprzętu - chociażby Mikrotik hAP ma WiFi i kilka gniazd RJ45, więc spokojnie da radę, a kosztuje jakieś 3 stówki: https://www.ceneo.pl/80057556, https://www.x-kom.pl/p/731308-router-mikrotik-hap-ac2-tower-1200mb-s-a-b-g-n-ac.html czy https://www.senetic.pl/product/RBD52G-5HacD2HnD-TC


axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:2 dni
  • Lokalizacja:Warszawa
  • Postów:2251
0

Ubiquiti UDM pro obsluguje takie coś - opisane jest to jako WAN Failvoer

VT
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 2 lata
0

@andrzejlisek: Istnieją takie rozwiązania, które potrafią monitorować osiągalność określonego systemu w sieci i w razie potrzeby w bardzo krótkim czasie (ułamki sekund) przełączać się wielokrotnie, samodzielnie bez udziału kogokolwiek pomiędzy różnymi ISP. A najważniejszą cechą jednego z takich rozwiązań było to, że w ogóle nie traciło się połączeń TCP/IP zestawionych np. na ISP1 po przełączeniu się na ISP2 albo i kolejnym ISPn. W ciągu sekundy można było wiele razy przełączać się między ISP-kami a użytkownik końcowy nawet nie miał świadomości tego ile razy, kiedy i że w ogóle dostawca netu był wiele razy zmieniany.

edytowany 1x, ostatnio: vtx
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 14 godzin
  • Lokalizacja:Poznań
  • Postów:8769
0
vtx napisał(a):

@andrzejlisek: Istnieją takie rozwiązania, które potrafią monitorować osiągalność określonego systemu w sieci i w razie potrzeby w bardzo krótkim czasie (ułamki sekund) przełączać się wielokrotnie, samodzielnie bez udziału kogokolwiek pomiędzy różnymi ISP. A najważniejszą cechą jednego z takich rozwiązań było to, że w ogóle nie traciło się połączeń TCP/IP zestawionych np. na ISP1 po przełączeniu się na ISP2 albo i kolejnym ISPn. W ciągu sekundy można było wiele razy przełączać się między ISP-kami a użytkownik końcowy nawet nie miał świadomości tego ile razy, kiedy i że w ogóle dostawca netu był wiele razy zmieniany.

A jakieś konkrety, co to za rozwiązania? Bo brzmi to trochę, jakbś proponował ziomkowi postawienie w chacie BGP ;) Poza tym - podejrzewam, że to o czym piszesz (chociaż ciężko się odnieść, bo za dużo konkretów nie podałeś) bardziej brzmi jakby coś z wyposażenia serwerowni jakiegoś dużego ISP, a nie routerek za max. kilka stówek dla ziomka do posadzenia w salonie ;)


VA
Oparty na dwóch łączach tunel MPTCP do jakiegoś mało awaryjnego serwera? Pasuje do opisu.
VT
@valdemar: Funkcjonalność podobna, z tym że to o czym ja pisałem działało nawet na waniliowym kernelu 2.6.x i tam w danym momencie tylko jeden link był używany jako aktywny. Z punktu widzenia aplikacji rozwiązanie było przezroczyste.
VT
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 2 lata
0
cerrato napisał(a):
vtx napisał(a):

@andrzejlisek: Istnieją takie rozwiązania, które potrafią monitorować osiągalność określonego systemu w sieci i w razie potrzeby w bardzo krótkim czasie (ułamki sekund) przełączać się wielokrotnie, samodzielnie bez udziału kogokolwiek pomiędzy różnymi ISP. A najważniejszą cechą jednego z takich rozwiązań było to, że w ogóle nie traciło się połączeń TCP/IP zestawionych np. na ISP1 po przełączeniu się na ISP2 albo i kolejnym ISPn. W ciągu sekundy można było wiele razy przełączać się między ISP-kami a użytkownik końcowy nawet nie miał świadomości tego ile razy, kiedy i że w ogóle dostawca netu był wiele razy zmieniany.

A jakieś konkrety, co to za rozwiązania? Bo brzmi to trochę, jakbś proponował ziomkowi postawienie w chacie BGP ;) Poza tym - podejrzewam, że to o czym piszesz (chociaż ciężko się odnieść, bo za dużo konkretów nie podałeś) bardziej brzmi jakby coś z wyposażenia serwerowni jakiegoś dużego ISP, a nie routerek za max. kilka stówek dla ziomka do posadzenia w salonie ;)

Nie nie, tu nie chodzi o BGP i jakiegoś dużego ISP.
Co do BGP to nie mam zbyt dużej praktyki w używaniu go ale coś mi się wydaje, że on nie udostępnia możliwości utrzymania połączeń TCP/IP nawet po wielokrotnej zmianie ISP. Ale może czegoś nie wiem? Jeśli tak - chętnie się dowiem.

Co do konkretów to mam na myśli takie jedno rozwiązanie. Autorskie rozwiązanie. Napisane w C. Bez jakiegokolwiek GUI. Działało to sobie na Linuxie i udostępniało dostęp do netu poprzez interfejsy WiFi, gdzie każdy z interfejsów WiFi mógł być połączony z innym ISP. Nie powinno być problemu w zasadzie z przepięciem tego na jakikolwiek inny interfejs np. na ethernetowy.
W testach laboratoryjnych bardzo fajnie to sobie działało. Było w stanie wiele razy na sekundę zmienić ISP-ka (np. wymuszając to podczas testów funkcjonalnych) i nie zerwać ani jednego połączenia TCP/IP. Testowane przykładowo na kilku zestawionych połączeniach: skype, telnet, ftp i ssh w tym samym czasie. Żadne połączenie nie padło. Ale nie było niestety zweryfikowane poza laboratorium w realnym świecie.

Nie wiem czy to rozwiązanie wyszło poza jedną taką firmę.

EH
proponowanie jako rozwiązania czegoś co nawet nie wiesz czy dalej istnieje.... nie widzisz że to bez sensu?
cerrato
@ehhhhh: dokładnie tak, pełna zgoda. Ktoś kiedyś gdzieś od kogoś coś usłyszał, że ktoś coś napisał w C i to się może przełączało, ale nie wiadomo czy to zostało uruchomione i czy jest dostępne ;)
VT
@ehhhhh: napisałem, że: "nie wiem czy to rozwiązanie wyszło poza jedną taką firmę" oznacza tyle, że nie mam wiedzy czy to rozwiązanie zostało gdzieś finalnie uruchomione. I to nie oznacza tego, że to rozwiązanie nie istnieje, bo źródła nadal są dostępne. Źródła są w posiadaniu autora. Nadal bez sensu?
VT
@cerrato: a gdzie napisałem, że ktoś gdzieś od kogoś coś usłyszał? Źródła są w C napisane i nie, że może się przełączało tylko tak było. Źródła są dostępne :)
cerrato
@vtx: OK, to daj jakiś namiar na te źródła (albo binarki do pobrania). W sensie - daj cokolwiek, co może być przydatne dla pytającego. Bo na razie to jest opowiadanie legend że ktoś gdzieś kiedyś coś widział, co było zajebiste i działało idealnie. Tylko co z tego, jeśli z powodu braku konkretów, przydatność takiej porady/odpowiedzi dla autora wątku jest praktycznie zerowa?
jurek1980
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 godziny
  • Postów:3462
2

Dużo domowych routerów posiadających faliover działa tak, że owszem przełączą się podczas awarii głównego łącza, ale ponownie już trzeba przełączyć się ręcznie i ręcznie monitorować czy główne łącze już działa.
Nie wiem nawet czy nie było tak w starszych mikrotikach.
Do rozważenia w ogóle load balancer z faliover.
Przykład urządzenia BR-6624
Przed zakupem doczytaj czy faliover sam przywraca działanie lacza i czy oby nie dziala tylko na WAN i USB.

VT
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 2 lata
0

@cerrato napisał: > @vtx: OK, to daj jakiś namiar na te źródła (albo binarki do pobrania). W sensie - daj cokolwiek, co może być przydatne dla pytającego. Bo na razie to jest opowiadanie legend że ktoś gdzieś kiedyś coś widział, co było zajebiste i działało idealnie. Tylko co z tego, jeśli z powodu braku konkretów, przydatność takiej porady/odpowiedzi dla autora wątku jest praktycznie zerowa?

Ok, żeby ktoś nie odniósł wrażenia, że mój post jest bezużyteczny, niekonstruktywny, niemerytoryczny, etc to może spróbuję tak:

Jakie info można wyciągnąć z moich dotychczas podanych informacji:

  • jest dostepne rozwiazanie programowe dla Linuxa
  • nie trzeba BGP
  • dostepne sa zrodla w C dla Linuxa - autor je posiada
  • latwe w uzytkowaniu bo automatycznie dzialajace - chociaz nie posiada gui
  • nie wymaga jakiejkolwiek interwencji manualnej (jest to rozwiazanie w stylu: "fire and forget")
  • nie zrywa zadnych polaczen TCP/IP podczas i po przelaczaniu sie miedzy ISP-kami
  • zapewnia failover, redundancje
  • dzialalo w warunkach laboratoryjnych bardzo szybko w sposob niezauwazalny dla uzytkownika koncowego
  • nie przetestowane "in real life" poza labem
  • jest autorskim rozwiazaniem
  • rozwiazanie oryginalne bylo dedykowane pod wifi ale zdaje sie moznaby przerobic to na ethernet (wymaga dodatkowego rozpoznania)
  • jest potencjal do dalszego rozwoju rozwiazania (wymaga dodatkowego rozpoznania co do zakresu mozliwosci)
  • OP i nie tylko OP ma punkt zaczepienia w postaci mozliwosci skontaktowania sie z autorem (mógłbym pomóc w kontakcie z autorem)

Czego do tej pory nie napisalem - a co uzupelniam w tym poscie:

  • nie jest idealnym rozwiazaniem - ma swoje wady
  • zrodla byly pisane jakis czas temu i trzebaby zaadaptowac je do aktualnych linuxow
  • zrodla w C sa dostepne owszem ale tylko dla autora (czyli nie wpadly przypadkiem do /dev/null)
  • autor nie planuje udostepniania aktualnych zrodel komukolwiek
  • brak koniecznosci instalacji wielomegabajtowych jakichs dodatkowych bibliotek komercyjnych
  • pisane to bylo dla pewnych urzadzen mobilnych
  • istnieje mozliwosc rozszerzenia zrodel np. o priorytetyzacje okreslonych ISP-kow, etc
  • mialo wsparcie do autoryzacji jako zabezp przed nieautoryzowanym dostepem
  • autorskie rozwiazanie oznacza tutaj tez ze jedna osoba to wymyslila, zaprojektowala i oprogramowala i posiada dokumentacje projektowa i zrodla
  • istnieje mozliwosc napisania rozwiazania calkowicie od nowa bazujac na dotychczasowych zrodlach, rozpoznaniu, etc

p.s. sorry za brak pliterek.

edytowany 2x, ostatnio: vtx
axelbest
Skoro autor nie udostępnia źródeł, to Twój post jest bezużyteczny, niekonstruktywny, niemerytoryczny. Nawet nie wiemy o jakim autorze mówisz.
cerrato
dostepne sa zrodla w C dla Linuxa - autor je posiada - to KTO jest autorem oraz GDZIE można te źródła pobrać? Bo bez tego to nadal mamy jakieś opowieści z krypty, które totalnie niczego nie wnoszą do tematu i w żaden sposób nie są pomocne dla autora wątku :
VT
Proponowałbym skupić się na ostatnim punkcie z pierwszej części czyli: "OP i nie tylko OP ma punkt zaczepienia w postaci mozliwosci skontaktowania sie z autorem". Ok, nie napisałem, że mógłbym pomóc zainteresowanym w kontakcie z autorem rozwiązania. Źdródeł z tego co wiem nie da się pobrać z żadnego publicznego repo bo nie były publikowane. Ma je chyba tylko autor w tej chwili. Autor nie prowadzi DG i być może nie jest mu na rękę podawanie namiarów na siebie publicznie.
axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:2 dni
  • Lokalizacja:Warszawa
  • Postów:2251
1

@vtx Możesz i 10x tyle napisać, ale nadal nie mamy linka, ani chociażby nazwy tego rozwiązania.

To teraz patrz - ja mam źródło darmowej i w 200% ekologicznej energii elektrycznej. W piwnicy mam prostej roboty reaktor atomowy, bezpieczny w 100%. To rozwiąże problem całego świata. Ale.... nie udostępnie go, nie powiem w której piwnicy się znajduje. Ale obiecuje że działa i jeszcze problem głodu zwalcza.... Może ma troszkę przestarzałe wtyczki, ale to mozna naprawić, tylko że nikt tego nie zrobi, bo nikt nic nie wie o tym reaktorze...... a jego konstruktor nie udostępni nic związanego z jego budową.

W skrocie wielkim, nic nie pokazałeś, nic nie udostępniłeś, nic nie pomogłeś, tylko napisałeś że jakiś tam autor coś ma, ale nie udostępni. Twoje posty nie wnoszą zupełnie nic.

@cerrato: Wnioskuje o usunięcie wpisów @vtx jak również i tego posta (bo też nic nie wnosi do dyskusji)

edytowany 1x, ostatnio: axelbest
Zobacz pozostałe 9 komentarzy
GO
Ja też widzę rozwiązanie takie w wyobraźni, jeśli podłączyłbym do komputera dwa kable ethernet to bez problemów pójdzie takie coś zrobić, to samo na routerze też tam jest system linux typu busybox, chodź nie grzebałem tam za dużo. Jakiś skrypt bash, który by za pomocą ping sprawdzał lub w inny sposób i potem route zmieniał gatewaye, PoC jak ktoś będzie chciał to napisze, wystarczy skupić się na routerze jak na linuxie, bo tam taki system jest.
VT
@GodOfCode.: Dałoby się zrobić na Linuxie i w bashu, chociaż nie wiem czy tak szybko dałoby się przełączać tyle razy w ciągu sekundy, ale próbuj :)
GO
@vtx nie no on chciał tylko jak nie będzie połączenia to się przełączyć, a nie cały czas. W sumie nawet jak się zrobi hierarchię na kartach sieciowych to jak jedna padnie, to automatycznie wybierze drugą.
VT
@GodOfCode.: To rozwiązanie o którym pisałem działało tak, że jeśli nie było potrzeby przełączenia (np. w przypadku padnięcia połączenia) to trzymało się cały czas jednego ISP-ka. Była tam taka możliwość komunikacji przez pipe gdzie można było zasugerować przełączenie się na innego ISP-ka. Taki tam mały manager połączeń. Można też np. było sprawdzać RSSI kart wifi i na tej podstawie wybierać ISP-ka.
VT
Po prostu z punktu widzenia użytkownika końcowego było to rozwiązanie "fire and forget" ale admin bądź programista mógł sobie napisać własnego nazwijmy to kontrolera czy managera połączeń, który wskazywał na którego ISP-ka się teraz przełączyć i czy w ogóle przełączyć biorąc pod uwagę różne kryteria.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)