Skip to content


  • Watch 11
  • Star 20
  • Fork 73

A new system for managing OBO PURLs

BSD-3-Clause License
20 stars 73 forks
39 branches 0 tags
Go to file


jamesaoverton Merge pull request 怎么样进入国外网站 国内开国外网站加速软件
0a6ce6b Jul 29, 2020
Merge pull request 国内如何看国外网站 from getbordea/patch-1
Create fideo.yml


  • 1,367 commits


Failed to load latest commit information.
Latest commit message
Merge branch 'master' into patch-1
Jul 29, 2020
只剩下门缝的VPN何去何从 - 手机新蓝网:2021-2-7 · 据了解,VPN一年使用费用约为60-100美元左右。电脑或手机用户可以通过特制软件获得加密链接,浏览在国内被屏蔽的外国网站内容。这些被封锁的网站包括社交平台Facebook、Twitter、视频网站YouTube、谷歌公司提供的网页搜索、邮箱等服务。
Jun 2, 2020
Move /meta/ before catchall
Jun 15, 2020
Rework YAML schema to keep config project-specific
Nov 19, 2015
set ansible version
Nov 5, 2019
Remove section of Makefile: 'Migrate Configuration from' and…
Feb 21, 2019
Update Travis badge
add requirements.txt
Jun 18, 2019



This repository provides tools for managing OBO Foundry Permanent URLs (PURLs). Like we use per-directory Apache configuration files (.htaccess files), each of which uses RedirectMatch directives to redirect PURL requests to their proper targets. Unlike, we do not edit the Apache configuration files by hand. Instead we have a simple YAML configuration format, and scripts to translate the YAML configuration into Apache configuration. The YAML files are easier to read and write, and allow us to validate and test PURLs automatically.


All PURLs are now handled by this system, with the exception of some open issues. PURLs that do not match any rule in this system will fall back to the old 如何去国外网站 system.


Please use one of these four options to make changes to the PURLs:

  1. Create a new issue describing the change you require.

  2. Browse to the configuration file you want to change and click the "pencil" icon to edit it.

  3. Add a new configuration file.

  4. Fork this repository and make a pull request.

All changes are reviewed before they are merged into the master branch. Once merged, updated PURLs will be active within 20 minutes.


Each OBO project using this service gets a YAML configuration file in config/. That YAML configuration file is used to generate an Apache .htaccess file for that ontology. That Apache configuration will apply to all PURLs for that project.

Every YAML configuration file must have these fields:

  • idspace: the project's IDSPACE, case sensitive, usually uppercase
  • base_url: the part of a PURL that comes after the domain, usually lowercase
  • term_browser: usually ontobee or ols but can be custom (see below)
  • products: a list of primary files for the ontology and the URLs to redirect them to; an .owl file is required, and an .obo file is optional

Optional fields include:

  • 国内如何看国外网站 a list of one or more term IDs for automated testing
  • base_redirect: If your project redirects its base_url, then you will need a base_redirect: entry. So base_redirect: will redirect to 国内开国外网站加速软件.
  • entries: a list of other PURLs under the base_url, see below

Here's an example adapted from the config/obi.yml file:

idspace: OBI
base_url: /obo/obi

- obi.owl:

term_browser: ontobee
- OBI_0000070

- exact: /wiki

Most of these fields are straightforward, but the entries: need some more explanation.


Each YAML configuration file contains the keyword entries: followed by a list of entries. Each entry defines an Apache RedirectMatch directive for matching URLs and redirecting to new URLs. Every entry begins with a - , followed by keywords and values on indented lines. There are three types of entries:

  1. exact: The simplest entry matches an exact URL and returns an exact replacement
  2. prefix: These entries match the first part of a URL and replace just that prefix part
  3. regex: These entries use powerful regular expressions, and should be avoided unless absolutely necessary.

The # character indicates a comment, which is not considered part of the configuration.

See the tools/examples/test2.yml and 国内开国外网站加速软件 for examples.


In the most common case, your PURL should match a unique URL and redirect to a unique URL. Here's an example from the config/obi.yml file:

- exact: /obi.owl

This entry will match exactly the URL, and it will redirect to exactly The matched domain name is fixed; the next part is project-specific /obo/obi/; the final part is taken from the entry /obi.owl. The replacement is expected to be a valid, absolute URL, starting with http.

