分类目录归档:网络配置

视频链接: 最新发现自己的土耳其账户终于 […]

群晖nas上部署immich并批量导入照片

前言

今天看了一篇介绍immich的的文章,其中对于照片管理中AI能力的支持对比吸引了我,immich因为开源支持很多插件,比较容易与目前的AI能力相结合,决定周末在我的nas上安装immich,安装过程比较简单,但是在将硬盘中的历史照片导入,却波费了点功夫,在此将其记录下来。

immich安装

1: nas上部署docker

1) 在nas上建立immich的目录

2)immich官网提供了脚本,ssh到nas上复制粘贴比较简单。登录nas并进入目录:/docker/immich-app
2)执行两个命令,下载编译文件:

wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

(可选)为了便于将来硬盘整理,我在配置文件中指定了一个照片存放的位置,如果放在默认位置可以忽略这一步:
进入nas的/volume1/docker/immich-app 目录下
执行vi .env

将照片指定到一个固定位置中

3)群晖Docker管理工具 Container Manager上项目选项新建名字为immich-app的项目,并按要求进行设置,并指定前面下载的docker-compose.yml文件,参考下面图示。

4) 摘要页面检查是否按要求设置,查看“创建项目后立即启动”是否勾选,如没有勾选,请勾选,然后点击完成,开始部署immich。

5) 部署成功后,可以看到这个immich项目其实是由6个容器构成一个整体,这6个容器由2个镜像支撑。并且可以看到这个6个容器堆内存需求还是很大的。

2.immich软件启动设置

immich部署好后,可以浏览器打开http://:2283,按图示提示进行初始化账号设置,目前immich的web界面还不支持中文,这点看看后续会不会增加。用户名是以邮件email格式设立

手机端配置:使用的是iPhone手机,immich有自己的手机端APP软件,支持IOSImmich 和Android Immich, 这里以IOS版本为例说明:第一次需要填写自己搭建的immich服务器的地址,注意格式为:http://:2283/api 注意后面的api。

将硬盘上的历史照片自动批量导入

在我的nas硬盘上已经保存了几万张的历史照片,现在需要将其批量导入到immich中进行管理。
immich提供了批量的照片导入工具immich cli,按照步骤来说明一下:
1)登录nas并安装immcih工具

sudo npm install -g @immich/cli

如果提示下面的错误,说明nas上的node.js版本太低:

需要到群晖nas的组件管理中安装node.js的20版本,记得不要卸载原来的18.0的版本,否则会影响群晖drive、station等的使用

更新完node.js后nas的ssh客户端重新执行安装脚本就没有问题了。

2) 获取immich的token api
在immich的页面(http://nas地址:2283)点击右上方的个人头像,选择Account Settings
点击新建API KEY

记下弹出的token信息,只会显示一次。

3) 启动批量导入
--在nas的ssh中执行登录命令:--

immich login-key http://nas-ip:2283/api 前面记录下来的token号码

如果信息没有错误将显示:Wrote auth info to /root/.config/immich/auth.yml
表示已经登录成功并且写入了授权文件。

--启动批量导入--

immich upload --recursive /volume1/你的存放照片的目录Photos

然后nas的cpu就进入99%的满负载状态,照片开始批量的导入中:
Crawling for assets...
Checking files | ████████████████████████████████████████ | 100% | ETA: 0s | 237844/237844 assets
Found 237819 new files and 25 duplicates
Uploading assets | █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ | 1% | ETA: 07h30m | 7.9 GB/463.6 GB

Telegraph-Image免费图床增加域名访问限制

原来的博客部署在vps上,硬盘空间非常有限,空间告警后寻求部署一个免费的基于cloudflare的图床。

安装基于cloudflare的免费图床

选择Telegraph-Image免费图床的原因是它在GitHub平台上的热度较高,安装过程相对简单,按照官方文档进行操作即可完成基本的设置:
简单 3 步,即可部署本项目,拥有自己的图床

2024年4月12日更新版本,不需要修改代码,只需要拉取就可以了,补充视频操作介绍

特性

1.无限图片储存数量,你可以上传不限数量的图片

2.无需购买服务器,托管于 Cloudflare 的网络上,当使用量不超过 Cloudflare 的免费额度时,完全免费

