├── .gitignore ├── debian ├── DEBIAN │ ├── postinst │ └── control └── usr │ └── local │ └── bin │ └── localsend-cli ├── doc └── images │ ├── image.png │ ├── logo.png │ ├── v1.2.png │ ├── image-1.png │ ├── image-2.png │ ├── image-3.png │ ├── image-4.png │ ├── windows.png │ └── windows_run.png ├── internal ├── config │ └── config.yaml ├── utils │ ├── os_type.go │ ├── clipboard │ │ └── clipboard.go │ └── sha256 │ │ └── sha256.go ├── pkg │ └── server │ │ └── server.go └── models │ ├── send_model.go │ ├── fileinfo_model.go │ ├── prepare_model.go │ ├── device_info_model.go │ └── info_model.go ├── static ├── embed.go └── fontawesome │ ├── webfonts │ ├── fa-brands-400.ttf │ ├── fa-solid-900.ttf │ ├── fa-brands-400.woff2 │ ├── fa-regular-400.ttf │ ├── fa-regular-400.woff2 │ ├── fa-solid-900.woff2 │ ├── fa-v4compatibility.ttf │ └── fa-v4compatibility.woff2 │ ├── less │ ├── _fixed-width.less │ ├── _icons.less │ ├── v4-shims.less │ ├── _screen-reader.less │ ├── _sizing.less │ └── _list.less │ ├── scss │ ├── _fixed-width.scss │ ├── _icons.scss │ ├── _sizing.scss │ ├── v4-shims.scss │ ├── _screen-reader.scss │ └── _list.scss │ └── svgs │ ├── solid │ ├── square-full.svg │ ├── circle.svg │ ├── o.svg │ ├── circle-dot.svg │ ├── window-minimize.svg │ ├── genderless.svg │ ├── minus.svg │ ├── square.svg │ ├── stop.svg │ ├── circle-half-stroke.svg │ ├── l.svg │ ├── location-pin.svg │ ├── slash.svg │ ├── exclamation.svg │ ├── file.svg │ ├── t.svg │ ├── ellipsis.svg │ ├── toggle-on.svg │ ├── ellipsis-vertical.svg │ ├── face-meh-blank.svg │ ├── mound.svg │ ├── circle-minus.svg │ ├── play.svg │ ├── bread-slice.svg │ ├── dice-one.svg │ ├── tablet-button.svg │ ├── caret-up.svg │ ├── d.svg │ ├── diamond.svg │ ├── mobile-button.svg │ ├── sort-up.svg │ ├── table-columns.svg │ ├── 7.svg │ ├── caret-down.svg │ ├── caret-left.svg │ ├── caret-right.svg │ ├── f.svg │ ├── j.svg │ ├── message.svg │ ├── sort-down.svg │ ├── circle-stop.svg │ ├── computer-mouse.svg │ ├── p.svg │ ├── u.svg │ ├── 0.svg │ ├── angle-down.svg │ ├── angle-left.svg │ ├── angle-up.svg │ ├── cheese.svg │ ├── chevron-left.svg │ ├── chevron-up.svg │ ├── angle-right.svg │ ├── bookmark.svg │ ├── chevron-down.svg │ ├── chevron-right.svg │ ├── clock.svg │ ├── divide.svg │ ├── equals.svg │ ├── folder.svg │ ├── i.svg │ ├── location-dot.svg │ ├── user.svg │ ├── volume-off.svg │ ├── y.svg │ ├── box.svg │ ├── check.svg │ ├── grip-lines-vertical.svg │ ├── location-arrow.svg │ ├── plus.svg │ ├── user-large.svg │ ├── bowling-ball.svg │ ├── e.svg │ ├── mobile-screen-button.svg │ ├── mobile.svg │ ├── note-sticky.svg │ ├── record-vinyl.svg │ ├── tablet-screen-button.svg │ ├── tablet.svg │ ├── tarp.svg │ ├── face-surprise.svg │ ├── gauge-simple.svg │ ├── grip-lines.svg │ ├── h.svg │ ├── table.svg │ ├── v.svg │ ├── dice-two.svg │ ├── door-closed.svg │ ├── spoon.svg │ ├── tag.svg │ ├── z.svg │ ├── 1.svg │ ├── border-all.svg │ ├── circle-check.svg │ ├── circle-exclamation.svg │ ├── folder-closed.svg │ ├── italic.svg │ ├── less-than.svg │ ├── neuter.svg │ ├── paragraph.svg │ ├── square-minus.svg │ ├── window-maximize.svg │ ├── circle-chevron-down.svg │ ├── circle-chevron-left.svg │ ├── circle-chevron-right.svg │ ├── circle-chevron-up.svg │ ├── greater-than.svg │ ├── industry.svg │ ├── info.svg │ ├── laptop.svg │ ├── n.svg │ ├── star-half.svg │ ├── table-cells-large.svg │ ├── lock.svg │ ├── pause.svg │ ├── percent.svg │ ├── shield.svg │ ├── tv.svg │ ├── whiskey-glass.svg │ ├── arrow-up.svg │ ├── circle-user.svg │ ├── clone.svg │ ├── cross.svg │ ├── filter.svg │ ├── tent.svg │ ├── arrow-up-long.svg │ ├── backward-step.svg │ ├── calendar.svg │ ├── face-meh.svg │ ├── forward-step.svg │ ├── map.svg │ ├── mobile-screen.svg │ ├── up-long.svg │ ├── wand-magic.svg │ ├── a.svg │ ├── archway.svg │ ├── arrow-down.svg │ ├── arrow-left-long.svg │ ├── arrow-left.svg │ ├── arrow-right.svg │ ├── left-long.svg │ ├── magnet.svg │ ├── wallet.svg │ ├── arrow-down-long.svg │ ├── arrow-right-long.svg │ ├── chalkboard.svg │ ├── circle-pause.svg │ ├── circle-play.svg │ ├── desktop.svg │ ├── display.svg │ ├── down-long.svg │ ├── gauge-simple-high.svg │ ├── k.svg │ ├── tape.svg │ ├── traffic-light.svg │ ├── 9.svg │ ├── bullseye.svg │ ├── c.svg │ ├── circle-plus.svg │ ├── code-commit.svg │ ├── dice-three.svg │ ├── right-long.svg │ ├── table-list.svg │ ├── yin-yang.svg │ ├── bed.svg │ ├── bolt.svg │ ├── circle-h.svg │ ├── lock-open.svg │ ├── magnifying-glass.svg │ ├── tenge-sign.svg │ ├── toggle-off.svg │ ├── 4.svg │ ├── ban.svg │ ├── camera.svg │ ├── hockey-puck.svg │ ├── mattress-pillow.svg │ ├── notdef.svg │ ├── pallet.svg │ ├── seedling.svg │ ├── circle-arrow-down.svg │ ├── circle-arrow-up.svg │ ├── cloud.svg │ ├── 6.svg │ ├── arrow-pointer.svg │ ├── circle-arrow-left.svg │ ├── circle-arrow-right.svg │ ├── circle-info.svg │ ├── copy.svg │ ├── map-pin.svg │ ├── martini-glass.svg │ ├── pen.svg │ ├── r.svg │ ├── square-check.svg │ ├── stairs.svg │ ├── terminal.svg │ ├── trash.svg │ ├── battery-empty.svg │ ├── bell-concierge.svg │ ├── compass.svg │ ├── eject.svg │ ├── envelope.svg │ ├── eraser.svg │ ├── franc-sign.svg │ ├── martini-glass-empty.svg │ ├── music.svg │ ├── toilet-portable.svg │ ├── unlock.svg │ ├── arrow-turn-down.svg │ ├── b.svg │ ├── bars-progress.svg │ ├── box-archive.svg │ ├── face-laugh.svg │ ├── ice-cream.svg │ ├── litecoin-sign.svg │ ├── suitcase.svg │ ├── video.svg │ ├── wave-square.svg │ ├── arrow-turn-up.svg │ ├── copyright.svg │ ├── crop-simple.svg │ ├── egg.svg │ ├── folder-minus.svg │ ├── heart.svg │ ├── moon.svg │ ├── mug-saucer.svg │ ├── shield-halved.svg │ ├── user-minus.svg │ ├── bars.svg │ ├── phone.svg │ ├── square-caret-up.svg │ ├── turn-down.svg │ ├── turn-up.svg │ ├── vial.svg │ ├── wine-glass.svg │ └── x.svg │ ├── brands │ ├── houzz.svg │ ├── flipboard.svg │ ├── unsplash.svg │ ├── yandex-international.svg │ ├── black-tie.svg │ ├── ethereum.svg │ ├── bandcamp.svg │ ├── strava.svg │ ├── microsoft.svg │ ├── gitter.svg │ ├── vuejs.svg │ ├── css3.svg │ ├── think-peaks.svg │ ├── windows.svg │ ├── y-combinator.svg │ ├── mix.svg │ ├── google-drive.svg │ ├── uikit.svg │ ├── angular.svg │ ├── patreon.svg │ ├── viacoin.svg │ ├── instalod.svg │ ├── modx.svg │ ├── npm.svg │ ├── deviantart.svg │ ├── facebook-f.svg │ ├── servicestack.svg │ ├── dyalog.svg │ ├── adn.svg │ ├── hacker-news.svg │ ├── dochub.svg │ ├── firstdraft.svg │ ├── space-awesome.svg │ ├── artstation.svg │ ├── html5.svg │ ├── magento.svg │ ├── twitch.svg │ ├── yahoo.svg │ ├── autoprefixer.svg │ ├── yandex.svg │ ├── elementor.svg │ ├── monero.svg │ ├── buysellads.svg │ ├── cloudsmith.svg │ ├── jira.svg │ ├── maxcdn.svg │ ├── tiktok.svg │ ├── bitbucket.svg │ ├── dropbox.svg │ ├── stack-exchange.svg │ ├── stack-overflow.svg │ ├── css3-alt.svg │ ├── kaggle.svg │ ├── dashcube.svg │ ├── wirsindhandwerk.svg │ ├── google-play.svg │ ├── google.svg │ ├── korvue.svg │ ├── cuttlefish.svg │ ├── gratipay.svg │ ├── openid.svg │ ├── product-hunt.svg │ ├── fulcrum.svg │ ├── gg.svg │ ├── sourcetree.svg │ ├── discourse.svg │ ├── facebook.svg │ ├── rockrms.svg │ ├── hotjar.svg │ ├── sitrox.svg │ ├── square-facebook.svg │ ├── deezer.svg │ ├── markdown.svg │ ├── sistrix.svg │ └── square-hacker-news.svg │ └── regular │ ├── square-full.svg │ ├── circle.svg │ ├── window-minimize.svg │ ├── circle-dot.svg │ ├── face-meh-blank.svg │ ├── square.svg │ ├── circle-stop.svg │ ├── bookmark.svg │ ├── clock.svg │ ├── face-surprise.svg │ ├── circle-check.svg │ ├── file.svg │ ├── note-sticky.svg │ └── clone.svg ├── templates └── embed.go └── .idea ├── .gitignore ├── vcs.xml ├── modules.xml └── localsend-go.iml /.gitignore: -------------------------------------------------------------------------------- 1 | bin/ 2 | !debian/usr/local/bin/ -------------------------------------------------------------------------------- /debian/DEBIAN/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | chmod 755 /usr/local/bin/localsend-cli -------------------------------------------------------------------------------- /doc/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/doc/images/image.png -------------------------------------------------------------------------------- /doc/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/doc/images/logo.png -------------------------------------------------------------------------------- /doc/images/v1.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/doc/images/v1.2.png -------------------------------------------------------------------------------- /internal/config/config.yaml: -------------------------------------------------------------------------------- 1 | functions: 2 | http_file_server: true 3 | local_send_server: true -------------------------------------------------------------------------------- /doc/images/image-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/doc/images/image-1.png -------------------------------------------------------------------------------- /doc/images/image-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/doc/images/image-2.png -------------------------------------------------------------------------------- /doc/images/image-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/doc/images/image-3.png -------------------------------------------------------------------------------- /doc/images/image-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/doc/images/image-4.png -------------------------------------------------------------------------------- /doc/images/windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/doc/images/windows.png -------------------------------------------------------------------------------- /doc/images/windows_run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/doc/images/windows_run.png -------------------------------------------------------------------------------- /static/embed.go: -------------------------------------------------------------------------------- 1 | package static 2 | 3 | import "embed" 4 | 5 | //go:embed * 6 | var EmbeddedStaticFiles embed.FS 7 | -------------------------------------------------------------------------------- /templates/embed.go: -------------------------------------------------------------------------------- 1 | package templates 2 | 3 | import "embed" 4 | 5 | //go:embed * 6 | var EmbeddedFiles embed.FS 7 | -------------------------------------------------------------------------------- /debian/usr/local/bin/localsend-cli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/debian/usr/local/bin/localsend-cli -------------------------------------------------------------------------------- /internal/utils/os_type.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import "runtime" 4 | 5 | func CheckOSType() string { 6 | return runtime.GOOS 7 | } 8 | -------------------------------------------------------------------------------- /static/fontawesome/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/static/fontawesome/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /static/fontawesome/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/static/fontawesome/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /internal/pkg/server/server.go: -------------------------------------------------------------------------------- 1 | package server 2 | 3 | import "net/http" 4 | 5 | func New() *http.ServeMux { 6 | return http.NewServeMux() 7 | } 8 | -------------------------------------------------------------------------------- /static/fontawesome/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/static/fontawesome/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /static/fontawesome/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/static/fontawesome/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /static/fontawesome/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/static/fontawesome/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /static/fontawesome/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/static/fontawesome/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /static/fontawesome/webfonts/fa-v4compatibility.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/static/fontawesome/webfonts/fa-v4compatibility.ttf -------------------------------------------------------------------------------- /internal/models/send_model.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | // 假设 SendModel 已定义如下 4 | type SendModel struct { 5 | DeviceName string 6 | IP string 7 | } 8 | -------------------------------------------------------------------------------- /static/fontawesome/webfonts/fa-v4compatibility.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowrain/localsend-go/HEAD/static/fontawesome/webfonts/fa-v4compatibility.woff2 -------------------------------------------------------------------------------- /static/fontawesome/less/_fixed-width.less: -------------------------------------------------------------------------------- 1 | // fixed-width icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-fw { 5 | text-align: center; 6 | width: @fa-fw-width; 7 | } 8 | -------------------------------------------------------------------------------- /static/fontawesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // fixed-width icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-fw { 5 | text-align: center; 6 | width: $fa-fw-width; 7 | } 8 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # 默认忽略的文件 2 | /shelf/ 3 | /workspace.xml 4 | # 基于编辑器的 HTTP 客户端请求 5 | /httpRequests/ 6 | # Datasource local storage ignored files 7 | /dataSources/ 8 | /dataSources.local.xml 9 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /internal/models/fileinfo_model.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | type FileInfo struct { 4 | ID string `json:"id"` 5 | FileName string `json:"fileName"` 6 | Size int64 `json:"size"` 7 | FileType string `json:"fileType"` 8 | SHA256 string `json:"sha256,omitempty"` 9 | Preview string `json:"preview,omitempty"` 10 | } 11 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/square-full.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /debian/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: localsend-cli 2 | Version: 1.2.2 3 | Section: utils 4 | Priority: optional 5 | Architecture: amd64 6 | Maintainer: MeowRain meowrain@126.com 7 | Description: LocalSend CLI - 用于在本地网络中快速传输文件的命令行工具 8 | LocalSend是一个跨平台的文件传输工具, 9 | 可以在本地网络中快速安全地传输文件。 10 | 这是该工具的命令行版本。 11 | Homepage: https://github.com/meowrain/localsend-go 12 | -------------------------------------------------------------------------------- /static/fontawesome/less/_icons.less: -------------------------------------------------------------------------------- 1 | // specific icon class definition 2 | // ------------------------- 3 | 4 | /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen 5 | readers do not read off random characters that represent icons */ 6 | 7 | each(.fa-icons(), { 8 | .@{fa-css-prefix}-@{key}::before { content: @value; } 9 | }); 10 | -------------------------------------------------------------------------------- /.idea/localsend-go.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /internal/models/prepare_model.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | type PrepareReceiveRequest struct { 4 | Info Info `json:"info"` 5 | Files map[string]FileInfo `json:"files"` 6 | } 7 | 8 | type PrepareReceiveResponse struct { 9 | SessionID string `json:"sessionId"` 10 | Files map[string]string `json:"files"` // File ID to Token map 11 | } 12 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/houzz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/scss/_icons.scss: -------------------------------------------------------------------------------- 1 | // specific icon class definition 2 | // ------------------------- 3 | 4 | /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen 5 | readers do not read off random characters that represent icons */ 6 | 7 | @each $name, $icon in $fa-icons { 8 | .#{$fa-css-prefix}-#{$name}::before { content: unquote("\"#{ $icon }\""); } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/square-full.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/flipboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/unsplash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/yandex-international.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/o.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/less/v4-shims.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | * Copyright 2023 Fonticons, Inc. 5 | */ 6 | // V4 shims compile (Web Fonts-based) 7 | // ------------------------- 8 | 9 | @import '_variables.less'; 10 | @import '_shims.less'; 11 | -------------------------------------------------------------------------------- /static/fontawesome/scss/_sizing.scss: -------------------------------------------------------------------------------- 1 | // sizing icons 2 | // ------------------------- 3 | 4 | // literal magnification scale 5 | @for $i from 1 through 10 { 6 | .#{$fa-css-prefix}-#{$i}x { 7 | font-size: $i * 1em; 8 | } 9 | } 10 | 11 | // step-based scale (with alignment) 12 | @each $size, $value in $fa-sizes { 13 | .#{$fa-css-prefix}-#{$size} { 14 | @include fa-size($value); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-dot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/window-minimize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/black-tie.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/ethereum.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/window-minimize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/genderless.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/minus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/less/_screen-reader.less: -------------------------------------------------------------------------------- 1 | // screen-reader utilities 2 | // ------------------------- 3 | 4 | // only display content to screen readers 5 | .sr-only, 6 | .@{fa-css-prefix}-sr-only { 7 | .fa-sr-only(); 8 | } 9 | 10 | // use in conjunction with .sr-only to only display content when it's focused 11 | .sr-only-focusable, 12 | .@{fa-css-prefix}-sr-only-focusable { 13 | .fa-sr-only-focusable(); 14 | } 15 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/bandcamp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/strava.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/stop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/scss/v4-shims.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | * Copyright 2023 Fonticons, Inc. 5 | */ 6 | // V4 shims compile (Web Fonts-based) 7 | // ------------------------- 8 | 9 | @import 'functions'; 10 | @import 'variables'; 11 | @import 'shims'; 12 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/microsoft.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/models/device_info_model.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | type DeviceInfo struct { 4 | Alias string `json:"alias"` 5 | Version string `json:"version"` 6 | DeviceModel string `json:"deviceModel"` 7 | DeviceType string `json:"deviceType"` 8 | Fingerprint string `json:"fingerprint"` 9 | Port int `json:"port"` 10 | Protocol string `json:"protocol"` 11 | Download bool `json:"download"` 12 | } 13 | -------------------------------------------------------------------------------- /internal/utils/clipboard/clipboard.go: -------------------------------------------------------------------------------- 1 | package clipboard 2 | 3 | import ( 4 | clipboard "github.com/atotto/clipboard" 5 | "github.com/meowrain/localsend-go/internal/utils/logger" 6 | ) 7 | 8 | func WriteToClipBoard(text string) { 9 | err := clipboard.WriteAll(text) 10 | if err != nil { 11 | logger.Errorf("Error copying to clipboard: %v\n", err) 12 | } else { 13 | logger.Success("Text copied to clipboard!") 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/gitter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-half-stroke.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/l.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/models/info_model.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | type Info struct { 4 | Alias string `json:"alias"` 5 | Version string `json:"version"` 6 | DeviceModel string `json:"deviceModel,omitempty"` 7 | DeviceType string `json:"deviceType,omitempty"` 8 | Fingerprint string `json:"fingerprint"` 9 | Port int `json:"port"` 10 | Protocol string `json:"protocol"` 11 | Download bool `json:"download"` 12 | } 13 | -------------------------------------------------------------------------------- /static/fontawesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // screen-reader utilities 2 | // ------------------------- 3 | 4 | // only display content to screen readers 5 | .sr-only, 6 | .#{$fa-css-prefix}-sr-only { 7 | @include fa-sr-only; 8 | } 9 | 10 | // use in conjunction with .sr-only to only display content when it's focused 11 | .sr-only-focusable, 12 | .#{$fa-css-prefix}-sr-only-focusable { 13 | @include fa-sr-only-focusable; 14 | } 15 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/vuejs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/css3.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/location-pin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/slash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/exclamation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/t.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/think-peaks.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/windows.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/y-combinator.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/ellipsis.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/toggle-on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/mix.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/face-meh-blank.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/mound.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/google-drive.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/circle-dot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-minus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/play.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/bread-slice.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/dice-one.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/tablet-button.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/uikit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/caret-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/d.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/diamond.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/mobile-button.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/sort-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/table-columns.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/angular.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/patreon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/viacoin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/7.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/caret-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/caret-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/caret-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/j.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/message.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/sort-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/less/_sizing.less: -------------------------------------------------------------------------------- 1 | // sizing icons 2 | // ------------------------- 3 | 4 | // literal magnification scale 5 | .sizes-literal(@factor) when (@factor > 0) { 6 | .sizes-literal((@factor - 1)); 7 | 8 | .@{fa-css-prefix}-@{factor}x { 9 | font-size: (@factor * 1em); 10 | } 11 | } 12 | .sizes-literal(10); 13 | 14 | // step-based scale (with alignment) 15 | each(.fa-sizes(), { 16 | .@{fa-css-prefix}-@{key} { 17 | .fa-size(@value); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/instalod.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/modx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-stop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/computer-mouse.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/p.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/u.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/npm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/0.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/angle-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/angle-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/angle-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/cheese.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/chevron-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/chevron-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /internal/utils/sha256/sha256.go: -------------------------------------------------------------------------------- 1 | package sha256 2 | 3 | import ( 4 | "crypto/sha256" 5 | "encoding/hex" 6 | "io" 7 | "os" 8 | ) 9 | 10 | func CalculateSHA256(filePath string) (string, error) { 11 | file, err := os.Open(filePath) 12 | if err != nil { 13 | return "", err 14 | } 15 | defer file.Close() 16 | 17 | hash := sha256.New() 18 | if _, err := io.Copy(hash, file); err != nil { 19 | return "", err 20 | } 21 | 22 | return hex.EncodeToString(hash.Sum(nil)), nil 23 | } 24 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/deviantart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/facebook-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/servicestack.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/angle-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/bookmark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/chevron-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/chevron-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/clock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/divide.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/equals.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/i.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/location-dot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/user.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/volume-off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/y.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/dyalog.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/box.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/grip-lines-vertical.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/location-arrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/plus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/user-large.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/adn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/hacker-news.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/bowling-ball.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/e.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/mobile-screen-button.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/mobile.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/note-sticky.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/record-vinyl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/tablet-screen-button.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/tablet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/tarp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/dochub.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/firstdraft.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/space-awesome.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/face-surprise.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/gauge-simple.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/grip-lines.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/h.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/table.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/v.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/face-meh-blank.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/dice-two.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/door-closed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/spoon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/tag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/z.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/artstation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/html5.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/magento.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/twitch.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/yahoo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/border-all.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-exclamation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/folder-closed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/italic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/less-than.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/neuter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/paragraph.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/square-minus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/window-maximize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/autoprefixer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/yandex.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-chevron-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-chevron-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-chevron-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-chevron-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/greater-than.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/industry.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/laptop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/n.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/star-half.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/table-cells-large.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/pause.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/percent.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/shield.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/tv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/whiskey-glass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/elementor.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/monero.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/circle-stop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/arrow-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-user.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/clone.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/cross.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/filter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/tent.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/buysellads.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/cloudsmith.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/jira.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/maxcdn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/tiktok.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/bookmark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/arrow-up-long.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/backward-step.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/calendar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/face-meh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/forward-step.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/map.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/mobile-screen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/up-long.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/wand-magic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/a.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/archway.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/arrow-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/arrow-left-long.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/arrow-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/arrow-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/left-long.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/magnet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/wallet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/bitbucket.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/dropbox.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/stack-exchange.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/stack-overflow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/clock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/arrow-down-long.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/arrow-right-long.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/chalkboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-pause.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-play.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/desktop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/display.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/down-long.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/gauge-simple-high.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/k.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/tape.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/traffic-light.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/9.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/bullseye.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/c.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-plus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/code-commit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/dice-three.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/right-long.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/table-list.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/yin-yang.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/less/_list.less: -------------------------------------------------------------------------------- 1 | // icons in a list 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | list-style-type: none; 6 | margin-left: ~'var(--@{fa-css-prefix}-li-margin, @{fa-li-margin})'; 7 | padding-left: 0; 8 | 9 | > li { position: relative; } 10 | } 11 | 12 | .@{fa-css-prefix}-li { 13 | left: calc(~'var(--@{fa-css-prefix}-li-width, @{fa-li-width})' * -1); 14 | position: absolute; 15 | text-align: center; 16 | width: ~'var(--@{fa-css-prefix}-li-width, @{fa-li-width})'; 17 | line-height: inherit; 18 | } 19 | -------------------------------------------------------------------------------- /static/fontawesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // icons in a list 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | list-style-type: none; 6 | margin-left: var(--#{$fa-css-prefix}-li-margin, #{$fa-li-margin}); 7 | padding-left: 0; 8 | 9 | > li { position: relative; } 10 | } 11 | 12 | .#{$fa-css-prefix}-li { 13 | left: calc(var(--#{$fa-css-prefix}-li-width, #{$fa-li-width}) * -1); 14 | position: absolute; 15 | text-align: center; 16 | width: var(--#{$fa-css-prefix}-li-width, #{$fa-li-width}); 17 | line-height: inherit; 18 | } 19 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/css3-alt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/kaggle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/face-surprise.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/bed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/bolt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-h.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/lock-open.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/tenge-sign.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/toggle-off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/dashcube.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/wirsindhandwerk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/4.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/ban.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/hockey-puck.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/mattress-pillow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/notdef.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/pallet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/seedling.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/google-play.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/google.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/korvue.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/circle-check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-arrow-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-arrow-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/cloud.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/cuttlefish.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/gratipay.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/openid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/product-hunt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/6.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/arrow-pointer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-arrow-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-arrow-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/circle-info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/map-pin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/martini-glass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/pen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/r.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/square-check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/stairs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/terminal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/trash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/fulcrum.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/gg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/sourcetree.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/battery-empty.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/bell-concierge.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/compass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/eject.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/envelope.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/eraser.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/franc-sign.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/martini-glass-empty.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/music.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/toilet-portable.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/unlock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/discourse.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/rockrms.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/arrow-turn-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/b.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/bars-progress.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/box-archive.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/face-laugh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/ice-cream.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/litecoin-sign.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/suitcase.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/video.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/wave-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/hotjar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/sitrox.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/square-facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/note-sticky.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/arrow-turn-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/copyright.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/crop-simple.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/egg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/folder-minus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/heart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/moon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/mug-saucer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/shield-halved.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/user-minus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/deezer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/regular/clone.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/bars.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/phone.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/square-caret-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/turn-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/turn-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/vial.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/wine-glass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/solid/x.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/markdown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/sistrix.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/fontawesome/svgs/brands/square-hacker-news.svg: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------