github.com Open in urlscan Pro
140.82.121.3  Public Scan

Submitted URL: https://t.co/dqWou5A0Fr
Effective URL: https://github.com/itsOwen/CyberScraper-2077
Submission: On September 10 via manual from KR — Scanned from DE

Form analysis 3 forms found in the DOM

GET

<form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get">
  <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder" data-min-width="300" data-catalyst="">
    <div class="FormControl FormControl--fullWidth">
      <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label>
      <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput">
        <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap">
          <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual">
            <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
          </svg>
        </span>
        <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer">
          <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent"></div>
          <div class="QueryBuilder-InputWrapper">
            <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"><span></span></div>
            <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-0e142c37-c091-4e00-9685-38d456f4ba9a"
              data-target="query-builder.input" data-action="
          input:query-builder#inputChange
          blur:query-builder#inputBlur
          keydown:query-builder#inputKeydown
          focus:query-builder#inputFocus
        " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" aria-controls="query-builder-test-results" aria-autocomplete="list" aria-haspopup="listbox" style="width: 300px;">
          </div>
        </div>
        <span class="sr-only" id="query-builder-test-clear">Clear</span>
        <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action="
                click:query-builder#clear
                focus:query-builder#clearButtonFocus
                blur:query-builder#clearButtonBlur
              " variant="small" hidden="" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16"
            viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual">
            <path
              d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z">
            </path>
          </svg>
        </button>
      </div>
      <template id="search-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
          <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
        </svg>
      </template>
      <template id="code-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
          <path
            d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z">
          </path>
        </svg>
      </template>
      <template id="file-code-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code">
          <path
            d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z">
          </path>
        </svg>
      </template>
      <template id="history-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history">
          <path
            d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z">
          </path>
        </svg>
      </template>
      <template id="repo-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo">
          <path
            d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z">
          </path>
        </svg>
      </template>
      <template id="bookmark-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark">
          <path
            d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z">
          </path>
        </svg>
      </template>
      <template id="plus-circle-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle">
          <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path>
        </svg>
      </template>
      <template id="circle-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill">
          <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path>
        </svg>
      </template>
      <template id="trash-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash">
          <path
            d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z">
          </path>
        </svg>
      </template>
      <template id="team-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people">
          <path
            d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z">
          </path>
        </svg>
      </template>
      <template id="project-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project">
          <path
            d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z">
          </path>
        </svg>
      </template>
      <template id="pencil-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil">
          <path
            d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z">
          </path>
        </svg>
      </template>
      <template id="copilot-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot">
          <path
            d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z">
          </path>
          <path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path>
        </svg>
      </template>
      <template id="copilot-error-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error">
          <path
            d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z">
          </path>
        </svg>
      </template>
      <template id="workflow-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow">
          <path
            d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z">
          </path>
        </svg>
      </template>
      <template id="book-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book">
          <path
            d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z">
          </path>
        </svg>
      </template>
      <template id="code-review-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review">
          <path
            d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z">
          </path>
        </svg>
      </template>
      <template id="codespaces-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces">
          <path
            d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z">
          </path>
          <path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path>
        </svg>
      </template>
      <template id="comment-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment">
          <path
            d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z">
          </path>
        </svg>
      </template>
      <template id="comment-discussion-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion">
          <path
            d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z">
          </path>
        </svg>
      </template>
      <template id="organization-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization">
          <path
            d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z">
          </path>
        </svg>
      </template>
      <template id="rocket-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket">
          <path
            d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z">
          </path>
        </svg>
      </template>
      <template id="shield-check-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check">
          <path
            d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z">
          </path>
        </svg>
      </template>
      <template id="heart-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart">
          <path
            d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z">
          </path>
        </svg>
      </template>
      <template id="server-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server">
          <path
            d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z">
          </path>
        </svg>
      </template>
      <template id="globe-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe">
          <path
            d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z">
          </path>
        </svg>
      </template>
      <template id="issue-opened-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened">
          <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path>
          <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
        </svg>
      </template>
      <template id="device-mobile-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile">
          <path
            d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z">
          </path>
        </svg>
      </template>
      <template id="package-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package">
          <path
            d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z">
          </path>
        </svg>
      </template>
      <template id="credit-card-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card">
          <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path>
          <path
            d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z">
          </path>
        </svg>
      </template>
      <template id="play-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
          <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
        </svg>
      </template>
      <template id="gift-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift">
          <path
            d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z">
          </path>
        </svg>
      </template>
      <template id="code-square-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square">
          <path
            d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z">
          </path>
        </svg>
      </template>
      <template id="device-desktop-icon">
        <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop">
          <path
            d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z">
          </path>
        </svg>
      </template>
      <div class="position-relative">
        <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action="
                    combobox-commit:query-builder#comboboxCommit
                    mousedown:query-builder#resultsMousedown
                  " data-target="query-builder.resultsList" data-persist-list="false" id="query-builder-test-results"></ul>
      </div>
      <div class="FormControl-inlineValidation" id="validation-0e142c37-c091-4e00-9685-38d456f4ba9a" hidden="hidden">
        <span class="FormControl-inlineValidation--visual">
          <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill">
            <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
          </svg>
        </span>
        <span></span>
      </div>
    </div>
    <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div>
  </query-builder>