3.无需购买域名,可以使用 Cloudflare Pages 提供的*.pages.dev的免费二级域名,同时也支持绑定自定义域名

4.支持图片审查 API,可根据需要开启,开启后不良图片将自动屏蔽,不再加载

5.支持后台图片管理,可以对上传的图片进行在线预览,添加白名单,黑名单等操作

6.支持图片引用的域名判断,避免图片滥用。(2024年4月12日增加)


如何部署

提前准备

你唯一需要提前准备的就是一个 Cloudflare 账户。

手把手教程

简单 3 步,即可部署本项目,拥有自己的图床

1.Fork 本仓库 :登录自己的GitHub账户,在浏览器中打开本项目(https://github.com/xiaodao2026/Telegraph-Image),
点击导航条中的Fork按钮,拉取到自己的GitHub下。

2.打开 Cloudflare Dashboard,进入 Pages 管理页面,选择创建项目,选择连接到 Git 提供程序
1

  1. 按照页面提示输入项目名称,选择需要连接的 git 仓库,点击部署站点即可完成部署

  2. 配置图片管理

1)支持图片管理功能,默认是关闭的,如需开启请部署完成后前往后台依次点击设置->函数->KV 命名空间绑定->编辑绑定->变量名称填写:img_url KV 命名空间 选择你提前创建好的 KV 储存空间,开启后访问 http(s)://你的域名/admin 即可打开后台管理页面

变量名称 KV 命名空间
img_url 选择提前创建好的 KV 储存空间


2) 后台管理页面新增登录验证功能,默认也是关闭的,如需开启请部署完成后前往后台依次点击设置->环境变量->为生产环境定义变量->编辑变量 添加如下表格所示的变量即可开启登录验证

变量名称
BASIC_USER = <后台管理页面登录用户名称>
BASIC_PASS = <后台管理页面登录用户密码>

3) 增加获取的图片的网站域名限制:

变量名称
DOMAIN_LIST = <以英文逗号分隔的域名清单>

域名需要完整登录,如果你的网站xxx.com和sub.xxx.com都可以访问,则需要xxx.com和sub.xxx.com都以逗号分隔的方式维护到域名清单中。

4) 参数维护后重新发布项目

针对环境变量所做的更改将在下次部署时生效,如更改了环境变量,针对某项功能进行了开启或关闭,请记得重新部署。

5)绑定自定义域名(可选)

在 pages 的自定义域里面,绑定 cloudflare 中存在的域名,在 cloudflare 托管的域名,自动会修改 dns 记录
2

一些限制:

1.由于图片文件实际存储于 Telegraph,Telegraph 限制上传的图片大小最大为 5MB

2.由于使用 Cloudflare 的网络,图片的加载速度在某些地区可能得不到保证

3.Cloudflare Function 免费版每日限制 100,000 个请求(即上传或是加载图片的总次数不能超过 100,000 次)如超过可能需要选择购买 Cloudflare Function 的付费套餐,如开启图片管理功能还会存在 KV 操作数量的限制,如超过需购买付费套餐

感谢

@cf-pages 提供Telegraph-Image功能,在我vps空间不足的时候帮我解决图片存储的问题。

-----之前的操作,2024年4月12日已经修改-----------

1.Fork 本仓库 (注意:必须使用 Git 或者 Wrangler 命令行工具部署后才能正常使用,文档)

2.打开 Cloudflare Dashboard,进入 Pages 管理页面,选择创建项目,选择连接到 Git 提供程序

1

按照页面提示输入项目名称,选择需要连接的 git 仓库,点击部署站点即可完成部署

原版可能存在的滥用问题

尽管安装过程顺利,但我发现原版的图床没有密码限制,任何人都可以上传文件,和随意使用。这就可能导致恶意用户上传违规内容,构成一些安全隐患。
2

为了解决这个问题,我参考论坛上一个网友的建议,并在我的GitHub仓库中进行了代码修改。主要的改动是增加了访问控制,确保只有授权的用户才能上传和查看图片。这样做大大降低了安全风险。

