Skip to content

Instantly share code, notes, and snippets.

@vadash
Last active March 27, 2024 03:35
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save vadash/cf56d951a5af997dd33d74468816bc69 to your computer and use it in GitHub Desktop.
Save vadash/cf56d951a5af997dd33d74468816bc69 to your computer and use it in GitHub Desktop.
OneDrive диск 5 ТБ заметки для ruboard

OneDrive диск 5 ТБ заметки

image

Зачем

  • Экономим 2-3 тысячи рублей в год

Нам понадобится

  • Небольшое знание Python, GitHub Action или чат ГПТ + Google + метод тыка
  • VPN

Шаг 1. Регистрация аккаунта

  1. Включите VPN не в РФ.
  2. Войдите в свой аккаунт Microsoft или создайте новый.
  3. Создайте аккаунт разработчика: https://developer.microsoft.com/en-us/microsoft-365/dev-program
  4. Возможно, потребуется изменить регион аккаунта Microsoft на Америку.
  5. Выберите страну Казахстан (+7) и укажите номер российского телефона для SMS-авторизации.
  6. В аккаунте есть опция увеличения диска с 1 ТБ до 5 ТБ.

Шаг 2. Автопродление

  1. Прочтите комментарии, выберите самый удобный вариант
  2. Бонусом модифицируйте его немного, чтобы не спалиться. Например, я поменял endpoint (URL) адреса, по которым он стучит, и частоту запуска крона

Шаг 3. Получение доступа к диску

  1. Rclone — самый удобный вариант, плюс можно включить шифрование.
  2. Прочитайте инструкции:
  3. На Android используйте приложение Round Sync

Usefull rclone snippets

Config example

Just follow guide https://rclone.org/onedrive/ and provide info in advanced mode

[onedrive-dev]
type = onedrive
client_id = 92c3XXX
client_secret = 5I8XXX
auth_url = https://login.microsoftonline.com/73dfXXXX/oauth2/v2.0/authorize
token_url = https://login.microsoftonline.com/73dfXXXX/oauth2/v2.0/token
drive_type = business
token = {"access_token":"eyJ0eXAXXXXXXXX","token_type":"Bearer","refresh_token":"0.Aa4AXXXXX","expiry":"2023-12-11T21:13:13.5112451+03:00"}
drive_id = b!5t9LXXXX

[onedrive-dev-crypt]
type = crypt
remote = onedrive-dev:secure
password = XXX

Speed increase

Use https://github.com/MHSanaei/3x-ui + enable warp+ in settings. aeza (no ref link) provides $1/month 100 mbit servers. Use TG bot @aezastatus_bot to get this juicy tariff. Its avialable once every 2-6 weeks

Example XRAY config:

{
  "log": {
    "loglevel": "warning",
    "access": "./access.log",
    "error": "./error.log"
  },
  "api": {
    "tag": "api",
    "services": [
      "HandlerService",
      "LoggerService",
      "StatsService"
    ]
  },
  "inbounds": [
    {
      "tag": "api",
      "listen": "127.0.0.1",
      "port": 62789,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "127.0.0.1"
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    },
    {
      "tag": "blocked",
      "protocol": "blackhole",
      "settings": {}
    },
    {
      "tag": "IPv4",
      "protocol": "freedom",
      "settings": {
        "domainStrategy": "UseIPv4"
      }
    },
    {
      "tag": "WARP",
      "protocol": "socks",
      "settings": {
        "servers": [
          {
            "address": "127.0.0.1",
            "port": 40000
          }
        ]
      }
    }
  ],
  "policy": {
    "levels": {
      "0": {
        "statsUserDownlink": true,
        "statsUserUplink": true
      }
    },
    "system": {
      "statsInboundDownlink": true,
      "statsInboundUplink": true
    }
  },
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "inboundTag": [
          "api"
        ],
        "outboundTag": "api"
      },
      {
        "type": "field",
        "outboundTag": "blocked",
        "ip": [
          "geoip:private"
        ]
      },
      {
        "type": "field",
        "outboundTag": "blocked",
        "protocol": [
          "bittorrent"
        ]
      },
      {
        "type": "field",
        "outboundTag": "IPv4",
        "domain": [
          "geosite:google",
          "geosite:netflix"
        ]
      },
      {
        "type": "field",
        "outboundTag": "WARP",
        "domain": [
          "geosite:speedtest",
          "geosite:microsoft",
          "geosite:microsoft-dev",
          "geosite:openai",
          "geosite:netflix",
          "geosite:spotify",
          "geosite:google"
        ]
      }
    ]
  },
  "stats": {}
}

Read

taskkill /im rclone.exe
set https_proxy=socks5://127.0.0.1:2080
"C:\portable\rclone\rclone.exe" mount --cache-dir "E:\cache\rclone\onedrive" --no-checksum --no-modtime --read-only --dir-cache-time=5000h --drive-pacer-min-sleep=10ms --drive-pacer-burst=200 --vfs-cache-mode=full --vfs-cache-max-size=64G --vfs-cache-max-age=5000h --vfs-cache-poll-interval=5m --buffer-size 256M --vfs-read-ahead=512M --bwlimit-file=32M --vfs-fast-fingerprint onedrive-dev-crypt: X:

Read/Write

taskkill /im rclone.exe
set https_proxy=socks5://127.0.0.1:2080
"C:\portable\nircmd\nircmd.exe" exec hide "C:\portable\rclone\rclone.exe" mount --cache-dir "E:\cache\rclone\onedrive" --dir-cache-time=5000h --drive-pacer-min-sleep=10ms --drive-pacer-burst=200 --vfs-cache-mode=full --vfs-cache-max-size=64G --vfs-cache-max-age=5000h --vfs-cache-poll-interval=5m --buffer-size 256M --vfs-read-ahead=512M --bwlimit-file=32M --vfs-fast-fingerprint onedrive-dev-crypt: X:

Sync folder

REM install Windows Terminal Preview to hide console window
cd "c:\portable\rclone"
REM use proxy
set https_proxy=socks5://127.0.0.1:2080
REM add "--no-console" to hide console
REM debug "-vv --dump headers"
rclone sync "E:\backup\macrium\moscow-pc" onedrive-dev-crypt:macrium\moscow-pc --no-console --onedrive-no-versions --progress --stats 5s --max-duration 6h -vv
exit

More info https://rclone.org/commands/rclone_sync/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment