ソースを参照

Onion site for gogs

Bob Mottram 9 年 前
コミット
4853e5e2f2
共有1 個のファイルを変更した59 個の追加0 個の削除を含む
  1. 59
    0
      src/freedombone

+ 59
- 0
src/freedombone ファイルの表示

195
 # Domain name for git hosting installation
195
 # Domain name for git hosting installation
196
 GIT_DOMAIN_NAME=
196
 GIT_DOMAIN_NAME=
197
 GIT_CODE=
197
 GIT_CODE=
198
+GIT_ONION_PORT=8090
198
 GIT_DOMAIN_REPO="https://github.com/gogits/gogs.git"
199
 GIT_DOMAIN_REPO="https://github.com/gogits/gogs.git"
199
 GIT_ADMIN_PASSWORD=
200
 GIT_ADMIN_PASSWORD=
200
 GOGS_COMMIT='efea642d6cf419c9587d44b95ff2bc04e89f7bfe'
201
 GOGS_COMMIT='efea642d6cf419c9587d44b95ff2bc04e89f7bfe'
6178
   echo '        access_log off;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6179
   echo '        access_log off;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6179
   echo '    }' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6180
   echo '    }' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6180
   echo '}' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6181
   echo '}' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6182
+  echo '' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6183
+  echo 'server {' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6184
+  echo "    listen 127.0.0.1:${GIT_ONION_PORT} default_server;" >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6185
+  echo "    root /var/www/$GIT_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6186
+  echo "    server_name $GIT_DOMAIN_NAME;" >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6187
+  echo '    access_log off;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6188
+  echo "    error_log /var/log/nginx/${GIT_DOMAIN_NAME}_error.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6189
+  echo '' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6190
+  echo '    limit_conn conn_limit_per_ip 10;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6191
+  echo '    limit_req zone=req_limit_per_ip burst=10 nodelay;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6192
+  echo '' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6193
+  echo '    add_header X-Frame-Options DENY;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6194
+  echo '    add_header X-Content-Type-Options nosniff;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6195
+  echo '    add_header Strict-Transport-Security max-age=0;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6196
+  echo '' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6197
+  echo '    location / {' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6198
+  echo '        proxy_pass http://localhost:3000;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6199
+  echo '    }' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6200
+  echo '' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6201
+  echo '    client_max_body_size 10G; # set max upload size' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6202
+  echo '    client_body_buffer_size 128k;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6203
+  echo '    fastcgi_buffers 64 4K;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6204
+  echo '' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6205
+  echo '    error_page 403 /core/templates/403.php;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6206
+  echo '    error_page 404 /core/templates/404.php;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6207
+  echo '' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6208
+  echo '    location = /robots.txt {' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6209
+  echo '        allow all;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6210
+  echo '        log_not_found off;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6211
+  echo '        access_log off;' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6212
+  echo '    }' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6213
+  echo '}' >> /etc/nginx/sites-available/$GIT_DOMAIN_NAME
6181
 
6214
 
6182
   configure_php
6215
   configure_php
6183
 
6216
 
6191
   fi
6224
   fi
6192
 
6225
 
6193
   nginx_ensite $GIT_DOMAIN_NAME
6226
   nginx_ensite $GIT_DOMAIN_NAME
6227
+
6228
+  if [ ! -d /var/lib/tor ]; then
6229
+      echo $'No Tor installation found. Gogs onion site cannot be configured.'
6230
+      exit 83547
6231
+  fi
6232
+  if ! grep -q "hidden_service_gogs" /etc/tor/torrc; then
6233
+      echo 'HiddenServiceDir /var/lib/tor/hidden_service_gogs/' >> /etc/tor/torrc
6234
+      echo "HiddenServicePort 80 127.0.0.1:${GIT_ONION_PORT}" >> /etc/tor/torrc
6235
+      echo $'Added onion site for Gogs'
6236
+  fi
6237
+
6194
   service php5-fpm restart
6238
   service php5-fpm restart
6195
   service nginx restart
6239
   service nginx restart
6240
+  systemctl restart tor
6241
+
6242
+  if [ ! -f /var/lib/tor/hidden_service_gogs/hostname ]; then
6243
+      echo $'Gogs onion site hostname not found'
6244
+      exit 53935
6245
+  fi
6246
+  GIT_ONION_HOSTNAME=$(cat /var/lib/tor/hidden_service_gogs/hostname)
6247
+
6248
+  if ! grep -q "Gogs onion domain" /home/$MY_USERNAME/README; then
6249
+      echo "Gogs onion domain: ${GIT_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
6250
+      echo '' >> /home/$MY_USERNAME/README
6251
+      chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
6252
+      chmod 600 /home/$MY_USERNAME/README
6253
+  fi
6254
+  echo "Gogs onion domain:${GIT_ONION_HOSTNAME}" >> $COMPLETION_FILE
6196
 
6255
 
6197
   # update the dynamic DNS
6256
   # update the dynamic DNS
6198
   CURRENT_DDNS_DOMAIN=$GIT_DOMAIN_NAME
6257
   CURRENT_DDNS_DOMAIN=$GIT_DOMAIN_NAME