代码修改步骤

  1. 找到需要修改的文件:位置在Telegraph-Image/functions/file/
  2. 修改配置文件:目录下的js文件进行。在文件中添加以下代码,确保只有拥有正确链接的用户才能访问图片。同时,将数组中的域名修改为你自己的域名,这一步是必要的以确保只有来自特定来源的请求被允许:
//在原来代码的12行的位置添加下面的内容
const allowedDomains = ["你的域名", "你的域名"];

// Extract the Referer header or use a placeholder if not present
const Referer = request.headers.get('Referer') || "Referer";

// Create a URL object from the Referer to extract the hostname
let refererUrl;
try {
refererUrl = new URL(Referer);
} catch (error) {
return Response.redirect("https://你的域名", 302);
}

// Check if the hostname of the Referer is in the list of allowed domains
if (!allowedDomains.includes(refererUrl.hostname)) {
return Response.redirect("https://你的域名", 302);
}

// Existing code for handling requests continues here...
const url = new URL(request.url);

通过上述步骤,你不仅可以优化你的VPS存储空间,还能确保图床服务的安全性和可靠性。图床图床图床是什么

完全免费的部署一个私人ai服务。

之前作为chatgpt的深度使用者,很少关注其它的ai服务,但是刚刚发生的chatgpt plus账号被封,让我开始转而寻求更多的选择。近期网络界的良心企业cloudflare发布了workers ai服务,并且提供免费api。下面就把我今天通过开源的cloudflare-ai-web搭建一个完全免费、不需要考虑ip被封问题的私人的ai页面服务。

这是搭建以后的样子,采用Vercel部署方式,不需要任何的网络服务设备,甚至没有域名都是可以的。

下面我来开始这个部署的过程:

打开开源的项目地址,可以在Google中搜索cloudflare ai web,或者点击我视频下方的项目地址。打开后点击作者特别标注的一键部署按钮。

点击后来到部署页面的开始提示,我们点击页面右上方的login,当然如果你没有账号就点击sign up新建一个账号。

我是使用的GitHub账号的授权登录,也建议你采用这个方式,GitHub+vercel可以白嫖不少的服务,关联起来以后使用比较方便。

如果登录后没有启动部署,而是进入了vercel的项目列表,没有关系,我们重新回到GitHub的开源的项目地址,重新点击一次deploy。

因为前面已经完成登录,第二次点击部署就没有问题可以直接进入配置界面了。

第一步:给项目起一个名字,起好以后点击创建。创建完成以后来到参数配置页面。

前面的两个参数需要到cloudflare中获取,先看第一个:CF的token。这个参数的获取需要到cloudflare的控制页面。

登录cloudflare网站后,点击页面右上角的小人头像,选择第一项个人资料,来到个人资料的设置页面。

在我的个人资料页面选择左侧的api令牌,这里我已经建立了一个,我们重新演示建立一个新的。点击页面右侧的创建令牌。

选择workers ai,点击使用模版创建。在这里其它的项目都不需要修改,只需要找到账户资源这个地方:

在账户资源中将你的账户选择上,然后最下方的“继续以显示摘要”。

继续点击创建令牌,一个token就创建好了。我们将获取到的token粘贴到vercel的参数配置页面中。

下一步配置并填写第二个参数,cf的gateway。回到cloudflare的主页面,点击左上角的网站logo,来到首页。

点击左侧导航页面的AI,选择AI Gateway。在页面的右边点击添加新的AI Gateway。

在弹出的页面中给网关选择一个名字点击创建。

创建完成后就会看到一个gateway开头的cloudflare地址,如果没有显示,可以再回到AI gateway的这个页面点击加号下方的项目的API Endpoints信息。

将https的连接地址复制后填写到vercel中。两个参数复制完毕后点击vercel页面参数填写下方的Deploy进行项目部署,大约1到2分钟后部署完成,就可以使用了。

点击vercel的二级域名就可以正常的使用自己的服务了。到这里一个完全免费的aiweb服务就部署完毕了。

下面简单的介绍下,基础部署以后可以增强的几个方面:

第一项是:绑定自己的域名。这里非常简单,把需要绑定的域名输入,点击添加,按照vercel给出的验证信息,到自己的域名商的dns管理面板中首先完成域名验证,验证通过后再按照vercel给出的提示ai.*****.com域名的绑定就可以了。