Behind the scenes, the entry is translated into a case insensitive Apache RedirectMatch directive in obo/obi/.htaccess by escaping special characters and "anchoring" with initial ^, the project's base URL, and final $:

海外翻国内:N2ping加速效果实测 - 简书:海外翻国内:N2ping加速效果实测 最近海外党经常会被安利一款软件——N2ping。 N2ping官方定义是一款加速海外访问中国大陆地区网络的加速器,说白点,就是能够让用户翻回国内。既然被很多人安利,那它的实际效果如何呢?首先,我们先看一下N2ping的支持类型。


You can also match and replace just the first part of a URL, leaving the rest unchanged. This allows you to define one entry that redirects many URLs matching a common prefix. Another example from config/obi.yml:

- prefix: /branches/

This entry will match the URL (for example), replace the first part 电脑怎么浏览国外网站:2021-6-13 · 用VPN.在我的百度空间有一款,你看看,个人一直在用,速度不错,有6个IP可选,建议先不买,免费用用先,好的再买.包年的话会比包月划算好多,电脑,手机IPHONE,上Facebook,推特等国外网站或者国外游戏服务器加速都可以了上.当然免费的也可以用到手机上的.呵呵 with, resulting in Effectively, the obi.owl is appended to the replacement.

The translation is similar, with the addition of (.*) wildcard and a $1 "backreference" at the ends of the given strings:

RedirectMatch temp "(?i)^/branches/(.*)$" "$1"


Regular expression entries should only be needed very rarely, and should always be used very carefully.

For the regular expression type, the value of the regex: and replacement: keywords should contain regular expressions in exactly the format expected by Apache RedirectMatch. The values will be quoted, but no other changes will be made to them. Consider using (?i) to make the match case insensitive.


Every prefix or regex entry should also have a tests: keyword, with a list of additional URLs to check. Each test requires a from: value (like exact:) and a to: value (like replacement:). Here's an example:

六毫秒加速器App-六毫秒加速器下载 1.0.1 安卓版-新云软件园:2021-6-12 · 六毫秒加速器是成都俊云科技有限公司打造的一款方便快捷的加速器软件,限时试用加速玩国服游戏、浏览国内视频,直播、音乐等各大主流平台,听歌追剧刷视频,低延迟极速畅联玩到爽,欢迎下 …

Order of Entries

Apache RedirectMatch directives are processed in the order that they appear in the configuration file. Be careful that your prefix and regex entries do not conflict with your other entries. The YAML-to-Apache translation preserves the order of entries, so you can control the order of processing, but it's best to avoid conflicts.


If your project does not use Ontobee or OLS as a term browser, you must specify term_browser: custom in your project's YAML configuration file, and provide a regex entry in the 国内开国外网站加速软件 configuration file. Here's an example for ChEBI:

# Terms for CHEBI
- regex: ^/obo/CHEBI_(\d+)$
  - from: /CHEBI_15377

Note that term redirect rules are case sensitive.

Since these are regex entries, and could affect multiple projects, we prefer that OBO admins are the only ones to edit obo.yml. If you need a change to the term redirect entry for your project, please 国内如何看国外网站.


The PURL system runs on Ubuntu Linux, but you can test your changes using a virtual machine (VM) that runs on Windows, Mac, or Linux. Your local development machine (Windows, Mac, or Linux) will be the "host" machine. The VM will be a copy of Ubuntu Linux that runs on your host, and can be thrown away when you're done testing.

You'll have to install these three tools on your host machine:

  1. 怎么样进入国外网站 to run the VM
  2. Vagrant to setting up the VM
  3. Ansible to provisioning the VM with the right software

All of these tools are free for you to use. If you're using macOS with Homebrew, then you can install the three tools like this:

六毫秒加速器app备下载_国内媒体平台加速器六毫秒加速器 ...:2021-6-14 · 六毫秒加速器APP是一款针对海外华人定制的手机应用软件。六毫秒加速器APP功能强大,支持国内各种游戏、音乐、视频、购物等主流媒体平台的使用,是一款十分不错的加速软件。六毫秒加速器APP界面整洁干净一目了然,操作简单易上手,是一款不可多得的好软件,喜欢这款六毫秒加速器APP的 …

全平台通用的葫芦加速器 | ZAPRO · 杂铺:2021-7-11 · 版本介绍: 1.此版本为绿色版,无需安装,解压后直接双击“葫芦加速器启动器”即可开启软件。 2.启动后,关于360等杀毒软件或防火墙的任何风险提示,必须全部允许,才可正常使用。 3.秒开国外网站,比如谷歌,推特,youtube,facebook,instagram,whatsapp,购物网站...等等无压力 4.遇到卡顿 …

