Home
Softono
Mosdns-on-PaaS

Mosdns-on-PaaS

Open source Shell
24
Stars
16
Forks
2
Issues
2
Watchers
3 years
Last Commit

About Mosdns-on-PaaS

Mosdns-on-PaaS is a tool for deploying a DNS over HTTPS (DoH) service built on mosdns, an advanced DNS forwarder, across various Platform as a Service providers. It supports deployment on Heroku, Okteto, Railway, Northflank, fly.io, and Koyeb. The default configuration provides ad-blocking and EDNS Client Subnet support. Users can fork the repository, customize the config.yaml file, and set a unique DOHPATH environment variable to secure their deployment. The project includes one-click deployment buttons for Heroku, guides for linking repositories on supported platforms, and instructions for building container images for Koyeb via GitHub Actions. Includes manual deployment steps for fly.io using its command-line tool.开发者警告不要滥用 PaaS 免费资源,部署风险自负。

Platforms

Web Self-hosted

Languages

Shell

Links

点击前往中文说明

Acknowledgments

Attention

Do not abuse service from PaaS platforms or your account could get banned. Deploy at your own risk.

Overview

This repo is for deploying mosdns DoH service which is an advanced DNS forwarder on various PaaS platforms (Heroku, Okteto, Railway, Northflank, fly.io, etc.).

未命名绘图 (1)

Deployment

  • Fork this repo
  • Modify /content/config.yaml to suit your needs. Default config file has ad-blocking and ECS enabled.
  • Strongly recommend custom DOH_PATH env value to prevent other ppl from abusing your deployment.

Deploy to Heroku

  • Heroku will stop offering free product plans and shut down free dynos starting Nov. 28, 2022.

Deploy

Deploy to Okteto, Railway, Northflank etc.

  • Link your forked repo in PaaS platform's dashboard
  • Set DOH_PATH env
  • Deploy

Deploy to Koyeb

  • Create a new release in your forked repo with a tag like "v0.0.1"
  • Wait for github action to finish
  • Use your new generated container image to deploy.

Deploy to fly.io

  • Install flyctl
  • git clone repo and change path to repo folder
  • edit fly.toml to set DOH_PATH env
    # Login
    flyctl auth login
    # Create app
    flyctl apps create <app_name>
    # Set region https://fly.io/docs/reference/regions/
    flyctl regions set <region_code> -a <app_name>
    # Deploy
    flyctl deploy --detach -a <app_name> --remote-only --no-cache