第二项是增加访问密码,增加PASSWORD参数,变量是自己设定的密码。

此外这个开源软件支持openai的api、Google ai的api,如果你有也可以通过变量的方式添加,分别是OPENAI_API_KEY和G_API_KEY。添加上去以后就可以完整使用页面的服务了。

否则就安安稳稳的使用cloudflare的workers ai能力吧。

好的,今天就是我操作这个开源的ai web服务的记录,没有特别的深的内容,按照作者的介绍操作而已。我用一点时间给把我配置的过程记录下来,提供给那些不知道如何操作的朋友一个参考。

补充说明下:

cloudflare的免费workers ai目前提供的Qwen1.5 是阿里云开发的大语言模型系列 Qwen 的改进版本。网站介绍是:AWQ 是一种高效、准确、快速的低位权量化方法,目前支持 4 位量化。

随着越来越多的网络服务商提供ai能力,还有网友提供这些开源方案,让我们每个人使用ai能力越来越方便,这次是更大意义。致敬!

土耳其区的dashlane大幅涨价,选择哪一个替代品。

一直一来我都在使用土耳其Google 商店中的dashlane作为我的密码管理软件,土区的价格非常的便宜,家庭组每年的费用只有102.99土耳其里拉,折合20多元人民币,而且每年赠送一个vpn的服务软件。

虽然这类vpn在中国国内直接使用的效果不好,但是通过套娃在一些需要多个国家落地的时候还是不错的选择。

如今价格从103猛增到3500土耳其里拉,折合770元人民币,再继续使用就变得非常不合算了。

如果高级版套餐不续费以后,是否可以继续使用这款软件的免费版本,通过上表的比较可以看见免费版本只支持25个密码,对于我们是完全不够的,所以由奢入俭到免费版的方案就放弃到了。

在放弃dashlane的password管理服务后,我选择哪一个替代品,经过比较我最终选择的是bitware。

Bitwarden 是唯一提供免费层级的密码管理器,在免费的情况下就需要比较下这款软件的安全性和功能了。

查询了几个网站的对比,虽然免费但是综合评价并不低。

 

打开dashlane的设置页面,选择导出数据:

将dashlane的原有密码导出为csv。bitwarden支持批量密码导入,支持从任何密码管理器轻松迁移你的密码,将数据大量导入到此密码库,过程相当快速,省却手动重新输入所有密码的时间。

至此伴随着dashlane的涨价,一个付费用户终于投入到了开源的bitwarden用户群体中。

chatgpt plus账号被封后如何退费

常在河边走怎能不湿鞋,开了一年的chatgpt plus被封号了。

去年开通chatgpt plus一来,虽然经常满世界的网络落地,但是账号一直使用正常,直到周五上午突然发现账号无法登录了。

在网上搜索一番,才知道账号被封,看了网上的各种申诉攻略,但是成功申请下来的没有看到一个,估计我遇到的这种账号被封申诉开通几无可能。

既然这样,也就不打算尝试了,只是感觉26日刚刚扣了19.99美元的费用,29日就把账号封了,这个月不把钱找回来心有不甘。

网上有一些和openai后台客服沟通的帖子,看着繁琐的沟通过程,基本决定放弃了。

突然想到苹果商店每次扣费后都给一个扣费通知,而且是有”报告问题”的异议申请链接,找到了当时的扣费通知邮件,点击这个“报告问题”

登录apple id以后来到申诉页面,申请过程简单到极致,只有两个选择:第一个选择我需要:请求退款,二级菜单中选择“我购买的项目无法正常使用”。点击下一步就可以了。没有与openai在线客服沟通中需要的上传证据之类的东西。

我是在3月28日下午提交了退款申请。第二天绑定苹果商店的PayPal就发送了收到退款的通知。

这个事情的总结:

虽然chatgpt虐了我,但是我还是需要chatgpt plus。万能应变战术,注册新的账号重新开通。

乱七八糟的网络代理不能乱用,老老实实的用一个vps落地,起码ip我要控制是一个国家的区域内。