</form>

POST /search/feedback

<form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token"
    value="/9ni7XWL6/lIfqgQ/8NSLwJpUsIZ9NfiOGZHFtezcDNdXk3u3Si156ooRVF7KL/UcDq6tsbvqhDKqIIqyLEuAQ==">
  <p>We read every piece of feedback, and take your input very seriously.</p>
  <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea>
  <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox">
  <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label>
</form>

POST /search/custom_scopes

<form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token"
    value="Dui1x67eQd+CLp87acKI3b76vvL4sqBy9RJgD8kPdiKwEX8gRa9naveAim77NXi3Tb1Xhtcbllba/CUvmECcWQ==">
  <div data-target="custom-scopes.customScopesModalDialogFlash"></div>
  <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">
  <div class="form-group">
    <label for="custom_scope_name">Name</label>
    <auto-check src="/search/custom_scopes/check_name" required="">
      <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required="" maxlength="50" spellcheck="false">
      <input type="hidden" data-csrf="true" value="8xm+BsljRdDv7zEaXQ6vkvMIuD08sLvurUXUw3hh6rMMi7qK5JwSjwOB1KwA7/2UMs1Z1sIyfrYFstzQuGzP6Q==">
    </auto-check>
  </div>
  <div class="form-group">
    <label for="custom_scope_query">Query</label>
    <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required=""
      maxlength="500">
  </div>
  <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p>
</form>

Text Content

Skip to content



NAVIGATION MENU

Toggle navigation
Sign in
 * Product
    * Actions
      Automate any workflow
    * Packages
      Host and manage packages
    * Security
      Find and fix vulnerabilities
    * Codespaces
      Instant dev environments
    * GitHub Copilot
      Write better code with AI
    * Code review
      Manage code changes
    * Issues
      Plan and track work
    * Discussions
      Collaborate outside of code
   
   Explore
    * All features
    * Documentation
    * GitHub Skills
    * Blog

 * Solutions
   By size
    * Enterprise
    * Teams
    * Startups
   
   By industry
    * Healthcare
    * Financial services
    * Manufacturing
   
   By use case
    * CI/CD & Automation
    * DevOps
    * DevSecOps

 * Resources
   Topics
    * AI
    * DevOps
    * Security
    * Software Development
    * View all
   
   Explore
    * Learning Pathways
    * White papers, Ebooks, Webinars
    * Customer Stories
    * Partners

 * Open Source
    * GitHub Sponsors
      Fund open source developers
   
    * The ReadME Project
      GitHub community articles
   
   Repositories
    * Topics
    * Trending
    * Collections

 * Enterprise
    * Enterprise platform
      AI-powered developer platform
   
   Available add-ons
    * Advanced Security
      Enterprise-grade security features
    * GitHub Copilot
      Enterprise-grade AI features
    * Premium Support
      Enterprise-grade 24/7 support

 * Pricing


Search or jump to...



