Help
RSS
API
Feed
Maltego
Contact
Domain > tert.cc
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-07-23
13.225.78.67
(
ClassC
)
2025-03-15
108.138.94.44
(
ClassC
)
2025-11-22
13.32.54.40
(
ClassC
)
Port 80
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 28084Connection: keep-aliveDate: Fri, 21 Nov 2025 06:07:25 GMTLast-Modified: Wed, 19 Jun 2024 13:46:48 GMTETag: f91c916613a1178d3cea2987da98e423x-amz-server-side-encryption: AES256x-amz-version-id: fll0G_LClZaSjTGcNbzuHw4n.u5tupdqAccept-Ranges: bytesServer: AmazonS3X-Cache: Hit from cloudfrontVia: 1.1 1a7022323cb071c49af11c6d7320fcb0.cloudfront.net (CloudFront)X-Amz-Cf-Pop: NRT57-P8X-Amz-Cf-Id: vjc31kSJb73I-mamMQJuZAniyzTrybnT5EaXv45kpDyCKlS6e-tXPgAge: 71346 !DOCTYPE html>html langja> head prefixog: https://ogp.me/ns#> meta charsetutf-8> meta propertyog:url contenthttps://tert.cc/> meta propertyog:type contentwebsite> meta propertyog:title contentすぐに書けるテキストエディタ TERT.cc> meta propertyog:description contentアクセスしてすぐに入力開始、リアルタイムで保存。ファイル切り替えもダウンロードもできる軽量テキストエディタ。 /> meta propertyog:site_name contentTERT.cc - Text Editor> meta propertyog:image contenthttps://tert.cc/image/tert.png> meta propertytwitter:card contentsummary/> meta nameviewport contentwidthdevice-width,maximum-scale1,minimum-scale1,initial-scale1,user-scalableno> meta namerobots contentindex, nofollow> meta namedescription contentTERT.cc is an extremely light text editor.> meta nameapple-mobile-web-app-capable contentyes> meta nameapple-mobile-web-app-status-bar-style contentblack> link relstylesheet href idss> title>TERT.cc - Text Editor/title> style> :root{ --pc: rgb(40,40,40); --sc: rgb(230,223,203); --tc: rgb(86,84,77); --qc: rgb(105,100,95); width: 100vw; height: 100vh; background: repeating-linear-gradient(135deg, rgb(50,50,50) 0px 10px, rgb(60,60,60) 10px 20px); background-position: top 50%; } *, *::before, *::after {box-sizing: border-box; margin: 0;} article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {display: block;} input, button, select, optgroup, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } img {vertical-align: middle; border-style: none;} button {border-radius: 0;} button:focus:not(:focus-visible) {outline: 0;} rolebutton {cursor: pointer;} select {word-wrap: normal;} inputtyperadio, inputtypecheckbox {box-sizing: border-box; padding: 0;} progress {vertical-align: baseline;} output {display: inline-block;} summary {display: list-item; cursor: pointer;} hidden {display: none !important;} tabindex-1:focus:not(:focus-visible) {outline: 0 !important;} label{width:100%;} a{ color: var(--qc); } ::-webkit-scrollbar{ width: 10px; } ::-webkit-scrollbar-thumb { border: 2px solid transparent; width: 100%; margin: 0; border-radius: 100px; background-color: #a9f; background-clip: content-box; } body{ font-family: noto sans jp, sans-serif; font-weight: 400; font-size: 1rem; line-height: 1.5; color: var(--sc); text-align: left; position: relative; background: transparent; margin: 0 auto; width: min(800px, calc(100vw - 20px)); display: flex; flex-flow: column; overflow: hidden; } header{ padding: 0; width: 100%; height: 36px; position: relative; display: flex; flex-flow: row; justify-content: flex-end; flex-grow: 0; flex-shrink: 0; z-index: 300; background: var(--pc); color: var(--sc); } header button{ height: 100%; aspect-ratio: 1 / 1; width: unset; background: none; border: none; } header button svg{fill: var(--sc);} h1 { position: absolute; top: 0; left: 50%; height: 100%; transform: translateX(-50%); display: flex; align-items: center; font-size: 13px; } svg{ fill: var(--sc); height: 36px; vertical-align: top; } main{ position: relative; display: flex; flex-flow: column nowrap; margin-inline: auto; background: #cdf; overflow: hidden; height: 100%; width: 100%; } textarea { display: block; padding: 30px; padding-right: 15px; border-radius: 0; border: none; width: 100%; font-size: 18px; resize: none; color: #333; flex-grow: 1; white-space: break-spaces; } textarea:focus{ outline: none; } *::placeholder{color: inherit; opacity: 0.4;} *:focus::placeholder{opacity: 0.05;} input{ background: var(--sc); width: 60px; flex-grow: 1; text-align: center; font-size: 18px; height: 36px; } inputtypecolor{ padding: 0 2px; } fieldset{ position: relative; padding: 2px; display: flex; flex-wrap: wrap; gap: 0 10px; border: 0; padding: 10px 0; justify-content: center; align-items: center; } #toolbox, #fileselect{ position: absolute; top:0; background: var(--tc); width: 300px; height: 100%; transition: 0.2s; padding: 10px; overflow: auto; display: flex; flex-direction: column; margin-inline: -300px; z-index: 1200; } #fileselect{left:0;} #toolbox{right:0;} button{ min-width: 36px; height: 36px; padding: 4px; background: var(--sc); border: 1px solid #369; } button svg{ height: 100%; fill: var(--pc); } div.spacer{ width: 100%; height: 100%; flex-grow: 1; flex-shrink: 1; } footer{ height: 5px; background: var(--pc); flex-shrink: 0; } #filelist{ padding: 0; position: relative; } #filelist li{ width: 100%; line-height: 40px; background: transparent; border: none; border-bottom: 1px solid #ccc; list-style: none; position: relative; padding-inline: 20px 40px; /* justify-content: center; */ white-space: nowrap; overflow: hidden; text-overflow: clip; } #filelist li:first-of-type{ border-top: 1px solid #ccc; } #filelist li:hover{ background: rgba(255, 255, 255, 0.2); cursor: pointer; } .dlbutton{ background: transparent; border: none; position: absolute; top: 50%; right: 0; transform: translateY(-50%); } .dlbutton:hover svg{fill: #a9f;} .now{background: repeating-linear-gradient(-45deg, transparent 0px 4px, rgba(219, 219, 199, 0.2) 2px 8px)!important;} #title{ margin-left: 5px; } #pp{ display: none; } #tutorial{ position: absolute; width: 300px; height: 60px; z-index: 900; top: 150px; color: var(--pc); background: var(--sc); left: 30px; display: flex; justify-content: center; align-items: center; animation: slidefadein 1s both; opacity: 0; } #tutorial::before{ content: ; position: absolute; border: 10px solid transparent; border-left: 10px solid var(--sc); border-bottom: 10px solid var(--sc); top: 0; left: 0; transform: translateY(-100%); } @keyframes slidefadein{ 0%{ transform: translateY(20px); opacity: 0; } 100%{ transform: translateY(0px); opacity: 1; } } @media print{ :root, body{height: unset;} body{ width: 800px; overflow: auto; } header, main, footer{ display: none; } #pp{ padding: 15.5mm; display: block; text-align: justify; border-radius: 0; border: none; width: 100%; font-size: 18px; color: #333; white-space: break-spaces; } } @page { size: A4; margin: 15mm;} /style> /head> body> header> h1 onclickc.credit.style.display `block`>TERT.cc - span idtitle>Text Editor/span>/h1> button idme onclickboxtoggle(c.fileselect.style)>/button> div classspacer>/div> button idpf onclickboxtoggle(c.toolbox.style)>/button> button idtg>/button> /header> main> textarea idtx placeholdertype your text here... spellcheckfalse autofocus>/textarea> div idfileselect> fieldset> label>Add File:/label> input typetext idfn placeholderdefault.txt> button idpl onclickaddFile()>/button> /fieldset> ul idfilelist> /ul> /div> div idtoolbox> fieldset> label>font-size:/label> input typerange idfs min1 max200> button onclicktx.fs(24) classcancel>/button> /fieldset> fieldset> label forfontweight>font-weight:/label> input typerange idfw min0 max1000> button onclicktx.fw(400) classcancel>/button> /fieldset> fieldset> label forbottomfloat>Bottom-float:/label> input typerange idbf min0 max600> button onclicktx.bf(0) classcancel>/button> /fieldset> fieldset> label>color:/label>input typecolor idfc>button onclicktx.fc(roots.getPropertyValue(--sc)) classcancel>/button> label>back:/label>input typecolor idbc>button onclicktx.bc(roots.getPropertyValue(--qc)) classcancel>/button> /fieldset> fieldset> button onclickc.ss.href `https://fonts.googleapis.com/earlyaccess/notosansjp.css`>Use Noto Sans JP/button>(If you dont have) /fieldset> !-- fieldset> button onclickviewPage();>Test it/button> /fieldset> --> fieldset> button idrs onclickbbb()>/button> /fieldset> /div> /main> footer idft> /footer> div idpp>/div> div idtutorial>Lets type something.../div> div idcredit onclickc.credit.style.display none styledisplay: none; color: var(--pc); position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0,0,0,0.6); z-index: 10000;> div styledisplay: flex; justify-content: center; align-items: center; flex-direction: column; position: absolute; width: 400px; height: 300px; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: var(--sc);> h2>TERT.cc/h2> p>制作 TabbyWorks(タビーワークス)/p> p>Twitter: a hrefhttps://twitter.com/TabbyWorks target_blank relnoopener>@TabbyWorks/a>/p> p>Fantia: a hrefhttps://fantia.jp/fanclubs/445346 target_blank relnoopener>https://fantia.jp/fanclubs/445346/a>br>(よかったら投げ銭お願いします)/p> /div> /div> !--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --> script> //controller var c {}; document.querySelectorAll(id).forEach(a > ca.id a); //const const bom new Uint8Array(0xEF, 0xBB, 0xBF); const ii input; const pf _TERT_; const di none, block; const sanitize s > s.replace(/&>/`:?*|\\/g,_); const lg a > localStorage.getItem(a); const ls (a,b) > localStorage.setItem(a,b); const lgpf a > lg(pf + a); const lspf (a,b) > ls(pf + a, b); const sw (a,b) > a,b b,a; const roots getComputedStyle(document.documentElement); const body document.body; const resize () > {body.style.height window.visualViewport.height - lgpf(bottomfloat) + px;}; const tx { fs: a>{ c.tx.style.fontSize a + px; c.pp.style.fontSize a + px; c.fs.value a; lspf(fontsize, a); }, fw: a>{ c.tx.style.fontWeight a; c.pp.style.fontWeight a; c.fw.value a; lspf(fontweight, a); }, fc: a>{ c.tx.style.color a; c.pp.style.color a; console.log(a.slice(0,1)); if(a.slice(0,1) ){ c.fc.value rgb2hex(a); } else { c.fc.value a; } lspf(forecolor, a); }, bc: a>{ c.tx.style.background a; c.pp.style.background a; if(a.slice(0,1) ){ c.bc.value rgb2hex(a); } else { c.bc.value a; } lspf(backcolor, a); }, bf: a>{ body.style.height window.innerHeight - a + px; c.bf.value a; lspf(bottomfloat, a); }, } //initialize var now ; var commandflag 0; var child; makeFilelist(); makeButton(); document.querySelectorAll(id).forEach(a > ca.id a); c.expand.style.display block; c.shrink.style.display none; window.addEventListener(load, resize, false); window.visualViewport.addEventListener(resize, resize, false); c.tx.value lg() || ; if(c.tx.value ! ){ c.tutorial.style.animation none; } tx.fs(lgpf(fontsize) || 18); tx.fw(lgpf(fontweight) || 400); tx.fc(lgpf(forecolor) || roots.getPropertyValue(--sc)); tx.bc(lgpf(backcolor) || roots.getPropertyValue(--tc)); tx.bf(lgpf(bottomfloat) || 0); c.tx.addEventListener(ii, update); c.fs.addEventListener(ii, a>tx.fs(c.fs.value)); c.fw.addEventListener(ii, a>tx.fw(c.fw.value)); c.fc.addEventListener(ii, a>tx.fc(c.fc.value)); c.bc.addEventListener(ii, a>tx.bc(c.bc.value)); c.bf.addEventListener(ii, a>tx.bf(c.bf.value)); c.tx.addEventListener(focus, a>{c.toolbox.style.marginInline c.fileselect.style.marginInline -300px;}); document.addEventListener(touchmove, ()>{event.preventDefault();}, {passive: false}); switchFile(); function download(n){ let blob new Blob(bom, lg(n), {type: text/plain}); let a document.createElement(a); a.href window.URL.createObjectURL(blob); a.download n || default.txt; a.click(); a.remove(); } function bbb(){ if(~confirm(All files and preferences will be deleted forever. Are you sure?)){ return; } localStorage.clear(); window.location.reload(); } function update(e){ ls(now, c.tx.value); pp.innerText c.tx.value; if(c.tx.value ! ){ c.tutorial.style.animation none; } // viewPage(); // if(e ! null && e.data `){ // commandflag++; // } else if(e ! null && e.data ‘‘‘){ // commandflag 3; // } else { // commandflag 0; // return; // } // if(commandflag 3){ // alert(command mode); // } } function expand(){ body.style.width 100vw; c.expand.style.display, c.shrink.style.display di0, di1; if (body.requestFullscreen) { body.requestFullscreen(); } } function shrink(){ body.style.removeProperty(width); c.expand.style.display, c.shrink.style.display di1, di0; if (document.exitFullscreen) { document.exitFullscreen(); } } function togglewindow(){ } function makeListItem(n){ let b document.createElement(li); b.setAttribute(class, filebutton); b.setAttribute(id, pf + n); b.setAttribute(onclick, `switchFile(${n})`); b.innerHTML (n || default) + `button classdlbutton onclickdownload(${n})>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 512 512>path dM480 352h-133.5l-45.25 45.25C289.2 409.3 273.1 416 256 416s-33.16-6.656-45.25-18.75L165.5 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96C512 366.3 497.7 352 480 352zM432 456c-13.2 0-24-10.8-24-24c0-13.2 10.8-24 24-24s24 10.8 24 24C456 445.2 445.2 456 432 456zM233.4 374.6C239.6 380.9 247.8 384 256 384s16.38-3.125 22.62-9.375l128-128c12.49-12.5 12.49-32.75 0-45.25c-12.5-12.5-32.76-12.5-45.25 0L288 274.8V32c0-17.67-14.33-32-32-32C238.3 0 224 14.33 224 32v242.8L150.6 201.4c-12.49-12.5-32.75-12.5-45.25 0c-12.49 12.5-12.49 32.75 0 45.25L233.4 374.6z/>/svg>/button>`; return b; } function makeFilelist(){ let f document.createDocumentFragment(); f.appendChild(makeListItem()); for(i 0;i localStorage.length;i++){ if((localStorage.key(i).substr(0,pf.length) || pf) ! pf){ f.appendChild(makeListItem(localStorage.key(i))); } } c.filelist.appendChild(f); } function addFile(){ c.fn.value sanitize(c.fn.value); if(lg(c.fn.value) null && c.fn.value.substr(0, pf.length) ! pf){ c.filelist.appendChild(makeListItem(c.fn.value)); ls(c.fn.value, c.tx.value); }else{ switchFile(c.fn.value); } } function switchFile(n){ if(e document.getElementsByClassName(now)0){ e.classList.remove(now); } c.fn.value ; now n; c.title.innerText now || Text Editor; document.title TERT.cc - + (now || Text Editor); document.getElementById(pf + now).classList.add(now); c.tx.value lg(now); update(null); } function viewPage(){ var blob new Blob(bom,c.tx.value, {type: text/html}); var a document.createElement(a); var url window.URL.createObjectURL(blob); if(!child){ child window.open(url); }else{ child.location.href url; child.document.getElementsByTagName(h1)0.textcontent othertext; } } function makeButton(){ let th `svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 `; let cc `${th}48 48>path dM40.65 44.95 35.9 40.2Q33.4 42 30.4 43Q27.4 44 24 44Q19.75 44 16.1 42.475Q12.45 40.95 9.75 38.25Q7.05 35.55 5.525 31.9Q4 28.25 4 24Q4 20.6 5 17.6Q6 14.6 7.8 12.1L3.05 7.35L5.2 5.2L42.8 42.8ZM24 41Q26.75 41 29.2 40.225Q31.65 39.45 33.75 38.05L9.95 14.25Q8.55 16.35 7.775 18.8Q7 21.25 7 24Q7 31.25 11.875 36.125Q16.75 41 24 41ZM40.2 35.9 38.05 33.75Q39.45 31.65 40.225 29.2Q41 26.75 41 24Q41 16.75 36.125 11.875Q31.25 7 24 7Q21.25 7 18.8 7.775Q16.35 8.55 14.25 9.95L12.1 7.8Q14.6 6 17.6 5Q20.6 4 24 4Q28.2 4 31.85 5.55Q35.5 7.1 38.2 9.8Q40.9 12.5 42.45 16.15Q44 19.8 44 24Q44 27.4 43 30.4Q42 33.4 40.2 35.9ZM26.15 21.85Q26.15 21.85 26.15 21.85Q26.15 21.85 26.15 21.85Q26.15 21.85 26.15 21.85Q26.15 21.85 26.15 21.85Q26.15 21.85 26.15 21.85Q26.15 21.85 26.15 21.85ZM21.85 26.15Q21.85 26.15 21.85 26.15Q21.85 26.15 21.85 26.15Q21.85 26.15 21.85 26.15Q21.85 26.15 21.85 26.15Q21.85 26.15 21.85 26.15Q21.85 26.15 21.85 26.15Z/>/svg>`; ...document.querySelectorAll(.cancel).forEach(e>e.innerHTML cc); let rr `${th}48 48>path dM18.25 33.4 24.05 27.55 29.9 33.4 32.8 30.5 27 24.6 32.8 18.7 29.9 15.7 24.05 21.6 18.25 15.7 15.3 18.7 21.1 24.6 15.3 30.5ZM12.75 43Q10.8 43 9.45 41.675Q8.1 40.35 8.1 38.4V10.95H5.25V6.4H16.6V4.05H31.4V6.4H42.8V10.95H39.95V38.4Q39.95 40.35 38.575 41.675Q37.2 43 35.3 43ZM35.3 10.95H12.75V38.4Q12.75 38.4 12.75 38.4Q12.75 38.4 12.75 38.4H35.3Q35.3 38.4 35.3 38.4Q35.3 38.4 35.3 38.4ZM12.75 10.95V38.4Q12.75 38.4 12.75 38.4Q12.75 38.4 12.75 38.4Q12.75 38.4 12.75 38.4Q12.75 38.4 12.75 38.4Z/>/svg>`; c.rs.innerHTML rr; let pp `${th}448 512>path dM432 256c0 17.69-14.33 32.01-32 32.01H256v144c0 17.69-14.33 31.99-32 31.99s-32-14.3-32-31.99v-144H48c-17.67 0-32-14.32-32-32.01s14.33-31.99 32-31.99H192v-144c0-17.69 14.33-32.01 32-32.01s32 14.32 32 32.01v144h144C417.7 224 432 238.3 432 256z/>/svg>`; c.pl.innerHTML pp; let mm `${th}448 512>path dM0 96C0 78.33 14.33 64 32 64H416C433.7 64 448 78.33 448 96C448 113.7 433.7 128 416 128H32C14.33 128 0 113.7 0 96zM0 256C0 238.3 14.33 224 32 224H416C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288H32C14.33 288 0 273.7 0 256zM416 448H32C14.33 448 0 433.7 0 416C0 398.3 14.33 384 32 384H416C433.7 384 448 398.3 448 416C448 433.7 433.7 448 416 448z/>/svg>`; c.me.innerHTML mm; let ss `${th}512 512>path dM507.6 122.8c-2.904-12.09-18.25-16.13-27.04-7.338l-76.55 76.56l-83.1-.0002l0-83.1l76.55-76.56c8.791-8.789 4.75-24.14-7.336-27.04c-23.69-5.693-49.34-6.111-75.92 .2484c-61.45 14.7-109.4 66.9-119.2 129.3C189.8 160.8 192.3 186.7 200.1 210.1l-178.1 178.1c-28.12 28.12-28.12 73.69 0 101.8C35.16 504.1 53.56 512 71.1 512s36.84-7.031 50.91-21.09l178.1-178.1c23.46 7.736 49.31 10.24 76.17 6.004c62.41-9.84 114.6-57.8 129.3-119.2C513.7 172.1 513.3 146.5 507.6 122.8zM80 456c-13.25 0-24-10.75-24-24c0-13.26 10.75-24 24-24s24 10.74 24 24C104 445.3 93.25 456 80 456z/>/svg>`; c.pf.innerHTML ss; let tt `${th}512 512 idexpand onclickexpand() titleexpand>path dM128 32H32C14.31 32 0 46.31 0 64v96c0 17.69 14.31 32 32 32s32-14.31 32-32V96h64c17.69 0 32-14.31 32-32S145.7 32 128 32zM416 32h-96c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32V64C448 46.31 433.7 32 416 32zM128 416H64v-64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96c0 17.69 14.31 32 32 32h96c17.69 0 32-14.31 32-32S145.7 416 128 416zM416 320c-17.69 0-32 14.31-32 32v64h-64c-17.69 0-32 14.31-32 32s14.31 32 32 32h96c17.69 0 32-14.31 32-32v-96C448 334.3 433.7 320 416 320z/>/svg>${th}512 512 idshrink onclickshrink() titleshrink>path dM128 320H32c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32v-96C160 334.3 145.7 320 128 320zM416 320h-96c-17.69 0-32 14.31-32 32v96c0 17.69 14.31 32 32 32s32-14.31 32-32v-64h64c17.69 0 32-14.31 32-32S433.7 320 416 320zM320 192h96c17.69 0 32-14.31 32-32s-14.31-32-32-32h-64V64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96C288 177.7 302.3 192 320 192zM128 32C110.3 32 96 46.31 96 64v64H32C14.31 128 0 142.3 0 160s14.31 32 32 32h96c17.69 0 32-14.31 32-32V64C160 46.31 145.7 32 128 32z/>/svg>`; c.tg.innerHTML tt; } function boxtoggle(e){ e.marginInline -300 - e.marginInline.slice(0,-2) + px; } function rgb2hex(a){ let co a.split(/(,)/); return # + parseInt(co1).toString(16) + parseInt(co2).toString(16) + parseInt(co3).toString(16); } /script> /body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 28084Connection: keep-aliveDate: Fri, 21 Nov 2025 06:07:25 GMTLast-Modified: Wed, 19 Jun 2024 13:46:48 GMTETag: f91c916613a1178d3cea2987da98e423x-amz-server-side-encryption: AES256x-amz-version-id: fll0G_LClZaSjTGcNbzuHw4n.u5tupdqAccept-Ranges: bytesServer: AmazonS3X-Cache: Hit from cloudfrontVia: 1.1 ccbef6196df482fc93309d25254142b4.cloudfront.net (CloudFront)X-Amz-Cf-Pop: NRT57-P8X-Amz-Cf-Id: ukLFGg__g_hFFBn4PKLY7_j3aSPkBMyJfmA5-1z-FsZUTzd-rLZmGwAge: 71346 !DOCTYPE html>html langja> head prefixog: https://ogp.me/ns#> meta charsetutf-8> meta propertyog:url contenthttps://tert.cc/> meta propertyog:type contentwebsite> meta propertyog:title contentすぐに書けるテキストエディタ TERT.cc> meta propertyog:description contentアクセスしてすぐに入力開始、リアルタイムで保存。ファイル切り替えもダウンロードもできる軽量テキストエディタ。 /> meta propertyog:site_name contentTERT.cc - Text Editor> meta propertyog:image contenthttps://tert.cc/image/tert.png> meta propertytwitter:card contentsummary/> meta nameviewport contentwidthdevice-width,maximum-scale1,minimum-scale1,initial-scale1,user-scalableno> meta namerobots contentindex, nofollow> meta namedescription contentTERT.cc is an extremely light text editor.> meta nameapple-mobile-web-app-capable contentyes> meta nameapple-mobile-web-app-status-bar-style contentblack> link relstylesheet href idss> title>TERT.cc - Text Editor/title> style> :root{ --pc: rgb(40,40,40); --sc: rgb(230,223,203); --tc: rgb(86,84,77); --qc: rgb(105,100,95); width: 100vw; height: 100vh; background: repeating-linear-gradient(135deg, rgb(50,50,50) 0px 10px, rgb(60,60,60) 10px 20px); background-position: top 50%; } *, *::before, *::after {box-sizing: border-box; margin: 0;} article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {display: block;} input, button, select, optgroup, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } img {vertical-align: middle; border-style: none;} button {border-radius: 0;} button:focus:not(:focus-visible) {outline: 0;} rolebutton {cursor: pointer;} select {word-wrap: normal;} inputtyperadio, inputtypecheckbox {box-sizing: border-box; padding: 0;} progress {vertical-align: baseline;} output {display: inline-block;} summary {display: list-item; cursor: pointer;} hidden {display: none !important;} tabindex-1:focus:not(:focus-visible) {outline: 0 !important;} label{width:100%;} a{ color: var(--qc); } ::-webkit-scrollbar{ width: 10px; } ::-webkit-scrollbar-thumb { border: 2px solid transparent; width: 100%; margin: 0; border-radius: 100px; background-color: #a9f; background-clip: content-box; } body{ font-family: noto sans jp, sans-serif; font-weight: 400; font-size: 1rem; line-height: 1.5; color: var(--sc); text-align: left; position: relative; background: transparent; margin: 0 auto; width: min(800px, calc(100vw - 20px)); display: flex; flex-flow: column; overflow: hidden; } header{ padding: 0; width: 100%; height: 36px; position: relative; display: flex; flex-flow: row; justify-content: flex-end; flex-grow: 0; flex-shrink: 0; z-index: 300; background: var(--pc); color: var(--sc); } header button{ height: 100%; aspect-ratio: 1 / 1; width: unset; background: none; border: none; } header button svg{fill: var(--sc);} h1 { position: absolute; top: 0; left: 50%; height: 100%; transform: translateX(-50%); display: flex; align-items: center; font-size: 13px; } svg{ fill: var(--sc); height: 36px; vertical-align: top; } main{ position: relative; display: flex; flex-flow: column nowrap; margin-inline: auto; background: #cdf; overflow: hidden; height: 100%; width: 100%; } textarea { display: block; padding: 30px; padding-right: 15px; border-radius: 0; border: none; width: 100%; font-size: 18px; resize: none; color: #333; flex-grow: 1; white-space: break-spaces; } textarea:focus{ outline: none; } *::placeholder{color: inherit; opacity: 0.4;} *:focus::placeholder{opacity: 0.05;} input{ background: var(--sc); width: 60px; flex-grow: 1; text-align: center; font-size: 18px; height: 36px; } inputtypecolor{ padding: 0 2px; } fieldset{ position: relative; padding: 2px; display: flex; flex-wrap: wrap; gap: 0 10px; border: 0; padding: 10px 0; justify-content: center; align-items: center; } #toolbox, #fileselect{ position: absolute; top:0; background: var(--tc); width: 300px; height: 100%; transition: 0.2s; padding: 10px; overflow: auto; display: flex; flex-direction: column; margin-inline: -300px; z-index: 1200; } #fileselect{left:0;} #toolbox{right:0;} button{ min-width: 36px; height: 36px; padding: 4px; background: var(--sc); border: 1px solid #369; } button svg{ height: 100%; fill: var(--pc); } div.spacer{ width: 100%; height: 100%; flex-grow: 1; flex-shrink: 1; } footer{ height: 5px; background: var(--pc); flex-shrink: 0; } #filelist{ padding: 0; position: relative; } #filelist li{ width: 100%; line-height: 40px; background: transparent; border: none; border-bottom: 1px solid #ccc; list-style: none; position: relative; padding-inline: 20px 40px; /* justify-content: center; */ white-space: nowrap; overflow: hidden; text-overflow: clip; } #filelist li:first-of-type{ border-top: 1px solid #ccc; } #filelist li:hover{ background: rgba(255, 255, 255, 0.2); cursor: pointer; } .dlbutton{ background: transparent; border: none; position: absolute; top: 50%; right: 0; transform: translateY(-50%); } .dlbutton:hover svg{fill: #a9f;} .now{background: repeating-linear-gradient(-45deg, transparent 0px 4px, rgba(219, 219, 199, 0.2) 2px 8px)!important;} #title{ margin-left: 5px; } #pp{ display: none; } #tutorial{ position: absolute; width: 300px; height: 60px; z-index: 900; top: 150px; color: var(--pc); background: var(--sc); left: 30px; display: flex; justify-content: center; align-items: center; animation: slidefadein 1s both; opacity: 0; } #tutorial::before{ content: ; position: absolute; border: 10px solid transparent; border-left: 10px solid var(--sc); border-bottom: 10px solid var(--sc); top: 0; left: 0; transform: translateY(-100%); } @keyframes slidefadein{ 0%{ transform: translateY(20px); opacity: 0; } 100%{ transform: translateY(0px); opacity: 1; } } @media print{ :root, body{height: unset;} body{ width: 800px; overflow: auto; } header, main, footer{ display: none; } #pp{ padding: 15.5mm; display: block; text-align: justify; border-radius: 0; border: none; width: 100%; font-size: 18px; color: #333; white-space: break-spaces; } } @page { size: A4; margin: 15mm;} /style> /head> body> header> h1 onclickc.credit.style.display `block`>TERT.cc - span idtitle>Text Editor/span>/h1> button idme onclickboxtoggle(c.fileselect.style)>/button> div classspacer>/div> button idpf onclickboxtoggle(c.toolbox.style)>/button> button idtg>/button> /header> main> textarea idtx placeholdertype your text here... spellcheckfalse autofocus>/textarea> div idfileselect> fieldset> label>Add File:/label> input typetext idfn placeholderdefault.txt> button idpl onclickaddFile()>/button> /fieldset> ul idfilelist> /ul> /div> div idtoolbox> fieldset> label>font-size:/label> input typerange idfs min1 max200> button onclicktx.fs(24) classcancel>/button> /fieldset> fieldset> label forfontweight>font-weight:/label> input typerange idfw min0 max1000> button onclicktx.fw(400) classcancel>/button> /fieldset> fieldset> label forbottomfloat>Bottom-float:/label> input typerange idbf min0 max600> button onclicktx.bf(0) classcancel>/button> /fieldset> fieldset> label>color:/label>input typecolor idfc>button onclicktx.fc(roots.getPropertyValue(--sc)) classcancel>/button> label>back:/label>input typecolor idbc>button onclicktx.bc(roots.getPropertyValue(--qc)) classcancel>/button> /fieldset> fieldset> button onclickc.ss.href `https://fonts.googleapis.com/earlyaccess/notosansjp.css`>Use Noto Sans JP/button>(If you dont have) /fieldset> !-- fieldset> button onclickviewPage();>Test it/button> /fieldset> --> fieldset> button idrs onclickbbb()>/button> /fieldset> /div> /main> footer idft> /footer> div idpp>/div> div idtutorial>Lets type something.../div> div idcredit onclickc.credit.style.display none styledisplay: none; color: var(--pc); position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0,0,0,0.6); z-index: 10000;> div styledisplay: flex; justify-content: center; align-items: center; flex-direction: column; position: absolute; width: 400px; height: 300px; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: var(--sc);> h2>TERT.cc/h2> p>制作 TabbyWorks(タビーワークス)/p> p>Twitter: a hrefhttps://twitter.com/TabbyWorks target_blank relnoopener>@TabbyWorks/a>/p> p>Fantia: a hrefhttps://fantia.jp/fanclubs/445346 target_blank relnoopener>https://fantia.jp/fanclubs/445346/a>br>(よかったら投げ銭お願いします)/p> /div> /div> !--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --> script> //controller var c {}; document.querySelectorAll(id).forEach(a > ca.id a); //const const bom new Uint8Array(0xEF, 0xBB, 0xBF); const ii input; const pf _TERT_; const di none, block; const sanitize s > s.replace(/&>/`:?*|\\/g,_); const lg a > localStorage.getItem(a); const ls (a,b) > localStorage.setItem(a,b); const lgpf a > lg(pf + a); const lspf (a,b) > ls(pf + a, b); const sw (a,b) > a,b b,a; const roots getComputedStyle(document.documentElement); const body document.body; const resize () > {body.style.height window.visualViewport.height - lgpf(bottomfloat) + px;}; const tx { fs: a>{ c.tx.style.fontSize a + px; c.pp.style.fontSize a + px; c.fs.value a; lspf(fontsize, a); }, fw: a>{ c.tx.style.fontWeight a; c.pp.style.fontWeight a; c.fw.value a; lspf(fontweight, a); }, fc: a>{ c.tx.style.color a; c.pp.style.color a; console.log(a.slice(0,1)); if(a.slice(0,1) ){ c.fc.value rgb2hex(a); } else { c.fc.value a; } lspf(forecolor, a); }, bc: a>{ c.tx.style.background a; c.pp.style.background a; if(a.slice(0,1) ){ c.bc.value rgb2hex(a); } else { c.bc.value a; } lspf(backcolor, a); }, bf: a>{ body.style.height window.innerHeight - a + px; c.bf.value a; lspf(bottomfloat, a); }, } //initialize var now ; var commandflag 0; var child; makeFilelist(); makeButton(); document.querySelectorAll(id).forEach(a > ca.id a); c.expand.style.display block; c.shrink.style.display none; window.addEventListener(load, resize, false); window.visualViewport.addEventListener(resize, resize, false); c.tx.value lg() || ; if(c.tx.value ! ){ c.tutorial.style.animation none; } tx.fs(lgpf(fontsize) || 18); tx.fw(lgpf(fontweight) || 400); tx.fc(lgpf(forecolor) || roots.getPropertyValue(--sc)); tx.bc(lgpf(backcolor) || roots.getPropertyValue(--tc)); tx.bf(lgpf(bottomfloat) || 0); c.tx.addEventListener(ii, update); c.fs.addEventListener(ii, a>tx.fs(c.fs.value)); c.fw.addEventListener(ii, a>tx.fw(c.fw.value)); c.fc.addEventListener(ii, a>tx.fc(c.fc.value)); c.bc.addEventListener(ii, a>tx.bc(c.bc.value)); c.bf.addEventListener(ii, a>tx.bf(c.bf.value)); c.tx.addEventListener(focus, a>{c.toolbox.style.marginInline c.fileselect.style.marginInline -300px;}); document.addEventListener(touchmove, ()>{event.preventDefault();}, {passive: false}); switchFile(); function download(n){ let blob new Blob(bom, lg(n), {type: text/plain}); let a document.createElement(a); a.href window.URL.createObjectURL(blob); a.download n || default.txt; a.click(); a.remove(); } function bbb(){ if(~confirm(All files and preferences will be deleted forever. Are you sure?)){ return; } localStorage.clear(); window.location.reload(); } function update(e){ ls(now, c.tx.value); pp.innerText c.tx.value; if(c.tx.value ! ){ c.tutorial.style.animation none; } // viewPage(); // if(e ! null && e.data `){ // commandflag++; // } else if(e ! null && e.data ‘‘‘){ // commandflag 3; // } else { // commandflag 0; // return; // } // if(commandflag 3){ // alert(command mode); // } } function expand(){ body.style.width 100vw; c.expand.style.display, c.shrink.style.display di0, di1; if (body.requestFullscreen) { body.requestFullscreen(); } } function shrink(){ body.style.removeProperty(width); c.expand.style.display, c.shrink.style.display di1, di0; if (document.exitFullscreen) { document.exitFullscreen(); } } function togglewindow(){ } function makeListItem(n){ let b document.createElement(li); b.setAttribute(class, filebutton); b.setAttribute(id, pf + n); b.setAttribute(onclick, `switchFile(${n})`); b.innerHTML (n || default) + `button classdlbutton onclickdownload(${n})>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 512 512>path dM480 352h-133.5l-45.25 45.25C289.2 409.3 273.1 416 256 416s-33.16-6.656-45.25-18.75L165.5 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96C512 366.3 497.7 352 480 352zM432 456c-13.2 0-24-10.8-24-24c0-13.2 10.8-24 24-24s24 10.8 24 24C456 445.2 445.2 456 432 456zM233.4 374.6C239.6 380.9 247.8 384 256 384s16.38-3.125 22.62-9.375l128-128c12.49-12.5 12.49-32.75 0-45.25c-12.5-12.5-32.76-12.5-45.25 0L288 274.8V32c0-17.67-14.33-32-32-32C238.3 0 224 14.33 224 32v242.8L150.6 201.4c-12.49-12.5-32.75-12.5-45.25 0c-12.49 12.5-12.49 32.75 0 45.25L233.4 374.6z/>/svg>/button>`; return b; } function makeFilelist(){ let f document.createDocumentFragment(); f.appendChild(makeListItem()); for(i 0;i localStorage.length;i++){ if((localStorage.key(i).substr(0,pf.length) || pf) ! pf){ f.appendChild(makeListItem(localStorage.key(i))); } } c.filelist.appendChild(f); } function addFile(){ c.fn.value sanitize(c.fn.value); if(lg(c.fn.value) null && c.fn.value.substr(0, pf.length) ! pf){ c.filelist.appendChild(makeListItem(c.fn.value)); ls(c.fn.value, c.tx.value); }else{ switchFile(c.fn.value); } } function switchFile(n){ if(e document.getElementsByClassName(now)0){ e.classList.remove(now); } c.fn.value ; now n; c.title.innerText now || Text Editor; document.title TERT.cc - + (now || Text Editor); document.getElementById(pf + now).classList.add(now); c.tx.value lg(now); update(null); } function viewPage(){ var blob new Blob(bom,c.tx.value, {type: text/html}); var a document.createElement(a); var url window.URL.createObjectURL(blob); if(!child){ child window.open(url); }else{ child.location.href url; child.document.getElementsByTagName(h1)0.textcontent othertext; } } function makeButton(){ let th `svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 `; let cc `${th}48 48>path dM40.65 44.95 35.9 40.2Q33.4 42 30.4 43Q27.4 44 24 44Q19.75 44 16.1 42.475Q12.45 40.95 9.75 38.25Q7.05 35.55 5.525 31.9Q4 28.25 4 24Q4 20.6 5 17.6Q6 14.6 7.8 12.1L3.05 7.35L5.2 5.2L42.8 42.8ZM24 41Q26.75 41 29.2 40.225Q31.65 39.45 33.75 38.05L9.95 14.25Q8.55 16.35 7.775 18.8Q7 21.25 7 24Q7 31.25 11.875 36.125Q16.75 41 24 41ZM40.2 35.9 38.05 33.75Q39.45 31.65 40.225 29.2Q41 26.75 41 24Q41 16.75 36.125 11.875Q31.25 7 24 7Q21.25 7 18.8 7.775Q16.35 8.55 14.25 9.95L12.1 7.8Q14.6 6 17.6 5Q20.6 4 24 4Q28.2 4 31.85 5.55Q35.5 7.1 38.2 9.8Q40.9 12.5 42.45 16.15Q44 19.8 44 24Q44 27.4 43 30.4Q42 33.4 40.2 35.9ZM26.15 21.85Q26.15 21.85 26.15 21.85Q26.15 21.85 26.15 21.85Q26.15 21.85 26.15 21.85Q26.15 21.85 26.15 21.85Q26.15 21.85 26.15 21.85Q26.15 21.85 26.15 21.85ZM21.85 26.15Q21.85 26.15 21.85 26.15Q21.85 26.15 21.85 26.15Q21.85 26.15 21.85 26.15Q21.85 26.15 21.85 26.15Q21.85 26.15 21.85 26.15Q21.85 26.15 21.85 26.15Z/>/svg>`; ...document.querySelectorAll(.cancel).forEach(e>e.innerHTML cc); let rr `${th}48 48>path dM18.25 33.4 24.05 27.55 29.9 33.4 32.8 30.5 27 24.6 32.8 18.7 29.9 15.7 24.05 21.6 18.25 15.7 15.3 18.7 21.1 24.6 15.3 30.5ZM12.75 43Q10.8 43 9.45 41.675Q8.1 40.35 8.1 38.4V10.95H5.25V6.4H16.6V4.05H31.4V6.4H42.8V10.95H39.95V38.4Q39.95 40.35 38.575 41.675Q37.2 43 35.3 43ZM35.3 10.95H12.75V38.4Q12.75 38.4 12.75 38.4Q12.75 38.4 12.75 38.4H35.3Q35.3 38.4 35.3 38.4Q35.3 38.4 35.3 38.4ZM12.75 10.95V38.4Q12.75 38.4 12.75 38.4Q12.75 38.4 12.75 38.4Q12.75 38.4 12.75 38.4Q12.75 38.4 12.75 38.4Z/>/svg>`; c.rs.innerHTML rr; let pp `${th}448 512>path dM432 256c0 17.69-14.33 32.01-32 32.01H256v144c0 17.69-14.33 31.99-32 31.99s-32-14.3-32-31.99v-144H48c-17.67 0-32-14.32-32-32.01s14.33-31.99 32-31.99H192v-144c0-17.69 14.33-32.01 32-32.01s32 14.32 32 32.01v144h144C417.7 224 432 238.3 432 256z/>/svg>`; c.pl.innerHTML pp; let mm `${th}448 512>path dM0 96C0 78.33 14.33 64 32 64H416C433.7 64 448 78.33 448 96C448 113.7 433.7 128 416 128H32C14.33 128 0 113.7 0 96zM0 256C0 238.3 14.33 224 32 224H416C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288H32C14.33 288 0 273.7 0 256zM416 448H32C14.33 448 0 433.7 0 416C0 398.3 14.33 384 32 384H416C433.7 384 448 398.3 448 416C448 433.7 433.7 448 416 448z/>/svg>`; c.me.innerHTML mm; let ss `${th}512 512>path dM507.6 122.8c-2.904-12.09-18.25-16.13-27.04-7.338l-76.55 76.56l-83.1-.0002l0-83.1l76.55-76.56c8.791-8.789 4.75-24.14-7.336-27.04c-23.69-5.693-49.34-6.111-75.92 .2484c-61.45 14.7-109.4 66.9-119.2 129.3C189.8 160.8 192.3 186.7 200.1 210.1l-178.1 178.1c-28.12 28.12-28.12 73.69 0 101.8C35.16 504.1 53.56 512 71.1 512s36.84-7.031 50.91-21.09l178.1-178.1c23.46 7.736 49.31 10.24 76.17 6.004c62.41-9.84 114.6-57.8 129.3-119.2C513.7 172.1 513.3 146.5 507.6 122.8zM80 456c-13.25 0-24-10.75-24-24c0-13.26 10.75-24 24-24s24 10.74 24 24C104 445.3 93.25 456 80 456z/>/svg>`; c.pf.innerHTML ss; let tt `${th}512 512 idexpand onclickexpand() titleexpand>path dM128 32H32C14.31 32 0 46.31 0 64v96c0 17.69 14.31 32 32 32s32-14.31 32-32V96h64c17.69 0 32-14.31 32-32S145.7 32 128 32zM416 32h-96c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32V64C448 46.31 433.7 32 416 32zM128 416H64v-64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96c0 17.69 14.31 32 32 32h96c17.69 0 32-14.31 32-32S145.7 416 128 416zM416 320c-17.69 0-32 14.31-32 32v64h-64c-17.69 0-32 14.31-32 32s14.31 32 32 32h96c17.69 0 32-14.31 32-32v-96C448 334.3 433.7 320 416 320z/>/svg>${th}512 512 idshrink onclickshrink() titleshrink>path dM128 320H32c-17.69 0-32 14.31-32 32s14.31 32 32 32h64v64c0 17.69 14.31 32 32 32s32-14.31 32-32v-96C160 334.3 145.7 320 128 320zM416 320h-96c-17.69 0-32 14.31-32 32v96c0 17.69 14.31 32 32 32s32-14.31 32-32v-64h64c17.69 0 32-14.31 32-32S433.7 320 416 320zM320 192h96c17.69 0 32-14.31 32-32s-14.31-32-32-32h-64V64c0-17.69-14.31-32-32-32s-32 14.31-32 32v96C288 177.7 302.3 192 320 192zM128 32C110.3 32 96 46.31 96 64v64H32C14.31 128 0 142.3 0 160s14.31 32 32 32h96c17.69 0 32-14.31 32-32V64C160 46.31 145.7 32 128 32z/>/svg>`; c.tg.innerHTML tt; } function boxtoggle(e){ e.marginInline -300 - e.marginInline.slice(0,-2) + px; } function rgb2hex(a){ let co a.split(/(,)/); return # + parseInt(co1).toString(16) + parseInt(co2).toString(16) + parseInt(co3).toString(16); } /script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]