再次购买的时候,在chatgpt不支持PayPal的情况下,必须选择Google 商店或者苹果商店订阅支付的方式,万一不能用的时候起码能顺利的收回咱们的费用。

简单方便的使用Google one 的vpn服务:便宜-人人可以拥有,简单-小白可以配置,方便-全服务覆盖。

Google One的VPN有很明显的优点,其中最突出的一点就是其IP地址非常干净。这使得在需要解锁和收看流媒体视频,或者注册一些网络服务时,Google One可以为您创造一个非常干净的网络环境。但是,它也有一些缺点,最主要的是使用不太方便,因为Google One不支持中国大陆地区。如果您想使用它的VPN服务,必须安装一个前置代理,例如使用一个软路由,需要两层使用才能完成操作,这大大限制了我们的使用环境。

首先是目前已经开通的国家:

Google one vpn可以支持的平台包括安卓手机、ios苹果手机或者平板、Windows操作系统、mac电脑,看到其中是不包括我们网络环境中经常用到的Linux系统的。

上面两个条件决定,如果我们需要拓展使用范围就需要具备一个条件,就是在上述已经开通服务的国家中有一台windows操作系统的vps主机。

对于Windows的vps主机,需要补充一下,建议选择平台就支持预装Windows的vps,这种是比较简便的方法。当然如果你有linux的主机也可以通过dd windows的方法后台将系统更新为windows的方法,这种方法网上有一键安装的脚本,一条命令就可以搞定,不过这种方法存在被平台发现并关闭服务的风险,所以如果采取这种方法,需要注意两点:1是在Google中搜索一下dd windows 服务商的名字 看看是不是对这种操作严控,另外就是务必只在月付的机器上搞这种操作。

我们需要按照以下几步操作:

1、安装windows 版本的翻墙服务。

https://github.com/v2ray/v2ray-core

我之前下载的是下面的版本

V2Ray 4.28.2 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.15.2 windows/amd64)
A unified platform for anti-censorship.
2024/03/24 02:31:04 Using default config: C:\v2ray\config.json

2、配置config文件

我这里用的基本上就是默认样例中的格式,需要将id修改为自己的,修改一下端口,另外一定记得在Windows的防火墙中开放这个端口的访问。