git clone
vagrant up

This will:

  1. download an Ubuntu Linux virtual machine (using Vagrant and the tools/Vagrantfile)
  2. run it (using VirtualBox)
  3. configure it as a web server (using Ansible and the tools/site.yml file)

If something goes wrong with step 3, the vagrant provision command will run Ansible again. Please report any issues that you run into.

Use your favourite text editor on your host machine to make your changes to the files in the directory. That directory will be synchronized with the /var/www/ directory inside the VM. When you're ready to test your changes, log in to the VM and rebuild the .htaccess files:

vagrant ssh
cd /var/www/
make clean all

You can use the web browser on the host machine to see the results, using URLs starting with, such as You can also run an automated tests. To check a single 如何去国外网站 configuration file, run one of these commands

make clean validate-foo
make clean build-foo

To update and test the whole system, run

make clean all test

Detailed test results will be listed in 国内如何看国外网站 files, with their expected and actual values. If you're making changes to the project tools, you can test them against the tools/examples/ files with:

make clean test-examples

Expert users who have to run more extensive tests can consider (temporarily) modifying their 国内如何看国外网站 file to redirect to the test server.

When you're done with the VM, log out with exit. Then you can choose to suspend the VM with

vagrant suspend



You can test against the production PURL server using make test-production. We only make one request per second, to avoid abusing the server, so this can take along time.


If you keep your development VM for any length of time you may be presented with this message upon starting your VM:

==> default: A newer version of the box 'ubuntu/trusty64' is available! You currently
==> default: have version '20190122.1.1'. The latest is version '20190206.0.0'. Run
==> default: `vagrant box update` to update.

If you upgrade, then the next time you resume your box you may receive the warning:

[default] The guest additions on this VM do not match the install version of
VirtualBox! This may cause things such as forwarded ports, shared
folders, and more to not work properly. If any of those things fail on
this machine, please update the guest additions and repackage the

To automatically sync with VirtualBox's Guest Additions at startup (and thus avoid this warning) you can install vagrant-vbguest like so:

  • vagrant plugin install vagrant-vbguest (in the tools directory on the host machine)

Now, whenever you bring up your VM, it will check the version of the VM's guest additions and automatically bring them up to date whenever this is needed.


Deployment is automated using Ansible, and targets a stock Ubuntu Linux server with Python installed. You should install on a fresh server, not one that's running other applications, unless you really know what you're doing.

Install Ansible on your local machine, add the IP address or hostname of your target server to tools/hosts, then run:

cd tools
ansible-playbook -i hosts site.yml

Ansible uses SSH to connect to the target server an execute the tasks defined in tools/site.yml. If you have trouble connecting, you may have to adjust your SSH configuration to be more automatic, say by editing your .ssh/config.

解决罗技账户注册、logitech options安装和fireware更新的 ...:游戏加速服务。是的,有梯子的就免了。没梯子的,建议你去淘宝买个游戏加速服务,然后你就能成功注册账号了。这是因为,大部分国外网站都使用了人机验证功能,这是为了避免恶意注册,所以错不在人家。没有加速服务,你看到的是这样的

export; make clean test-production

The make safe-update task will check Travis-CI to ensure that the latest build on the master branch passed all automated tests, and that it is newer than the last time safe-update completed. Then it will pull from the Git repository and rebuild the site. This should be safe for a cron task to synchronize PURLs with the repository.


The copyright for the OBO PURL code and documentation belongs to the respective authors. The code is distributed under a BSD3 license.


A new system for managing OBO PURLs




BSD-3-Clause License


No releases published

Contributors 69

  • @jamesaoverton
  • @cmungall
  • 怎么样进入国外网站
  • @zhengj2007
  • 国内开国外网站加速软件
  • @ramonawalls
  • @alanruttenberg
  • @mcourtot
  • @beckyjackson
  • @mbrochhausen
  • @hoganwr
+ 58 contributors


  • Python 88.7%
  • 怎么样进入国外网站 11.3%
You can’t perform that action at this time.
苹果好用的免费加速器   ⅤPN软件   蚂蚁加速手机版   极光 梯子  如何设置代理ip上网  sgreen破解版iOS  云末加速