SEARCH CODE, REPOSITORIES, USERS, ISSUES, PULL REQUESTS...

Search

Clear



Search syntax tips




PROVIDE FEEDBACK



We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted
Cancel Submit feedback


SAVED SEARCHES


USE SAVED SEARCHES TO FILTER YOUR RESULTS MORE QUICKLY


Name
Query

To see all available qualifiers, see our documentation.


Cancel Create saved search
Sign in
Sign up Reseting focus
You signed in with another tab or window. Reload to refresh your session. You
signed out in another tab or window. Reload to refresh your session. You
switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert

{{ message }}
itsOwen / CyberScraper-2077 Public
 * Sponsor
 * Notifications You must be signed in to change notification settings
 * Fork 89
 * Star 917

A Powerful web scraper powered by LLM | OpenAI, Gemini & Ollama


LICENSE

MIT license
917 stars 89 forks Branches Tags Activity
Star
Notifications You must be signed in to change notification settings
 * Code
 * Issues 0
 * Pull requests 0
 * Actions
 * Projects 0
 * Security
 * Insights

Additional navigation options
 * Code
 * Issues
 * Pull requests
 * Actions
 * Projects
 * Security
 * Insights


ITSOWEN/CYBERSCRAPER-2077

This commit does not belong to any branch on this repository, and may belong to
a fork outside of the repository.
Β main
1 Branch
2 Tags

Go to file



Code



FOLDERS AND FILES

NameName
Last commit message
Last commit date


LATEST COMMIT

itsOwen
docker issue fixed
Sep 9, 2024
1008610Β Β·Β Sep 9, 2024


HISTORY

61 Commits


.github
.github
FUNDING.yml
Sep 3, 2024
app
app
current browser + gemini support added
Sep 3, 2024
src
src
docker file fix
Sep 3, 2024
.DS_Store
.DS_Store
Google Sheets Upload + Ollama Fix
Aug 23, 2024
.gitignore
.gitignore
token
Aug 24, 2024
Dockerfile
Dockerfile
docker issue fixed
Sep 9, 2024
LICENSE
LICENSE
Initial commit
Aug 18, 2024
README.md
README.md
docker issue fixed
Sep 9, 2024
__init__.py
__init__.py
ollama experimental
Aug 20, 2024
main.py
main.py
current browser + gemini support added
Sep 3, 2024
requirements.txt
requirements.txt
current browser + gemini support added
Sep 3, 2024
View all files


REPOSITORY FILES NAVIGATION

 * README
 * MIT license


🌐 CYBERSCRAPER 2077







> Rip data from the net, leaving no trace. Welcome to the future of web
> scraping.


πŸ” ABOUT

CyberScraper 2077 is not just another web scraping tool – it's a glimpse into
the future of data extraction. Born from the neon-lit streets of a cyberpunk
world, this AI-powered scraper uses OpenAI, Gemini and LocalLLM Models to slice
through the web's defenses, extracting the data you need with unparalleled
precision and style.

Whether you're a corpo data analyst, a street-smart netrunner, or just someone
looking to pull information from the digital realm, CyberScraper 2077 has got
you covered.