// Config file of V2Ray. This file follows standard JSON format, with comments support.
// Uncomment entries below to satisfy your needs. Also read our manual for more detail at
// https://www.v2ray.com/
{
  "log": {
    // By default, V2Ray writes access log to stdout.
    // "access": "/path/to/access/log/file",

    // By default, V2Ray write error log to stdout.
    // "error": "/path/to/error/log/file",

    // Log level, one of "debug", "info", "warning", "error", "none"
    "loglevel": "warning"
  },
  // List of inbound proxy configurations.
  "inbounds": [{
    // Port to listen on. You may need root access if the value is less than 1024.
    "port": 80,

    // IP address to listen on. Change to "0.0.0.0" to listen on all network interfaces.
    "listen": "0.0.0.0",

    // Tag of the inbound proxy. May be used for routing.
    "tag": "socks-inbound",

    // Protocol name of inbound proxy.
    "protocol": "vmess",

    // Settings of the protocol. Varies based on protocol.
    "settings": {
      "clients": [
        {
          "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        }
      ]
    },
      "streamSettings": {
        "network": "ws",
        "wsSettings": {
        "path": "/livecam"
        }
      },
    // Enable sniffing on TCP connection.
    "sniffing": {
      "enabled": true,
      // Target domain will be overriden to the one carried by the connection, if the connection is HTTP or HTTPS.
      "destOverride": ["http", "tls"]
    }
  }],
  // List of outbound proxy configurations.
  "outbounds": [
    {
      "tag":"IP4_out",
      "protocol": "freedom",
      "settings": {}
    },
    {
      "tag":"IP6_out",
      "protocol": "freedom",
      "settings": {
        "domainStrategy": "UseIPv6" 
      }
    }
  ],

  // Transport is for global transport settings. If you have multiple transports with same settings
  // (say mKCP), you may put it here, instead of in each individual inbound/outbounds.
  //"transport": {},

  // Routing controls how traffic from inbounds are sent to outbounds.
  "routing": {
    "rules": [
      {
        "type": "field",
        "outboundTag": "IP6_out",
        "network": "udp,tcp"
      }
    ]
  },

  // Dns settings for domain resolution.
  "dns": {
    // Static hosts, similar to hosts file.
    "hosts": {
      // Match v2ray.com to another domain on CloudFlare. This domain will be used when querying IPs for v2ray.com.
      "domain:v2ray.com": "www.vicemc.net",

      // The following settings help to eliminate DNS poisoning in mainland China.
      // It is safe to comment these out if this is not the case for you.
      "domain:github.io": "pages.github.com",
      "domain:wikipedia.org": "www.wikimedia.org",
      "domain:shadowsocks.org": "electronicsrealm.com"
    },
    "servers": [
      "1.1.1.1",
      {
        "address": "114.114.114.114",
        "port": 53,
        // List of domains that use this DNS first.
        "domains": [
          "geosite:cn"
        ]
      },
      "8.8.8.8",
      "localhost"
    ]
  },

  // Policy controls some internal behavior of how V2Ray handles connections.
  // It may be on connection level by user levels in 'levels', or global settings in 'system.'
  "policy": {
    // Connection policys by user levels
    "levels": {
      "0": {
        "uplinkOnly": 0,
        "downlinkOnly": 0
      }
    },
    "system": {
      "statsInboundUplink": false,
      "statsInboundDownlink": false,
      "statsOutboundUplink": false,
      "statsOutboundDownlink": false
    }
  },

  // Stats enables internal stats counter.
  // This setting can be used together with Policy and Api. 
  //"stats":{},

  // Api enables gRPC APIs for external programs to communicate with V2Ray instance.
  //"api": {
    //"tag": "api",
    //"services": [
    //  "HandlerService",
    //  "LoggerService",
    //  "StatsService"
    //]
  //},

  // You may add other entries to the configuration, but they will not be recognized by V2Ray.
  "other": {}
}

在目录中点击v2ray.exe执行就可以了。

这个方式解决的问题:获取了一个干净的ip地址,可以使用更多的服务。

还可以改良的地方:按照默认的配置,从vps下行到我的终端不是直达,也是通过Google one服务的,可能会增加延迟,后续考虑在路由上进行优化。

视频链接:

最新发现自己的土耳其账户终于不能使用了。

因为开了很多的跨区账户,而且从来没有遇到过问题,此次发生无法支付后首先想到的是不是自己被风控了,所以按照网上很多网友的办法删除之前的支付方式,重新使用土耳其的ip进行支付方式的绑定。

经过我的不屑折腾,终于。。。。

账号被封禁了

然后就按部就班的按照邮件要求提交资料信息

三天后收到验证通过的邮件,账号重新开通

当我重新想进行Google play内购的时候,发现仍然是之前的提示。

折腾这几天让我承认了一个事实,土耳其Google play的跨区购买,终于结束了。

因为这个支付故障在Google的帮助中心并没有针对性的说明,更多的需要我们在和客服交互的过程中了解其规则,所以我把几个问题汇总下来,介绍以下。

  • Google答复:关于您无法进行购买的问题,我们已经向我们的专家咨询了此案,并遗憾地通知您,他们已经审查并注意到您的帐户存在不一致之处。因此,我们无法在此事上再为您提供进一步的帮助。请确保您的付款方式与您所居住的国家或地区相符。

目前在土耳其Google play的限定并非封闭账户,而是限定了支付方式必须是土耳其里拉的当地货币卡才可以,而且只限定新购买,对于之前购买的服务,包括一次性支付的软件或者月度、年度的付费订阅暂时还没有影响。

其实Google目前的处理已经算是不错了,如果放任大量跨区购买,Google无所谓,在上面发布软件的开发者也是无法接受的。

下面是我们比较关心的几个问题

问题一,限制哪些支付服务?

目前土耳其限制了所有的新购买服务,包括内购和付费软件购买。

网上有网友说 内购失败,但是可以通过网页版进行购买,我今天尝试了一下,无论是否使用土耳其的ip都是无法购买成功的。

问题二:已经购买的服务还可以使用么?

答案是暂时不会影响我们之前的订阅

土耳其Google 商店中已经购买的订阅仍然可以正常使用和扣费。

但是购买服务就不行了。

所以之前有正常订阅的服务想好了再取消,如果取消后,服务没有到期,还是恢复订阅。

但是超过有效期以后,需要通过确认支付的方式重新订阅就不可以了。

问题3:土耳其Google商店不能使用后如何购买土耳其区域的软件?

就整体而言,土耳其区域的价格是其它区域无法比拟的,很多软件价格相差1倍多。

目前Google商店无法新购买后,由于Google礼品卡的限制也很多,所以如果仍然需要使用软件内购,可以选择土耳其的苹果商店。

虽然价格比Google商店要略贵一点,但是也是目前仅剩的方式。

可以从闲鱼购买苹果商店的礼品卡,由于土耳其里拉仍然是下跌的趋势,在闲鱼上汇率并没有多少溢价,价格还是比较合适的。

这里需要提醒的是,如果你是新注册的土耳其apple id,一定要用小额礼品卡先尝试买个便宜的小软件确认是否可以支付,然后再充值进去,因为新账户苹果可能也会限制礼品卡支付购买。避免礼品卡充值以后无法使用的问题。

这是我最近订阅的几个土耳其区域的苹果服务,彭博试用后每月155里拉,折合人民币37元,对比下这个软件在美区的价格,35美元一个月,这个价格就连零头都不到了。炒美股或者做软件订阅服务共享的朋友的可以考虑。另外一个就是medium这个在官网是5美元一个月,这里是41元人民币一年,不但可以看很多文章如果有写作功底的朋友可以在这里发表文章,订阅后就可以申请开通合作计划,收费赚钱网络收入。

问题4:土耳其Google play限制后,还有什么低价区?

这个问题其实比较难搞,如果是软件购买价格还好,内购价格就非常麻烦,不注册看不到价格,注册后切换和比较又非常的繁琐。

只能结合我有限的几个区的账号,结合之前的经验说说感觉,内容不一定非常精准,所以希望大家有什么信息留言下来,咱们互相交流一下。

乌克兰,没有限制同时价格相对便宜,总体价格没有土耳其便宜,但是有些软件会给比较大的折扣。如果没有土耳其的苹果账号,使用Google商店是刚需的朋友可以考虑选择乌克兰,起码现在注册和使用都比较宽松。不要去看土耳其、巴基斯坦的价格,只看官网,多和官网比较,这样你就更能接受这里的价格。

======补充详细测试情况=====

目前尼日利亚 巴基斯坦 土耳其 不能内购 尼日利亚 巴基斯坦 可以网页开YouTube premium 阿根廷 印度 不可以走网页YouTube premium,但是可以内购 所以Spotify只能走印度,我尝试开埃及Spotify ,用 埃及PayPal绑定非埃及卡,过不了 OlduBil 不用试了,过不了 然后app store买礼品卡前,一定要先去随便购买免费的软件,验证你的地址OK再进行支付。

利用zerotier实现科学上网

通常,ZeroTier 虚拟网络与您的普通 Internet 连接和其他网络一起运行。如果您想通过 ZeroTier 路由所有 Internet 流量,您需要将其配置为默认路由覆盖又名“完整隧道”模式,并在您的虚拟网络上设置路由器/网关。

第 1 步:将边缘路由器放在您的虚拟局域网上

ZeroTier 创建了虚构的 LAN。默认路由覆盖意味着您想象中的 LAN 上的计算机将通过它路由 Internet 流量。就像真正的 LAN 一样,您想象中的 LAN 现在需要一个网关。此处的设置几乎与您为传统有线 LAN 配置 NAT 网关所做的设置相同。

 VPS是一个很好的低成本网关。对于大多数应用程序,每月 5 美元的选项已经绰绰有余,因为您的网关不需要太多的 RAM、磁盘或 CPU。或者,您可以在您自己的位置使用虚拟机或物理设备,或者其他任何可以运行 ZeroTier 并配置为路由 IP 数据包的设备。(用 35 美元的 Raspberry Pi 替换您的 VPN 设备?)   

在您的网关上安装 ZeroTier,加入您的网络并对其进行授权,然后将其配置为基本的 IPv4 NAT 路由器。(正如我们上面提到的,IPv6 还没有经过测试,但是一旦我们这样做了,我们就会更新它。)这是我们在 Digital Ocean 上为我们自己的 ZeroTier 公司内部网创建的 CentOS/Linux 网关的示例配置:

/etc/sysctl.conf
net.ipv4.ip_forward = 1
/etc/sysconfig/iptables
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -s 10.6.4.0/22 -j SNAT --to-source 45.32.69.220
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
-A FORWARD -i zt+ -s 10.6.4.0/22 -d 0.0.0.0/0 -j ACCEPT
-A FORWARD -i eth0 -s 0.0.0.0/0 -d 10.6.4.0/0 -j ACCEPT
:OUTPUT ACCEPT [0:0]
COMMIT
我们的网络是 10.6.4.0/22。您需要将其更改为您使用的任何 IPv4 方案。还要将 SNAT 行中的 45.32.69.220 更改为网关的公共 IP。

如果您的“路由器”没有公共 IP 地址,您可以使用伪装而不是 SNAT。见文末。

该文件取决于CentOS/Fedora上的软件包: /etc/sysconfig/iptables  iptables-services 

yum install -y iptables-services
systemctl enable iptables
systemctl start iptables
Debian 和其他发行版有自己的方法,因此您必须弄清楚这一点。

步骤 2:添加默认路由

登录 ZeroTier Central 并通过新虚拟边缘路由器的 IP 地址添加到 0.0.0.0/0 的路由。

这是我们的样子:

在我们的网络上,10.6.4.0/22 是我们的网络,10.6.6.2 是我们的虚拟边缘路由器的内部 IP 地址(ZeroTier 网络内部)。显然,您会想要使用自己网络的 IP 而不是我们的。

如果您运行自己的控制器,则必须通过其本地 JSON API 执行相同操作。

步骤 3:允许成员设备上的默认路由覆盖

ZeroTier 使加入虚拟网络就像加入聊天室一样简单。因此,我们的许多用户确实以这种方式使用它。“嘿,加入网络### 并查看我的新网站设计...”这就像真正的社交网络!(或社交实际网络?)

加入网络总是会让您面临一定程度的安全风险。您不应该加入由您不信任的人运营的网络。但由于人们确实随意使用 ZeroTier,我们希望通过要求用户批准网络来做真正侵入性的事情来至少稍微降低这种风险……例如接管您的 Internet 连接并通过它们路由您的所有流量。

为了限制这种危险的网络设置,我们引入了本地网络权限。要使用默认路由覆盖,您必须在相关网络上将 allowDefault 设置为 true。Mac 和 Windows 客户端具有执行此操作的 UI。以下是通过命令行执行此操作的方法:

sudo zerotier-cli set <networkId> allowDefault=1

设置这些选项后,尝试点击http://ifconfig.io/并检查您的外部 IP。在某些操作系统上,您可能需要重新启动 Web 浏览器和其他应用程序,因为操作系统在将路由更改应用于现有套接字和连接还是仅对新套接字和连接应用路由更改方面有所不同。(这是我们无法更改的操作系统级行为。)

如果它不起作用,请像往常一样使用主机上的 traceroute 和网关上的 tcpdump 进行调试。

避免同时在多个网络上启用 allowDefault。这样做的结果将取决于您的操作系统,但也不太可能是您想要的。(在 GUI 中,我们可能会禁止这样做。)

步骤 3a:Linux 陷阱:rp_filter

Linux 的网络堆栈很复杂,而且功能丰富得几乎荒谬。这是好事也是坏事。你几乎可以用它做任何事情,可能包括但不限于通过鸟类运营商的 IP。但它也有很多奇怪的小边缘情况可以咬人。

对于通过 ZeroTier 网络路由的 Linux 主机,您可能(取决于发行版)需要更改名为 rp_filter 的设置:

sudo sysctl -w net.ipv4.conf.all.rp_filter=2

RedHat 有一篇文章解释了这个细节。将其放在 /etc/sysctl.conf 中以使其永久化。

奇怪的是,网关/路由器不需要这样做,只有运行 Linux 的参与成员想要启用allowDefault.