Mercurial > self-hosted
changeset 4:4977c0f8b002
回退的修订集: 8e515a52c7a9
author | Franklin Schmit <meokcin@gmail.com> |
---|---|
date | Wed, 04 Sep 2024 07:57:43 +0800 |
parents | 8e515a52c7a9 |
children | 19a4c3672796 |
files | CGIT/about.html CGIT/cgit.css CGIT/cgit.nginx CGIT/cgitrc CGIT/filters/email-libravatar-korg.lua CGIT/footer.html CGIT/git-bare CGIT/git-http-backend.conf CGIT/head-include.html CGIT/post-receive.agefile |
diffstat | 10 files changed, 0 insertions(+), 1302 deletions(-) [+] |
line wrap: on
line diff
--- a/CGIT/about.html Tue Sep 03 17:14:28 2024 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -<p><strong>Here is Charon's personal git server.</strong></p> -<p>I host my personal projects here and you can clone the source code of any project, if you want to commit patches or changes here, feel free to <a href="mailto:meokcin@gmail.com">send me an e-mail</a>.</p><p><strong>Service composition:</strong></p><ul><li><a href="https://www.debian.org/">Debian GNU/Linux</a> - Lovely Linux distribution</li><li><a href="https://git.zx2c4.com/cgit/about/">cgit</a> - A hyperfast web frontend for git repositories written in C.</li><li><a href="https://nginx.org/">Nginx</a> - The web server</li><li><a href="https://www.cloudflare.com/">Cloudflare</a> - Secure and fast DNS resolution and free global CDN acceleration</li></ul> \ No newline at end of file
--- a/CGIT/cgit.css Tue Sep 03 17:14:28 2024 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,955 +0,0 @@ -:root { - --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, - 'Liberation Mono', 'Courier New', monospace; - --body-bg: #faf6f2; - --hover-bg: #f4d2c1; - --table-lighter-bg: #eee; - --border-color: #8c7851; - --a-tag-color: #020826; - --a-hover-color: #020826; -} -body { - background: var(--body-bg); -} -div#cgit { - padding: 0em; - margin: 0em; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, - Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, - 'Noto Sans SC', 'Microsoft YaHei', 'WenQuanYi Micro Hei', 'PingFang SC', - 'Source Han Sans SC', 'Hiragino Sans GB', 'Hiragino Sans', 'STHeitiSC-Light', - 'SimSun', 'WenQuanYi Zen Hei', 'LiHei Pro Medium', 'STXihei', - 'Noto Sans CJK SC', 'Meiryo UI', 'Malgun Gothic', sans-serif, - 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', - 'Android Emoji', 'EmojiSymbols', 'EmojiOne'; - font-size: 10pt; - color: #171717; - background: var(--body-bg); - padding: 4px; -} - -div#cgit a { - color: var(--a-tag-color); - text-decoration: none; -} - -div#cgit a:hover { - text-decoration: underline; -} - -div#cgit table { - border-collapse: collapse; -} - -div#cgit table#header { - width: 100%; - margin-bottom: 1em; -} - -div#cgit table#header td.logo { - width: 96px; - vertical-align: top; -} - -div#cgit table#header td.main { - font-size: 250%; - padding-left: 10px; - white-space: nowrap; -} - -div#cgit table#header td.main a { - color: #000; -} - -div#cgit table#header td.form { - text-align: right; - vertical-align: bottom; - padding-right: 1em; - padding-bottom: 2px; - white-space: nowrap; -} - -div#cgit table#header td.form form, -div#cgit table#header td.form input, -div#cgit table#header td.form select { - font-size: 90%; -} - -div#cgit table#header td.sub { - color: #777; - border-top: solid 1px var(--border-color); - padding-left: 10px; -} - -div#cgit table.tabs { - border-bottom: solid 3px var(--border-color); - border-collapse: collapse; - margin-top: 2em; - margin-bottom: 0px; - width: 100%; -} - -div#cgit table.tabs td { - padding: 0px 1em; - vertical-align: bottom; -} - -div#cgit table.tabs td a { - padding: 2px 0.75em; - color: #777; - font-size: 110%; -} - -div#cgit table.tabs td a.active { - color: #fffffe; - background-color: var(--border-color); -} - -div#cgit table.tabs a[href^="http://"]:after, div#cgit table.tabs a[href^="https://"]:after -{ - content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAQAAAAnOwc2AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfgAhcJDQY+gm2TAAAAHWlUWHRDb21tZW50AAAAAABDcmVhdGVkIHdpdGggR0lNUGQuZQcAAABbSURBVAhbY2BABs4MU4CwhYHBh2Erww4wrGFQZHjI8B8IgUIscJWyDHcggltQhI4zGDCcRwhChPggHIggP1QoAVmQkSETrGoHsiAEsACtBYN0oDAMbgU6EBcAAL2eHUt4XUU4AAAAAElFTkSuQmCC); - opacity: 0.5; - margin: 0 0 0 5px; -} - -div#cgit table.tabs td.form { - text-align: right; -} - -div#cgit table.tabs td.form form { - padding-bottom: 2px; - font-size: 90%; - white-space: nowrap; -} - -div#cgit table.tabs td.form input, -div#cgit table.tabs td.form select { - font-size: 90%; -} - -div#cgit div.path { - margin: 0px; - padding: 5px 2em 2px 2em; - color: #000; - background-color: var(--hover-bg); -} - -div#cgit div.content { - margin: 0px; - padding: 2em; - border-bottom: solid 3px var(--border-color); -} - -div#cgit table.list { - width: 100%; - border: none; - border-collapse: collapse; -} - -div#cgit table.list tr { - background: var(--body-bg); -} - -div#cgit table.list tr.logheader { - background: var(--hover-bg); -} - -div#cgit table.list tr:nth-child(even) { - background: var(--table-lighter-bg); -} - -div#cgit table.list tr:nth-child(odd) { - background: var(--body-bg); -} - -div#cgit table.list tr:hover { - background: var(--hover-bg); -} - -div#cgit table.list tr.nohover { - background: var(--body-bg); -} - -div#cgit table.list tr.nohover:hover { - background: var(--body-bg); -} - -div#cgit table.list tr.nohover-highlight:hover:nth-child(even) { - background: var(--table-lighter-bg); -} - -div#cgit table.list tr.nohover-highlight:hover:nth-child(odd) { - background: var(--body-bg); -} - -div#cgit table.list th { - font-weight: bold; - /* color: #888; - border-top: dashed 1px #888; - border-bottom: dashed 1px #888; - */ - padding: 0.1em 0.5em 0.05em 0.5em; - vertical-align: baseline; -} - -div#cgit table.list td { - border: none; - padding: 0.1em 0.5em 0.1em 0.5em; -} - -div#cgit table.list td.commitgraph { - font-family: var(--font-mono); - white-space: pre; -} - -div#cgit table.list td.commitgraph .column1 { - color: #a00; -} - -div#cgit table.list td.commitgraph .column2 { - color: #0a0; -} - -div#cgit table.list td.commitgraph .column3 { - color: #aa0; -} - -div#cgit table.list td.commitgraph .column4 { - color: #00a; -} - -div#cgit table.list td.commitgraph .column5 { - color: #a0a; -} - -div#cgit table.list td.commitgraph .column6 { - color: #0aa; -} - -div#cgit table.list td.logsubject { - font-family: var(--font-mono); - font-weight: bold; -} - -div#cgit table.list td.logmsg { - font-family: var(--font-mono); - white-space: pre; - padding: 0 0.5em; -} - -div#cgit table.list td a { - color: black; -} - -div#cgit table.list td a.ls-dir { - font-weight: bold; - color: var(--a-hover-color); -} - -div#cgit table.list td a:hover { - color: var(--a-hover-color); -} - -div#cgit img { - border: none; -} - -div#cgit input#switch-btn { - margin: 2px 0px 0px 0px; -} - -div#cgit td#sidebar input.txt { - width: 100%; - margin: 2px 0px 0px 0px; -} - -div#cgit table#grid { - margin: 0px; -} - -div#cgit td#content { - vertical-align: top; - padding: 1em 2em 1em 1em; - border: none; -} - -div#cgit div#summary { - vertical-align: top; - margin-bottom: 1em; -} - -div#cgit table#downloads { - float: right; - border-collapse: collapse; - border: solid 1px #777; - margin-left: 0.5em; - margin-bottom: 0.5em; -} - -div#cgit table#downloads th { - background-color: var(--border-color); -} - -div#cgit div#blob { - border: solid 1px black; -} - -div#cgit div.error { - color: red; - font-weight: bold; - margin: 1em 2em; -} - -div#cgit a.ls-blob, -div#cgit a.ls-dir, -div#cgit .ls-mod { - font-family: var(--font-mono); -} - -div#cgit td.ls-size { - text-align: right; - font-family: var(--font-mono); - width: 10em; -} - -div#cgit td.ls-mode { - font-family: var(--font-mono); - width: 10em; -} - -div#cgit table.blob { - margin-top: 0.5em; - border-top: solid 1px black; -} - -div#cgit table.blob td.hashes, -div#cgit table.blob td.lines { - margin: 0; - padding: 0 0 0 0.5em; - vertical-align: top; - color: black; -} - -div#cgit table.blob td.linenumbers { - margin: 0; - padding: 0 0.5em 0 0.5em; - vertical-align: top; - text-align: right; - border-right: 1px solid gray; -} - -div#cgit table.blob pre { - padding: 0; - margin: 0; -} - -div#cgit table.blob td.linenumbers a, -div#cgit table.ssdiff td.lineno a { - color: gray; - text-align: right; - text-decoration: none; -} - -div#cgit table.blob td.linenumbers a:hover, -div#cgit table.ssdiff td.lineno a:hover { - color: black; -} - -div#cgit table.blame td.hashes, -div#cgit table.blame td.lines, -div#cgit table.blame td.linenumbers { - padding: 0; -} - -div#cgit table.blame td.hashes div.alt, -div#cgit table.blame td.lines div.alt { - padding: 0 0.5em 0 0.5em; -} - -div#cgit table.blame td.linenumbers div.alt { - padding: 0 0.5em 0 0; -} - -div#cgit table.blame div.alt:nth-child(even) { - background: var(--hover-bg); -} - -div#cgit table.blame div.alt:nth-child(odd) { - background: var(--body-bg); -} - -div#cgit table.blame td.lines > div { - position: relative; -} - -div#cgit table.blame td.lines > div > pre { - padding: 0 0 0 0.5em; - position: absolute; - top: 0; -} - -div#cgit table.blame .oid { - font-size: 100%; -} - -div#cgit table.bin-blob { - margin-top: 0.5em; - border: solid 1px black; -} - -div#cgit table.bin-blob th { - font-family: var(--font-mono); - white-space: pre; - border: solid 1px #777; - padding: 0.5em 1em; -} - -div#cgit table.bin-blob td { - font-family: var(--font-mono); - white-space: pre; - border-left: solid 1px #777; - padding: 0em 1em; -} - -div#cgit table.nowrap td { - white-space: nowrap; -} - -div#cgit table.commit-info { - border-collapse: collapse; - margin-top: 1.5em; -} - -div#cgit div.cgit-panel { - float: right; - margin-top: 1.5em; -} - -div#cgit div.cgit-panel table { - border-collapse: collapse; - border: solid 1px #aaa; - background-color: var(--hover-bg); -} - -div#cgit div.cgit-panel th { - text-align: center; -} - -div#cgit div.cgit-panel td { - padding: 0.25em 0.5em; -} - -div#cgit div.cgit-panel td.label { - padding-right: 0.5em; -} - -div#cgit div.cgit-panel td.ctrl { - padding-left: 0.5em; -} - -div#cgit table.commit-info th { - vertical-align: center; - text-align: center; - font-weight: 600; - padding: 0.2em 1em 0.2em 1em; - border: 1px solid var(--border-color); -} - -div#cgit table.commit-info td { - font-weight: normal; - border: 1px solid var(--border-color); - padding: 0.2em 1em 0.2em 1em; -} - -div#cgit div.commit-subject { - font-weight: bold; - font-size: 125%; - margin: 1.5em 0em 0.5em 0em; - padding: 0em; -} - -div#cgit div.commit-msg { - white-space: pre; - font-family: var(--font-mono); -} - -div#cgit div.notes-header { - font-weight: bold; - padding-top: 1.5em; -} - -div#cgit div.notes { - white-space: pre; - font-family: var(--font-mono); - border: solid 1px #ee9; - background-color: #ffd; - padding: 0.3em 2em 0.3em 1em; - float: left; -} - -div#cgit div.notes-footer { - clear: left; -} - -div#cgit div.diffstat-header { - font-weight: bold; - padding-top: 1.5em; -} - -div#cgit table.diffstat { - border-collapse: collapse; - border: solid 1px #aaa; - background-color: var(--hover-bg); -} - -div#cgit table.diffstat th { - font-weight: normal; - text-align: left; - text-decoration: underline; - padding: 0.1em 1em 0.1em 0.1em; - font-size: 100%; -} - -div#cgit table.diffstat td { - padding: 0.2em 0.2em 0.1em 0.1em; - font-size: 100%; - border: none; -} - -div#cgit table.diffstat td.mode { - white-space: nowrap; -} - -div#cgit table.diffstat td span.modechange { - padding-left: 1em; - color: red; -} - -div#cgit table.diffstat td.add a { - color: green; -} - -div#cgit table.diffstat td.del a { - color: red; -} - -div#cgit table.diffstat td.upd a { - color: var(--a-tag-color); -} - -div#cgit table.diffstat td.graph { - width: 500px; - vertical-align: middle; -} - -div#cgit table.diffstat td.graph table { - border: none; -} - -div#cgit table.diffstat td.graph td { - padding: 0px; - border: 0px; - height: 7pt; -} - -div#cgit table.diffstat td.graph td.add { - background-color: #5c5; -} - -div#cgit table.diffstat td.graph td.rem { - background-color: #c55; -} - -div#cgit div.diffstat-summary { - color: #888; - padding-top: 0.5em; -} - -div#cgit table.diff { - width: 100%; -} - -div#cgit table.diff td { - font-family: var(--font-mono); - white-space: pre; -} - -div#cgit table.diff td div.head { - font-weight: bold; - margin-top: 1em; - color: black; -} - -div#cgit table.diff td div.hunk { - color: #009; -} - -div#cgit table.diff td div.add { - color: green; -} - -div#cgit table.diff td div.del { - color: red; -} - -div#cgit .oid { - font-family: var(--font-mono); - font-size: 90%; -} - -div#cgit .left { - text-align: left; -} - -div#cgit .right { - text-align: right; -} - -div#cgit table.list td.reposection { - font-style: italic; - color: #888; -} - -div#cgit a.button { - font-size: 80%; - padding: 0em 0.5em; -} - -div#cgit a.primary { - font-size: 100%; -} - -div#cgit a.secondary { - font-size: 90%; -} - -div#cgit td.toplevel-repo { -} - -div#cgit table.list td.sublevel-repo { - padding-left: 1.5em; -} - -div#cgit ul.pager { - list-style-type: none; - text-align: center; - margin: 1em 0em 0em 0em; - padding: 0; -} - -div#cgit ul.pager li { - display: inline-block; - margin: 0.25em 0.5em; -} - -div#cgit ul.pager a { - color: #777; -} - -div#cgit ul.pager .current { - font-weight: bold; -} - -div#cgit span.age-mins { - font-weight: bold; - color: #080; -} - -div#cgit span.age-hours { - color: #080; -} - -div#cgit span.age-days { - color: #040; -} - -div#cgit span.age-weeks { - color: #444; -} - -div#cgit span.age-months { - color: #888; -} - -div#cgit span.age-years { - color: #bbb; -} - -div#cgit span.insertions { - color: #080; -} - -div#cgit span.deletions { - color: #800; -} - -div#cgit div.footer { - margin-top: 0.5em; - text-align: center; - font-size: 80%; - color: var(--border-color); -} - -div#cgit div.footer a { - color: var(--border-color); - text-decoration: none; -} - -div#cgit div.footer a:hover { - text-decoration: none; -} - -div#cgit a.branch-deco { - color: #000; - margin: 0px 0.5em; - padding: 0px 0.25em; - background-color: #6ddc6d; - border: solid 1px #007700; -} - -div#cgit a.tag-deco { - color: #000; - margin: 0px 0.5em; - padding: 0px 0.25em; - background-color: #ffff88; - border: solid 1px #777700; -} - -div#cgit a.tag-annotated-deco { - color: #000; - margin: 0px 0.5em; - padding: 0px 0.25em; - background-color: #ffcc88; - border: solid 1px #777700; -} - -div#cgit a.remote-deco { - color: #000; - margin: 0px 0.5em; - padding: 0px 0.25em; - background-color: var(--border-color) cff; - border: solid 1px #000077; -} - -div#cgit a.deco { - color: #000; - margin: 0px 0.5em; - padding: 0px 0.25em; - background-color: #ff6e6c; - border: solid 1px #770000; -} - -div#cgit div.commit-subject a.branch-deco, -div#cgit div.commit-subject a.tag-deco, -div#cgit div.commit-subject a.tag-annotated-deco, -div#cgit div.commit-subject a.remote-deco, -div#cgit div.commit-subject a.deco { - margin-left: 1em; - font-size: 75%; -} - -div#cgit table.stats { - border: solid 1px black; - border-collapse: collapse; -} - -div#cgit table.stats th { - text-align: left; - padding: 1px 0.5em; - background-color: var(--hover-bg); - border: solid 1px black; -} - -div#cgit table.stats td { - text-align: right; - padding: 1px 0.5em; - border: solid 1px black; -} - -div#cgit table.stats td.total { - font-weight: bold; - text-align: left; -} - -div#cgit table.stats td.sum { - color: #c00; - font-weight: bold; - /* background-color: var(--hover-bg); */ -} - -div#cgit table.stats td.left { - text-align: left; -} - -div#cgit table.vgraph { - border-collapse: separate; - border: solid 1px black; - height: 200px; -} - -div#cgit table.vgraph th { - background-color: var(--hover-bg); - font-weight: bold; - border: solid 1px white; - padding: 1px 0.5em; -} - -div#cgit table.vgraph td { - vertical-align: bottom; - padding: 0px 10px; -} - -div#cgit table.vgraph div.bar { - background-color: var(--hover-bg); -} - -div#cgit table.hgraph { - border: solid 1px black; - width: 800px; -} - -div#cgit table.hgraph th { - background-color: var(--hover-bg); - font-weight: bold; - border: solid 1px black; - padding: 1px 0.5em; -} - -div#cgit table.hgraph td { - vertical-align: middle; - padding: 2px 2px; -} - -div#cgit table.hgraph div.bar { - background-color: var(--hover-bg); - height: 1em; -} - -div#cgit table.ssdiff { - width: 100%; -} - -div#cgit table.ssdiff td { - font-size: 75%; - font-family: var(--font-mono); - white-space: pre; - padding: 1px 4px 1px 4px; - border-left: solid 1px #aaa; - border-right: solid 1px #aaa; -} - -div#cgit table.ssdiff td.add { - color: black; - background: #cfc; - min-width: 50%; -} - -div#cgit table.ssdiff td.add_dark { - color: black; - background: #aca; - min-width: 50%; -} - -div#cgit table.ssdiff span.add { - background: #cfc; - font-weight: bold; -} - -div#cgit table.ssdiff td.del { - color: black; - background: #fcc; - min-width: 50%; -} - -div#cgit table.ssdiff td.del_dark { - color: black; - background: #caa; - min-width: 50%; -} - -div#cgit table.ssdiff span.del { - background: #fcc; - font-weight: bold; -} - -div#cgit table.ssdiff td.changed { - color: black; - background: #ffc; - min-width: 50%; -} - -div#cgit table.ssdiff td.changed_dark { - color: black; - background: #cca; - min-width: 50%; -} - -div#cgit table.ssdiff td.lineno { - color: black; - background: var(--hover-bg); - text-align: right; - width: 3em; - min-width: 3em; -} - -div#cgit table.ssdiff td.hunk { - color: black; - background: #ccf; - border-top: solid 1px #aaa; - border-bottom: solid 1px #aaa; -} - -div#cgit table.ssdiff td.head { - border-top: solid 1px #aaa; - border-bottom: solid 1px #aaa; -} - -div#cgit table.ssdiff td.head div.head { - font-weight: bold; - color: black; -} - -div#cgit table.ssdiff td.foot { - border-top: solid 1px #aaa; - border-left: none; - border-right: none; - border-bottom: none; -} - -div#cgit table.ssdiff td.space { - border: none; -} - -div#cgit table.ssdiff td.space div { - min-height: 3em; -} - -/* libgravatar */ -div#cgit span.libravatar img.onhover { - display: none; - border: 1px solid gray; - padding: 0px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - width: 128px; - height: 128px; -} - -div#cgit span.libravatar img.inline { - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - width: 13px; - height: 13px; - margin-right: 0.4em; - /* opacity: 0.4; */ -} - -div#cgit span.libravatar:hover > img.onhover { - display: block; - position: absolute; - margin-left: 1.5em; - background-color: var(--hover-bg) eee; - box-shadow: 5px 5px 3px #bbb; -}
--- a/CGIT/cgit.nginx Tue Sep 03 17:14:28 2024 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -server { - listen [::]:80; - listen 80; - server_name git.yourdomain.com; - return 301 https://$server_name$request_uri; -} - -server { - listen [::]:443 ssl http2; - listen 443 ssl http2; - server_name git.yourdomain.com; - - # SSL Certificate Path - ssl_certificate /etc/nginx/cert/git.yourdomain.com.pem; - ssl_certificate_key /etc/nginx/cert/git.yourdomain.com.key; - - # SSL Security - ssl_protocols TLSv1.2 TLSv1.3; - ssl_prefer_server_ciphers on; - ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256; - - ssl_session_timeout 1d; - ssl_session_cache shared:SSL:10m; - - # Site Log path - access_log /var/log/nginx/cgit-access.log; - error_log /var/log/nginx/cgit-error.log; - - root /var/www/cgit; - try_files $uri @cgit; - client_max_body_size 10m; - - location @cgit { - include fastcgi_params; - # cgit's CGI script path - fastcgi_param SCRIPT_FILENAME /var/www/cgit/cgit.cgi; - fastcgi_param DOCUMENT_ROOT /usr/lib/git-core; - fastcgi_pass unix:/var/run/fcgiwrap.socket; - fastcgi_param PATH_INFO $uri; - fastcgi_param QUERY_STRING $args; - fastcgi_param HTTP_HOST $server_name; - fastcgi_param GIT_HTTP_EXPORT_ALL ""; - fastcgi_param GIT_PROJECT_ROOT /home/git; - - if ($arg_service = git-receive-pack) { - rewrite (/.*) /git_write/$1 last; - } - - if ($uri ~ ^/.*/git-receive-pack$) { - rewrite (/.*) /git_write/$1 last; - } - - if ($arg_service = git-upload-pack) { - rewrite (/.*) /git_read/$1 last; - } - - if ($uri ~ ^/.*/git-upload-pack$) { - rewrite (/.*) /git_read/$1 last; - } - } - - location ~ /git_read/(.*) { - include git-http-backend.conf; - } - - location ~ /git_write/(.*) { - # HTTP Basic Authentication - auth_basic "Authentication Required To Push"; - auth_basic_user_file /etc/nginx/.htpasswd; - include git-http-backend.conf; - } -} \ No newline at end of file
--- a/CGIT/cgitrc Tue Sep 03 17:14:28 2024 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,146 +0,0 @@ -##### cgit configuration file ##### -# https://git.zx2c4.com/cgit/tree/cgitrc.5.txt -##### format: NAME=VALUE ##### - -#### GLOBAL SETTINGS #### - -#### Web Configuration #### -css=/cgit.css -logo=/logo.svg -# logo-link= -favicon=/favicon.ico -virtual-root=/ - -# Prohibit search engine index -robots=noindex, nofollow - -# Personalization -root-title=Your Git Repository -root-desc=my personal minimal and cute git server. -head-include=/var/www/cgit/head-include.html -footer=/var/www/cgit/footer.html -root-readme=/var/www/cgit/about.html - -#### Cache Configuration #### -cache-about-ttl=45 -cache-dynamic-ttl=3 -cache-repo-ttl=10 -cache-size=1000 -cache-root=/var/cache/cgit -cache-root-ttl=3 -cache-scanrc-ttl=10 -cache-snapshot-ttl=30 -cache-static-ttl=15 - -#### Filter API #### -# owner-filter= -# auth filter= -source-filter=/usr/local/share/cgit/filters/syntax-highlighting.py -commit-filter=/usr/local/share/cgit/filters/commit-links.sh -email-filter=lua:/usr/local/share/cgit/filters/email-libravatar-korg.lua -# email-filter=lua:/usr/local/share/cgit/filters/email-libravatar.lua -# email-filter=lua:/usr/local/share/cgit/filters/email-gravatar.lua -about-filter=/usr/local/share/cgit/filters/about-formatting.sh -readme=:README.md -readme=:readme.md -readme=:README.txt -readme=:readme.txt -readme=:README -readme=:readme - -#### CGIT Server Configuration #### - -# local-time=0 -# noplainemail=0 -# noheader= - -# With Smart HTTP Git Clone -clone-url=https://git.xvo.es/$CGIT_REPO_URL - -# Disable dumb HTTP endpoint Git Clone -enable-http-clone=0 - -enable-index-owner=1 -enable-index-links=0 -enable-blame=1 -enable-log-filecount=1 -enable-log-linecount=1 -enable-commit-graph=1 -# enable-tree-linenumbers=1 -# enable-follow-links=0 -# enable-remote-branches=0 -# enable-git-config=0 -# enable-html-serving=0 - -# Sort Configuration -branch-sort=age -case-sensitive-sort=1 -commit-sort=date - -# Summary Configuration -summary-branches=5 -summary-log=15 -summary-tags=5 -snapshots=tar.gz zip -max-atom-items=15 -max-blob-size=1024 -max-commit-count=50 -max-message-length=100 -max-repo-count=40 -max-repodesc-length=60 -max-stats=year - -# MIME Types -mimetype.html=text/html -mimetype.gif=image/gif -mimetype.jpg=image/jpeg -mimetype.jpeg=image/jpeg -mimetype.png=image/png -mimetype.webp=image/webp -mimetype.pdf=application/pdf -mimetype.svg=image/svg+xml - -# Remove the .git suffix -remove-suffix=1 -scan-path=/home/git - -#### REPOSITORY SETTINGS #### - -# section-from-path=1 -# project-list=/path/to/projects.list -# enable-filter-overrides= - -# For Each Single Repository -# repo.name= -# repo.defbranch= -# repo.branch-sort= -# repo.hide= -# repo.homepage= -# repo.ignore= -# repo.desc= -# repo.owner= -# repo.path= -# repo.url= -# repo.clone-url= -# repo.logo= -# repo.logo-link= -# repo.readme= -# repo.section= -# repo.snapshots= -# repo.owner-filter= -# repo.source-filter= -# repo.about-filter= -# repo.email-filter= -# repo.commit-filter= -# repo.commit-sort= -# repo.enable-blame= -# repo.enable-commit-graph= -# repo.enable-html-serving= -# repo.enable-log-filecount= -# repo.enable-log-linecount= -# repo.enable-remote-branches= -# repo.enable-subject-links= -# repo.extra-head-content= -# repo.module-link= -# repo.max-stats= -# repo.snapshot-prefix= \ No newline at end of file
--- a/CGIT/filters/email-libravatar-korg.lua Tue Sep 03 17:14:28 2024 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ --- This script may be used with the email-filter or repo.email-filter settings in cgitrc. --- It adds gravatar icons to author names. It is designed to be used with the lua: --- prefix in filters. It is much faster than the corresponding python script. --- --- Requirements: --- luaossl --- <http://25thandclement.com/~william/projects/luaossl.html> --- - -local digest = require("openssl.digest") - -function md5_hex(input) - local b = digest.new("md5"):final(input) - local x = "" - for i = 1, #b do - x = x .. string.format("%.2x", string.byte(b, i)) - end - return x -end - -function filter_open(email, page) - buffer = "" - md5 = md5_hex(email:sub(2, -2):lower()) -end - -function filter_close() - html("<span class='libravatar'>" .. - "<img class='inline' src='//www.gravatar.com/avatar/" .. md5 .. "?s=13&d=retro' />" .. - "<img class='onhover' src='//www.gravatar.com/avatar/" .. md5 .. "?s=128&d=retro' />" .. - "</span>" .. buffer) - return 0 -end - -function filter_write(str) - buffer = buffer .. str -end \ No newline at end of file
--- a/CGIT/footer.html Tue Sep 03 17:14:28 2024 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -<div class="footer">Copyright © 2024 <a href="https://cgit.seu.wiki" rel="noopener noreferrer">Charon</a>. All rights reserved.</div>
--- a/CGIT/git-bare Tue Sep 03 17:14:28 2024 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -#!/bin/bash - -set -eu - -# /usr/local/bin/git-bare - -echo "1.make sure you are running with root user or sudo privileged" -echo "2.make sure you have installed cURL and Git" -echo "" -echo "Press Enter to continue..." -read - -# Check if the running user is root or sudo user -if [ "$(id -u)" -ne 0 ]; then - if ! sudo -v &> /dev/null; then - echo "Please run the script as root or with sudo privileged!" - exit 1 - fi -fi - -# Check if cURL is installed -if ! command -v curl &> /dev/null; then - echo "cURL is not installed, please install curl first." - echo "sudo apt update && sudo apt install -y curl" - exit 1 -fi - -# Check if Git is installed -if ! command -v git &> /dev/null; then - echo "Git is not installed, please install git first." - echo "sudo apt update && sudo apt install -y git" - exit 1 -fi - -read -p "Please enter the repository name (without .git)." reponame - -if [ -d "/home/git/${reponame}.git" ]; then - echo "Repository ${reponame} already exists" - exit 1 -else - git init --bare "/home/git/${reponame}.git" - cd "/home/git/${reponame}.git" - - read -p "Please enter the repository description:" description - echo "${description}." | sudo tee "description" > /dev/null - - # Update the Git repository info - if ! git update-server-info &> /dev/null; then - echo "Failed to update Git repository information, exiting..." - exit 1 - fi - - # Set up the new repository's post-receive - curl -s https://git.xvo.es/self-hosted/plain/cgit/post-receive.agefile -o hooks/post-receive - chmod +x hooks/post-receive - - # Set user groups and permissions for the repository - chown -R git:www-data "/home/git/${reponame}.git" - chmod -R ug+rwx,o-rwx "/home/git/${reponame}.git" - echo "New bare repository ${reponame} initialized successfully." -fi \ No newline at end of file
--- a/CGIT/git-http-backend.conf Tue Sep 03 17:14:28 2024 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -fastcgi_pass unix:/var/run/fcgiwrap.socket; -include fastcgi_params; -fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; -fastcgi_param GIT_HTTP_EXPORT_ALL ""; -fastcgi_param GIT_PROJECT_ROOT /home/git; -fastcgi_param PATH_INFO $1; -fastcgi_param REMOTE_USER $remote_user; \ No newline at end of file
--- a/CGIT/head-include.html Tue Sep 03 17:14:28 2024 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -<meta charset="utf-8"> -<!-- Customized head sections, such as site statistics scripts--> -<!-- <script src="xxx" ></script> --> \ No newline at end of file
--- a/CGIT/post-receive.agefile Tue Sep 03 17:14:28 2024 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -#!/bin/sh -# -# An example hook to update the "agefile" for CGit's idle time calculation. -# -# This hook assumes that you are using the default agefile location of -# "info/web/last-modified". If you change the value in your cgitrc then you -# must also change it here. -# -# To install the hook, copy (or link) it to the file "hooks/post-receive" in -# each of your repositories. -# - -agefile="$(git rev-parse --git-dir)"/info/web/last-modified - -mkdir -p "$(dirname "$agefile")" && -git for-each-ref \ - --sort=-authordate --count=1 \ - --format='%(authordate:iso8601)' \ - >"$agefile" \ No newline at end of file