✨ FEATURES

 * πŸ€– AI-Powered Extraction: Utilizes cutting-edge AI models to understand and
   parse web content intelligently.
 * πŸ–₯️ Sleek Streamlit Interface: User-friendly GUI that even a chrome-armed
   street samurai could navigate.
 * πŸ”„ Multi-Format Support: Export your data in JSON, CSV, HTML, SQL or Excel –
   whatever fits your cyberdeck.
 * πŸ•΅οΈ Stealth Mode: Implemented stealth mode parameters that help avoid
   detection as a bot.
 * πŸ¦™ Ollama Support: Use a huge library of open source LLMs.
 * ⚑ Async Operations: Lightning-fast scraping that would make a Trauma Team
   jealous.
 * 🧠 Smart Parsing: Structures scraped content as if it was extracted straight
   from the engram of a master netrunner.
 * πŸ’Ύ Caching: Implemented content-based and query-based caching using LRU cache
   and a custom dictionary to reduce redundant API calls.
 * πŸ“Š Upload to Google Sheets: Now you can easily upload your extracted CSV data
   to Google Sheets with one click.
 * πŸ›‘οΈ Bypass Captcha: Bypass captcha by using the -captcha at the end of the
   URL. (Currently only works natively, doesn't work on Docker)
 * 🌐 Current Browser: The current browser feature uses your local browser
   instance which will help you bypass 99% of bot detections. (Only use when
   necessary)
 * πŸ”’ Proxy Mode (Coming Soon): Built-in proxy support to keep you ghosting
   through the net.
 * 🧭 Navigate through the Pages (BETA): Navigate through the webpage and scrape
   data from different pages.


πŸŽ₯ DEMO

Check out our Redesigned and Improved Version of CyberScraper-2077 with more
functionality YouTube video for a full walkthrough of CyberScraper 2077's
capabilities.

Check out our first build (Old Video) YouTube video


πŸͺŸ FOR WINDOWS USERS

Please follow the Docker Container Guide given below, as I won't be able to
maintain another version for Windows systems.


πŸ›  INSTALLATION

Note: CyberScraper 2077 requires Python 3.10 or higher.

 1. Clone this repository:
    
    git clone https://github.com/itsOwen/CyberScraper-2077.git
    cd CyberScraper-2077
    
    

 2. Create and activate a virtual environment:
    
    virtualenv venv
    source venv/bin/activate  # Optional
    
    

 3. Install the required packages:
    
    pip install -r requirements.txt
    
    

 4. Install the playwright:
    
    playwright install
    
    

 5. Set OpenAI & Gemini Key in your environment:
    
    Linux/Mac:
    
    export OPENAI_API_KEY="your-api-key-here"
    
    export GOOGLE_API_KEY="your-api-key-here"
    
    

 6. If you want to use Ollama:

Note: I only recommend using OpenAI and Gemini API as these models are really
good at following instructions. If you are using open-source LLMs, make sure you
have a good system as the speed of the data generation/presentation depends on
how well your system can run the LLM. You may also have to fine-tune the prompt
and add some additional filters yourself.

1. Setup Ollama using `pip install ollama`
2. Download Ollama from the official website: https://ollama.com/download
3. Now type: ollama pull llama3.1 or whatever LLM you want to use.
4. Now follow the rest of the steps below.




🐳 DOCKER INSTALLATION

If you prefer to use Docker, follow these steps to set up and run CyberScraper
2077:

 1. Ensure you have Docker installed on your system.

 2. Clone this repository:
    
    git clone https://github.com/itsOwen/CyberScraper-2077.git
    cd CyberScraper-2077
    
    

 3. Build the Docker image:
    
    docker build -t cyberscraper-2077 .
    
    

 4. Run the container:
    
    * Without API key:
      
      docker run -p 8501:8501 cyberscraper-2077
      
      
    * With OpenAI API key:
      
      docker run -p 8501:8501 -e OPENAI_API_KEY="your-actual-api-key" cyberscraper-2077
      
      
    * With Gemini API key:
      
      docker run -p 8501:8501 -e GOOGLE_API_KEY="your-actual-api-key" cyberscraper-2077
      
      

 5. Open your browser and navigate to http://localhost:8501.


USING OLLAMA WITH DOCKER

If you want to use Ollama with the Docker setup:

 1. Install Ollama on your host machine following the instructions at
    https://ollama.com/download

 2. Run Ollama on your host machine:
    
    ollama pull llama3.1
    
    

 3. Find your host machine's IP address:
    
    * On Linux/Mac: ifconfig or ip addr show
    * On Windows: ipconfig

 4. Run the Docker container with the host network and set the Ollama URL:
    
    docker run -e OLLAMA_BASE_URL=http://host.docker.internal:11434 -p 8501:8501 cyberscraper-2077
    
    
    
    On Linux you might need to use this below:
    
    docker run -e OLLAMA_BASE_URL=http://<your-host-ip>:11434 -p 8501:8501 cyberscraper-2077
    
    
    
    Replace <your-host-ip> with your actual host machine IP address.

 5. In the Streamlit interface, select the Ollama model you want to use (e.g.,
    "ollama:llama3.1").

Note: Ensure that your firewall allows connections to port 11434 for Ollama.


πŸš€ USAGE

 1. Fire up the Streamlit app:
    
    streamlit run main.py
    
    

 2. Open your browser and navigate to http://localhost:8501.

 3. Enter the URL of the site you want to scrape or ask a question about the
    data you need.

 4. Ask the chatbot to extract the data in any format. Select whatever data you
    want to export or even everything from the webpage.

 5. Watch as CyberScraper 2077 tears through the net, extracting your data
    faster than you can say "flatline"!


🌐 MULTI-PAGE SCRAPING (BETA)

> Note: The multi-page scraping feature is currently in beta. While functional,
> you may encounter occasional issues or unexpected behavior. We appreciate your
> feedback and patience as we continue to improve this feature.

CyberScraper 2077 now supports multi-page scraping, allowing you to extract data
from multiple pages of a website in one go. This feature is perfect for scraping
paginated content, search results, or any site with data spread across multiple
pages.


HOW TO USE MULTI-PAGE SCRAPING

I suggest you enter the URL structure every time if you want to scrape multiple
pages so it can detect the URL structure easily. It detects nearly all URL
types.

 1. Basic Usage: To scrape multiple pages, use the following format when
    entering the URL:
    
    https://example.com/page 1-5
    https://example.com/p/ 1-6
    https://example.com/xample/something-something-1279?p=1 1-3
    
    
    
    
    This will scrape pages 1 through 5 of the website.

 2. Custom Page Ranges: You can specify custom page ranges:
    
    https://example.com/p/ 1-5,7,9-12
    https://example.com/xample/something-something-1279?p=1 1,7,8,9
    
    
    
    
    This will scrape pages 1 to 5, page 7, and pages 9 to 12.

 3. URL Patterns: For websites with different URL structures, you can specify a
    pattern:
    
    https://example.com/search?q=cyberpunk&page={page} 1-5
    
    
    
    
    Replace {page} with where the page number should be in the URL.

 4. Automatic Pattern Detection: If you don't specify a pattern, CyberScraper
    2077 will attempt to detect the URL pattern automatically. However, for best
    results, specifying the pattern is recommended.


TIPS FOR EFFECTIVE MULTI-PAGE SCRAPING

 * Start with a small range of pages to test before scraping a large number.
 * Be mindful of the website's load and your scraping speed to avoid overloading
   servers.
 * Use the simulate_human option for more natural scraping behavior on sites
   with anti-bot measures.
 * Regularly check the website's robots.txt file and terms of service to ensure
   compliance.


EXAMPLE

URL Example : "https://news.ycombinator.com/?p=1 1-3 or 1,2,3,4"



If you want to scrape a specific page, just enter the query "please scrape page
number 1 or 2". If you want to scrape all pages, simply give a query like
"scrape all pages in csv" or whatever format you want.


HANDLING ERRORS

If you encounter errors during multi-page scraping:

 * Check your internet connection
 * Verify the URL pattern is correct
 * Ensure the website allows scraping
 * Try reducing the number of pages or increasing the delay between requests


BETA FEEDBACK

As this feature is in beta, we highly value your feedback. If you encounter any
issues or have suggestions for improvement, please:

 1. Open an issue on our GitHub repository
 2. Provide detailed information about the problem, including the URL structure
    and number of pages you were attempting to scrape
 3. Share any error messages or unexpected behaviors you observed

Your input is crucial in helping us refine and stabilize this feature for future
releases.


SETUP GOOGLE SHEETS AUTHENTICATION:

 1.  Go to the Google Cloud Console (https://console.cloud.google.com/).
 2.  Select your project.
 3.  Navigate to "APIs & Services" > "Credentials".
 4.  Find your existing OAuth 2.0 Client ID and delete it.
 5.  Click "Create Credentials" > "OAuth client ID".
 6.  Choose "Web application" as the application type.
 7.  Name your client (e.g., "CyberScraper 2077 Web Client").
 8.  Under "Authorized JavaScript origins", add:
     * http://localhost:8501
     * http://localhost:8502
     * http://127.0.0.1:8501
     * http://127.0.0.1:8502
 9.  Under "Authorized redirect URIs", add:
     * http://localhost:8501/
     * http://127.0.0.1:8501/
     * http://localhost:8502/
     * http://127.0.0.1:8502/
 10. Click "Create" to generate the new client ID.
 11. Download the new client configuration JSON file and rename it to
     client_secret.json.


ADJUSTING PLAYWRIGHTSCRAPER SETTINGS (OPTIONAL)

Customize the PlaywrightScraper settings to fit your scraping needs. If some
websites are giving you issues, you might want to check the behavior of the
website:

use_stealth: bool = True,
simulate_human: bool = False,
use_custom_headers: bool = True,
hide_webdriver: bool = True,
bypass_cloudflare: bool = True:



Adjust these settings based on your target website and environment for optimal
results.

You can also bypass the captcha using the -captcha parameter at the end of the
URL. The browser window will pop up, complete the captcha, and go back to your
terminal window. Press enter and the bot will complete its task.


🀝 CONTRIBUTING

We welcome all cyberpunks, netrunners, and code samurais to contribute to
CyberScraper 2077!


πŸ”§ TROUBLESHOOTING

Ran into a glitch in the matrix? Let me know by adding the issue to this repo so
that we can fix it together.


❓ FAQ

Q: Is CyberScraper 2077 legal to use? A: CyberScraper 2077 is designed for
ethical web scraping. Always ensure you have the right to scrape a website and
respect their robots.txt file.

Q: Can I use this for commercial purposes? A: Yes, under the terms of the MIT
License. But remember, in Night City, there's always a price to pay. Just
kidding!


πŸ“„ LICENSE

This project is licensed under the MIT License - see the LICENSE file for
details. Use it, mod it, sell it – just don't blame us if you end up flatlined.


πŸ“ž CONTACT

Got questions? Need support? Want to hire me for a gig?

 * πŸ“§ Email: owensingh72@gmail.com
 * 🐦 Twitter: @owensingh_
 * πŸ’¬ Website: Portfolio


🚨 DISCLAIMER

Listen up, choombas! Before you jack into this code, you better understand the
risks:

 1. This software is provided "as is", without warranty of any kind, express or
    implied.

 2. The authors are not liable for any damages or losses resulting from the use
    of this software.

 3. This tool is intended for educational and research purposes only. Any
    illegal use is strictly prohibited.

 4. We do not guarantee the accuracy, completeness, or reliability of any data
    obtained through this tool.

 5. By using this software, you acknowledge that you are doing so at your own
    risk.

 6. You are responsible for complying with all applicable laws and regulations
    in your use of this software.

 7. We reserve the right to modify or discontinue the software at any time
    without notice.

Remember, samurai: In the dark future of the NET, knowledge is power, but it's
also a double-edged sword. Use this tool wisely, and may your connection always
be strong and your firewalls impenetrable. Stay frosty out there in the digital
frontier.



--------------------------------------------------------------------------------

CyberScraper 2077 – Because in 2077, what makes someone a criminal? Getting
caught.

Built with ❀️ and chrome by the streets of Night City | © 2077 Owen Singh


ABOUT

A Powerful web scraper powered by LLM | OpenAI, Gemini & Ollama


TOPICS

scraper web-scraper openai webscraping gemini-api llm llm-scraper ai-scraping


RESOURCES

Readme


LICENSE

MIT license
Activity


STARS

917 stars


WATCHERS

10 watching


FORKS

89 forks
Report repository


RELEASES 2

CyberScraper-2077 Latest
Sep 9, 2024
+ 1 release


SPONSOR THIS PROJECT

itsOwen Owen Singh
Sponsor
Learn more about GitHub Sponsors



LANGUAGES


 * Python 94.5%
 * CSS 4.0%
 * Dockerfile 1.5%


FOOTER

Β© 2024 GitHub,Β Inc.


FOOTER NAVIGATION

 * Terms
 * Privacy
 * Security
 * Status
 * Docs
 * Contact
 * Manage cookies
 * Do not share my personal information

You can’t perform that action at this time.