├── .gitattributes ├── .gitignore ├── GeoLite2-Country.mmdb ├── LICENSE ├── README.md ├── README_zh.md ├── Shuttle_Logo.PNG ├── assets ├── assets_dev.go ├── assets_release.go └── b0x.yaml ├── build.sh ├── ciphers ├── ciphers.go ├── ssaead │ ├── aes_gcm.go │ ├── chacha20_ietf_poly1305.go │ └── cipher_conn.go └── ssstream │ ├── aes_cfb.go │ ├── aes_ctr.go │ ├── bf_cfb.go │ ├── cast5_cfb.go │ ├── chacha20.go │ ├── cipher_conn.go │ ├── des_cfb.go │ ├── rc4_md5.go │ └── salsa20.go ├── cmd ├── event_center.go └── main.go ├── common.go ├── config ├── config.go ├── util.go └── version.go ├── conn ├── conn.go └── conn_decorate.go ├── constant └── constant.go ├── controller ├── api │ ├── api_router.go │ ├── cert_api.go │ ├── conf │ │ ├── api_router.go │ │ ├── dns_config_api.go │ │ ├── general_config_api.go │ │ ├── http_map_config_api.go │ │ ├── mitm_config_api.go │ │ ├── proxy_config_api.go │ │ ├── proxy_group_config_api.go │ │ └── rule_config_api.go │ ├── dns_api.go │ ├── dump_api.go │ ├── general_api.go │ ├── record_api.go │ ├── record_ws.go │ ├── server_api.go │ ├── speed_ws.go │ └── upgrade.go └── server.go ├── dns ├── cache.go ├── cache_test.go ├── dns.go ├── dns_config.go └── geo_ip.go ├── dump.go ├── errors.go ├── example.yaml ├── extension ├── config │ ├── config_path.go │ ├── config_path_darwin.go │ ├── config_path_linux.go │ ├── config_path_other.go │ └── config_path_windows.go └── network │ ├── network_setup.go │ ├── network_setup_darwin.go │ └── network_setup_win.go ├── filter.go ├── go.mod ├── go.sum ├── heap.go ├── http.go ├── http_modify.go ├── log ├── file_log.go ├── log.go ├── skip_log.go └── std_log.go ├── model.go ├── pool └── pool.go ├── proxy ├── protocol │ ├── socks_protocol.go │ ├── socks_tls_protocol.go │ └── ss_protocol.go ├── selector.go ├── selector │ ├── manual_select.go │ └── rtt_select.go ├── server.go ├── server_api.go └── util.go ├── release.sh ├── rule └── rule.go ├── scripts └── upgrade.go ├── shunt.go ├── socks5.go ├── static ├── API.md ├── cert.jpg ├── config.md ├── dns_cache.jpg ├── dump_mitm.jpg ├── example.jpg ├── get_start.md ├── large_dump.jpg ├── records.jpg ├── servers.png ├── shuttle_architecture.png └── web_ui.md ├── storage.go ├── tls.go ├── transport_channel.go ├── upgrade └── upgrade.go ├── util.go ├── util ├── auto_increment.go ├── ip.go ├── lock.go ├── snowflake.go └── sort.go └── view ├── 3rdpartylicenses.txt ├── assets ├── favicon.ico ├── fill │ ├── account-book.svg │ ├── alert.svg │ ├── alipay-circle.svg │ ├── alipay-square.svg │ ├── aliwangwang.svg │ ├── amazon-circle.svg │ ├── amazon-square.svg │ ├── android.svg │ ├── api.svg │ ├── apple.svg │ ├── appstore.svg │ ├── audio.svg │ ├── backward.svg │ ├── bank.svg │ ├── behance-circle.svg │ ├── behance-square.svg │ ├── bell.svg │ ├── book.svg │ ├── box-plot.svg │ ├── build.svg │ ├── bulb.svg │ ├── calculator.svg │ ├── calendar.svg │ ├── camera.svg │ ├── car.svg │ ├── caret-down.svg │ ├── caret-left.svg │ ├── caret-right.svg │ ├── caret-up.svg │ ├── carry-out.svg │ ├── check-circle.svg │ ├── check-square.svg │ ├── chrome.svg │ ├── ci-circle.svg │ ├── clock-circle.svg │ ├── close-circle.svg │ ├── close-square.svg │ ├── cloud.svg │ ├── code-sandbox-circle.svg │ ├── code-sandbox-square.svg │ ├── code.svg │ ├── codepen-circle.svg │ ├── codepen-square.svg │ ├── compass.svg │ ├── contacts.svg │ ├── container.svg │ ├── control.svg │ ├── copy.svg │ ├── copyright-circle.svg │ ├── credit-card.svg │ ├── crown.svg │ ├── customer-service.svg │ ├── dashboard.svg │ ├── database.svg │ ├── delete.svg │ ├── diff.svg │ ├── dingtalk-circle.svg │ ├── dingtalk-square.svg │ ├── dislike.svg │ ├── dollar-circle.svg │ ├── down-circle.svg │ ├── down-square.svg │ ├── dribbble-circle.svg │ ├── dribbble-square.svg │ ├── dropbox-circle.svg │ ├── dropbox-square.svg │ ├── edit.svg │ ├── environment.svg │ ├── euro-circle.svg │ ├── exclamation-circle.svg │ ├── experiment.svg │ ├── eye.svg │ ├── facebook.svg │ ├── fast-backward.svg │ ├── fast-forward.svg │ ├── file-add.svg │ ├── file-excel.svg │ ├── file-exclamation.svg │ ├── file-image.svg │ ├── file-markdown.svg │ ├── file-pdf.svg │ ├── file-ppt.svg │ ├── file-text.svg │ ├── file-unknown.svg │ ├── file-word.svg │ ├── file-zip.svg │ ├── file.svg │ ├── filter.svg │ ├── fire.svg │ ├── flag.svg │ ├── folder-add.svg │ ├── folder-open.svg │ ├── folder.svg │ ├── forward.svg │ ├── frown.svg │ ├── fund.svg │ ├── funnel-plot.svg │ ├── gift.svg │ ├── github.svg │ ├── gitlab.svg │ ├── golden.svg │ ├── google-circle.svg │ ├── google-plus-circle.svg │ ├── google-plus-square.svg │ ├── google-square.svg │ ├── hdd.svg │ ├── heart.svg │ ├── highlight.svg │ ├── home.svg │ ├── hourglass.svg │ ├── html5.svg │ ├── idcard.svg │ ├── ie-circle.svg │ ├── ie-square.svg │ ├── info-circle.svg │ ├── instagram.svg │ ├── insurance.svg │ ├── interation.svg │ ├── layout.svg │ ├── left-circle.svg │ ├── left-square.svg │ ├── like.svg │ ├── linkedin.svg │ ├── lock.svg │ ├── mail.svg │ ├── medicine-box.svg │ ├── medium-circle.svg │ ├── medium-square.svg │ ├── meh.svg │ ├── message.svg │ ├── minus-circle.svg │ ├── minus-square.svg │ ├── mobile.svg │ ├── money-collect.svg │ ├── notification.svg │ ├── pause-circle.svg │ ├── pay-circle.svg │ ├── phone.svg │ ├── picture.svg │ ├── pie-chart.svg │ ├── play-circle.svg │ ├── play-square.svg │ ├── plus-circle.svg │ ├── plus-square.svg │ ├── pound-circle.svg │ ├── printer.svg │ ├── profile.svg │ ├── project.svg │ ├── property-safety.svg │ ├── pushpin.svg │ ├── qq-circle.svg │ ├── qq-square.svg │ ├── question-circle.svg │ ├── read.svg │ ├── reconciliation.svg │ ├── red-envelope.svg │ ├── reddit-circle.svg │ ├── reddit-square.svg │ ├── rest.svg │ ├── right-circle.svg │ ├── right-square.svg │ ├── rocket.svg │ ├── safety-certificate.svg │ ├── save.svg │ ├── schedule.svg │ ├── security-scan.svg │ ├── setting.svg │ ├── shop.svg │ ├── shopping.svg │ ├── sketch-circle.svg │ ├── sketch-square.svg │ ├── skin.svg │ ├── skype.svg │ ├── slack-circle.svg │ ├── slack-square.svg │ ├── sliders.svg │ ├── smile.svg │ ├── snippets.svg │ ├── sound.svg │ ├── star.svg │ ├── step-backward.svg │ ├── step-forward.svg │ ├── stop.svg │ ├── switcher.svg │ ├── tablet.svg │ ├── tag.svg │ ├── tags.svg │ ├── taobao-circle.svg │ ├── taobao-square.svg │ ├── thunderbolt.svg │ ├── tool.svg │ ├── trademark-circle.svg │ ├── trophy.svg │ ├── twitter-circle.svg │ ├── twitter-square.svg │ ├── unlock.svg │ ├── up-circle.svg │ ├── up-square.svg │ ├── usb.svg │ ├── video-camera.svg │ ├── wallet.svg │ ├── warning.svg │ ├── wechat.svg │ ├── weibo-circle.svg │ ├── weibo-square.svg │ ├── windows.svg │ ├── yahoo.svg │ ├── youtube.svg │ ├── yuque.svg │ ├── zhihu-circle.svg │ └── zhihu-square.svg ├── menus_logo.png ├── outline │ ├── account-book.svg │ ├── alert.svg │ ├── alibaba.svg │ ├── align-center.svg │ ├── align-left.svg │ ├── align-right.svg │ ├── alipay-circle.svg │ ├── alipay.svg │ ├── aliwangwang.svg │ ├── aliyun.svg │ ├── amazon.svg │ ├── android.svg │ ├── ant-cloud.svg │ ├── ant-design.svg │ ├── apartment.svg │ ├── api.svg │ ├── apple.svg │ ├── appstore.svg │ ├── area-chart.svg │ ├── arrow-down.svg │ ├── arrow-left.svg │ ├── arrow-right.svg │ ├── arrow-up.svg │ ├── arrows-alt.svg │ ├── audio.svg │ ├── audit.svg │ ├── backward.svg │ ├── bank.svg │ ├── bar-chart.svg │ ├── barcode.svg │ ├── bars.svg │ ├── behance-square.svg │ ├── behance.svg │ ├── bell.svg │ ├── bg-colors.svg │ ├── block.svg │ ├── bold.svg │ ├── book.svg │ ├── border-bottom.svg │ ├── border-horizontal.svg │ ├── border-inner.svg │ ├── border-left.svg │ ├── border-outer.svg │ ├── border-right.svg │ ├── border-top.svg │ ├── border-verticle.svg │ ├── border.svg │ ├── box-plot.svg │ ├── branches.svg │ ├── build.svg │ ├── bulb.svg │ ├── calculator.svg │ ├── calendar.svg │ ├── camera.svg │ ├── car.svg │ ├── caret-down.svg │ ├── caret-left.svg │ ├── caret-right.svg │ ├── caret-up.svg │ ├── carry-out.svg │ ├── check-circle.svg │ ├── check-square.svg │ ├── check.svg │ ├── chrome.svg │ ├── ci.svg │ ├── clock-circle.svg │ ├── close-circle.svg │ ├── close-square.svg │ ├── close.svg │ ├── cloud-download.svg │ ├── cloud-server.svg │ ├── cloud-sync.svg │ ├── cloud-upload.svg │ ├── cloud.svg │ ├── cluster.svg │ ├── code-sandbox.svg │ ├── code.svg │ ├── codepen-circle.svg │ ├── codepen.svg │ ├── coffee.svg │ ├── colum-height.svg │ ├── column-width.svg │ ├── compass.svg │ ├── contacts.svg │ ├── container.svg │ ├── control.svg │ ├── copy.svg │ ├── copyright.svg │ ├── credit-card.svg │ ├── crown.svg │ ├── customer-service.svg │ ├── dash.svg │ ├── dashboard.svg │ ├── database.svg │ ├── delete.svg │ ├── deployment-unit.svg │ ├── desktop.svg │ ├── diff.svg │ ├── dingding.svg │ ├── disconnect.svg │ ├── dislike.svg │ ├── dollar.svg │ ├── dot-chart.svg │ ├── double-left.svg │ ├── double-right.svg │ ├── down-circle.svg │ ├── down-square.svg │ ├── down.svg │ ├── download.svg │ ├── drag.svg │ ├── dribbble-square.svg │ ├── dribbble.svg │ ├── dropbox.svg │ ├── edit.svg │ ├── ellipsis.svg │ ├── enter.svg │ ├── environment.svg │ ├── euro.svg │ ├── exception.svg │ ├── exclamation-circle.svg │ ├── exclamation.svg │ ├── experiment.svg │ ├── export.svg │ ├── eye.svg │ ├── facebook.svg │ ├── fall.svg │ ├── fast-backward.svg │ ├── fast-forward.svg │ ├── file-add.svg │ ├── file-done.svg │ ├── file-excel.svg │ ├── file-exclamation.svg │ ├── file-image.svg │ ├── file-jpg.svg │ ├── file-markdown.svg │ ├── file-pdf.svg │ ├── file-ppt.svg │ ├── file-protect.svg │ ├── file-search.svg │ ├── file-sync.svg │ ├── file-text.svg │ ├── file-unknown.svg │ ├── file-word.svg │ ├── file-zip.svg │ ├── file.svg │ ├── filter.svg │ ├── fire.svg │ ├── flag.svg │ ├── folder-add.svg │ ├── folder-open.svg │ ├── folder.svg │ ├── font-colors.svg │ ├── font-size.svg │ ├── fork.svg │ ├── form.svg │ ├── forward.svg │ ├── frown.svg │ ├── fullscreen-exit.svg │ ├── fullscreen.svg │ ├── fund.svg │ ├── funnel-plot.svg │ ├── gateway.svg │ ├── gift.svg │ ├── github.svg │ ├── gitlab.svg │ ├── global.svg │ ├── gold.svg │ ├── google-plus.svg │ ├── google.svg │ ├── hdd.svg │ ├── heart.svg │ ├── heat-map.svg │ ├── highlight.svg │ ├── home.svg │ ├── hourglass.svg │ ├── html5.svg │ ├── idcard.svg │ ├── ie.svg │ ├── import.svg │ ├── inbox.svg │ ├── info-circle.svg │ ├── info.svg │ ├── instagram.svg │ ├── insurance.svg │ ├── interation.svg │ ├── issues-close.svg │ ├── italic.svg │ ├── key.svg │ ├── laptop.svg │ ├── layout.svg │ ├── left-circle.svg │ ├── left-square.svg │ ├── left.svg │ ├── like.svg │ ├── line-chart.svg │ ├── line-height.svg │ ├── line.svg │ ├── link.svg │ ├── linkedin.svg │ ├── loading-3-quarters.svg │ ├── loading.svg │ ├── lock.svg │ ├── login.svg │ ├── logout.svg │ ├── mail.svg │ ├── man.svg │ ├── medicine-box.svg │ ├── medium-workmark.svg │ ├── medium.svg │ ├── meh.svg │ ├── menu-fold.svg │ ├── menu-unfold.svg │ ├── menu.svg │ ├── message.svg │ ├── minus-circle.svg │ ├── minus-square.svg │ ├── minus.svg │ ├── mobile.svg │ ├── money-collect.svg │ ├── monitor.svg │ ├── mr.svg │ ├── notification.svg │ ├── number.svg │ ├── ordered-list.svg │ ├── paper-clip.svg │ ├── pause-circle.svg │ ├── pause.svg │ ├── pay-circle.svg │ ├── percentage.svg │ ├── phone.svg │ ├── pic-center.svg │ ├── pic-left.svg │ ├── pic-right.svg │ ├── picture.svg │ ├── pie-chart.svg │ ├── play-circle.svg │ ├── play-square.svg │ ├── plus-circle.svg │ ├── plus-square.svg │ ├── plus.svg │ ├── pound.svg │ ├── poweroff.svg │ ├── printer.svg │ ├── profile.svg │ ├── project.svg │ ├── property-safety.svg │ ├── pushpin.svg │ ├── qq.svg │ ├── qrcode.svg │ ├── question-circle.svg │ ├── question.svg │ ├── radar-chart.svg │ ├── radius-bottomleft.svg │ ├── radius-bottomright.svg │ ├── radius-setting.svg │ ├── radius-upleft.svg │ ├── radius-upright.svg │ ├── read.svg │ ├── reconciliation.svg │ ├── red-envelope.svg │ ├── reddit.svg │ ├── redo.svg │ ├── reload-time.svg │ ├── reload.svg │ ├── rest.svg │ ├── retweet.svg │ ├── right-circle.svg │ ├── right-square.svg │ ├── right.svg │ ├── rise.svg │ ├── robot.svg │ ├── rocket.svg │ ├── rollback.svg │ ├── safety-certificate.svg │ ├── safety.svg │ ├── save.svg │ ├── scan.svg │ ├── schedule.svg │ ├── scissor.svg │ ├── search.svg │ ├── security-scan.svg │ ├── select.svg │ ├── setting.svg │ ├── shake.svg │ ├── share-alt.svg │ ├── shop.svg │ ├── shopping-cart.svg │ ├── shopping.svg │ ├── shrink.svg │ ├── sketch.svg │ ├── skin.svg │ ├── skype.svg │ ├── slack-square.svg │ ├── slack.svg │ ├── sliders.svg │ ├── small-dash.svg │ ├── smile.svg │ ├── snippets.svg │ ├── solution.svg │ ├── sort-ascending.svg │ ├── sort-descending.svg │ ├── sound.svg │ ├── star.svg │ ├── step-backward.svg │ ├── step-forward.svg │ ├── stock.svg │ ├── stop.svg │ ├── strikethrough.svg │ ├── swap-left.svg │ ├── swap-right.svg │ ├── swap.svg │ ├── switcher.svg │ ├── sync.svg │ ├── table.svg │ ├── tablet.svg │ ├── tag.svg │ ├── tags.svg │ ├── taobao-circle.svg │ ├── taobao.svg │ ├── team.svg │ ├── thunderbolt.svg │ ├── to-top.svg │ ├── tool.svg │ ├── trademark.svg │ ├── transaction.svg │ ├── trophy.svg │ ├── twitter.svg │ ├── underline.svg │ ├── undo.svg │ ├── unlock.svg │ ├── unordered-list.svg │ ├── up-circle.svg │ ├── up-square.svg │ ├── up.svg │ ├── upload.svg │ ├── usb.svg │ ├── user-add.svg │ ├── user-delete.svg │ ├── user.svg │ ├── usergroup-add.svg │ ├── usergroup-delete.svg │ ├── vertical-align-bottom.svg │ ├── vertical-align-middle.svg │ ├── vertical-align-top.svg │ ├── vertical-left.svg │ ├── vertical-right.svg │ ├── video-camera.svg │ ├── wallet.svg │ ├── warning.svg │ ├── wechat.svg │ ├── weibo-circle.svg │ ├── weibo-square.svg │ ├── weibo.svg │ ├── wifi.svg │ ├── windows.svg │ ├── woman.svg │ ├── yahoo.svg │ ├── youtube.svg │ ├── yuque.svg │ ├── zhihu.svg │ ├── zoom-in.svg │ └── zoom-out.svg └── twotone │ ├── account-book.svg │ ├── alert.svg │ ├── api.svg │ ├── appstore.svg │ ├── audio.svg │ ├── bank.svg │ ├── bell.svg │ ├── book.svg │ ├── box-plot.svg │ ├── build.svg │ ├── bulb.svg │ ├── calculator.svg │ ├── camera.svg │ ├── canlendar.svg │ ├── car.svg │ ├── carry-out.svg │ ├── check-circle.svg │ ├── check-square.svg │ ├── ci.svg │ ├── clock-circle.svg │ ├── close-circle.svg │ ├── close-square.svg │ ├── cloud.svg │ ├── code.svg │ ├── compass.svg │ ├── contacts.svg │ ├── container.svg │ ├── control.svg │ ├── copy.svg │ ├── copyright.svg │ ├── credit-card.svg │ ├── crown.svg │ ├── customer-service.svg │ ├── dashboard.svg │ ├── database.svg │ ├── delete.svg │ ├── diff.svg │ ├── dislike.svg │ ├── dollar.svg │ ├── down-circle.svg │ ├── down-square.svg │ ├── edit.svg │ ├── environment.svg │ ├── euro.svg │ ├── exclamation-circle.svg │ ├── experiment.svg │ ├── eye.svg │ ├── file-add.svg │ ├── file-excel.svg │ ├── file-exclamation.svg │ ├── file-image.svg │ ├── file-markdown.svg │ ├── file-pdf.svg │ ├── file-ppt.svg │ ├── file-text.svg │ ├── file-unknown.svg │ ├── file-word.svg │ ├── file-zip.svg │ ├── file.svg │ ├── filter.svg │ ├── fire.svg │ ├── flag.svg │ ├── folder-add.svg │ ├── folder-open.svg │ ├── folder.svg │ ├── frown.svg │ ├── fund.svg │ ├── funnel-plot.svg │ ├── gift.svg │ ├── gold.svg │ ├── hdd.svg │ ├── heart.svg │ ├── highlight.svg │ ├── home.svg │ ├── hourglass.svg │ ├── html5.svg │ ├── idcard.svg │ ├── info-circle.svg │ ├── insurance.svg │ ├── interation.svg │ ├── layout.svg │ ├── left-circle.svg │ ├── left-square.svg │ ├── like.svg │ ├── lock.svg │ ├── mail.svg │ ├── medicine-box.svg │ ├── meh.svg │ ├── message.svg │ ├── minus-circle.svg │ ├── minus-square.svg │ ├── mobile.svg │ ├── money-collect.svg │ ├── notification.svg │ ├── pause-circle.svg │ ├── phone.svg │ ├── picture.svg │ ├── pie-chart.svg │ ├── play-circle.svg │ ├── play-square.svg │ ├── plus-circle.svg │ ├── plus-square.svg │ ├── pound-circle.svg │ ├── printer.svg │ ├── profile.svg │ ├── project.svg │ ├── property-safety.svg │ ├── pushpin.svg │ ├── question-circle.svg │ ├── reconciliation.svg │ ├── red-envelope.svg │ ├── rest.svg │ ├── right-circle.svg │ ├── right-square.svg │ ├── rocket.svg │ ├── safety-certificate.svg │ ├── save.svg │ ├── schedule.svg │ ├── security-scan.svg │ ├── setting.svg │ ├── shop.svg │ ├── shopping.svg │ ├── skin.svg │ ├── sliders.svg │ ├── smile.svg │ ├── snippets.svg │ ├── sound.svg │ ├── star.svg │ ├── stop.svg │ ├── switcher.svg │ ├── tablet.svg │ ├── tag.svg │ ├── tags.svg │ ├── thunderbolt.svg │ ├── tool.svg │ ├── trademark-circle.svg │ ├── trophy.svg │ ├── unlock.svg │ ├── up-circle.svg │ ├── up-square.svg │ ├── usb.svg │ ├── video-camera.svg │ ├── wallet.svg │ └── warning.svg ├── index.html ├── main.7adce482570f853d4580.js ├── polyfills.7a0e6866a34e280f48e7.js ├── runtime.a66f828dca56eeb90e02.js └── styles.675eb75d4f0dfeab2797.css /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=Go 2 | *.css linguist-language=Go 3 | *.go linguist-language=Go -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .conf/ 3 | temp/ 4 | _output/ 5 | scripts/ 6 | assets/assets.go -------------------------------------------------------------------------------- /GeoLite2-Country.mmdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/GeoLite2-Country.mmdb -------------------------------------------------------------------------------- /Shuttle_Logo.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/Shuttle_Logo.PNG -------------------------------------------------------------------------------- /assets/assets_dev.go: -------------------------------------------------------------------------------- 1 | // +build !release 2 | //go:generate go run github.com/UnnoTed/fileb0x b0x.yaml 3 | 4 | package assets 5 | 6 | import ( 7 | "io/ioutil" 8 | "net/http" 9 | ) 10 | 11 | var HTTP http.FileSystem = http.Dir("./") 12 | 13 | // ReadFile is adapTed from ioutil 14 | func ReadFile(path string) ([]byte, error) { 15 | f, err := HTTP.Open(path) 16 | if err != nil { 17 | return nil, err 18 | } 19 | return ioutil.ReadAll(f) 20 | } 21 | -------------------------------------------------------------------------------- /common.go: -------------------------------------------------------------------------------- 1 | package shuttle 2 | 3 | var ( 4 | ControllerDomain string 5 | ControllerPort string 6 | HTTPProxyPort string 7 | ) 8 | 9 | type IConfigValue interface { 10 | GetControllerDomain() string 11 | GetControllerPort() string 12 | GetHTTPPort() string 13 | } 14 | 15 | func InitConfigValue(conf IConfigValue) { 16 | ControllerDomain = conf.GetControllerDomain() 17 | ControllerPort = conf.GetControllerPort() 18 | HTTPProxyPort = conf.GetHTTPPort() 19 | } 20 | -------------------------------------------------------------------------------- /config/version.go: -------------------------------------------------------------------------------- 1 | package config 2 | 3 | const ShuttleVersion = "v0.6.0" 4 | -------------------------------------------------------------------------------- /controller/api/dns_api.go: -------------------------------------------------------------------------------- 1 | package api 2 | 3 | import ( 4 | "github.com/gin-gonic/gin" 5 | "github.com/sipt/shuttle/dns" 6 | ) 7 | 8 | func DNSCacheList(ctx *gin.Context) { 9 | ctx.JSON(200, &Response{ 10 | Data: dns.DNSCacheList(), 11 | }) 12 | } 13 | func ClearDNSCache(ctx *gin.Context) { 14 | dns.ClearDNSCache() 15 | ctx.JSON(200, &Response{}) 16 | } 17 | 18 | -------------------------------------------------------------------------------- /controller/api/record_api.go: -------------------------------------------------------------------------------- 1 | package api 2 | 3 | import ( 4 | "github.com/sipt/shuttle" 5 | "github.com/gin-gonic/gin" 6 | ) 7 | 8 | func GetRecords(ctx *gin.Context) { 9 | ctx.JSON(200, &Response{ 10 | Data: shuttle.GetRecords(), 11 | }) 12 | } 13 | func ClearRecords(ctx *gin.Context) { 14 | shuttle.ClearRecords() 15 | dump := shuttle.GetDump() 16 | if dump != nil { 17 | dump.Clear() 18 | } 19 | ctx.JSON(200, &Response{}) 20 | } 21 | -------------------------------------------------------------------------------- /errors.go: -------------------------------------------------------------------------------- 1 | package shuttle 2 | 3 | import "errors" 4 | 5 | var ( 6 | ErrorReadTimeOut = errors.New("read time out") 7 | ErrorWriteTimeOut = errors.New("write time out") 8 | ErrorReject = errors.New("connection reject") 9 | 10 | ErrorServerNotFound = errors.New("server or server group not found") 11 | 12 | ErrorUnknowType = errors.New("unknow type") 13 | ) 14 | -------------------------------------------------------------------------------- /extension/config/config_path.go: -------------------------------------------------------------------------------- 1 | package config 2 | 3 | import ( 4 | "os" 5 | "path/filepath" 6 | "io/ioutil" 7 | ) 8 | 9 | var HomeDir string 10 | var ShuttleHomeDir string 11 | 12 | func init() { 13 | var err error 14 | HomeDir, err = HomePath() 15 | if err != nil { 16 | ioutil.WriteFile("error.log", []byte(err.Error()), 0664) 17 | panic(err) 18 | } else { 19 | HomeDir += string(os.PathSeparator) 20 | } 21 | ShuttleHomeDir = filepath.Join(HomeDir, "Documents", "shuttle") 22 | } 23 | -------------------------------------------------------------------------------- /extension/config/config_path_darwin.go: -------------------------------------------------------------------------------- 1 | // +build darwin 2 | 3 | package config 4 | 5 | import ( 6 | "os/user" 7 | "os" 8 | ) 9 | 10 | func HomePath() (string, error) { 11 | u, err := user.Current() 12 | if err == nil { 13 | return u.HomeDir, nil 14 | } 15 | home := os.Getenv("HOME") 16 | return home, nil 17 | } 18 | -------------------------------------------------------------------------------- /extension/config/config_path_linux.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | 3 | package config 4 | 5 | import ( 6 | "os/user" 7 | ) 8 | 9 | func HomePath() (string, error) { 10 | u, err := user.Current() 11 | if err == nil { 12 | return u.HomeDir, nil 13 | } 14 | return "", err 15 | } 16 | -------------------------------------------------------------------------------- /extension/config/config_path_other.go: -------------------------------------------------------------------------------- 1 | // +build !darwin,!linux,!windows 2 | 3 | package config 4 | 5 | func HomePath() (string, error) { 6 | return ".", nil 7 | } 8 | -------------------------------------------------------------------------------- /extension/network/network_setup.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | // +build !darwin 3 | 4 | package network 5 | 6 | func EnableSystemProxy(host, port string) { 7 | } 8 | 9 | func DisableSystemProxy() { 10 | } 11 | 12 | func WebProxySwitch(status bool, args ...string) error { 13 | return nil 14 | } 15 | 16 | func SecureWebProxySwitch(status bool, args ...string) error { 17 | return nil 18 | } 19 | 20 | func SocksProxySwitch(status bool, args ...string) error { 21 | return nil 22 | } 23 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/sipt/shuttle 2 | 3 | require ( 4 | github.com/miekg/dns v1.0.15 5 | github.com/oschwald/geoip2-golang v1.2.1 6 | github.com/oschwald/maxminddb-golang v1.3.0 // indirect 7 | github.com/sipt/yaml v0.0.0-20181127084323-eeedbff8afd4 8 | golang.org/x/crypto v0.0.0-20181126163421-e657309f52e7 // indirect 9 | golang.org/x/net v0.0.0-20181114220301-adae6a3d119a // indirect 10 | golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b // indirect 11 | ) 12 | -------------------------------------------------------------------------------- /pool/pool.go: -------------------------------------------------------------------------------- 1 | package pool 2 | 3 | import "sync" 4 | 5 | const BufferSize = 4108 6 | 7 | func init() { 8 | pool = &sync.Pool{ 9 | New: func() interface{} { 10 | return make([]byte, BufferSize) 11 | }, 12 | } 13 | } 14 | 15 | var pool *sync.Pool 16 | 17 | func GetBuf() []byte { 18 | buf := pool.Get().([]byte) 19 | buf = buf[:cap(buf)] 20 | return buf 21 | } 22 | 23 | func PutBuf(buf []byte) { 24 | pool.Put(buf) 25 | } 26 | -------------------------------------------------------------------------------- /release.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | rm -rf _output/*.zip 4 | 5 | echo "build for windows ..." 6 | ./build.sh win 7 | cd _output/ 8 | zip -q -r shuttle_windows_amd64_$1.zip shuttle 9 | 10 | cd .. 11 | echo "build for linux ..." 12 | ./build.sh linux 13 | cd _output/ 14 | zip -q -r shuttle_linux_amd64_$1.zip shuttle 15 | 16 | cd .. 17 | echo "build for mac ..." 18 | ./build.sh mac 19 | cd _output/ 20 | zip -q -r shuttle_macos_amd64_$1.zip shuttle 21 | 22 | echo "end ..." -------------------------------------------------------------------------------- /static/cert.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/static/cert.jpg -------------------------------------------------------------------------------- /static/dns_cache.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/static/dns_cache.jpg -------------------------------------------------------------------------------- /static/dump_mitm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/static/dump_mitm.jpg -------------------------------------------------------------------------------- /static/example.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/static/example.jpg -------------------------------------------------------------------------------- /static/large_dump.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/static/large_dump.jpg -------------------------------------------------------------------------------- /static/records.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/static/records.jpg -------------------------------------------------------------------------------- /static/servers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/static/servers.png -------------------------------------------------------------------------------- /static/shuttle_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/static/shuttle_architecture.png -------------------------------------------------------------------------------- /util.go: -------------------------------------------------------------------------------- 1 | package shuttle 2 | 3 | import ( 4 | "github.com/sipt/shuttle/log" 5 | ) 6 | 7 | func Recover(fs ...func()) { 8 | if err := recover(); err != nil { 9 | log.Logger.Errorf("[PANIC] %v", err) 10 | for _, f := range fs { 11 | f() 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /util/auto_increment.go: -------------------------------------------------------------------------------- 1 | package util 2 | 3 | import "sync/atomic" 4 | 5 | var id int64 6 | 7 | func getNextID() int64 { 8 | reply := atomic.AddInt64(&id, 1) 9 | return reply 10 | } 11 | 12 | func NextID() int64 { 13 | return getNextID() 14 | } 15 | -------------------------------------------------------------------------------- /view/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/view/assets/favicon.ico -------------------------------------------------------------------------------- /view/assets/fill/alert.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/apple.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/appstore.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/audio.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/backward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/bank.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/bell.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/book.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/box-plot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/build.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/bulb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/calendar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/caret-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/caret-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/caret-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/caret-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/carry-out.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/check-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/check-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/chrome.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/ci-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/clock-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/close-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/close-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/cloud.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/code-sandbox-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/code-sandbox-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/code.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/compass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/container.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/copyright-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/credit-card.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/crown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/customer-service.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/database.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/delete.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/dislike.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/down-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/down-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/dropbox-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/dropbox-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/edit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/eye.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/fast-backward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/fast-forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/file-add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/file-exclamation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/file-image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/file-markdown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/file-ppt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/file-text.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/file-unknown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/file-zip.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/filter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/flag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/folder-add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/folder-open.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/frown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/fund.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/funnel-plot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/gift.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/gitlab.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/golden.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/google-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/google-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/hdd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/highlight.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/home.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/hourglass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/html5.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/info-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/layout.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/left-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/left-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/like.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/linkedin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/mail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/medicine-box.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/medium-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/medium-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/meh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/minus-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/minus-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/mobile.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/notification.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/pause-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/pay-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/phone.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/picture.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/pie-chart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/play-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/play-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/plus-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/plus-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/printer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/project.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/pushpin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/qq-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/qq-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/question-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/rest.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/right-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/right-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/safety-certificate.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/save.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/security-scan.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/shopping.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/sketch-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/sketch-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/skin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/sliders.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/smile.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/snippets.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/star.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/step-backward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/step-forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/stop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/switcher.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/tablet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/tag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/tags.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/thunderbolt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/tool.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/trademark-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/trophy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/unlock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/up-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/up-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/usb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/video-camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/wallet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/warning.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/windows.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/yahoo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/youtube.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/fill/yuque.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/menus_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sipt/shuttle/cf12e39f79ddc71155b769108b338b0227d1ee0e/view/assets/menus_logo.png -------------------------------------------------------------------------------- /view/assets/outline/align-center.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/align-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/align-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/alipay.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/aliyun.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/apartment.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/appstore.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/area-chart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/arrow-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/arrow-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/arrow-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/arrow-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/arrows-alt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/audio.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/backward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/bank.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/bar-chart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/bars.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/bell.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/bg-colors.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/block.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/bold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/book.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/border.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/box-plot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/branches.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/build.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/bulb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/calendar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/caret-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/caret-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/caret-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/caret-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/carry-out.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/check-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/check-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/clock-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/close-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/close-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/close.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/code-sandbox.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/code.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/colum-height.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/column-width.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/compass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/container.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/copyright.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/credit-card.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/crown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/customer-service.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/dash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/database.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/delete.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/desktop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/dingding.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/disconnect.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/dot-chart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/double-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/double-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/down-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/down-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/download.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/drag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/dropbox.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/edit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/ellipsis.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/enter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/exclamation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/experiment.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/export.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/eye.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/fall.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/fast-backward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/fast-forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/file-add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/file-exclamation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/file-image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/file-markdown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/file-ppt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/file-text.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/file-zip.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/filter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/flag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/folder-add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/folder-open.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/font-colors.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/font-size.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/form.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/fund.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/funnel-plot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/gateway.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/gift.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/google.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/hdd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/heat-map.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/highlight.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/home.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/hourglass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/html5.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/import.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/inbox.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/info-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/italic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/laptop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/layout.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/left-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/left-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/line-chart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/line-height.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/linkedin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/loading.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/mail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/man.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/medicine-box.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/medium.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/menu-fold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/menu-unfold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/menu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/minus-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/minus-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/minus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/mobile.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/notification.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/number.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/pause-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/pause.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/percentage.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/pic-center.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/pic-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/pic-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/picture.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/play-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/play-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/plus-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/plus-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/plus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/printer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/profile.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/project.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/qq.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/rest.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/retweet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/right-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/right-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/rise.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/robot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/rollback.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/safety-certificate.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/safety.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/save.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/scan.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/scissor.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/search.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/select.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/shopping.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/shrink.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/sketch.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/skin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/small-dash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/snippets.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/star.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/step-backward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/step-forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/stock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/stop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/swap-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/swap-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/swap.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/switcher.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/table.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/tablet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/tag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/tags.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/thunderbolt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/to-top.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/trademark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/trophy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/underline.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/unlock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/unordered-list.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/up-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/up-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/upload.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/usb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/vertical-align-bottom.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/vertical-align-middle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/vertical-align-top.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/vertical-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/vertical-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/video-camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/wallet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/warning.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/windows.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/zoom-in.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/outline/zoom-out.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/bank.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/book.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/box-plot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/build.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/canlendar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/credit-card.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/customer-service.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/delete.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/edit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/filter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/flag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/folder-open.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/funnel-plot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/layout.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/mail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/minus-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/minus-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/mobile.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/play-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/play-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/shopping.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/skin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/snippets.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/stop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/switcher.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/tablet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/thunderbolt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/unlock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/usb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/video-camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/wallet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/assets/twotone/warning.svg: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------